Método ID3DXPRTEngine::ComputeDirectLightingSHGPU

Usa la GPU para calcular la contribución de iluminación directa a objetos 3D donde la radiación de origen se representa mediante una aproximación armónica esférica (SH). Calcular la iluminación en la GPU generalmente será mucho más rápido que en la CPU.

Sintaxis

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

Puntero al objeto de dispositivo IDirect3DDevice9 usado para ejecutar la simulación en la GPU. El dispositivo debe admitir ps_2_0 sombreadores de píxeles.

Nota

Las funciones de devolución de llamada no deben usar el objeto de dispositivo IDirect3DDevice9 usado por el simulador de GPU.

 

Marcas [in]

Tipo: UINT

Parámetro de simulación de GPU que define la resolución del búfer z de sombra. Debe establecerse en uno de los valores constantes de D3DXSHGPUSIMOPT. Para especificar la simulación de mayor precisión, el valor de D3DXSHGPUSIMOPT_HIGHQUALITY se puede combinar con uno de los valores de D3DXSHGPUSIMOPT_SHADOWRESxxx.

Order [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.

ZBias [in]

Tipo: FLOAT

Sesgo en la dirección normal.

ZAngleBias [in]

Tipo: FLOAT

Sesgo en la dirección normal, escalado por uno menos el coseno del ángulo con el rayo de luz.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Puntero a un objeto ID3DXPRTBuffer . 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 ejecuta 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

En este método, el albedo no se multiplica por la señal de luz y solo la luz entrante está integrada en el simulador. Al no multiplicar el albedo, puede modelar la variación albedo a una escala más fina que la radiación de origen, lo que produce resultados más precisos de la compresión.

Llame a MultiplyAlbedo para multiplicar cada vector de transferencia de radiancia precalada (PRT) por el albedo.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

ID3DXPRTEngine