Share via


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