Função D3DXSHEvalDirectionalLight (D3dx9math.h)
Observação
A biblioteca de utilitários D3DX (D3DX 9, D3DX 10 e D3DX 11) foi preterida e não tem suporte para aplicativos da Windows Store.
Observação
Em vez de usar essa função, recomendamos que você use a função de biblioteca de matemática harmônica esféricaXMSHEvalDirectionalLight.
Avalia uma luz direcional e retorna dados espectrais harmônicos esféricos (SH).
Sintaxe
HRESULT D3DXSHEvalDirectionalLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir,
_In_ FLOAT RIntensity,
_In_ FLOAT GIntensity,
_In_ FLOAT BIntensity,
_Out_ FLOAT *pROut,
_Out_ FLOAT *pGOut,
_Out_ FLOAT *pBOut
);
Parâmetros
-
Ordem [in]
-
Tipo: UINT
Ordem da avaliação de SH. Deve estar no intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, inclusive. A avaliação gera coeficientes order². O grau da avaliação é Order – 1.
-
pDir [in]
-
Tipo: const D3DXVECTOR3*
Ponteiro para o vetor de direção do eixo do hemisfério (x, y, z) no qual avaliar as funções de base SH. Consulte Observações.
-
RIntensity [in]
-
Tipo: FLOAT
A intensidade vermelha da luz.
-
GIntensity [in]
-
Tipo: FLOAT
A intensidade verde da luz.
-
BIntensity [in]
-
Tipo: FLOAT
A intensidade azul da luz.
-
pROut [out]
-
Tipo: FLOAT*
Ponteiro para o vetor SH de saída para o componente vermelho.
-
pGOut [out]
-
Tipo: FLOAT*
Ponteiro opcional para o vetor SH de saída para o componente verde.
-
pBOut [out]
-
Tipo: FLOAT*
Ponteiro opcional para o vetor SH de saída para o componente azul.
Valor retornado
Tipo: HRESULT
Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser: D3DERR_INVALIDCALL.
Comentários
O vetor de saída é calculado para que, se a taxa de intensidade R/G/B for igual a 1, o brilho de saída resultante de um ponto diretamente sob a luz em um objeto difuso com um albedo de 1 seria 1,0. Isso calculará três exemplos espectrais; pROut será retornado, enquanto pGOut e pBOut podem ser retornados.
Na esfera com raio de unidade, conforme mostrado na ilustração a seguir, a direção pode ser especificada simplesmente com theta, o ângulo sobre o eixo z na direção à direita e phi, o ângulo de z.
As equações a seguir mostram a relação entre as coordenadas Cartesian (x, y, z) e esféricas (theta, phi) na esfera de unidade. Aeta angular varia acima do intervalo de 0 a 2 pi, enquanto phi varia de 0 a pi.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também