次の方法で共有


ID3DXPRTEngine::ComputeDirectLightingSHGPU メソッド

GPU を使用して、ソースの放射が球面調和 (SH) 近似で表される 3D オブジェクトへの直接の照明の影響を計算します。 GPU での照明の計算は、通常、CPU よりもはるかに高速になります。

構文

HRESULT ComputeDirectLightingSHGPU(
  [in]      LPDIRECT3DDEVICE9 pDevice,
  [in]      UINT              Flags,
  [in]      UINT              Order,
  [in]      FLOAT             ZBias,
  [in]      FLOAT             ZAngleBias,
  [in, out] LPD3DXPRTBUFFER   pDataOut
);

パラメーター

pDevice [in]

種類: LPDIRECT3DDEVICE9

GPU でシミュレーションを実行するために使用される IDirect3DDevice9 デバイス オブジェクトへのポインター。 デバイスは 、ps_2_0 ピクセル シェーダーをサポートする必要があります。

注意

コールバック関数では、GPU シミュレーターで使用される IDirect3DDevice9 デバイス オブジェクトを使用しないでください。

 

Flags [in]

型: UINT

シャドウ z バッファーの解像度を定義する GPU シミュレーション パラメーター。 D3DXSHGPUSIMOPT の定数値のいずれかに設定する必要があります。 精度の高いシミュレーションを指定するために、D3DXSHGPUSIMOPT_HIGHQUALITY値をD3DXSHGPUSIMOPT_SHADOWRESxxx値の 1 つと組み合わせることができます。

順序 [入力]

型: UINT

SH評価の順序。 D3DXSH_MAXORDERまでのD3DXSH_MINORDERの範囲内である必要があります(両端を含む)。 この評価では、Order² 係数が生成されます。 評価の次数は Order - 1 です。

ZBias [in]

型: FLOAT

法線方向のバイアス。

ZAngleBias [in]

型: FLOAT

法線方向のバイアスは、1 から光線による角度のコサインを引いた値でスケーリングされます。

pDataOut [in, out]

種類: LPD3DXPRTBUFFER

ID3DXPRTBuffer オブジェクトへのポインター。 このバッファーには、シミュレーションに適切な数のカラー チャネルが割り当てられている必要があります。

戻り値

型: HRESULT

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

注釈

この方法では、albedo に光信号を乗算せず、入力光のみがシミュレーターに統合されます。 albedo を乗算しないことで、albedo のバリエーションをソース放射よりも細かいスケールでモデル化できるため、圧縮によるより正確な結果が得られます。

MultiplyAlbedo を呼び出して、事前計算された各放射輝度転送 (PRT) ベクトルに albedo を乗算します。

要件

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

こちらもご覧ください

ID3DXPRTEngine