次の方法で共有


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 でエラーを返します。

要件

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

こちらもご覧ください

ID3DXPRTEngine

ID3DXPRTEngine::ComputeVolumeSamples