BSDF Class Reference

#include <reflection.h>

List of all members.

Public Member Functions

Spectrum Sample_f (const Vector &o, Vector *wi, float u1, float u2, float u3, float *pdf, BxDFType flags=BSDF_ALL, BxDFType *sampledType=NULL) const
Spectrum Sample_f (const Vector &wo, Vector *wi, BxDFType flags=BSDF_ALL, BxDFType *sampledType=NULL) const
float Pdf (const Vector &wo, const Vector &wi, BxDFType flags=BSDF_ALL) const
 BSDF (const DifferentialGeometry &dgs, const Normal &ngeom, float eta=1.f)
void Add (BxDF *bxdf)
int NumComponents () const
int NumComponents (BxDFType flags) const
bool HasShadingGeometry () const
Vector WorldToLocal (const Vector &v) const
Vector LocalToWorld (const Vector &v) const
Spectrum f (const Vector &woW, const Vector &wiW, BxDFType flags=BSDF_ALL) const
Spectrum rho (BxDFType flags=BSDF_ALL) const
Spectrum rho (const Vector &wo, BxDFType flags=BSDF_ALL) const

Static Public Member Functions

static void * Alloc (u_int sz)
static void FreeAll ()

Public Attributes

const DifferentialGeometry dgShading
const float eta

Private Member Functions

 ~BSDF ()

Private Attributes

Normal nn
Normal ng
Vector sn
Vector tn
int nBxDFs
BxDFbxdfs [MAX_BxDFS]

Static Private Attributes

static MemoryArena arena

Friends

class NoSuchClass


Detailed Description

Definition at line 65 of file reflection.h.


Constructor & Destructor Documentation

BSDF::BSDF ( const DifferentialGeometry dgs,
const Normal ngeom,
float  eta = 1.f 
)

BSDF::~BSDF (  )  [inline, private]

Definition at line 106 of file reflection.h.


Member Function Documentation

Spectrum BSDF::Sample_f ( const Vector o,
Vector wi,
float  u1,
float  u2,
float  u3,
float *  pdf,
BxDFType  flags = BSDF_ALL,
BxDFType sampledType = NULL 
) const

Spectrum BSDF::Sample_f ( const Vector wo,
Vector wi,
BxDFType  flags = BSDF_ALL,
BxDFType sampledType = NULL 
) const

Definition at line 377 of file reflection.cpp.

References Spectrum::Black(), f(), RandomFloat(), and Sample_f().

float BSDF::Pdf ( const Vector wo,
const Vector wi,
BxDFType  flags = BSDF_ALL 
) const

Definition at line 437 of file reflection.cpp.

References bxdfs, nBxDFs, BxDF::Pdf(), and WorldToLocal().

Referenced by EstimateDirect(), and ExPhotonIntegrator::Li().

void BSDF::Add ( BxDF bxdf  )  [inline]

int BSDF::NumComponents (  )  const [inline]

int BSDF::NumComponents ( BxDFType  flags  )  const [inline]

Definition at line 377 of file reflection.h.

References bxdfs, and nBxDFs.

bool BSDF::HasShadingGeometry (  )  const [inline]

Definition at line 83 of file reflection.h.

Vector BSDF::WorldToLocal ( const Vector v  )  const [inline]

Definition at line 86 of file reflection.h.

References Dot().

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

Vector BSDF::LocalToWorld ( const Vector v  )  const [inline]

Definition at line 89 of file reflection.h.

References Vector::x, Vector::y, and Vector::z.

Referenced by IrradianceCache::IndirectLo(), and Sample_f().

Spectrum BSDF::f ( const Vector woW,
const Vector wiW,
BxDFType  flags = BSDF_ALL 
) const

Spectrum BSDF::rho ( BxDFType  flags = BSDF_ALL  )  const

Spectrum BSDF::rho ( const Vector wo,
BxDFType  flags = BSDF_ALL 
) const

Definition at line 481 of file reflection.cpp.

References bxdfs, nBxDFs, and BxDF::rho().

static void* BSDF::Alloc ( u_int  sz  )  [inline, static]

Definition at line 99 of file reflection.h.

static void BSDF::FreeAll (  )  [inline, static]


Friends And Related Function Documentation

friend class NoSuchClass [friend]

Definition at line 107 of file reflection.h.


Member Data Documentation

const float BSDF::eta

Normal BSDF::nn [private]

Definition at line 109 of file reflection.h.

Referenced by BSDF().

Normal BSDF::ng [private]

Definition at line 109 of file reflection.h.

Referenced by BSDF(), f(), and Sample_f().

Vector BSDF::sn [private]

Definition at line 110 of file reflection.h.

Referenced by BSDF().

Vector BSDF::tn [private]

Definition at line 110 of file reflection.h.

Referenced by BSDF().

int BSDF::nBxDFs [private]

Definition at line 111 of file reflection.h.

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

BxDF* BSDF::bxdfs[MAX_BxDFS] [private]

Definition at line 113 of file reflection.h.

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

MemoryArena BSDF::arena [static, private]

Definition at line 114 of file reflection.h.


The documentation for this class was generated from the following files:

Generated on Mon Jul 20 17:31:54 2009 for pbrt by  doxygen 1.5.6