2013-04-24 2 views
0

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

ответ

0

Мне нужно было добавить #pragma target 3.0, потому что мой шейдер становился «слишком сложным».

+0

Я не ознакомлен с шейдерами и нашел ваш вопрос довольно интересным. Не могли бы вы разместить дополнительную информацию об этом знаке #pragma или просто ссылку на документацию? –

Смежные вопросы