#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::cimg::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::cimg::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] |
Definition at line 53 of file speculartransmission.h.
Referenced by f(), Pdf(), and Sample_f().
float lux::SpecularTransmission::cb [private] |
Definition at line 52 of file speculartransmission.h.
Referenced by f(), and Sample_f().
float lux::SpecularTransmission::etai [private] |
Definition at line 52 of file speculartransmission.h.
Referenced by f(), and Sample_f().
float lux::SpecularTransmission::etat [private] |
Definition at line 52 of file speculartransmission.h.
Referenced by f(), and Sample_f().
Definition at line 54 of file speculartransmission.h.
Referenced by f(), and Sample_f().
SWCSpectrum lux::SpecularTransmission::T [private] |
Definition at line 51 of file speculartransmission.h.
Referenced by f(), and Sample_f().
1.6.1