#include "pbrt.h"
#include "geometry.h"
#include "shape.h"
Go to the source code of this file.
Classes | |
class | BSDF |
class | BxDF |
class | BRDFToBTDF |
class | Fresnel |
class | FresnelConductor |
class | FresnelDielectric |
class | FresnelNoOp |
class | SpecularReflection |
class | SpecularTransmission |
class | Lambertian |
class | OrenNayar |
class | MicrofacetDistribution |
class | Microfacet |
class | Blinn |
class | Anisotropic |
class | Lafortune |
class | FresnelBlend |
Defines | |
#define | MAX_BxDFS 8 |
#define | BSDF_ALLOC(T) new (BSDF::Alloc(sizeof(T))) T |
Enumerations | |
enum | BxDFType { BSDF_REFLECTION = 1<<0, BSDF_TRANSMISSION = 1<<1, BSDF_DIFFUSE = 1<<2, BSDF_GLOSSY = 1<<3, BSDF_SPECULAR = 1<<4, BSDF_ALL_TYPES, BSDF_ALL_REFLECTION, BSDF_ALL_TRANSMISSION, BSDF_ALL } |
Functions | |
float | CosTheta (const Vector &w) |
float | SinTheta (const Vector &w) |
float | SinTheta2 (const Vector &w) |
float | CosPhi (const Vector &w) |
float | SinPhi (const Vector &w) |
bool | SameHemisphere (const Vector &w, const Vector &wp) |
#define BSDF_ALLOC | ( | T | ) | new (BSDF::Alloc(sizeof(T))) T |
Definition at line 116 of file reflection.h.
Referenced by UberMaterial::GetBSDF(), Translucent::GetBSDF(), Substrate::GetBSDF(), Skin::GetBSDF(), ShinyMetal::GetBSDF(), Primer::GetBSDF(), Plastic::GetBSDF(), Mirror::GetBSDF(), Matte::GetBSDF(), Glass::GetBSDF(), Felt::GetBSDF(), Clay::GetBSDF(), BrushedMetal::GetBSDF(), and BluePaint::GetBSDF().
#define MAX_BxDFS 8 |
enum BxDFType |
BSDF_REFLECTION | |
BSDF_TRANSMISSION | |
BSDF_DIFFUSE | |
BSDF_GLOSSY | |
BSDF_SPECULAR | |
BSDF_ALL_TYPES | |
BSDF_ALL_REFLECTION | |
BSDF_ALL_TRANSMISSION | |
BSDF_ALL |
Definition at line 49 of file reflection.h.
float CosPhi | ( | const Vector & | w | ) | [inline] |
Definition at line 38 of file reflection.h.
References SinTheta(), and Vector::x.
Referenced by OrenNayar::f().
float CosTheta | ( | const Vector & | w | ) | [inline] |
Definition at line 31 of file reflection.h.
References Vector::z.
Referenced by Anisotropic::D(), Blinn::D(), FresnelBlend::f(), Microfacet::f(), OrenNayar::f(), Microfacet::G(), SpecularTransmission::Sample_f(), SpecularReflection::Sample_f(), and SinTheta2().
Definition at line 44 of file reflection.h.
References Vector::z.
Referenced by FresnelBlend::Pdf(), Microfacet::Pdf(), BxDF::Pdf(), FresnelBlend::Sample_f(), Blinn::Sample_f(), and Microfacet::Sample_f().
float SinPhi | ( | const Vector & | w | ) | [inline] |
Definition at line 41 of file reflection.h.
References SinTheta(), and Vector::y.
Referenced by OrenNayar::f().
float SinTheta | ( | const Vector & | w | ) | [inline] |
Definition at line 32 of file reflection.h.
References Vector::z.
Referenced by CosPhi(), OrenNayar::f(), and SinPhi().
float SinTheta2 | ( | const Vector & | w | ) | [inline] |
Definition at line 35 of file reflection.h.
References CosTheta().
Referenced by SpecularTransmission::Sample_f().