#include <beckmann.h>
Public Member Functions | |
| Beckmann (float rms) | |
| virtual | ~Beckmann () |
| 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 | r |
Definition at line 32 of file beckmann.h.
| Beckmann::Beckmann | ( | float | rms | ) |
Definition at line 29 of file beckmann.cpp.
References r.
| virtual lux::Beckmann::~Beckmann | ( | ) | [inline, virtual] |
Definition at line 36 of file beckmann.h.
| float Beckmann::D | ( | const Vector & | wh | ) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 33 of file beckmann.cpp.
References cimg_library::acos(), lux::CosTheta(), cimg_library::exp(), r, and cimg_library::tan().
Referenced by Pdf(), and Sample_f().
Implements lux::MicrofacetDistribution.
Definition at line 71 of file beckmann.cpp.
References D(), lux::Dot(), and lux::Normalize().
| void Beckmann::Sample_f | ( | const Vector & | wi, | |
| Vector * | sampled_f, | |||
| float | u1, | |||
| float | u2, | |||
| float * | ||||
| ) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 43 of file beckmann.cpp.
References cimg_library::atan(), cimg_library::cos(), D(), lux::Dot(), cimg_library::log(), M_PI, cimg_library::cimg::max(), r, lux::SameHemisphere(), lux::SphericalDirection(), cimg_library::sqrt(), and lux::Vector::z.
float lux::Beckmann::r [private] |
Definition at line 45 of file beckmann.h.
Referenced by Beckmann(), D(), and Sample_f().
1.6.2-20100208