#include <anisotropic.h>
Public Member Functions | |
Anisotropic (float x, float y) | |
virtual | ~Anisotropic () |
virtual float | D (const Vector &wh) const |
virtual void | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf) const |
virtual float | Pdf (const Vector &wo, const Vector &wi) const |
Private Member Functions | |
void | sampleFirstQuadrant (float u1, float u2, float *phi, float *costheta) const |
Private Attributes | |
float | ex |
float | ey |
Definition at line 33 of file anisotropic.h.
lux::Anisotropic::Anisotropic | ( | float | x, | |
float | y | |||
) | [inline] |
Definition at line 36 of file anisotropic.h.
virtual lux::Anisotropic::~Anisotropic | ( | ) | [inline, virtual] |
Definition at line 40 of file anisotropic.h.
virtual float lux::Anisotropic::D | ( | const Vector & | wh | ) | const [inline, virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 41 of file anisotropic.h.
References lux::CosTheta(), ex, ey, INV_TWOPI, lux::Vector::x, and lux::Vector::y.
Implements lux::MicrofacetDistribution.
Definition at line 71 of file anisotropic.cpp.
References lux::CosTheta(), lux::Dot(), ex, ey, INV_TWOPI, lux::Normalize(), lux::Vector::x, and lux::Vector::y.
void Anisotropic::Sample_f | ( | const Vector & | wo, | |
Vector * | wi, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 28 of file anisotropic.cpp.
References lux::Dot(), ex, ey, INV_TWOPI, M_PI, cimg_library::cimg::max(), sampleFirstQuadrant(), lux::SphericalDirection(), lux::Vector::x, and lux::Vector::y.
void Anisotropic::sampleFirstQuadrant | ( | float | u1, | |
float | u2, | |||
float * | phi, | |||
float * | costheta | |||
) | const [private] |
Definition at line 60 of file anisotropic.cpp.
Referenced by Sample_f().
float lux::Anisotropic::ex [private] |
Definition at line 51 of file anisotropic.h.
Referenced by Anisotropic(), D(), Pdf(), Sample_f(), and sampleFirstQuadrant().
float lux::Anisotropic::ey [private] |
Definition at line 51 of file anisotropic.h.
Referenced by Anisotropic(), D(), Pdf(), Sample_f(), and sampleFirstQuadrant().