#include <fresnelblend.h>

Public Member Functions | |
| FresnelBlend (const SWCSpectrum &Rd, const SWCSpectrum &Rs, MicrofacetDistribution *dist) | |
| SWCSpectrum | f (const Vector &wo, const Vector &wi) const |
| SWCSpectrum | SchlickFresnel (float costheta) const |
| SWCSpectrum | Sample_f (const Vector &wi, Vector *sampled_f, float u1, float u2, float *pdf, float *pdfBack=NULL) const |
| float | Pdf (const Vector &wi, const Vector &wo) const |
Private Attributes | |
| SWCSpectrum | Rd |
| SWCSpectrum | Rs |
| MicrofacetDistribution * | distribution |
Definition at line 33 of file fresnelblend.h.
| FresnelBlend::FresnelBlend | ( | const SWCSpectrum & | Rd, | |
| const SWCSpectrum & | Rs, | |||
| MicrofacetDistribution * | dist | |||
| ) |
| SWCSpectrum FresnelBlend::f | ( | const Vector & | wo, | |
| const Vector & | wi | |||
| ) | const [virtual] |
Implements lux::BxDF.
Definition at line 41 of file fresnelblend.cpp.
References lux::AbsDot(), lux::CosTheta(), lux::MicrofacetDistribution::D(), distribution, lux::Dot(), M_PI, cimg_library::cimg::max(), lux::Normalize(), Rd, Rs, and SchlickFresnel().
Referenced by Sample_f().
Reimplemented from lux::BxDF.
Definition at line 78 of file fresnelblend.cpp.
References distribution, INV_PI, lux::MicrofacetDistribution::Pdf(), lux::SameHemisphere(), and lux::Vector::z.
Referenced by Sample_f().
| SWCSpectrum FresnelBlend::Sample_f | ( | const Vector & | wi, | |
| Vector * | sampled_f, | |||
| float | u1, | |||
| float | u2, | |||
| float * | pdf, | |||
| float * | pdfBack = NULL | |||
| ) | const [virtual] |
Reimplemented from lux::BxDF.
Definition at line 55 of file fresnelblend.cpp.
References lux::CosineSampleHemisphere(), distribution, f(), Pdf(), lux::MicrofacetDistribution::Sample_f(), and lux::Vector::z.
| SWCSpectrum lux::FresnelBlend::SchlickFresnel | ( | float | costheta | ) | const [inline] |
Definition at line 51 of file fresnelblend.h.
Referenced by f(), FresnelBlend(), Pdf(), and Sample_f().
SWCSpectrum lux::FresnelBlend::Rd [private] |
SWCSpectrum lux::FresnelBlend::Rs [private] |
1.5.9