Transformações de espaço da câmera (Direct3D 9)
Os vértices no espaço da câmera são calculados transformando os vértices de objeto com a matriz de visualização do mundo.
V = V * wvMatrix
As normais de vértice, no espaço da câmera, são calculadas transformando as normais de objeto com a transposição inversa da matriz de exibição do mundo. A matriz de visualização do mundo poderá ou não ser ortogonal.
N = N * (wvMatrix⁻¹)T
A inversão de matrizes e a transposição de matrizes operam em uma matriz de 4 x 4. A multiplicação combina a normal com a parte 3 x 3 da matriz 4 x 4 resultante.
Se o estado de renderização, D3DRENDERSTATE_NORMALIZENORMALS for definido como TRUE, 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 = norm(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 visualização.
Lp = Lp * vMatrix
A direção para a luz no espaço da câmera para uma luz direcional é calculada multiplicando a direção da fonte de luz pela matriz de visualização, normalizando e anulando o resultado.
Ldir = -norm(Ldir * wvMatrix)
Para o D3DLIGHT_POINT e D3DLIGHT_SPOT a direção para a luz é computada da seguinte maneira:
Ldir = norm(V * Lp), em que os parâmetros são definidos na tabela a seguir.
Parâmetro | Valor padrão | Type | Descrição |
---|---|---|---|
Ldir | N/D | D3DVECTOR | Vetor de direção do vértice de objeto à luz |
V | N/D | D3DVECTOR | Posição do vértice no espaço da câmera |
wvMatrix | Identidade | D3DMATRIX | Matriz composta contendo as transformções de modo de exibição e mundo |
N | N/D | D3DVECTOR | Normal de vértice |
Lₚ | N/D | D3DVECTOR | Posição da luz no espaço da câmera |
vMatrix | Identidade | D3DMATRIX | Matriz que contém a transformação de modo de exibição |
Tópicos relacionados