Schlick's approximation

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

In 3D computer graphics, Schlick's approximation, named after Christophe Schlick, is a formula for approximating the contribution of the Fresnel factor in the specular reflection of light from a non-conducting interface (surface) between two media.[1]

According to Schlick's model, the specular reflection coefficient R can be approximated by:

\begin{align}
  R(\theta) = R_0 + (1 - R_0)(1 - \cos \theta)^5 \\
        R_0 = \left(\frac{n_1-n_2}{n_1+n_2}\right)^2
\end{align}

where \theta is the angle between the direction from which the incident light is coming and the normal of the interface between the two media, hence \cos\theta=(N\cdot V). And n_1,\,n_2 are the indices of refraction of the two media at the interface and R_0 is the reflection coefficient for light incoming parallel to the normal (i.e., the value of the Fresnel term when \theta = 0 or minimal reflection). In computer graphics, one of the interfaces is usually air, meaning that n_1 very well can be approximated as 1.

In microfacet models it is assumed that there is always a perfect reflection, but the normal changes according to a certain distribution, resulting in a non-perfect overall reflection. When using Schlicks's approximation, the normal in the above computation is replaced by the halfway vector. Either the viewing or light direction can be used as the second vector.[2]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.


<templatestyles src="Asbox/styles.css"></templatestyles>