#include <microfacetdistribution.h>
Public Member Functions | |
virtual | ~MicrofacetDistribution () |
virtual float | D (const Vector &wh) const =0 |
virtual void | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf) const =0 |
virtual float | Pdf (const Vector &wo, const Vector &wi) const =0 |
Definition at line 32 of file microfacetdistribution.h.
virtual lux::MicrofacetDistribution::~MicrofacetDistribution | ( | ) | [inline, virtual] |
Definition at line 35 of file microfacetdistribution.h.
virtual float lux::MicrofacetDistribution::D | ( | const Vector & | wh | ) | const [pure virtual] |
Implemented in lux::Anisotropic, lux::Beckmann, lux::Blinn, and lux::WardIsotropic.
Referenced by lux::Microfacet::f(), lux::FresnelBlend::f(), and lux::CookTorrance::f().
virtual float lux::MicrofacetDistribution::Pdf | ( | const Vector & | wo, | |
const Vector & | wi | |||
) | const [pure virtual] |
Implemented in lux::Anisotropic, lux::Beckmann, lux::Blinn, and lux::WardIsotropic.
Referenced by lux::Microfacet::Pdf(), lux::FresnelBlend::Pdf(), and lux::CookTorrance::Pdf().
virtual void lux::MicrofacetDistribution::Sample_f | ( | const Vector & | wo, | |
Vector * | wi, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [pure virtual] |
Implemented in lux::Anisotropic, lux::Beckmann, lux::Blinn, and lux::WardIsotropic.
Referenced by lux::Microfacet::Sample_f(), lux::FresnelBlend::Sample_f(), and lux::CookTorrance::Sample_f().