lux::BSDF Class Reference

#include <bxdf.h>

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

List of all members.

Public Member Functions

 BSDF (const DifferentialGeometry &dgs, const Normal &ngeom, float eta=1.f)
virtual int NumComponents () const =0
virtual int NumComponents (BxDFType flags) const =0
virtual void SetCompositingParams (CompositingParams *cp)
bool HasShadingGeometry () const
Vector WorldToLocal (const Vector &v) const
Vector LocalToWorld (const Vector &v) 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 =0
virtual float Pdf (const TsPack *tspack, const Vector &wo, const Vector &wi, BxDFType flags=BSDF_ALL) const =0
virtual SWCSpectrum f (const TsPack *tspack, const Vector &woW, const Vector &wiW, BxDFType flags=BSDF_ALL) const =0
virtual SWCSpectrum rho (const TsPack *tspack, BxDFType flags=BSDF_ALL) const =0
virtual SWCSpectrum rho (const TsPack *tspack, const Vector &wo, BxDFType flags=BSDF_ALL) const =0

Static Public Member Functions

static void * Alloc (const TsPack *tspack, u_int sz)
static void FreeAll (const TsPack *tspack)

Public Attributes

const DifferentialGeometry dgShading
const float eta
Normal nn
Normal ng
CompositingParamscompParams

Protected Member Functions

virtual ~BSDF ()

Protected Attributes

Vector sn
Vector tn

Detailed Description

Definition at line 69 of file bxdf.h.


Constructor & Destructor Documentation

BSDF::BSDF ( const DifferentialGeometry dgs,
const Normal ngeom,
float  eta = 1.f 
)
virtual lux::BSDF::~BSDF (  )  [inline, protected, virtual]

Definition at line 122 of file bxdf.h.


Member Function Documentation

static void* lux::BSDF::Alloc ( const TsPack tspack,
u_int  sz 
) [inline, static]

Definition at line 107 of file bxdf.h.

References MemoryArena::Alloc(), and lux::TsPack::arena.

Referenced by lux::CarPaint::GetBSDF().

virtual SWCSpectrum lux::BSDF::f ( const TsPack tspack,
const Vector woW,
const Vector wiW,
BxDFType  flags = BSDF_ALL 
) const [pure virtual]
static void lux::BSDF::FreeAll ( const TsPack tspack  )  [inline, static]

Definition at line 110 of file bxdf.h.

References lux::TsPack::arena, and MemoryArena::FreeAll().

Referenced by lux::RenderThread::render().

bool lux::BSDF::HasShadingGeometry (  )  const [inline]

Definition at line 79 of file bxdf.h.

References ng, nn, lux::Normal::x, lux::Normal::y, and lux::Normal::z.

Vector lux::BSDF::LocalToWorld ( const Vector v  )  const [inline]
virtual int lux::BSDF::NumComponents ( BxDFType  flags  )  const [pure virtual]
virtual int lux::BSDF::NumComponents (  )  const [pure virtual]
virtual float lux::BSDF::Pdf ( const TsPack tspack,
const Vector wo,
const Vector wi,
BxDFType  flags = BSDF_ALL 
) const [pure virtual]
virtual SWCSpectrum lux::BSDF::rho ( const TsPack tspack,
const Vector wo,
BxDFType  flags = BSDF_ALL 
) const [pure virtual]
virtual SWCSpectrum lux::BSDF::rho ( const TsPack tspack,
BxDFType  flags = BSDF_ALL 
) const [pure virtual]
virtual bool lux::BSDF::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 [pure virtual]
virtual void lux::BSDF::SetCompositingParams ( CompositingParams cp  )  [inline, virtual]
Vector lux::BSDF::WorldToLocal ( const Vector v  )  const [inline]

Member Data Documentation

const float lux::BSDF::eta
Vector lux::BSDF::sn [protected]

Definition at line 124 of file bxdf.h.

Referenced by BSDF(), LocalToWorld(), and WorldToLocal().

Vector lux::BSDF::tn [protected]

Definition at line 124 of file bxdf.h.

Referenced by BSDF(), LocalToWorld(), and WorldToLocal().


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