0
我在一个着色器中做了两条线平面交点,但是如果光线没有被击中,哪一条光线的距离最短,我需要考虑。统一着色器错误;大概在if语句中
但是,下面的代码会抛出一个错误,它不会给我任何有用的信息(并指出我的方向错误)。如果我设置tex和selectN来表示intersection.xy和N,它可以正常工作(但当然不会给出我需要的结果)。
我正在Unity工作。
float3 selectN;
float2 tex;
if (dist == 0.0) {
selectN = N2;
tex = intersection2.xy;
} else if (dist2 == 0.0) {
selectN = N;
tex = intersection.xy;
} else if (dist < dist2) {
selectN = N;
tex = intersection.xy;
} else {
selectN = N2;
tex = intersection2.xy;
}
我对着色器没有经验,发现你的问题很有趣。你可以发布一些关于这个#pragma标记的更多细节,或者只是一个链接到文档? – 2013-04-25 08:01:45