#include <reflection.h>
Public Member Functions | |
| virtual | ~BxDF () |
| BxDF (BxDFType t) | |
| bool | MatchesFlags (BxDFType flags) const |
| virtual Spectrum | f (const Vector &wo, const Vector &wi) const =0 |
| virtual Spectrum | Sample_f (const Vector &wo, Vector *wi, float u1, float u2, float *pdf) const |
| virtual Spectrum | rho (const Vector &wo, int nSamples, const float *samples) const |
| virtual Spectrum | rho (int nSamples, const float *samples1, const float *samples2) const |
| virtual float | Pdf (const Vector &wi, const Vector &wo) const |
Public Attributes | |
| const BxDFType | type |
Definition at line 193 of file reflection.h.
| virtual BxDF::~BxDF | ( | ) | [inline, virtual] |
Definition at line 196 of file reflection.h.
| BxDF::BxDF | ( | BxDFType | t | ) | [inline] |
Definition at line 197 of file reflection.h.
Implemented in BRDFToBTDF, ScaledBxDF, SpecularReflection, SpecularTransmission, Lambertian, OrenNayar, Microfacet, FresnelBlend, IrregIsotropicBRDF, and RegularHalfangleBRDF.
Referenced by BSDF::f(), ScaledBxDF::f(), BRDFToBTDF::f(), rho(), BSDF::Sample_f(), and Sample_f().
| bool BxDF::MatchesFlags | ( | BxDFType | flags | ) | const [inline] |
Definition at line 198 of file reflection.h.
References type.
Reimplemented in BRDFToBTDF, SpecularReflection, SpecularTransmission, Microfacet, and FresnelBlend.
Definition at line 307 of file reflection.cpp.
References AbsCosTheta(), INV_PI, and SameHemisphere().
Referenced by BSDF::Pdf(), BRDFToBTDF::Pdf(), BSDF::Sample_f(), and Sample_f().
| Spectrum BxDF::rho | ( | int | nSamples, | |
| const float * | samples1, | |||
| const float * | samples2 | |||
| ) | const [virtual] |
Reimplemented in BRDFToBTDF, ScaledBxDF, and Lambertian.
Definition at line 470 of file reflection.cpp.
References AbsCosTheta(), f(), INV_TWOPI, M_PI, Sample_f(), and UniformSampleHemisphere().
Reimplemented in BRDFToBTDF, ScaledBxDF, and Lambertian.
Definition at line 456 of file reflection.cpp.
References AbsCosTheta(), f(), and Sample_f().
Referenced by ScaledBxDF::rho(), BRDFToBTDF::rho(), and BSDF::rho().
| Spectrum BxDF::Sample_f | ( | const Vector & | wo, | |
| Vector * | wi, | |||
| float | u1, | |||
| float | u2, | |||
| float * | ||||
| ) | const [virtual] |
Reimplemented in BRDFToBTDF, ScaledBxDF, SpecularReflection, SpecularTransmission, Microfacet, and FresnelBlend.
Definition at line 297 of file reflection.cpp.
References CosineSampleHemisphere(), f(), Pdf(), and Vector::z.
Referenced by rho(), BSDF::Sample_f(), ScaledBxDF::Sample_f(), and BRDFToBTDF::Sample_f().
| const BxDFType BxDF::type |
Definition at line 211 of file reflection.h.
Referenced by MatchesFlags(), and BSDF::Sample_f().
1.6.3