lux::PathIntegrator Class Reference

#include <path.h>

Inheritance diagram for lux::PathIntegrator:

lux::SurfaceIntegrator lux::SurfaceIntegrator lux::Integrator lux::Integrator

List of all members.

Public Types

enum  LightStrategy { SAMPLE_ALL_UNIFORM, SAMPLE_ONE_UNIFORM, SAMPLE_AUTOMATIC }
enum  RRStrategy { RR_EFFICIENCY, RR_PROBABILITY, RR_NONE }

Public Member Functions

SWCSpectrum Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, float *newAlpha) const
void RequestSamples (Sample *sample, const Scene *scene)
 PathIntegrator (LightStrategy st, RRStrategy rst, int md, float cp)
virtual ~PathIntegrator ()
Spectrum Li (const Scene *scene, const RayDifferential &ray, const Sample *sample, float *alpha) const
void RequestSamples (Sample *sample, const Scene *scene)
 PathIntegrator (int md, float cp, bool mlt, int maxreject, float plarge)
virtual PathIntegratorclone () const
virtual ~PathIntegrator ()
IntegrationSampler * HasIntegrationSampler (IntegrationSampler *isa)

Static Public Member Functions

static SurfaceIntegratorCreateSurfaceIntegrator (const ParamSet &params)
static SurfaceIntegratorCreateSurfaceIntegrator (const ParamSet &params)

Private Attributes

LightStrategy lightStrategy
RRStrategy rrStrategy
int maxDepth
float continueProbability
int sampleOffset
bool useMlt
int maxReject
float pLarge
IntegrationSampler * mltIntegrationSampler
int * lightPositionOffset
int * lightNumOffset
int * bsdfDirectionOffset
int * bsdfComponentOffset
int * continueOffset
int * outgoingDirectionOffset
int * outgoingComponentOffset


Detailed Description

Definition at line 32 of file integrators/path.h.


Member Enumeration Documentation

Enumerator:
SAMPLE_ALL_UNIFORM 
SAMPLE_ONE_UNIFORM 
SAMPLE_AUTOMATIC 

Definition at line 35 of file integrators/path.h.

Enumerator:
RR_EFFICIENCY 
RR_PROBABILITY 
RR_NONE 

Definition at line 38 of file integrators/path.h.


Constructor & Destructor Documentation

lux::PathIntegrator::PathIntegrator ( LightStrategy  st,
RRStrategy  rst,
int  md,
float  cp 
) [inline]

Definition at line 43 of file integrators/path.h.

References continueProbability, lightStrategy, maxDepth, and rrStrategy.

Referenced by clone(), and CreateSurfaceIntegrator().

virtual lux::PathIntegrator::~PathIntegrator (  )  [inline, virtual]

Definition at line 49 of file integrators/path.h.

lux::PathIntegrator::PathIntegrator ( int  md,
float  cp,
bool  mlt,
int  maxreject,
float  plarge 
) [inline]

virtual lux::PathIntegrator::~PathIntegrator (  )  [inline, virtual]


Member Function Documentation

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

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

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

IntegrationSampler * PathIntegrator::HasIntegrationSampler ( IntegrationSampler *  isa  ) 

Definition at line 64 of file pbrtattic/integrators/path.cpp.

References maxReject, mltIntegrationSampler, pLarge, and useMlt.

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

Implements lux::Integrator.

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

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

Reimplemented from lux::Integrator.

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


Member Data Documentation

Definition at line 63 of file pbrtattic/integrators/path.h.

Referenced by clone(), and PathIntegrator().

Definition at line 62 of file pbrtattic/integrators/path.h.

Referenced by clone(), and PathIntegrator().

Definition at line 64 of file pbrtattic/integrators/path.h.

Referenced by clone(), and PathIntegrator().

Definition at line 56 of file integrators/path.h.

Referenced by Li(), and PathIntegrator().

Definition at line 61 of file pbrtattic/integrators/path.h.

Referenced by clone(), and PathIntegrator().

Definition at line 60 of file pbrtattic/integrators/path.h.

Referenced by clone(), and PathIntegrator().

Definition at line 53 of file integrators/path.h.

Referenced by Li(), PathIntegrator(), and RequestSamples().

Definition at line 55 of file integrators/path.h.

Referenced by clone(), CreateSurfaceIntegrator(), Li(), PathIntegrator(), and RequestSamples().

Definition at line 57 of file pbrtattic/integrators/path.h.

Referenced by HasIntegrationSampler(), and PathIntegrator().

IntegrationSampler* lux::PathIntegrator::mltIntegrationSampler [private]

Definition at line 59 of file pbrtattic/integrators/path.h.

Referenced by HasIntegrationSampler().

Definition at line 66 of file pbrtattic/integrators/path.h.

Referenced by clone(), PathIntegrator(), and ~PathIntegrator().

Definition at line 65 of file pbrtattic/integrators/path.h.

Referenced by clone(), PathIntegrator(), and ~PathIntegrator().

float lux::PathIntegrator::pLarge [private]

Definition at line 58 of file pbrtattic/integrators/path.h.

Referenced by HasIntegrationSampler(), and PathIntegrator().

Definition at line 54 of file integrators/path.h.

Referenced by Li(), PathIntegrator(), and RequestSamples().

Definition at line 58 of file integrators/path.h.

Referenced by Li(), and RequestSamples().

Definition at line 56 of file pbrtattic/integrators/path.h.

Referenced by HasIntegrationSampler(), and PathIntegrator().


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

Generated on Tue Nov 10 01:36:41 2009 for lux by  doxygen 1.5.9