#include <microfacet.h>

Public Member Functions | |
| Microfacet (const SWCSpectrum &reflectance, Fresnel *f, MicrofacetDistribution *d) | |
| SWCSpectrum | f (const Vector &wo, const Vector &wi) const |
| float | G (const Vector &wo, const Vector &wi, const Vector &wh) const |
| SWCSpectrum | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf, float *pdfBack=NULL) const |
| float | Pdf (const Vector &wo, const Vector &wi) const |
Private Attributes | |
| SWCSpectrum | R |
| MicrofacetDistribution * | distribution |
| Fresnel * | fresnel |
Definition at line 33 of file microfacet.h.
| Microfacet::Microfacet | ( | const SWCSpectrum & | reflectance, | |
| Fresnel * | f, | |||
| MicrofacetDistribution * | d | |||
| ) |
Definition at line 35 of file microfacet.cpp.
| SWCSpectrum Microfacet::f | ( | const Vector & | wo, | |
| const Vector & | wi | |||
| ) | const [virtual] |
Implements lux::BxDF.
Definition at line 42 of file microfacet.cpp.
References lux::CosTheta(), lux::MicrofacetDistribution::D(), distribution, lux::Dot(), lux::Fresnel::Evaluate(), fresnel, G(), lux::Normalize(), and R.
Referenced by Sample_f().
Definition at line 39 of file microfacet.h.
References lux::AbsDot(), lux::CosTheta(), and cimg_library::cimg::min().
Referenced by f().
Reimplemented from lux::BxDF.
Definition at line 61 of file microfacet.cpp.
References distribution, lux::MicrofacetDistribution::Pdf(), and lux::SameHemisphere().
Referenced by Sample_f().
| SWCSpectrum Microfacet::Sample_f | ( | const Vector & | wo, | |
| Vector * | wi, | |||
| float | u1, | |||
| float | u2, | |||
| float * | pdf, | |||
| float * | pdfBack = NULL | |||
| ) | const [virtual] |
Reimplemented from lux::BxDF.
Definition at line 53 of file microfacet.cpp.
References distribution, f(), Pdf(), lux::SameHemisphere(), and lux::MicrofacetDistribution::Sample_f().
Fresnel* lux::Microfacet::fresnel [private] |
SWCSpectrum lux::Microfacet::R [private] |
1.5.9