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

前のライト バウンスからの 3D オブジェクトを表す入力 ID3DXPRTBuffer オブジェクトへのポインター。 この入力バッファーには、シミュレーションに適切な数のカラー チャネルが割り当てられている必要があります。

AdaptiveThresh [in]

型: FLOAT

メッシュの頂点と面を再分割するために使用する PRT ベクトルのしきい値。 1e-6f 未満の場合は、既定値の 1e-6f が指定されます。

MinEdgeLength [in]

型: FLOAT

アダプティブ サンプリングで生成される顔エッジの最小長。 メソッドが値が小さすぎると判断した場合は、モデルに依存する値が指定されます。 0 の場合、既定値の 4 が指定されます。

MaxSubdiv [in]

型: UINT

アダプティブ サンプリングで使用される顔の最大サブ区分レベル。

pDataOut [in, out]

種類: LPD3DXPRTBUFFER

出力 ID3DXPRTBuffer オブジェクトへのポインター。 この出力バッファーには、シミュレーションに適切な数のカラー チャネルが割り当てられている必要があります。

pDataTotal [in, out]

種類: LPD3DXPRTBUFFER

光バウンス計算ごとに pDataOut の実行合計を保持するオプションの ID3DXPRTBuffer オブジェクトへのポインター。 NULL を指定できます。

戻り値

型: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

要件

要件
ヘッダー
D3DX9Mesh.h
ライブラリ
D3dx9.lib

関連項目

ID3DXPRTEngine

ID3DXPRTEngine::RobustMeshRefine