Método ID3DXPRTEngine::ComputeVolumeSamplesDirectSH

Calcula una proyección de iluminación lejana en vectores base armónicos esféricos (SH) que representan la radiación de incidentes en ubicaciones especificadas.

Sintaxis

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

Orden de la representación SH de la iluminación lejana. Debe estar en el intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, ambos incluidos. El grado de evaluación es OrderIn - 1.

OrderOut [in]

Tipo: UINT

Orden de la representación SH de la iluminación local. Debe estar en el intervalo de D3DXSH_MINORDER para D3DXSH_MAXORDER, ambos incluidos. El grado de evaluación es OrderOut - 1.

NumVolSamples.xml [in]

Tipo: UINT

Número de ubicaciones de ejemplo.

pSampleLocs [in]

Tipo: const D3DXVECTOR3*

Posición para cada ejemplo.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Puntero a un objeto ID3DXPRTBuffer de salida que proyecta la iluminación lejana en vectores de base SH. Este búfer debe tener asignado el número adecuado de canales de color para la simulación. Este método genera los escalares OrderIn² * OrderOut"² por canal en cada ubicación de ejemplo.

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 llega la luz de un origen lejano a cada punto del 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.

Para usar este método correctamente, debe establecer el muestreo en una esfera con UseSphere = TRUE y UseCosine = FALSE en ID3DXPRTEngine::SetSamplingInfo; de lo contrario, este método devolverá un error con D3DERR_INVALIDCALL.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamples