В настоящее время я работаю над некоторыми шейдерами отражения в Unity. И я совершенно новичок в шейдерах. Я нашел статью о вращении кубической карты. Я сделал некоторую реализацию, но, кажется, не работает должным образом. Я повернул кубическую карту в вершинном шейдере только с нормальным поворотом.
Как мне добиться этого эффекта?
float3 RotateAroundYInDegrees (float3 vertex, float degrees)
{
float alpha = degrees * UNITY_PI / 180.0;
float sina, cosa;
sincos(alpha / 2, sina, cosa);
float3x3 m = float3x3(cosa, 0, sina, 0, 1, 0, -sina, 0, cosa);
float3 r = float3(mul(m, vertex.xyz) ).rgb;
return r;
}
void vert (inout appdata_full v, out Input o) {
UNITY_INITIALIZE_OUTPUT(Input,o);
v.normal = RotateAroundYInDegrees(v.normal, _Rotate);
}