SunBxDF Class Reference

Inheritance diagram for SunBxDF:
[legend]
Collaboration diagram for SunBxDF:
[legend]

List of all members.

Public Member Functions

 SunBxDF (float sin2Max, float radius)
virtual ~SunBxDF ()
virtual void f (const TsPack *tspack, const Vector &wo, const Vector &wi, SWCSpectrum *const f) const
virtual bool Sample_f (const TsPack *tspack, const Vector &wo, Vector *wi, float u1, float u2, SWCSpectrum *const f, float *pdf, float *pdfBack=NULL, bool reverse=false) const
virtual float Pdf (const TsPack *tspack, const Vector &wi, const Vector &wo) const

Private Attributes

float sin2ThetaMax
float cosThetaMax
float worldRadius

Detailed Description

Definition at line 37 of file sun.cpp.


Constructor & Destructor Documentation

SunBxDF::SunBxDF ( float  sin2Max,
float  radius 
) [inline]

Definition at line 40 of file sun.cpp.

virtual SunBxDF::~SunBxDF (  )  [inline, virtual]

Definition at line 41 of file sun.cpp.


Member Function Documentation

virtual void SunBxDF::f ( const TsPack tspack,
const Vector wo,
const Vector wi,
SWCSpectrum *const   f 
) const [inline, virtual]

Evaluates the BxDF. Accumulates the result in the f parameter.

Implements lux::BxDF.

Definition at line 42 of file sun.cpp.

References sin2ThetaMax, lux::Vector::x, lux::Vector::y, and lux::Vector::z.

virtual float SunBxDF::Pdf ( const TsPack tspack,
const Vector wi,
const Vector wo 
) const [inline, virtual]

Reimplemented from lux::BxDF.

Definition at line 56 of file sun.cpp.

References cosThetaMax, sin2ThetaMax, lux::UniformConePdf(), lux::Vector::x, lux::Vector::y, and lux::Vector::z.

Referenced by Sample_f().

virtual bool SunBxDF::Sample_f ( const TsPack tspack,
const Vector wo,
Vector wi,
float  u1,
float  u2,
SWCSpectrum *const   f,
float *  pdf,
float *  pdfBack = NULL,
bool  reverse = false 
) const [inline, virtual]

Samples the BxDF. Returns the result of the BxDF for the sampled direction in f.

Reimplemented from lux::BxDF.

Definition at line 47 of file sun.cpp.

References cosThetaMax, Pdf(), lux::UniformConePdf(), and lux::UniformSampleCone().


Member Data Documentation

float SunBxDF::cosThetaMax [private]

Definition at line 64 of file sun.cpp.

Referenced by Pdf(), and Sample_f().

float SunBxDF::sin2ThetaMax [private]

Definition at line 64 of file sun.cpp.

Referenced by f(), and Pdf().

float SunBxDF::worldRadius [private]

Definition at line 64 of file sun.cpp.


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