#include <reflection.h>

Public Member Functions | |
| Microfacet (const Spectrum &reflectance, Fresnel *f, MicrofacetDistribution *d) | |
| Spectrum | f (const Vector &wo, const Vector &wi) const |
| float | G (const Vector &wo, const Vector &wi, const Vector &wh) const |
| Spectrum | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf) const |
| float | Pdf (const Vector &wo, const Vector &wi) const |
Private Attributes | |
| Spectrum | R |
| MicrofacetDistribution * | distribution |
| Fresnel * | fresnel |
Definition at line 283 of file reflection.h.
| Microfacet::Microfacet | ( | const Spectrum & | reflectance, | |
| Fresnel * | f, | |||
| MicrofacetDistribution * | d | |||
| ) |
Definition at line 157 of file reflection.cpp.
Implements BxDF.
Definition at line 163 of file reflection.cpp.
References CosTheta(), MicrofacetDistribution::D(), distribution, Dot(), Fresnel::Evaluate(), fresnel, G(), Normalize(), and R.
Referenced by Sample_f().
Definition at line 289 of file reflection.h.
References AbsDot(), and CosTheta().
Referenced by f().
| Spectrum Microfacet::Sample_f | ( | const Vector & | wo, | |
| Vector * | wi, | |||
| float | u1, | |||
| float | u2, | |||
| float * | ||||
| ) | const [virtual] |
Reimplemented from BxDF.
Definition at line 232 of file reflection.cpp.
References distribution, f(), SameHemisphere(), and MicrofacetDistribution::Sample_f().
Reimplemented from BxDF.
Definition at line 238 of file reflection.cpp.
References distribution, MicrofacetDistribution::Pdf(), and SameHemisphere().
Spectrum Microfacet::R [private] |
MicrofacetDistribution* Microfacet::distribution [private] |
Fresnel* Microfacet::fresnel [private] |
1.5.6