Fresnel Class Reference

Utility class encapsulating Fresnel's Law which computes the fraction of incident power that is reflected when light travels across an interface defined by the boundary between two media with different indices of refraction. More...

#include <Fresnel.h>

List of all members.

Static Public Member Functions

Constructors
static real_t getFr (const Vector3 &wi, const Vector3 &N, real_t n1, real_t n2)
 Uses Fresnel's Law to compute the fraction of incident power that is reflected from the given interface in the perfectly specular reflected direction defined by incident vector wi and the interface's local normal, N.
static real_t getFr (real_t cos_theta_i, real_t n1, real_t n2)
 Uses Fresnel's Law to compute the fraction of incident power that is reflected from the given interface at incident angle theta_i with respect to the interface's local normal.
static real_t getFs (const Vector3 &wi, const Vector3 &N, real_t n1, real_t n2)
 Uses Fresnel's Law to compute the fraction of incident power that is refracted from the given interface in the perfect refractive direction defined by incident vector wi and the interface's local normal, N.


Detailed Description

Utility class encapsulating Fresnel's Law which computes the fraction of incident power that is reflected when light travels across an interface defined by the boundary between two media with different indices of refraction.

Author:
Travis Fischer (fisch0920@gmail.com)

Matthew Jacobs (jacobs.mh@gmail.com)

Date:
Fall 2008
Note:
The index of refraction (aka refractive index) of a medium is a measure for how much the speed of light (or other waves such as sound waves) is reduced inside the medium (source: Wikipedia).

Definition at line 24 of file Fresnel.h.


Member Function Documentation

static real_t Fresnel::getFr ( const Vector3 wi,
const Vector3 N,
real_t  n1,
real_t  n2 
) [inline, static]

Uses Fresnel's Law to compute the fraction of incident power that is reflected from the given interface in the perfectly specular reflected direction defined by incident vector wi and the interface's local normal, N.

Parameters:
wi is incident vector
N is local surface normal
n1 is index of refraction of medium on incident side of surface
n2 is index of refraction of medium on opposite side of surface
Returns:
the reflection coefficient, Fr, of this interaction
Note:
the transmission coefficient, Fs, is assumed to be (1 - Fr)

Definition at line 44 of file Fresnel.h.

static real_t Fresnel::getFr ( real_t  cos_theta_i,
real_t  n1,
real_t  n2 
) [inline, static]

Uses Fresnel's Law to compute the fraction of incident power that is reflected from the given interface at incident angle theta_i with respect to the interface's local normal.

Parameters:
cos_theta_i is cosine of angle theta_i btwn reversed incident vector and normal
n1 is index of refraction of medium on incident side of surface
n2 is index of refraction of medium on opposite side of surface
Returns:
the reflection coefficient, Fr, of this interaction
Note:
the transmission coefficient, Fs, is assumed to be (1 - Fr)

Definition at line 69 of file Fresnel.h.

static real_t Fresnel::getFs ( const Vector3 wi,
const Vector3 N,
real_t  n1,
real_t  n2 
) [inline, static]

Uses Fresnel's Law to compute the fraction of incident power that is refracted from the given interface in the perfect refractive direction defined by incident vector wi and the interface's local normal, N.

Parameters:
wi is incident vector
N is local surface normal
n1 is index of refraction of medium on incident side of surface
n2 is index of refraction of medium on opposite side of surface
Returns:
the transmission coefficient, Fs, of this interaction
Note:
the reflection coefficient, Fr, is assumed to be (1 - Fs)

Definition at line 106 of file Fresnel.h.


The documentation for this class was generated from the following file:

Generated on 28 Feb 2009 for Milton by doxygen 1.5.6