Compartilhar via


Método ID3DXPRTEngine::ComputeBounceAdaptive

Calcula o radiamento de origem resultante de um único salto de luz inter-desviada, usando amostragem adaptável. Esse método gera novos vértices e rostos na malha para aproximar com mais precisão o sinal prT (transferência de radiação pré-compilado). Esse método pode ser usado para qualquer cena iluminada, incluindo um modelo PRT baseado em SH (harmônico esférico).

Sintaxe

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

Ponteiro para um objeto ID3DXPRTBuffer de entrada que representa o objeto 3D do salto de luz anterior. Esse buffer de entrada deve ter o número adequado de canais de cores alocados para a simulação.

AdaptiveThresh [in]

Tipo: FLOAT

Limite no vetor PRT a ser usado para subdividência de vértices de malha e rostos. Se for menor que 1e-6f, um valor padrão de 1e-6f será especificado.

MinEdgeLength [in]

Tipo: FLOAT

Comprimento mínimo da borda facial que será gerado na amostragem adaptável. Se o método determinar que o valor é muito pequeno, um valor dependente de modelo será especificado. Se zero, um valor padrão de 4 será especificado.

MaxSubdiv [in]

Tipo: UINT

Nível máximo de subdivisão de um rosto que será usado na amostragem adaptável.

pDataOut [in, out]

Tipo: LPD3DXPRTBUFFER

Ponteiro para um objeto ID3DXPRTBuffer de saída. Esse buffer de saída deve ter o número adequado de canais de cores alocados para a simulação.

pDataTotal [in, out]

Tipo: LPD3DXPRTBUFFER

Ponteiro para um objeto ID3DXPRTBuffer opcional que mantém uma soma em execução de pDataOut com cada computação de salto leve. Pode ser NULL.

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.

Requisitos

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

Confira também

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine