次の方法で共有


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 内容

関連項目

ID3DXPRTEngine::RobustMeshRefine