#include <speculartransmission.h>
Public Member Functions | |
SpecularTransmission (const SWCSpectrum &t, float ei, float et, float cbf, bool archi=false) | |
SWCSpectrum | f (const Vector &, const Vector &) const |
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 | T |
float | etai |
float | etat |
float | cb |
bool | architectural |
FresnelDielectric | fresnel |
Definition at line 34 of file speculartransmission.h.
lux::SpecularTransmission::SpecularTransmission | ( | const SWCSpectrum & | t, | |
float | ei, | |||
float | et, | |||
float | cbf, | |||
bool | archi = false | |||
) | [inline] |
Definition at line 37 of file speculartransmission.h.
SWCSpectrum SpecularTransmission::f | ( | const Vector & | wo, | |
const Vector & | wi | |||
) | const [virtual] |
Implements lux::BxDF.
Definition at line 84 of file speculartransmission.cpp.
References architectural, cb, lux::CosTheta(), etai, etat, lux::FresnelDielectric::Evaluate(), fresnel, cimg_library::max(), lux::SinTheta2(), T, thread_wavelengths, and lux::Vector::z.
Referenced by Sample_f().
float lux::SpecularTransmission::Pdf | ( | const Vector & | wo, | |
const Vector & | wi | |||
) | const [inline, virtual] |
Reimplemented from lux::BxDF.
Definition at line 45 of file speculartransmission.h.
References architectural.
SWCSpectrum SpecularTransmission::Sample_f | ( | const Vector & | wo, | |
Vector * | wi, | |||
float | u1, | |||
float | u2, | |||
float * | pdf, | |||
float * | pdfBack = NULL | |||
) | const [virtual] |
Reimplemented from lux::BxDF.
Definition at line 38 of file speculartransmission.cpp.
References architectural, cb, lux::CosTheta(), etai, etat, lux::FresnelDielectric::Evaluate(), f(), fresnel, cimg_library::max(), lux::SinTheta2(), cimg_library::cimg::swap(), T, thread_wavelengths, lux::Vector::x, lux::Vector::y, and lux::Vector::z.
bool lux::SpecularTransmission::architectural [private] |
float lux::SpecularTransmission::cb [private] |
float lux::SpecularTransmission::etai [private] |
float lux::SpecularTransmission::etat [private] |
SWCSpectrum lux::SpecularTransmission::T [private] |