#include <wardisotropic.h>

Public Member Functions | |
| WardIsotropic (float rms) | |
| 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 35 of file wardisotropic.h.
| WardIsotropic::WardIsotropic | ( | float | rms | ) |
| float WardIsotropic::D | ( | const Vector & | wh | ) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 39 of file wardisotropic.cpp.
References cimg_library::acos(), lux::CosTheta(), cimg_library::exp(), M_PI, r, and cimg_library::tan().
Referenced by Pdf(), and Sample_f().
Implements lux::MicrofacetDistribution.
Definition at line 73 of file wardisotropic.cpp.
References D(), lux::Dot(), and lux::Normalize().
| void WardIsotropic::Sample_f | ( | const Vector & | wi, | |
| Vector * | sampled_f, | |||
| float | u1, | |||
| float | u2, | |||
| float * | ||||
| ) | const [virtual] |
Implements lux::MicrofacetDistribution.
Definition at line 49 of file wardisotropic.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::WardIsotropic::r [private] |
1.5.9