Пятница, 29 Марта 2024, 18:54

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Умножение векторов нормалей в шейдерах (Зачем умножать на _World2bject)
Умножение векторов нормалей в шейдерах
rumyancevpavelДата: Понедельник, 30 Ноября 2015, 10:59 | Сообщение # 1
был не раз
Сейчас нет на сайте
Во многих туториалах по шейдерам Unity есть примеры в которых в vertex function делается следующее:
Код

struct vertexInput {
  float4 vertex : POSITION;
  float3 normal : NORMAL;
};
struct vertexOutput {
  float4 pos : SV_POSITION;
  float4 col : COLOR;
};
vertexOutput vert(vertexInput input)
{
  ...
  float4x4 modelMatrixInverse = _World2Object;
  float3 normalDirection = normalize(mul(float4(input.normal, 0.0), modelMatrixInverse).xyz); // <- ?
  ...
}


Никак не могу понять, зачем умножать input.normal на _World2Object? Разве нормали не в локальных координатах объекта изначально?
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Умножение векторов нормалей в шейдерах (Зачем умножать на _World2bject)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг