Преобразования пространства камеры
Вершины в пространстве камеры вычисляются путем преобразования вершин объектов с матрицей представления мира.
V = V * wvMatrix
Нормали вершины в пространстве камеры вычисляются путем преобразования норм объекта с обратным транспонированием матрицы представления мира. Матрица представления мира может быть или не может быть ортогональной.
N = N * (wvMatrix⁻️)T
Матрица инверсии и транспонирование матрицы работают на матрице 4x4. Умножение объединяет норму с 3x3 частью результирующей матрицы 4x4.
Если состояние отрисовки задано для нормализации нормальности, то векторы вершин нормализуются после преобразования в пространство камеры следующим образом:
N = норм(N)
Положение света в пространстве камеры вычисляется путем преобразования положения источника света с матрицей представления.
Lp = Lp * vMatrix
Направление света в пространстве камеры для направления света вычисляется путем умножения направления источника света на матрицу представления, нормализацию и отрицание результата.
L dir = -norm(Ldir * wvMatrix)
Для точки света и внимания направление света вычисляется следующим образом:
Ldir = norm(V - Lp), где параметры определены в следующей таблице.
Параметр | Default value | Тип | Описание |
---|---|---|---|
Ldir | Н/П | Трехмерный вектор (значения x, y и z с плавающей запятой) | Вектор направления от вершины объекта к свету |
V | Н/П | Трехмерный вектор (значения x, y и z с плавающей запятой) | Позиция вершины в пространстве камеры |
wvMatrix | Идентификация | Матрица 4x4 значений с плавающей запятой | Составная матрица, содержащая преобразования мира и представления |
N | Н/П | Трехмерный вектор (значения x, y и z с плавающей запятой) | Нормальное вершина |
Lp | Н/П | Трехмерный вектор (значения x, y и z с плавающей запятой) | Световая позиция в пространстве камеры |
vMatrix | Идентификация | Матрица 4x4 значений с плавающей запятой | Матрица, содержащая преобразование представления |
Связанные темы