ID3DXPRTEngine::ComputeVolumeSamplesDirectSH メソッド
指定した場所での入射放射を表す球面調和 (SH) 基底ベクトルへの遠くの照明の投影を計算します。
構文
HRESULT ComputeVolumeSamplesDirectSH(
[in] UINT OrderIn,
[in] UINT OrderOut,
[in] UINT NumVolSamples.xml,
[in] const D3DXVECTOR3 *pSampleLocs,
[in, out] LPD3DXPRTBUFFER pDataOut
);
パラメーター
-
OrderIn [in]
-
型: UINT
遠くの照明のSH表現の順序。 D3DXSH_MINORDERからD3DXSH_MAXORDERまでの範囲に含める必要があります。 評価の次数は OrderIn - 1 です。
-
OrderOut [in]
-
型: UINT
ローカル照明の SH 表現の順序。 D3DXSH_MINORDERからD3DXSH_MAXORDERまでの範囲に含める必要があります。 評価の次数は OrderOut - 1 です。
-
NumVolSamples.xml [in]
-
型: UINT
サンプルの場所の数。
-
pSampleLocs [in]
-
型: const D3DXVECTOR3*
各サンプルの位置。
-
pDataOut [in, out]
-
種類: LPD3DXPRTBUFFER
遠くの照明を SH 基底ベクトルに投影する出力 ID3DXPRTBuffer オブジェクトへのポインター。 このバッファーには、シミュレーションに適切な数のカラー チャネルが割り当てられている必要があります。 このメソッドは、各サンプルの場所でチャネルごとに OrderIn² * OrderOut"² スカラーを生成します。
戻り値
種類: HRESULT
メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、E_OUTOFMEMORY。
注釈
このメソッドは、pSampleLocs によって指定された空間内の各ポイントに、離れたソースからの光が到達する方法を計算します。 SH 係数は、転送されたインシデント放射に対するソース放射の各 pSampleLocs ポイントでのマッピングを表します。
このメソッドを正常に使用するには、ID3DXPRTEngine::SetSamplingInfo で UseSphere = TRUE と UseCosine = FALSE を使用して、球上でサンプリングを設定する必要があります。それ以外の場合、このメソッドは D3DERR_INVALIDCALL でエラーを返します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
こちらもご覧ください