Public Member Functions | |
| PerspectiveBxDF (bool lens, float FD, float f, float A, const Point &pL, const Transform &R2C, float xS, float xE, float yS, float yE) | |
| virtual | ~PerspectiveBxDF () |
| 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 | |
| bool | hasLens |
| float | FocalDistance |
| float | fov |
| float | xStart |
| float | xEnd |
| float | yStart |
| float | yEnd |
| float | Area |
| Point | p |
| const Transform & | RasterToCamera |
Definition at line 41 of file perspective.cpp.
| PerspectiveBxDF::PerspectiveBxDF | ( | bool | lens, | |
| float | FD, | |||
| float | f, | |||
| float | A, | |||
| const Point & | pL, | |||
| const Transform & | R2C, | |||
| float | xS, | |||
| float | xE, | |||
| float | yS, | |||
| float | yE | |||
| ) | [inline] |
Definition at line 44 of file perspective.cpp.
| virtual PerspectiveBxDF::~PerspectiveBxDF | ( | ) | [inline, virtual] |
Definition at line 50 of file perspective.cpp.
| virtual void PerspectiveBxDF::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 51 of file perspective.cpp.
References Area, cimg_library::cos(), FocalDistance, lux::Transform::GetInverse(), hasLens, lux::Normalize(), p, RasterToCamera, lux::Vector::x, lux::Point::x, xEnd, xStart, lux::Point::y, lux::Vector::y, yEnd, yStart, lux::Normal::z, lux::Point::z, and lux::Vector::z.
| virtual float PerspectiveBxDF::Pdf | ( | const TsPack * | tspack, | |
| const Vector & | wi, | |||
| const Vector & | wo | |||
| ) | const [inline, virtual] |
Reimplemented from lux::BxDF.
Definition at line 86 of file perspective.cpp.
References Area, cimg_library::cos(), FocalDistance, lux::Transform::GetInverse(), hasLens, lux::Normalize(), p, RasterToCamera, lux::Vector::x, lux::Point::x, xEnd, xStart, lux::Point::y, lux::Vector::y, yEnd, yStart, lux::Normal::z, lux::Point::z, and lux::Vector::z.
| virtual bool PerspectiveBxDF::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 67 of file perspective.cpp.
References Area, cimg_library::cos(), FocalDistance, hasLens, if(), lux::Normalize(), p, RasterToCamera, lux::Point::x, lux::Vector::y, lux::Point::y, lux::Vector::z, lux::Normal::z, and lux::Point::z.
float PerspectiveBxDF::Area [private] |
Definition at line 105 of file perspective.cpp.
Referenced by f(), Pdf(), and Sample_f().
float PerspectiveBxDF::FocalDistance [private] |
Definition at line 105 of file perspective.cpp.
Referenced by f(), Pdf(), and Sample_f().
float PerspectiveBxDF::fov [private] |
Definition at line 105 of file perspective.cpp.
bool PerspectiveBxDF::hasLens [private] |
Definition at line 104 of file perspective.cpp.
Referenced by f(), Pdf(), and Sample_f().
Point PerspectiveBxDF::p [private] |
Definition at line 106 of file perspective.cpp.
Referenced by f(), Pdf(), and Sample_f().
const Transform& PerspectiveBxDF::RasterToCamera [private] |
Definition at line 107 of file perspective.cpp.
Referenced by f(), Pdf(), and Sample_f().
float PerspectiveBxDF::xEnd [private] |
Definition at line 105 of file perspective.cpp.
float PerspectiveBxDF::xStart [private] |
Definition at line 105 of file perspective.cpp.
float PerspectiveBxDF::yEnd [private] |
Definition at line 105 of file perspective.cpp.
float PerspectiveBxDF::yStart [private] |
Definition at line 105 of file perspective.cpp.
1.6.2-20100208