Método ID3DXPRTEngine::ComputeVolumeSamples

Calcula una proyección de la iluminación directa del rebote de luz anterior en vectores base armónicos esféricos (SH) que representan radiancia de incidentes en ubicaciones especificadas.

Sintaxis

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

Puntero a un objeto ID3DXPRTBuffer de entrada que representa el objeto 3D del rebote de luz anterior.

Orden [in]

Tipo: UINT

Orden de evaluación de SH. Debe estar en el intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, ambos incluidos. La evaluación genera coeficientes Order². El grado de evaluación es Order - 1.

NumVolSamples.xml [in]

Tipo: UINT

Número de ubicaciones de ejemplo.

pSampleLocs [in]

Tipo: const D3DXVECTOR3*

Posición para cada ejemplo. Si pSampleLocs es NULL, ComputeVolumeSamples calculará matrices de transferencia en cada vértice de malla. Sin embargo, si pSampleLocs no es NULL, debe muestrear sobre una esfera (establezca UseSphere = TRUE y UseCosine = FALSE en ID3DXPRTEngine::SetSamplingInfo); De lo contrario, ComputeVolumeSamples devolverá D3DERR_INVALIDCALL.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Puntero a un objeto ID3DXPRTBuffer de salida que proyecta la iluminación directa de los vectores de base sh anteriores. Este búfer debe tener asignado el número adecuado de canales de color para la simulación.

Valor devuelto

Tipo: HRESULT

Si el método se realiza correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Comentarios

Este método calcula cómo se refleja la luz de la función de radiación de origen fuera de la superficie que representa la escena (pSurfDataIn) y llega a cada punto en el espacio especificado por pSampleLocs. Los coeficientes SH representan la asignación, en cada punto pSampleLocs, de radiancia de origen a la radiación de incidente transferida.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamplesDirectSH