Export (0) Print
Expand All
Expand Minimize

D3DXFresnelTerm function

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

Header

D3dx9math.h

Library

D3dx9.lib

 

 

Community Additions

ADD
Show:
© 2014 Microsoft