Método ID3DXPRTEngine::ComputeDirectLightingSHGPU
Usa a GPU para calcular a contribuição de iluminação direta para objetos 3D em que o radiamento de origem é representado por uma aproximação harmônica esférica (SH). A computação da iluminação na GPU geralmente será muito mais rápida do que na CPU.
Sintaxe
HRESULT ComputeDirectLightingSHGPU(
[in] LPDIRECT3DDEVICE9 pDevice,
[in] UINT Flags,
[in] UINT Order,
[in] FLOAT ZBias,
[in] FLOAT ZAngleBias,
[in, out] LPD3DXPRTBUFFER pDataOut
);
Parâmetros
-
pDevice [in]
-
Tipo: LPDIRECT3DDEVICE9
Ponteiro para o objeto de dispositivo IDirect3DDevice9 usado para executar a simulação na GPU. O dispositivo deve dar suporte a sombreadores de pixel ps_2_0 .
Observação
As funções de retorno de chamada não devem usar o objeto de dispositivo IDirect3DDevice9 usado pelo simulador de GPU.
-
Sinalizadores [in]
-
Tipo: UINT
Parâmetro de simulação de GPU que define a resolução do buffer z de sombra. Deve ser definido como um dos valores constantes de D3DXSHGPUSIMOPT. Para especificar uma simulação de precisão mais alta, o valor de D3DXSHGPUSIMOPT_HIGHQUALITY pode ser combinado com um dos valores D3DXSHGPUSIMOPT_SHADOWRESxxx.
-
Order [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.
-
ZBias [in]
-
Tipo: FLOAT
Desvio na direção normal.
-
ZAngleBias [in]
-
Tipo: FLOAT
Desvio na direção normal, dimensionado em um menos o cosseno do ângulo com o raio de luz.
-
pDataOut [in, out]
-
Tipo: LPD3DXPRTBUFFER
Ponteiro para um objeto ID3DXPRTBuffer . Esse buffer deve ter o número adequado de canais de cores alocados para a simulação.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, E_OUTOFMEMORY.
Comentários
Nesse método, o albedo não é multiplicado pelo sinal de luz e apenas a luz de entrada é integrada ao simulador. Ao não multiplicar o albedo, você pode modelar a variação albedo em uma escala mais fina do que o brilho de origem, gerando assim resultados mais precisos da compactação.
Chame MultiplyAlbedo para multiplicar cada vetor prt (transferência de radiação pré-computada) pelo albedo.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também