#include <BSDF.h>
Public Member Functions | |
BSDF () | |
virtual | ~BSDF () |
RGBColor | eval (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &gNormal, const Vec3D &sNormal) const |
RGBColor | evalDiffuse (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &gNormal, const Vec3D &sNormal) const |
RGBColor | evalSpecular (const Vec3D &wOut, const Vec3D &wInc, const Vec3D &gNormal, const Vec3D &sNormal) const |
bool | hasDiffuse () const |
bool | hasSpecular () const |
bool | hasTransmissive () const |
RGBColor | getKdiffuse () const |
RGBColor | getKspecular () const |
RGBColor | getKtransmit () const |
void | addBXDF (BXDF *bxdf) |
Private Attributes | |
std::vector< BXDF * > | bxdfs |
Definition at line 13 of file BSDF.h.
RGBColor rcrt::BSDF::eval | ( | const Vec3D & | wOut, | |
const Vec3D & | wInc, | |||
const Vec3D & | gNormal, | |||
const Vec3D & | sNormal | |||
) | const |
Evaluates the BSDF along the given incoming and outgoing direction.
Definition at line 21 of file BSDF.cpp.
References bxdfs, rcrt::REFLECTIVE, and rcrt::TRANSMISSIVE.
Referenced by rcrt::BSDFMaterial::sample().
RGBColor rcrt::BSDF::evalDiffuse | ( | const Vec3D & | wOut, | |
const Vec3D & | wInc, | |||
const Vec3D & | gNormal, | |||
const Vec3D & | sNormal | |||
) | const |
Evaluates only diffuse components.
Definition at line 89 of file BSDF.cpp.
References rcrt::BOTH, bxdfs, and rcrt::REFLECTIVE.
Referenced by rcrt::BSDFMaterial::sampleDiffuse().
RGBColor rcrt::BSDF::evalSpecular | ( | const Vec3D & | wOut, | |
const Vec3D & | wInc, | |||
const Vec3D & | gNormal, | |||
const Vec3D & | sNormal | |||
) | const |
Evaluates only specular components.
Definition at line 78 of file BSDF.cpp.
References rcrt::BOTH, bxdfs, and rcrt::REFLECTIVE.
Referenced by rcrt::BSDFMaterial::sampleSpecular().
bool rcrt::BSDF::hasDiffuse | ( | ) | const |
Definition at line 53 of file BSDF.cpp.
References bxdfs.
Referenced by rcrt::BSDFMaterial::hasDiffuse().
bool rcrt::BSDF::hasSpecular | ( | ) | const |
Definition at line 61 of file BSDF.cpp.
References bxdfs.
Referenced by rcrt::BSDFMaterial::hasSpecular().
bool rcrt::BSDF::hasTransmissive | ( | ) | const |
Definition at line 69 of file BSDF.cpp.
References rcrt::BOTH, bxdfs, and rcrt::TRANSMISSIVE.
Referenced by rcrt::BSDFMaterial::hasTransmissive().
RGBColor rcrt::BSDF::getKdiffuse | ( | ) | const |
Definition at line 100 of file BSDF.cpp.
References rcrt::BOTH, bxdfs, and rcrt::REFLECTIVE.
Referenced by rcrt::BSDFMaterial::scatterPhoton().
RGBColor rcrt::BSDF::getKspecular | ( | ) | const |
Definition at line 115 of file BSDF.cpp.
References rcrt::BOTH, bxdfs, and rcrt::REFLECTIVE.
Referenced by rcrt::BSDFMaterial::scatterPhoton().
RGBColor rcrt::BSDF::getKtransmit | ( | ) | const |
Definition at line 130 of file BSDF.cpp.
References rcrt::BOTH, bxdfs, and rcrt::TRANSMISSIVE.
Referenced by rcrt::BSDFMaterial::scatterPhoton().
void rcrt::BSDF::addBXDF | ( | BXDF * | bxdf | ) |
Definition at line 16 of file BSDF.cpp.
References bxdfs.
Referenced by rcrt::MaterialLoader::initFloor(), rcrt::MaterialLoader::initWall(), rcrt::MaterialLoader::loadCookT(), rcrt::MaterialLoader::loadLambert(), rcrt::MaterialLoader::loadPhong(), and testDispl1().
std::vector<BXDF*> rcrt::BSDF::bxdfs [private] |
Definition at line 16 of file BSDF.h.
Referenced by addBXDF(), eval(), evalDiffuse(), evalSpecular(), getKdiffuse(), getKspecular(), getKtransmit(), hasDiffuse(), hasSpecular(), and hasTransmissive().