ID3DXPRTEngine::ComputeDirectLightingSH
光源放射輝度が球面調和 (SH) 近似で表される 3D オブジェクトへの直接ライティングのコントリビューションを計算します。
HRESULT
ComputeDirectLightingSH(
UINT Order,
LPD3DXPRTBUFFER pDataOut
);
パラメータ
- Order
SH 評価の順序です。D3DXSH_MINORDER から D3DXSH_MAXORDER の範囲で指定する必要があります。評価では、Order2 の係数が生成されます。評価の次数は Order - 1 です。 - pDataOut
SH 近似を用いた直接ライティングのコントリビューションをモデリングする、出力の ID3DXPRTBuffer オブジェクトへのポインターです。このバッファーは、シミュレーション用に割り当てられた適切な数のカラー チャンネルを持つことが必要です。
戻り値
メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、E_OUTOFMEMORY
解説
この出力はアルベドを含んでおらず、入射するライトのみがシミュレーターに組み込まれます。アルベドを乗算しない場合、アルベドの変動を光源放射輝度よりも微細なスケールでモデリングすることができ、それによって、圧縮の結果がより正確になります。
それぞれの事前演算済み放射輝度伝播 (PRT) ベクトルをアルベドで乗算するには、ID3DXPRTEngine::MultiplyAlbedo を呼び出します。
要件
ヘッダー: D3DX9Mesh.h 宣言
ライブラリ: D3dx9.lib 内容