#include <reflection.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 431 of file reflection.h.
Anisotropic::Anisotropic | ( | float | x, | |
float | y | |||
) | [inline] |
Definition at line 434 of file reflection.h.
float Anisotropic::D | ( | const Vector & | wh | ) | const [inline, virtual] |
Implements MicrofacetDistribution.
Definition at line 439 of file reflection.h.
References AbsCosTheta(), ex, ey, INV_TWOPI, Vector::x, and Vector::y.
Implements MicrofacetDistribution.
Definition at line 416 of file reflection.cpp.
References AbsCosTheta(), Dot(), ex, ey, INV_TWOPI, Normalize(), Vector::x, and Vector::y.
void Anisotropic::Sample_f | ( | const Vector & | wo, | |
Vector * | wi, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [virtual] |
Implements MicrofacetDistribution.
Definition at line 363 of file reflection.cpp.
References AbsCosTheta(), Dot(), ex, ey, INV_TWOPI, M_PI, SameHemisphere(), sampleFirstQuadrant(), SphericalDirection(), Vector::x, and Vector::y.
void Anisotropic::sampleFirstQuadrant | ( | float | u1, | |
float | u2, | |||
float * | phi, | |||
float * | costheta | |||
) | const |
Definition at line 403 of file reflection.cpp.
Referenced by Sample_f().
float Anisotropic::ex [private] |
Definition at line 450 of file reflection.h.
Referenced by Anisotropic(), D(), Pdf(), Sample_f(), and sampleFirstQuadrant().
float Anisotropic::ey [private] |
Definition at line 450 of file reflection.h.
Referenced by Anisotropic(), D(), Pdf(), Sample_f(), and sampleFirstQuadrant().