lux::SingleBSDF Class Reference

#include <bxdf.h>

Inheritance diagram for lux::SingleBSDF:
[legend]
Collaboration diagram for lux::SingleBSDF:
[legend]

List of all members.

Public Member Functions

 SingleBSDF (const DifferentialGeometry &dgs, const Normal &ngeom, BxDF *b, float e=1.f)
virtual int NumComponents () const
virtual int NumComponents (BxDFType flags) const
virtual bool Sample_f (const TsPack *tspack, const Vector &o, Vector *wi, float u1, float u2, float u3, SWCSpectrum *const f, float *pdf, BxDFType flags=BSDF_ALL, BxDFType *sampledType=NULL, float *pdfBack=NULL, bool reverse=false) const
virtual float Pdf (const TsPack *tspack, const Vector &wo, const Vector &wi, BxDFType flags=BSDF_ALL) const
virtual SWCSpectrum f (const TsPack *tspack, const Vector &woW, const Vector &wiW, BxDFType flags=BSDF_ALL) const
virtual SWCSpectrum rho (const TsPack *tspack, BxDFType flags=BSDF_ALL) const
virtual SWCSpectrum rho (const TsPack *tspack, const Vector &wo, BxDFType flags=BSDF_ALL) const

Protected Member Functions

virtual ~SingleBSDF ()

Protected Attributes

BxDFbxdf

Detailed Description

Definition at line 129 of file bxdf.h.


Constructor & Destructor Documentation

lux::SingleBSDF::SingleBSDF ( const DifferentialGeometry dgs,
const Normal ngeom,
BxDF b,
float  e = 1.f 
) [inline]

Definition at line 132 of file bxdf.h.

virtual lux::SingleBSDF::~SingleBSDF (  )  [inline, protected, virtual]

Definition at line 155 of file bxdf.h.


Member Function Documentation

SWCSpectrum SingleBSDF::f ( const TsPack tspack,
const Vector woW,
const Vector wiW,
BxDFType  flags = BSDF_ALL 
) const [virtual]
int lux::SingleBSDF::NumComponents ( BxDFType  flags  )  const [inline, virtual]

Implements lux::BSDF.

Definition at line 298 of file bxdf.h.

References bxdf, and lux::BxDF::MatchesFlags().

virtual int lux::SingleBSDF::NumComponents (  )  const [inline, virtual]

Implements lux::BSDF.

Definition at line 134 of file bxdf.h.

float SingleBSDF::Pdf ( const TsPack tspack,
const Vector wo,
const Vector wi,
BxDFType  flags = BSDF_ALL 
) const [virtual]

Implements lux::BSDF.

Definition at line 254 of file bxdf.cpp.

References bxdf, f(), lux::BxDF::MatchesFlags(), lux::BxDF::Pdf(), and lux::BSDF::WorldToLocal().

SWCSpectrum SingleBSDF::rho ( const TsPack tspack,
const Vector wo,
BxDFType  flags = BSDF_ALL 
) const [virtual]

Implements lux::BSDF.

Definition at line 286 of file bxdf.cpp.

References bxdf, f(), lux::BxDF::MatchesFlags(), lux::BxDF::rho(), and lux::BSDF::WorldToLocal().

SWCSpectrum SingleBSDF::rho ( const TsPack tspack,
BxDFType  flags = BSDF_ALL 
) const [virtual]

Implements lux::BSDF.

Definition at line 280 of file bxdf.cpp.

References bxdf, f(), lux::BxDF::MatchesFlags(), and lux::BxDF::rho().

bool SingleBSDF::Sample_f ( const TsPack tspack,
const Vector o,
Vector wi,
float  u1,
float  u2,
float  u3,
SWCSpectrum *const   f,
float *  pdf,
BxDFType  flags = BSDF_ALL,
BxDFType sampledType = NULL,
float *  pdfBack = NULL,
bool  reverse = false 
) const [virtual]

Samples the BSDF. Returns the result of the BSDF for the sampled direction in f.

Implements lux::BSDF.

Definition at line 221 of file bxdf.cpp.

References lux::BSDF_REFLECTION, lux::BSDF_TRANSMISSION, bxdf, lux::Dot(), f(), lux::BSDF::LocalToWorld(), lux::BxDF::MatchesFlags(), lux::BSDF::ng, lux::BxDF::Sample_f(), lux::BxDF::type, and lux::BSDF::WorldToLocal().


Member Data Documentation

Definition at line 157 of file bxdf.h.

Referenced by f(), NumComponents(), Pdf(), rho(), and Sample_f().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208