次の方法で共有


ID3DXPRTEngine::MultiplyAlbedo メソッド

事前計算された各放射輝度転送 (PRT) ベクトルに頂点ごとの albedo を乗算します。

構文

HRESULT MultiplyAlbedo(
  [in, out] LPD3DXPRTBUFFER pDataOut
);

パラメーター

pDataOut [in, out]

種類: LPD3DXPRTBUFFER

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

戻り値

型: HRESULT

メソッドが成功した場合、戻り値はS_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

注釈

ID3DXPRTEngine::Computexxx メソッドは、ライトシグナルに albedo が乗算されていない出力バッファーを計算します。 albedo を乗算しないことで、albedo のバリエーションをソース放射よりも細かいスケールでモデル化できるため、圧縮によるより正確な結果が得られます。

レンダリングライト モデルに albedo を含めるには、Computexxx メソッドの 1 つ後にこのメソッドを呼び出します。

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

要件

要件
ヘッダー
D3DX9Mesh.h
ライブラリ
D3dx9.lib

こちらもご覧ください

ID3DXPRTEngine

ID3DXPRTEngine::ComputeDirectLightingSH