lux::CookTorrance Class Reference

#include <cooktorrance.h>

Inheritance diagram for lux::CookTorrance:

lux::BxDF

List of all members.

Public Member Functions

 CookTorrance (const SWCSpectrum &kd, u_int nl, const SWCSpectrum *ks, MicrofacetDistribution **dist, Fresnel **fres)
SWCSpectrum f (const Vector &wo, const Vector &wi) const
float G (const Vector &wo, const Vector &wi, const Vector &wh) const
SWCSpectrum Sample_f (const Vector &wi, Vector *sampled_f, float u1, float u2, float *pdf, float *pdfBack=NULL) const
float Pdf (const Vector &wi, const Vector &wo) const

Private Attributes

SWCSpectrum KD
u_int nLobes
const SWCSpectrumKS
MicrofacetDistribution ** distribution
Fresnel ** fresnel


Detailed Description

Definition at line 34 of file cooktorrance.h.


Constructor & Destructor Documentation

CookTorrance::CookTorrance ( const SWCSpectrum kd,
u_int  nl,
const SWCSpectrum ks,
MicrofacetDistribution **  dist,
Fresnel **  fres 
)

Definition at line 35 of file cooktorrance.cpp.

References distribution, fresnel, KD, KS, and nLobes.


Member Function Documentation

SWCSpectrum CookTorrance::f ( const Vector wo,
const Vector wi 
) const [virtual]

float CookTorrance::G ( const Vector wo,
const Vector wi,
const Vector wh 
) const

Definition at line 62 of file cooktorrance.cpp.

References lux::AbsDot(), lux::CosTheta(), f(), and cimg_library::min().

Referenced by f().

float CookTorrance::Pdf ( const Vector wi,
const Vector wo 
) const [virtual]

Reimplemented from lux::BxDF.

Definition at line 96 of file cooktorrance.cpp.

References distribution, INV_PI, nLobes, lux::MicrofacetDistribution::Pdf(), lux::SameHemisphere(), and lux::Vector::z.

Referenced by Sample_f().

SWCSpectrum CookTorrance::Sample_f ( const Vector wi,
Vector sampled_f,
float  u1,
float  u2,
float *  pdf,
float *  pdfBack = NULL 
) const [virtual]


Member Data Documentation

Definition at line 48 of file cooktorrance.h.

Referenced by CookTorrance(), f(), Pdf(), and Sample_f().

Definition at line 49 of file cooktorrance.h.

Referenced by CookTorrance(), and f().

Definition at line 45 of file cooktorrance.h.

Referenced by CookTorrance(), and f().

Definition at line 47 of file cooktorrance.h.

Referenced by CookTorrance(), and f().

Definition at line 46 of file cooktorrance.h.

Referenced by CookTorrance(), f(), Pdf(), and Sample_f().


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

Generated on Mon May 18 07:16:18 2009 for lux by  doxygen 1.5.8