Compartir a través de


Método ID3DXPRTEngine::ComputeBounceAdaptive

Calcula la radiación de origen resultante de un solo rebote de luz interrreslectada mediante el muestreo adaptable. Este método genera nuevos vértices y caras en la malla para aproximar con más precisión la señal de transferencia de radiancia precalculada (PRT). Este método se puede usar para cualquier escena iluminada, incluido un modelo PRT basado en armónico esférico (SH).

Sintaxis

HRESULT ComputeBounceAdaptive(
  [in]      LPD3DXPRTBUFFER pDataIn,
  [in]      FLOAT           AdaptiveThresh,
  [in]      FLOAT           MinEdgeLength,
  [in]      UINT            MaxSubdiv,
  [in, out] LPD3DXPRTBUFFER pDataOut,
  [in, out] LPD3DXPRTBUFFER pDataTotal
);

Parámetros

pDataIn [in]

Tipo: LPD3DXPRTBUFFER

Puntero a un objeto ID3DXPRTBuffer de entrada que representa el objeto 3D del rebote de luz anterior. Este búfer de entrada debe tener asignado el número adecuado de canales de color para la simulación.

AdaptiveThresh [in]

Tipo: FLOAT

Umbral en el vector PRT que se va a usar para subdividir vértices y caras de malla. Si es menor que 1e-6f, se especifica un valor predeterminado de 1e-6f.

MinEdgeLength [in]

Tipo: FLOAT

Longitud mínima del borde facial que se generará en el muestreo adaptable. Si el método determina que el valor es demasiado pequeño, se especifica un valor dependiente del modelo. Si es cero, se especifica un valor predeterminado de 4.

MaxSubdiv [in]

Tipo: UINT

Nivel máximo de subdivisión de una cara que se usará en el muestreo adaptable.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Puntero a un objeto ID3DXPRTBuffer de salida. Este búfer de salida debe tener asignado el número adecuado de canales de color para la simulación.

pDataTotal [in, out]

Tipo: LPD3DXPRTBUFFER

Puntero a un objeto ID3DXPRTBuffer opcional que mantiene una suma en ejecución de pDataOut con cada cálculo de rebote claro. Puede ser NULL.

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.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine