BSDF Class Reference

#include <reflection.h>

List of all members.

Public Member Functions

Spectrum Sample_f (const Vector &wo, Vector *wi, const BSDFSample &bsdfSample, float *pdf, 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
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 (RNG &rng, BxDFType flags=BSDF_ALL, int sqrtSamples=6) const
Spectrum rho (const Vector &wo, RNG &rng, BxDFType flags=BSDF_ALL, int sqrtSamples=6) const

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]

Friends

class MixMaterial

Detailed Description

Definition at line 146 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 178 of file reflection.h.


Member Function Documentation

void BSDF::Add ( BxDF bxdf  )  [inline]
Spectrum BSDF::f ( const Vector woW,
const Vector wiW,
BxDFType  flags = BSDF_ALL 
) const
Vector BSDF::LocalToWorld ( const Vector v  )  const [inline]
int BSDF::NumComponents ( BxDFType  flags  )  const [inline]

Definition at line 525 of file reflection.h.

References bxdfs, and nBxDFs.

int BSDF::NumComponents (  )  const [inline]
float BSDF::Pdf ( const Vector wo,
const Vector wi,
BxDFType  flags = BSDF_ALL 
) const

Definition at line 569 of file reflection.cpp.

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

Referenced by EstimateDirect(), Gen_Sample_f(), and PhotonIntegrator::Li().

Spectrum BSDF::rho ( const Vector wo,
RNG rng,
BxDFType  flags = BSDF_ALL,
int  sqrtSamples = 6 
) const

Definition at line 630 of file reflection.cpp.

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

Spectrum BSDF::rho ( RNG rng,
BxDFType  flags = BSDF_ALL,
int  sqrtSamples = 6 
) const
Spectrum BSDF::Sample_f ( const Vector wo,
Vector wi,
const BSDFSample bsdfSample,
float *  pdf,
BxDFType  flags = BSDF_ALL,
BxDFType sampledType = NULL 
) const
Vector BSDF::WorldToLocal ( const Vector v  )  const [inline]

Definition at line 159 of file reflection.h.

References Dot(), nn, sn, and tn.

Referenced by f(), Gen_Sample_f(), GlossyPRTIntegrator::Li(), main(), Pdf(), and Sample_f().


Friends And Related Function Documentation

friend class MixMaterial [friend]

Definition at line 186 of file reflection.h.


Member Data Documentation

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

Definition at line 185 of file reflection.h.

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

const float BSDF::eta

Definition at line 175 of file reflection.h.

Referenced by SpecularTransmit().

int BSDF::nBxDFs [private]

Definition at line 183 of file reflection.h.

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

Normal BSDF::ng [private]

Definition at line 181 of file reflection.h.

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

Normal BSDF::nn [private]

Definition at line 181 of file reflection.h.

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

Vector BSDF::sn [private]

Definition at line 182 of file reflection.h.

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

Vector BSDF::tn [private]

Definition at line 182 of file reflection.h.

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


The documentation for this class was generated from the following files:
Generated on Sat Aug 28 20:00:13 2010 for pbrt by  doxygen 1.6.3