Public Member Functions | |
SpotBxDF (float width, float fall) | |
virtual | ~SpotBxDF () |
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 | cosTotalWidth |
float | cosFalloffStart |
Definition at line 43 of file spot.cpp.
virtual void SpotBxDF::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 48 of file spot.cpp.
References cosFalloffStart, cosTotalWidth, and LocalFalloff().
virtual float SpotBxDF::Pdf | ( | const TsPack * | tspack, | |
const Vector & | wi, | |||
const Vector & | wo | |||
) | const [inline, virtual] |
Reimplemented from lux::BxDF.
Definition at line 60 of file spot.cpp.
References lux::CosTheta(), cosTotalWidth, and lux::UniformConePdf().
Referenced by Sample_f().
virtual bool SpotBxDF::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 51 of file spot.cpp.
References cosFalloffStart, cosTotalWidth, LocalFalloff(), Pdf(), lux::UniformConePdf(), and lux::UniformSampleCone().
float SpotBxDF::cosFalloffStart [private] |
Definition at line 68 of file spot.cpp.
Referenced by f(), and Sample_f().
float SpotBxDF::cosTotalWidth [private] |
Definition at line 68 of file spot.cpp.
Referenced by f(), Pdf(), and Sample_f().