次の方法で共有


ID3DXPRTEngine::MultiplyAlbedo

それぞれの事前演算済み放射輝度伝播 (PRT) ベクトルを各頂点のアルベド値で乗算します。

HRESULT 
MultiplyAlbedo(
  LPD3DXPRTBUFFER pDataOut
);

パラメータ

  • pDataOut
    頂点ごとのアルベドで乗算した PRT ベクトルを格納する、出力の ID3DXPRTBuffer オブジェクトへのポインターです。この出力バッファーがテクスチャー オブジェクトである場合、テクスチャーのアルベドを、シミュレーション バッファーと同じ解像度で格納するように注意する必要があります。アルベドの適切な解像度を D3DXLoadSurfaceFromSurface で設定して、必要に応じてテクスチャーの余白領域を適用することができます。

戻り値

成功すると、S_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、E_OUTOFMEMORY

解説 

ID3DXPRTEngine::Computexxx メソッドは、ライト信号がアルベドで乗算されていない出力バッファーを算出します。アルベドを乗算しない場合、アルベドの変動を光源放射輝度よりも微細なスケールでモデリングすることができ、それによって、圧縮の結果がより正確になります。

レンダリングしたライトのモデルにアルベドを含めるには、このメソッドを Computexxx メソッドのいずれかの後に呼び出します。

このメソッドを呼び出す前に ID3DXPRTEngine::SetMeshMaterials を呼び出す必要があります。

要件

ヘッダー: D3DX9Mesh.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

ID3DXPRTEngine::ComputeDirectLightingSH