lux::WardIsotropic Class Reference

#include <wardisotropic.h>

Inheritance diagram for lux::WardIsotropic:
[legend]
Collaboration diagram for lux::WardIsotropic:
[legend]

List of all members.

Public Member Functions

 WardIsotropic (float rms)
virtual ~WardIsotropic ()
virtual float D (const Vector &wh) const
virtual void Sample_f (const Vector &wi, Vector *sampled_f, float u1, float u2, float *pdf) const
virtual float Pdf (const Vector &wi, const Vector &wo) const

Private Attributes

float r

Detailed Description

Definition at line 33 of file wardisotropic.h.


Constructor & Destructor Documentation

WardIsotropic::WardIsotropic ( float  rms  ) 

Definition at line 30 of file wardisotropic.cpp.

References r.

virtual lux::WardIsotropic::~WardIsotropic (  )  [inline, virtual]

Definition at line 37 of file wardisotropic.h.


Member Function Documentation

float WardIsotropic::D ( const Vector wh  )  const [virtual]

Implements lux::MicrofacetDistribution.

Definition at line 34 of file wardisotropic.cpp.

References cimg_library::acos(), lux::CosTheta(), cimg_library::exp(), M_PI, r, and cimg_library::tan().

Referenced by Pdf(), and Sample_f().

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

Implements lux::MicrofacetDistribution.

Definition at line 68 of file wardisotropic.cpp.

References D(), lux::Dot(), and lux::Normalize().

void WardIsotropic::Sample_f ( const Vector wi,
Vector sampled_f,
float  u1,
float  u2,
float *  pdf 
) const [virtual]

Member Data Documentation

float lux::WardIsotropic::r [private]

Definition at line 46 of file wardisotropic.h.

Referenced by D(), Sample_f(), and WardIsotropic().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208