Столкнулся с такой проблемой:
Пытаюсь написать шейдер с прозрачностью, чтобы прозрачность зависела от угла, под которым смотрят на объект, макс, когда под 90 градусов, 0 - когда параллельно плоскости.
Объект - простая плоскость (стекло с необычными свойствами).
Казалось бы все просто, берем скалярное произведение вектора нормали и вектора от камеры до вершины.
Синтаксис:
Используется csharp
o.worldvertpos = mul(_Object2World, v.vertex);
o.effect = dot( normalize(o.worldvertpos-_WorldSpaceCameraPos), v.normal) ;
но получается чушь какая-то, работает только при строго определенных углах азимута.
Может кто-то сталкивался?