#include <lafortune.h>
Public Member Functions | |
| Lafortune (const SWCSpectrum &r, u_int nl, const SWCSpectrum *x, const SWCSpectrum *y, const SWCSpectrum *z, const SWCSpectrum *e, BxDFType t) | |
| SWCSpectrum | f (const Vector &wo, const Vector &wi) const |
| SWCSpectrum | Sample_f (const Vector &wi, Vector *sampled_f, float u1, float u2, float *pdf, float *pdfBack=NULL) const |
| float | Pdf (const Vector &wi, const Vector &wo) const |
Private Attributes | |
| SWCSpectrum | R |
| u_int | nLobes |
| const SWCSpectrum * | x |
| const SWCSpectrum * | y |
| const SWCSpectrum * | z |
| const SWCSpectrum * | exponent |
Definition at line 33 of file lafortune.h.
| Lafortune::Lafortune | ( | const SWCSpectrum & | r, | |
| u_int | nl, | |||
| const SWCSpectrum * | x, | |||
| const SWCSpectrum * | y, | |||
| const SWCSpectrum * | z, | |||
| const SWCSpectrum * | e, | |||
| BxDFType | t | |||
| ) |
| SWCSpectrum Lafortune::f | ( | const Vector & | wo, | |
| const Vector & | wi | |||
| ) | const [virtual] |
Implements lux::BxDF.
Definition at line 45 of file lafortune.cpp.
References exponent, INV_PI, nLobes, lux::SWCSpectrum::Pow(), R, lux::Vector::x, x, lux::Vector::y, y, lux::Vector::z, and z.
Referenced by Pdf(), and Sample_f().
Reimplemented from lux::BxDF.
Definition at line 85 of file lafortune.cpp.
References lux::Dot(), exponent, f(), INV_PI, cimg_library::cimg::max(), nLobes, lux::Normalize(), lux::SameHemisphere(), lux::Vector::x, x, lux::Vector::y, y, lux::SWCSpectrum::y(), z, and lux::Vector::z.
Referenced by Sample_f().
| SWCSpectrum Lafortune::Sample_f | ( | const Vector & | wi, | |
| Vector * | sampled_f, | |||
| float | u1, | |||
| float | u2, | |||
| float * | pdf, | |||
| float * | pdfBack = NULL | |||
| ) | const [virtual] |
Reimplemented from lux::BxDF.
Definition at line 57 of file lafortune.cpp.
References lux::CoordinateSystem(), lux::CosineSampleHemisphere(), exponent, f(), M_PI, cimg_library::cimg::max(), nLobes, lux::Normalize(), Pdf(), lux::SameHemisphere(), lux::SphericalDirection(), lux::random::uintValue(), lux::Vector::x, x, lux::Vector::y, y, lux::SWCSpectrum::y(), z, and lux::Vector::z.
const SWCSpectrum * lux::Lafortune::exponent [private] |
Definition at line 47 of file lafortune.h.
Referenced by f(), Lafortune(), Pdf(), and Sample_f().
u_int lux::Lafortune::nLobes [private] |
Definition at line 46 of file lafortune.h.
Referenced by f(), Lafortune(), Pdf(), and Sample_f().
SWCSpectrum lux::Lafortune::R [private] |
Definition at line 45 of file lafortune.h.
Referenced by f().
const SWCSpectrum* lux::Lafortune::x [private] |
Definition at line 47 of file lafortune.h.
Referenced by f(), Lafortune(), Pdf(), and Sample_f().
const SWCSpectrum * lux::Lafortune::y [private] |
Definition at line 47 of file lafortune.h.
Referenced by f(), Lafortune(), Pdf(), and Sample_f().
const SWCSpectrum * lux::Lafortune::z [private] |
Definition at line 47 of file lafortune.h.
Referenced by f(), Lafortune(), Pdf(), and Sample_f().
1.6.1