#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 454 of file reflection.h.
FresnelBlend::FresnelBlend | ( | const Spectrum & | Rd, | |
const Spectrum & | Rs, | |||
MicrofacetDistribution * | dist | |||
) |
Definition at line 217 of file reflection.cpp.
References distribution.
Implements BxDF.
Definition at line 224 of file reflection.cpp.
References AbsCosTheta(), AbsDot(), MicrofacetDistribution::D(), distribution, Dot(), M_PI, Normalize(), Rd, Rs, and SchlickFresnel().
Referenced by Sample_f().
Reimplemented from BxDF.
Definition at line 450 of file reflection.cpp.
References AbsCosTheta(), distribution, INV_PI, MicrofacetDistribution::Pdf(), and SameHemisphere().
Referenced by Sample_f().
Spectrum FresnelBlend::Sample_f | ( | const Vector & | wi, | |
Vector * | sampled_f, | |||
float | u1, | |||
float | u2, | |||
float * | ||||
) | const [virtual] |
Reimplemented from BxDF.
Definition at line 432 of file reflection.cpp.
References CosineSampleHemisphere(), distribution, f(), Pdf(), SameHemisphere(), MicrofacetDistribution::Sample_f(), and Vector::z.
Spectrum FresnelBlend::SchlickFresnel | ( | float | costheta | ) | const [inline] |
Definition at line 461 of file reflection.h.
Referenced by f().
MicrofacetDistribution* FresnelBlend::distribution [private] |
Definition at line 469 of file reflection.h.
Referenced by f(), FresnelBlend(), Pdf(), and Sample_f().
Spectrum FresnelBlend::Rd [private] |
Definition at line 468 of file reflection.h.
Referenced by f().
Spectrum FresnelBlend::Rs [private] |
Definition at line 468 of file reflection.h.
Referenced by f().