Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Note
The D3DX utility library is deprecated. We recommend that you use DirectXMath instead.
Calculate the Fresnel term.
Syntax
FLOAT D3DXFresnelTerm(
_In_ FLOAT CosTheta,
_In_ FLOAT RefractionIndex
);
Parameters
-
CosTheta [in]
-
Type: FLOAT
The value must be between 0 and 1.
-
RefractionIndex [in]
-
Type: FLOAT
The refraction index of a material. The value must be greater than 1.
Return value
Type: FLOAT
This function returns the Fresnel term for unpolarized light. CosTheta is the cosine of the incident angle.
Remarks
To find the Fresnel term (F):
If A is angle of incidence and B is the angle of refraction, then
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
Then, expanding using the trig identities and simplifying, you get:
F = 0.5 * (g + c)2 / (g - c)2 * ([c(g + c) - 1]2 / [c(g - c) + 1]2 + 1)
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|
See also