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
輸出 ID3DXPRTBuffer 物件的指標,將遠距光源投射到 SH 基礎向量中。 此緩衝區必須有配置給模擬的適當色彩通道數目。 此方法會在每個範例位置為每個通道產生 OrderInJAVA * OrderOut「¹ 純量。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL,E_OUTOFMEMORY。
備註
這個方法會計算來自遠距來源的光線如何抵達 pSampleLocs 所指定的每個空間點。 SH 係數代表每個 pSampleLocs 點的來源弧度與傳輸事件弧度之間的對應。
若要成功使用此方法,您必須在ID3DXPRTEngine::SetSamplingInfo中設定使用 UseSphere = TRUE且 UseCosine = FALSE的球體取樣;否則,這個方法會傳回具有D3DERR_INVALIDCALL的錯誤。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱