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 からの結果では使用できません。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください