#include <specularreflection.h>
Public Member Functions | |
SpecularReflection (const SWCSpectrum &r, Fresnel *f) | |
SWCSpectrum | f (const Vector &, const Vector &) const |
virtual 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 |
Fresnel * | fresnel |
Definition at line 33 of file specularreflection.h.
lux::SpecularReflection::SpecularReflection | ( | const SWCSpectrum & | r, | |
Fresnel * | f | |||
) | [inline] |
Definition at line 36 of file specularreflection.h.
SWCSpectrum lux::SpecularReflection::f | ( | const Vector & | , | |
const Vector & | ||||
) | const [inline, virtual] |
Implements lux::BxDF.
Definition at line 40 of file specularreflection.h.
Reimplemented from lux::BxDF.
Definition at line 45 of file specularreflection.h.
SWCSpectrum SpecularReflection::Sample_f | ( | const Vector & | wo, | |
Vector * | wi, | |||
float | u1, | |||
float | u2, | |||
float * | pdf, | |||
float * | pdfBack = NULL | |||
) | const [virtual] |
Reimplemented from lux::BxDF.
Reimplemented in lux::ArchitecturalReflection.
Definition at line 34 of file specularreflection.cpp.
References lux::CosTheta(), lux::Fresnel::Evaluate(), fresnel, R, lux::Vector::x, lux::Vector::y, and lux::Vector::z.
Fresnel* lux::SpecularReflection::fresnel [private] |
Definition at line 51 of file specularreflection.h.
Referenced by Sample_f().
SWCSpectrum lux::SpecularReflection::R [private] |
Definition at line 50 of file specularreflection.h.
Referenced by Sample_f().