Método ID3DXPRTEngine::ComputeVolumeSamples

Calcula uma projeção da iluminação direta do salto de luz anterior em vetores de base esféricos harmônicos (SH) que representam a radiação de incidentes em locais especificados.

Sintaxe

HRESULT ComputeVolumeSamples(
  [in]            LPD3DXPRTBUFFER pSurfDataIn,
  [in]            UINT            Order,
  [in]            UINT            NumVolSamples.xml,
  [in]      const D3DXVECTOR3     *pSampleLocs,
  [in, out]       LPD3DXPRTBUFFER pDataOut
);

Parâmetros

pSurfDataIn [in]

Tipo: LPD3DXPRTBUFFER

Ponteiro para um objeto ID3DXPRTBuffer de entrada que representa o objeto 3D do salto de luz anterior.

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.

NumVolSamples.xml [in]

Tipo: UINT

Número de locais de exemplo.

pSampleLocs [in]

Tipo: const D3DXVECTOR3*

Posição para cada exemplo. Se pSampleLocs for NULL, ComputeVolumeSamples calculará matrizes de transferência em cada vértice de malha. No entanto, se pSampleLocs não for NULL, você deverá amostrar em uma esfera (definir UseSphere = TRUE e UseCosine = FALSE em ID3DXPRTEngine::SetSamplingInfo); caso contrário, ComputeVolumeSamples retornará D3DERR_INVALIDCALL.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Ponteiro para um objeto ID3DXPRTBuffer de saída que projeta a iluminação direta da luz anterior saltar para vetores de base SH. 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

Esse método calcula como a luz da função de radiação de origem é refletida fora da superfície que representa a cena (pSurfDataIn) e 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.

Requisitos

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

Confira também

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamplesDirectSH