lux::Anisotropic Class Reference

#include <anisotropic.h>

Inheritance diagram for lux::Anisotropic:

lux::MicrofacetDistribution

List of all members.

Public Member Functions

 Anisotropic (float x, float y)
float D (const Vector &wh) const
void Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf) const
float Pdf (const Vector &wo, const Vector &wi) const
void sampleFirstQuadrant (float u1, float u2, float *phi, float *costheta) const

Private Attributes

float ex
float ey


Detailed Description

Definition at line 34 of file anisotropic.h.


Constructor & Destructor Documentation

lux::Anisotropic::Anisotropic ( float  x,
float  y 
) [inline]

Definition at line 37 of file anisotropic.h.

References ex, and ey.


Member Function Documentation

float lux::Anisotropic::D ( const Vector wh  )  const [inline, virtual]

Implements lux::MicrofacetDistribution.

Definition at line 41 of file anisotropic.h.

References lux::CosTheta(), ex, ey, INV_TWOPI, lux::Vector::x, and lux::Vector::y.

Referenced by Pdf(), and Sample_f().

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

Implements lux::MicrofacetDistribution.

Definition at line 72 of file anisotropic.cpp.

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

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

void Anisotropic::sampleFirstQuadrant ( float  u1,
float  u2,
float *  phi,
float *  costheta 
) const

Definition at line 61 of file anisotropic.cpp.

References ex, ey, and M_PI.

Referenced by Sample_f().


Member Data Documentation

float lux::Anisotropic::ex [private]

Definition at line 51 of file anisotropic.h.

Referenced by Anisotropic(), D(), and sampleFirstQuadrant().

float lux::Anisotropic::ey [private]

Definition at line 51 of file anisotropic.h.

Referenced by Anisotropic(), D(), and sampleFirstQuadrant().


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

Generated on Sat Aug 15 14:16:55 2009 for lux by  doxygen 1.5.9