D3DXSHEvalConeLight 函式 (D3DX10.h)
注意
D3DX (D3DX 9、D3DX 10 和 D3DX 11) 公用程式程式庫已被取代,且 Windows 市集應用程式不支援。
注意
建議您不要使用此函式,而是建議您使用 球面調色數學 程式庫函式 XMSHEvalConeLight。
評估光是常數濃度的圓錐,並傳回 (SH) 資料。
語法
HRESULT D3DXSHEvalConeLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir,
_In_ FLOAT Radius,
_In_ FLOAT RIntensity,
_In_ FLOAT GIntensity,
_In_ FLOAT BIntensity,
_In_ FLOAT *pROut,
_In_ FLOAT *pGOut,
_In_ FLOAT *pBOut
);
參數
-
順序 [in]
-
類型: UINT
SH 評估的順序。 必須位於D3DXSH_MINORDER的範圍內,才能包含D3DXSH_MAXORDER。 評估會產生 Order¹ 係數。 評估的程度為 Order - 1。
-
pDir [in]
-
類型:const D3DXVECTOR3*
(x、y、z) 軸方向向量指標,以評估 SH 基礎函式。 請參閱<備註>。
-
半徑 [in]
-
類型: FLOAT
圓錐的半徑,以弧度為單位。
-
RIntensity [in]
-
類型: FLOAT
光線的紅色濃度。
-
GIntensity [in]
-
類型: FLOAT
光線的綠色濃度。
-
BIntensity [in]
-
類型: FLOAT
光線的藍色濃度。
-
pROut [in]
-
類型: FLOAT*
紅色元件的輸出 SH 向量指標。
-
pGOut [in]
-
類型: FLOAT*
綠色元件的輸出 SH 向量指標。
-
pBOut [in]
-
類型: FLOAT*
藍色元件的輸出 SH 向量指標。
傳回值
類型: HRESULT
如果函式成功,傳回值會D3D_OK。 如果函式失敗,則傳回值可以是:D3DERR_INVALIDCALL。
備註
評估光線,其為常數濃度的圓錐,並傳回細明體 SH 資料。 輸出向量會計算,因此,如果濃度比率 R/G/B 等於 1,則直接在光 (正底下點的結束弧度會以 1) 為 1.0 的擴散物件上導向。 這會計算三個樣本;pROut 將會傳回,而 pGOut 和 pBOut 可能會傳回。
在具有單位半徑的球體上,如下圖所示,只要使用 theta 指定方向、右手方向的 Z 軸角度,以及從 z 的角度來指定方向。
下列方程式顯示笛卡 (x、y、z) 和球面 (ta、phi) 座標在單位球體上的關聯性。 角度 theta 會隨著 0 到 2 pi 的範圍而有所不同,而 phi 則從 0 到 pi。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱