D3DXFresnelTerm 函式 (D3DX10Math)

計算 Fresnel 字詞。

語法

FLOAT D3DXFresnelTerm(
  _In_ FLOAT CosTheta,
  _In_ FLOAT RefractionIndex
);

參數

CosTheta [在]

類型: FLOAT

值長度必須介於 0 到 1 之間。

RefractionIndex [在]

類型: FLOAT

材質的折射索引。 值必須大於1。

傳回值

類型: FLOAT

此函數會傳回 unpolarized light 的 Fresnel 字詞。 CosTheta 是事件角度的余弦值。

備註

若要尋找 Fresnel 字詞 (F) :

如果是發生的角度,B 是折射的角度,則

F = 0.5 * [tan2(A - B) / tan2(A + B) + sin2(A - B) / sin2(A + B)]
  = 0.5 * sin2(A - B) / sin2(A + B) * [cos2(A + B) / cos2(A - B) + 1]

Let r   = sina(A) / sin(B)      (the relative refractive index)
Let c   = cos(A)
Let g   = (r2 + c2 - 1)1/2

然後,使用三角函數和簡化進行擴充,您會得到:

F = 0.5 * (g + c)2 / (g - c)2 * ([c(g + c) - 1]2 / [c(g - c) + 1]2 + 1)

規格需求

需求
標頭
D3DX10Math。h
程式庫
D3DX10 .lib

另請參閱

數學函數