Método ID3DXPRTEngine::ComputeVolumeSamplesDirectSH

Calcula uma projeção de iluminação distante em vetores de base harmônicos esféricos (SH) que representam o radiamento de incidentes em locais especificados.

Sintaxe

HRESULT ComputeVolumeSamplesDirectSH(
  [in]            UINT            OrderIn,
  [in]            UINT            OrderOut,
  [in]            UINT            NumVolSamples.xml,
  [in]      const D3DXVECTOR3     *pSampleLocs,
  [in, out]       LPD3DXPRTBUFFER pDataOut
);

Parâmetros

OrderIn [in]

Tipo: UINT

Ordem da representação sh da iluminação distante. Deve estar no intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, inclusive. O grau da avaliação é OrderIn - 1.

OrderOut [in]

Tipo: UINT

Ordem da representação sh da iluminação local. Deve estar no intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, inclusive. O grau da avaliação é OrderOut - 1.

NumVolSamples.xml [in]

Tipo: UINT

Número de locais de exemplo.

pSampleLocs [in]

Tipo: const D3DXVECTOR3*

Posição para cada amostra.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Ponteiro para um objeto ID3DXPRTBuffer de saída que projeta a iluminação distante em vetores de base SH. Esse buffer deve ter o número adequado de canais de cores alocados para a simulação. Esse método gera os escalares OrderIn² * OrderOut"² por canal em cada local de exemplo.

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

Esse método calcula como a luz de uma fonte distante chega a cada ponto no espaço especificado por pSampleLocs. Os coeficientes sh representam o mapeamento, em cada ponto pSampleLocs, da radiação de origem para radiação de incidente transferida.

Para usar esse método com êxito, você deve definir a amostragem em uma esfera com UseSphere = TRUE e UseCosine = FALSE em ID3DXPRTEngine::SetSamplingInfo; caso contrário, esse método retornará um erro com D3DERR_INVALIDCALL.

Requisitos

Requisito Valor
parâmetro
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamples