Я делаю две пересечения линий линии в шейдере, однако мне нужно учитывать, если луч не был поражен и какое из лучей имеет самое короткое расстояние.Ошибка шейдера Unity; предположительно в 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 или просто ссылку на документацию? –