ID3DXPRTEngine::ComputeBounceAdaptive
適応サンプリングを使用して、相互反射したライトの 1 回のバウンスによる光源放射輝度を計算します。このメソッドは、新しい頂点と面をメッシュ上に生成して、事前演算済み放射輝度伝播 (PRT) 信号をより正確に見積もります。このメソッドは、球面調和 (SH) ベースの PRT モデルを含めた任意のライティング シーンに使用することができます。
HRESULT
ComputeBounceAdaptive(
LPD3DXPRTBUFFER pDataIn,
FLOAT AdaptiveThresh,
FLOAT MinEdgeLength,
UINT MaxSubdiv,
LPD3DXPRTBUFFER pDataOut,
LPD3DXPRTBUFFER pDataTotal
);
パラメータ
- pDataIn
直前のライトのバウンスからの 3D オブジェクトを表す、入力の ID3DXPRTBuffer オブジェクトへのポインターです。この入力バッファーは、シミュレーション用に割り当てられた適切な数のカラー チャンネルを持つことが必要です。 - AdaptiveThresh
メッシュの頂点と面をさらに分割するために使用する、PRT ベクトルに対するしきい値です。1e-6f 未満の場合、デフォルト値の 1e-6f が指定されます。 - MinEdgeLength
適応サンプリングで生成される最小面のエッジ長さです。この値が小さすぎるとメソッドが判定した場合、モデルの従属値が指定されます。ゼロの場合、デフォルト値の 4 が指定されます。 - MaxSubdiv
適応サンプリングで使用される面を分割する最大レベルです。 - pDataOut
出力の ID3DXPRTBuffer オブジェクトへのポインターです。この出力バッファーは、シミュレーション用に割り当てられた適切な数のカラー チャンネルを持つことが必要です。 - pDataTotal
各ライトのバウンス計算での pDataOut の累積和を保持する、オプションの ID3DXPRTBuffer オブジェクトへのポインターです。NULL でもかまいません。
戻り値
メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、E_OUTOFMEMORY
要件
ヘッダー: D3DX9Mesh.h 宣言
ライブラリ: D3dx9.lib 内容