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 |
Definition at line 37 of file sun.cpp.
| 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().
float SunBxDF::cosThetaMax [private] |
Definition at line 64 of file sun.cpp.
Referenced by Pdf(), and Sample_f().
float SunBxDF::sin2ThetaMax [private] |
float SunBxDF::worldRadius [private] |
1.6.2-20100208