lux::PathIntegrator Class Reference

#include <path.h>

Inheritance diagram for lux::PathIntegrator:
[legend]
Collaboration diagram for lux::PathIntegrator:
[legend]

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

 PathIntegrator (LightStrategy st, RRStrategy rst, int md, float cp, bool ie)
virtual ~PathIntegrator ()
virtual int Li (const TsPack *tspack, const Scene *scene, const Sample *sample) const
virtual void RequestSamples (Sample *sample, const Scene *scene)
virtual void Preprocess (const TsPack *tspack, const Scene *scene)
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 ()
IntegrationSamplerHasIntegrationSampler (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
int bufferId
bool includeEnvironment
bool useMlt
int maxReject
float pLarge
IntegrationSamplermltIntegrationSampler
intlightPositionOffset
intlightNumOffset
intbsdfDirectionOffset
intbsdfComponentOffset
intcontinueOffset
intoutgoingDirectionOffset
intoutgoingComponentOffset

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,
bool  ie 
) [inline]
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 PathIntegrator::Li ( const Scene scene,
const RayDifferential ray,
const Sample sample,
float *  alpha 
) const
int PathIntegrator::Li ( const TsPack tspack,
const Scene scene,
const Sample sample 
) const [virtual]
void PathIntegrator::Preprocess ( const TsPack tspack,
const Scene scene 
) [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(), Li(), and PathIntegrator().

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

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

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

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

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

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

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

Referenced by Li(), and PathIntegrator().

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

Referenced by Li(), and PathIntegrator().

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

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

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

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

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

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

Definition at line 58 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().

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

Referenced by HasIntegrationSampler(), and Li().

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

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

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

Referenced by clone(), Li(), 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 57 of file integrators/path.h.

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

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

Referenced by Li(), and RequestSamples().

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

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


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.2-20100208