共用方式為


ID3DXPRTEngine::ComputeBounceAdaptive 方法

使用調適性取樣,計算單一彈跳光線所產生的來源弧度。 此方法會產生網格上新的頂點和臉部,以更精確地近似預先計算的弧度傳輸 (PRT) 訊號。 此方法可用於任何光線場景,包括球面調色 (SH) 型 PRT 模型。

語法

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

參數

pDataIn [in]

類型: LPD3DXPRTBUFFER

輸入 ID3DXPRTBuffer 物件的指標,代表前一個光線彈跳的 3D 物件。 此輸入緩衝區必須有配置給模擬的適當色彩通道數目。

AdaptiveThresh [in]

類型: FLOAT

PRT 向量上的臨界值,用於細分網格頂點和臉部。 如果小於 1e-6f,則會指定預設值 1e-6f。

MinEdgeLength [in]

類型: FLOAT

將在調適型取樣中產生的最小臉部邊緣長度。 如果方法判斷值太小,則會指定模型相依值。 如果為零,則會指定預設值 4。

MaxSubdiv [in]

類型: UINT

將用於調適型取樣之臉部的細分層級上限。

pDataOut [in, out]

類型: LPD3DXPRTBUFFER

輸出 ID3DXPRTBuffer 物件的指標。 此輸出緩衝區必須有配置給模擬的適當色彩通道數目。

pDataTotal [in, out]

類型: LPD3DXPRTBUFFER

選擇性 ID3DXPRTBuffer 物件的指標,此物件會在每個光線彈跳計算中保留 pDataOut 的執行總和。 可能是 Null

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL,E_OUTOFMEMORY。

規格需求

需求
標頭
D3DX9Mesh.h
程式庫
D3dx9.lib

另請參閱

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine