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 IrradianceCache * clone () const
IntegrationSampler * HasIntegrationSampler (IntegrationSampler *is)

Static Public Member Functions

static SurfaceIntegrator * CreateSurfaceIntegrator (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 Mon May 18 07:19:21 2009 for lux by  doxygen 1.5.7.1