#include <bxdf.h>
Public Member Functions | |
| virtual | ~BxDF () |
| BxDF (BxDFType t) | |
| bool | MatchesFlags (BxDFType flags) const |
| virtual SWCSpectrum | f (const Vector &wo, const Vector &wi) const =0 |
| virtual SWCSpectrum | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf, float *pdfBack=NULL) const |
| virtual SWCSpectrum | rho (const Vector &wo, int nSamples=16, float *samples=NULL) const |
| virtual SWCSpectrum | rho (int nSamples=16, float *samples=NULL) const |
| virtual float | Pdf (const Vector &wi, const Vector &wo) const |
Public Attributes | |
| const BxDFType | type |
Definition at line 128 of file bxdf.h.
| virtual SWCSpectrum lux::BxDF::f | ( | const Vector & | wo, | |
| const Vector & | wi | |||
| ) | const [pure virtual] |
Implemented in PerspectiveBxDF, lux::CookTorrance, lux::FresnelBlend, lux::Lafortune, lux::Lambertian, lux::Microfacet, lux::NullTransmission, lux::OrenNayar, lux::SpecularReflection, lux::SpecularTransmission, lux::BRDFToBTDF, SkyBxDF, and SunBxDF.
Referenced by lux::BSDF::f(), lux::BRDFToBTDF::f(), rho(), lux::BSDF::Sample_f(), and Sample_f().
| bool lux::BxDF::MatchesFlags | ( | BxDFType | flags | ) | const [inline] |
Reimplemented in PerspectiveBxDF, lux::CookTorrance, lux::FresnelBlend, lux::Lafortune, lux::Microfacet, lux::NullTransmission, lux::SpecularReflection, lux::SpecularTransmission, lux::BRDFToBTDF, and SunBxDF.
Definition at line 55 of file bxdf.cpp.
References INV_PI, lux::SameHemisphere(), and lux::Vector::z.
Referenced by lux::BSDF::Pdf(), lux::BRDFToBTDF::Pdf(), lux::BSDF::Sample_f(), and Sample_f().
| SWCSpectrum BxDF::rho | ( | int | nSamples = 16, |
|
| float * | samples = NULL | |||
| ) | const [virtual] |
Reimplemented in lux::Lambertian, and lux::BRDFToBTDF.
Definition at line 82 of file bxdf.cpp.
References f(), INV_TWOPI, lux::LatinHypercube(), M_PI, Sample_f(), lux::UniformSampleHemisphere(), and lux::Vector::z.
| SWCSpectrum BxDF::rho | ( | const Vector & | wo, | |
| int | nSamples = 16, |
|||
| float * | samples = NULL | |||
| ) | const [virtual] |
Reimplemented in lux::Lambertian, and lux::BRDFToBTDF.
Definition at line 64 of file bxdf.cpp.
References f(), lux::LatinHypercube(), Sample_f(), and lux::Vector::z.
Referenced by lux::BRDFToBTDF::rho(), and lux::BSDF::rho().
| SWCSpectrum BxDF::Sample_f | ( | const Vector & | wo, | |
| Vector * | wi, | |||
| float | u1, | |||
| float | u2, | |||
| float * | pdf, | |||
| float * | pdfBack = NULL | |||
| ) | const [virtual] |
Reimplemented in PerspectiveBxDF, lux::CookTorrance, lux::FresnelBlend, lux::Lafortune, lux::Microfacet, lux::NullTransmission, lux::SpecularReflection, lux::ArchitecturalReflection, lux::SpecularTransmission, lux::BRDFToBTDF, and SunBxDF.
Definition at line 45 of file bxdf.cpp.
References lux::CosineSampleHemisphere(), f(), Pdf(), and lux::Vector::z.
Referenced by rho(), lux::BSDF::Sample_f(), and lux::BRDFToBTDF::Sample_f().
| const BxDFType lux::BxDF::type |
Definition at line 147 of file bxdf.h.
Referenced by MatchesFlags(), and lux::BSDF::Sample_f().
1.6.1