#include <reflection.h>
Public Member Functions | |
FresnelBlend (const Spectrum &Rd, const Spectrum &Rs, MicrofacetDistribution *dist) | |
Spectrum | f (const Vector &wo, const Vector &wi) const |
Spectrum | SchlickFresnel (float costheta) const |
Spectrum | Sample_f (const Vector &wi, Vector *sampled_f, float u1, float u2, float *pdf) const |
float | Pdf (const Vector &wi, const Vector &wo) const |
Private Attributes | |
Spectrum | Rd |
Spectrum | Rs |
MicrofacetDistribution * | distribution |
Definition at line 354 of file reflection.h.
FresnelBlend::FresnelBlend | ( | const Spectrum & | Rd, | |
const Spectrum & | Rs, | |||
MicrofacetDistribution * | dist | |||
) |
Implements BxDF.
Definition at line 203 of file reflection.cpp.
References AbsDot(), CosTheta(), MicrofacetDistribution::D(), distribution, Dot(), M_PI, Normalize(), Rd, Rs, and SchlickFresnel().
Referenced by Sample_f().
Spectrum FresnelBlend::SchlickFresnel | ( | float | costheta | ) | const [inline] |
Spectrum FresnelBlend::Sample_f | ( | const Vector & | wi, | |
Vector * | sampled_f, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [virtual] |
Reimplemented from BxDF.
Definition at line 316 of file reflection.cpp.
References CosineSampleHemisphere(), distribution, f(), Pdf(), SameHemisphere(), MicrofacetDistribution::Sample_f(), and Vector::z.
Reimplemented from BxDF.
Definition at line 332 of file reflection.cpp.
References distribution, INV_PI, MicrofacetDistribution::Pdf(), SameHemisphere(), and Vector::z.
Referenced by Sample_f().
Spectrum FresnelBlend::Rd [private] |
Spectrum FresnelBlend::Rs [private] |
MicrofacetDistribution* FresnelBlend::distribution [private] |
Definition at line 370 of file reflection.h.
Referenced by f(), FresnelBlend(), Pdf(), and Sample_f().