次の方法で共有


ID3DXPRTEngine::ComputeLDPRTCoeffs メソッド

入力 ID3DXPRTBuffer データに対する最小二乗誤差を最小限に抑えるために、サンプルごとの標準ベクトルに対してローカルに変形可能な事前計算された放射転送 (LDPRT) 係数を計算します。 これらの係数は、スキンまたは変換された法線ベクトルと共に使用して、動的オブジェクトに対するグローバル効果をモデル化できます。

構文

HRESULT ComputeLDPRTCoeffs(
  [in]      LPD3DXPRTBUFFER pDataIn,
  [in]      UINT            Order,
  [in, out] D3DXVECTOR3     *pNormOut,
  [in, out] LPD3DXPRTBUFFER pDataOut
);

パラメーター

pDataIn [in]

種類: LPD3DXPRTBUFFER

入力 ID3DXPRTBuffer 球面高調波 (SH) 事前計算された放射転送 (PRT) データ オブジェクトへのポインター。

Order [in]

型: UINT

SH評価の順序。 D3DXSH_MINORDERからD3DXSH_MAXORDERまでの範囲に含める必要があります。 この評価では、Order² 係数が生成されます。 評価の次数は Order - 1 です。

pNormOut [in, out]

種類: D3DXVECTOR3*

LDPRT 係数が最適化されるシェーダー最適法線ベクトルで埋めるオプションのベクター配列。 この配列は、pDataIn のサンプル数と同じサイズにする必要があります。 NULL の場合は、サーフェス法線ベクトルが使用されます。

pDataOut [in, out]

種類: LPD3DXPRTBUFFER

サンプルごとのカラー チャネルごとの Order ゾーン調和係数を含む出力 ID3DXPRTBuffer オブジェクトへのポインター。

戻り値

種類: HRESULT

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

注釈

網かけ法線ベクトルの解は、必要に応じてこのメソッドを使用して取得できます。 これらの正規ベクトルは、LDPRT係数と共に、PRT信号をより正確に表すことができる。 この場合、係数は法線方向に向いたゾーン調和を表します。

このメソッドは、 ID3DXPRTEngine::ComputeSurfSamplesBounce または ID3DXPRTEngine::ComputeSurfSamplesDirectSH からの結果では使用できません。

要件

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

こちらもご覧ください

ID3DXPRTEngine