#include <blinn.h>
Public Member Functions | |
Blinn (float e) | |
virtual | ~Blinn () |
virtual float | D (const Vector &wh) const |
virtual void | Sample_f (const Vector &wi, Vector *sampled_f, float u1, float u2, float *pdf) const |
virtual float | Pdf (const Vector &wi, const Vector &wo) const |
Private Attributes | |
float | exponent |
Definition at line 33 of file blinn.h.
virtual float lux::Blinn::D | ( | const Vector & | wh | ) | const [inline, virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 38 of file blinn.h.
References lux::CosTheta(), exponent, and INV_TWOPI.
Implements lux::MicrofacetDistribution.
Definition at line 49 of file blinn.cpp.
References lux::Dot(), exponent, M_PI, lux::Normalize(), and lux::Vector::z.
void Blinn::Sample_f | ( | const Vector & | wi, | |
Vector * | sampled_f, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 28 of file blinn.cpp.
References lux::Dot(), exponent, M_PI, cimg_library::cimg::max(), lux::SameHemisphere(), lux::SphericalDirection(), and lux::Vector::z.
float lux::Blinn::exponent [private] |