#include <anisotropic.h>
Public Member Functions | |
Anisotropic (float x, float y) | |
float | D (const Vector &wh) const |
void | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf) const |
float | Pdf (const Vector &wo, const Vector &wi) const |
void | sampleFirstQuadrant (float u1, float u2, float *phi, float *costheta) const |
Private Attributes | |
float | ex |
float | ey |
Definition at line 34 of file anisotropic.h.
lux::Anisotropic::Anisotropic | ( | float | x, | |
float | y | |||
) | [inline] |
Definition at line 37 of file anisotropic.h.
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.
Referenced by Pdf(), and Sample_f().
Implements lux::MicrofacetDistribution.
Definition at line 72 of file anisotropic.cpp.
References D(), lux::Dot(), and lux::Normalize().
void Anisotropic::Sample_f | ( | const Vector & | wo, | |
Vector * | wi, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 33 of file anisotropic.cpp.
References D(), lux::Dot(), M_PI, cimg_library::cimg::max(), sampleFirstQuadrant(), and lux::SphericalDirection().
void Anisotropic::sampleFirstQuadrant | ( | float | u1, | |
float | u2, | |||
float * | phi, | |||
float * | costheta | |||
) | const |
Definition at line 61 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(), and sampleFirstQuadrant().
float lux::Anisotropic::ey [private] |
Definition at line 51 of file anisotropic.h.
Referenced by Anisotropic(), D(), and sampleFirstQuadrant().