#include <lafortune.h>
Public Member Functions | |
| Lafortune (const SWCSpectrum &x, const SWCSpectrum &y, const SWCSpectrum &z, const SWCSpectrum &e, BxDFType t) | |
| virtual | ~Lafortune () |
| 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 &wi, Vector *sampled_f, 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 | |
| const SWCSpectrum | x |
| const SWCSpectrum | y |
| const SWCSpectrum | z |
| const SWCSpectrum | exponent |
Definition at line 33 of file lafortune.h.
| Lafortune::Lafortune | ( | const SWCSpectrum & | x, | |
| const SWCSpectrum & | y, | |||
| const SWCSpectrum & | z, | |||
| const SWCSpectrum & | e, | |||
| BxDFType | t | |||
| ) |
Definition at line 30 of file lafortune.cpp.
| virtual lux::Lafortune::~Lafortune | ( | ) | [inline, virtual] |
Definition at line 38 of file lafortune.h.
| void Lafortune::f | ( | const TsPack * | tspack, | |
| const Vector & | wo, | |||
| const Vector & | wi, | |||
| SWCSpectrum *const | f | |||
| ) | const [virtual] |
Evaluates the BxDF. Accumulates the result in the f parameter.
Implements lux::BxDF.
Definition at line 35 of file lafortune.cpp.
References exponent, lux::SWCSpectrum::Pow(), lux::Vector::x, x, lux::Vector::y, y, lux::Vector::z, and z.
Referenced by Pdf(), and Sample_f().
| float Lafortune::Pdf | ( | const TsPack * | tspack, | |
| const Vector & | wi, | |||
| const Vector & | wo | |||
| ) | const [virtual] |
Reimplemented from lux::BxDF.
Definition at line 67 of file lafortune.cpp.
References lux::Dot(), exponent, f(), cimg_library::cimg::max(), lux::Normalize(), lux::SameHemisphere(), lux::Vector::x, x, lux::Vector::y, y, lux::SWCSpectrum::Y(), lux::Vector::z, and z.
Referenced by Sample_f().
| bool Lafortune::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] |
Samples the BxDF. Returns the result of the BxDF for the sampled direction in f.
Reimplemented from lux::BxDF.
Definition at line 40 of file lafortune.cpp.
References lux::CoordinateSystem(), exponent, f(), lux::SWCSpectrum::Filter(), M_PI, cimg_library::cimg::max(), lux::Normalize(), Pdf(), lux::SameHemisphere(), lux::SphericalDirection(), lux::Vector::x, x, lux::Vector::y, y, lux::SWCSpectrum::Y(), lux::Vector::z, and z.
const SWCSpectrum lux::Lafortune::exponent [private] |
Definition at line 45 of file lafortune.h.
Referenced by f(), Pdf(), and Sample_f().
const SWCSpectrum lux::Lafortune::x [private] |
Definition at line 45 of file lafortune.h.
Referenced by f(), Pdf(), and Sample_f().
const SWCSpectrum lux::Lafortune::y [private] |
Definition at line 45 of file lafortune.h.
Referenced by f(), Pdf(), and Sample_f().
const SWCSpectrum lux::Lafortune::z [private] |
Definition at line 45 of file lafortune.h.
Referenced by f(), Pdf(), and Sample_f().
1.6.2-20100208