rcrt::BSDF Class Reference

#include <BSDF.h>

List of all members.

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


Detailed Description

A container used to integrate multiple BXDFs into a single description of reflectance and transmittance.

Definition at line 13 of file BSDF.h.


Constructor & Destructor Documentation

rcrt::BSDF::BSDF (  ) 

Definition at line 8 of file BSDF.cpp.

rcrt::BSDF::~BSDF (  )  [virtual]

Definition at line 12 of file BSDF.cpp.


Member Function Documentation

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().


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated on Thu Jan 31 19:32:18 2008 for RenderingCompetitionRayTracer by  doxygen 1.5.3