lux::IrradianceCache Class Reference

#include <irradiancecache.h>

Inheritance diagram for lux::IrradianceCache:

lux::SurfaceIntegrator lux::Integrator

List of all members.

Public Member Functions

 IrradianceCache (int maxspec, int maxind, float maxerr, int nsamples)
 ~IrradianceCache ()
Spectrum Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, float *alpha) const
void RequestSamples (Sample *sample, const Scene *scene)
void Preprocess (const Scene *)
virtual IrradianceCacheclone () const
IntegrationSampler * HasIntegrationSampler (IntegrationSampler *is)

Static Public Member Functions

static SurfaceIntegratorCreateSurfaceIntegrator (const ParamSet &params)

Private Member Functions

Spectrum IndirectLo (const Point &p, const Normal &n, const Vector &wo, BSDF *bsdf, BxDFType flags, const Sample *sample, const Scene *scene) const
bool InterpolateIrradiance (const Scene *scene, const Point &p, const Normal &n, Spectrum *E) const

Private Attributes

float maxError
int nSamples
int maxSpecularDepth
int maxIndirectDepth
int specularDepth
int * lightSampleOffset
int lightNumOffset
int * bsdfSampleOffset
int * bsdfComponentOffset
Octree< IrradianceSample,
IrradProcess > * 
octree


Detailed Description

Definition at line 37 of file irradiancecache.h.


Constructor & Destructor Documentation

IrradianceCache::IrradianceCache ( int  maxspec,
int  maxind,
float  maxerr,
int  nsamples 
)

Definition at line 34 of file irradiancecache.cpp.

References maxError, maxIndirectDepth, maxSpecularDepth, nSamples, and specularDepth.

Referenced by clone(), and CreateSurfaceIntegrator().

IrradianceCache::~IrradianceCache (  ) 

Definition at line 257 of file irradiancecache.cpp.

References octree.


Member Function Documentation

IrradianceCache * IrradianceCache::clone (  )  const [virtual]

Definition at line 29 of file irradiancecache.cpp.

References IrradianceCache().

SurfaceIntegrator * IrradianceCache::CreateSurfaceIntegrator ( const ParamSet params  )  [static]

IntegrationSampler* lux::IrradianceCache::HasIntegrationSampler ( IntegrationSampler *  is  )  [inline]

Definition at line 46 of file irradiancecache.h.

Spectrum IrradianceCache::IndirectLo ( const Point p,
const Normal n,
const Vector wo,
BSDF bsdf,
BxDFType  flags,
const Sample sample,
const Scene scene 
) const [private]

bool IrradianceCache::InterpolateIrradiance ( const Scene scene,
const Point p,
const Normal n,
Spectrum E 
) const [private]

Spectrum IrradianceCache::Li ( const Scene scene,
const RayDifferential ray,
const Sample sample,
float *  alpha 
) const [virtual]

void IrradianceCache::Preprocess ( const Scene scene  )  [virtual]

Reimplemented from lux::Integrator.

Definition at line 250 of file irradiancecache.cpp.

References octree, lux::BBox::pMax, lux::BBox::pMin, and lux::Scene::WorldBound().

void IrradianceCache::RequestSamples ( Sample sample,
const Scene scene 
) [virtual]


Member Data Documentation

Definition at line 56 of file irradiancecache.h.

Referenced by Li(), and RequestSamples().

Definition at line 56 of file irradiancecache.h.

Referenced by Li(), and RequestSamples().

Definition at line 55 of file irradiancecache.h.

Referenced by RequestSamples().

Definition at line 55 of file irradiancecache.h.

Referenced by Li(), and RequestSamples().

Definition at line 52 of file irradiancecache.h.

Referenced by CreateSurfaceIntegrator(), IndirectLo(), and IrradianceCache().

Definition at line 52 of file irradiancecache.h.

Referenced by CreateSurfaceIntegrator(), IrradianceCache(), and Li().

Definition at line 51 of file irradiancecache.h.

Referenced by CreateSurfaceIntegrator(), IndirectLo(), and IrradianceCache().

Definition at line 57 of file irradiancecache.h.

Referenced by IndirectLo(), InterpolateIrradiance(), Preprocess(), and ~IrradianceCache().

int lux::IrradianceCache::specularDepth [mutable, private]

Definition at line 53 of file irradiancecache.h.

Referenced by IrradianceCache(), and Li().


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

Generated on Sat Aug 15 19:15:03 2009 for lux by  doxygen 1.5.9