Transformações de espaço de câmera
Os vértices no espaço da câmera são calculados transformando os vértices do objeto com a matriz de visão de mundo.
V = V * wvMatrix
As normais de vértice, no espaço da câmera, são calculadas transformando as normais do objeto com a transposição inversa da matriz de visão de mundo. A matriz de visão de mundo pode ou não ser ortogonal.
N = N * (wvMatrix⁻¹)T
A inversão de matriz e a transposição de matriz operam em uma matriz 4x4. A multiplicação combina a porção normal com a porção 3x3 da matriz 4x4 resultante.
Se o estado de renderização for definido como normalizar normais, os vetores normais de vértice serão normalizados após a transformação para o espaço da câmera da seguinte maneira:
N = norma (N)
A posição da luz no espaço da câmera é calculada transformando a posição da fonte de luz com a matriz de exibição.
Lp = Lp * vMatrix
A direção da luz no espaço da câmera para uma luz direcional é calculada multiplicando a direção da fonte de luz pela matriz de exibição, normalizando e negando o resultado.
Ldir = -norm(Ldir * wvMatrix)
Para uma luz pontual e um holofote, a direção da luz é calculada da seguinte forma:
Ldir = norm(V - Lp), onde os parâmetros são definidos na tabela a seguir.
Parâmetro | Valor padrão | Type | Descrição |
---|---|---|---|
Ldir | N/D | Vetor 3D (valores de ponto flutuante x, y e z) | Vetor de direção do vértice do objeto para a luz |
V | N/D | Vetor 3D (valores de ponto flutuante x, y e z) | Posição do vértice no espaço da câmera |
wvMatrix | Identidade | Matriz 4x4 de valores de ponto flutuante | Matriz composta contendo o mundo e as transformações de visualização |
N | N/D | Vetor 3D (valores de ponto flutuante x, y e z) | Vértice normal |
LP | N/D | Vetor 3D (valores de ponto flutuante x, y e z) | Posição da luz no espaço da câmera |
vMatrix | Identidade | Matriz 4x4 de valores de ponto flutuante | Matriz que contém a transformação de exibição |
Tópicos relacionados