Преобразования пространства камеры

Вершины в пространстве камеры вычисляются путем преобразования вершин объекта с помощью матрицы представления реального мира.

V = V * wvMatrix

Нормали вершин в пространстве камеры вычисляются путем преобразования нормалей объекта с обратной перестановкой матрицы представления реального мира. Матрица представления реального мира может быть ортогональной, однако это не обязательно.

N = N * (wvMatrix⁻¹)T

Инверсия и перестановка матрицы выполняются в матрице 4x4. При умножении нормаль объединяется с частью 3x3 получившейся матрицы 4x4.

Если состояние отрисовки настроено с нормализацией нормалей, векторы нормали вершины нормализуются после преобразования в пространство камеры следующим образом:

N = norm(N)

Положение источника света в пространстве камеры вычисляется путем преобразования положения источника света с матрицей представления.

Lp = Lp * vMatrix

Направление к свету в пространстве камеры (для направленного света) вычисляется путем умножения направления источника света и матрицы представления. В результате происходит нормализация и инверсия результата.

Ldir = -norm(Ldir * wvMatrix)

Для точечного освещения и вспышки направление к свету вычисляется следующим образом:

Ldir = norm(V - Lp), где параметры определены в следующей таблице.

Параметр Значение по умолчанию Тип Описание
Ldir Н/Д Трехмерный вектор (значения с плавающей запятой x, y и z) Вектор направления от вершины объекта до света
V Н/Д Трехмерный вектор (значения с плавающей запятой x, y и z) Положение вершины в пространстве камеры
wvMatrix Идентификация Матрица 4x4 значений с плавающей запятой Составная матрица, содержащая преобразования реального мира и представления
Нет Н/Д Трехмерный вектор (значения с плавающей запятой x, y и z) Нормаль вершины
Lₚ Н/Д Трехмерный вектор (значения с плавающей запятой x, y и z) Положение света в пространстве камеры
vMatrix Идентификация Матрица 4x4 значений с плавающей запятой Матрица, содержащая преобразование представления

 

Математические аспекты освещения