lux::DistributedPath Class Reference

#include <distributedpath.h>

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

List of all members.

Public Types

enum  LightStrategy { SAMPLE_ALL_UNIFORM, SAMPLE_ONE_UNIFORM, SAMPLE_AUTOMATIC }

Public Member Functions

 DistributedPath (LightStrategy st, bool da, int ds, bool dd, bool dg, bool ida, int ids, bool idd, bool idg, int drd, int drs, int dtd, int dts, int grd, int grs, int gtd, int gts, int srd, int std, bool drer, float drert, bool drfr, float drfrt, bool grer, float grert, bool grfr, float grfrt)
virtual ~DistributedPath ()
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)

Static Public Member Functions

static SurfaceIntegratorCreateSurfaceIntegrator (const ParamSet &params)

Private Member Functions

void LiInternal (const TsPack *tspack, const Scene *scene, const RayDifferential &ray, const Sample *sample, vector< SWCSpectrum > &L, float *alpha, float *zdepth, int rayDepth, bool includeEmit, int &nrContribs) const
void Reject (const TsPack *tspack, vector< vector< SWCSpectrum > > &LL, vector< SWCSpectrum > &L, float rejectrange) const

Private Attributes

LightStrategy lightStrategy
bool directAll
bool directDiffuse
bool directGlossy
bool indirectAll
bool indirectDiffuse
bool indirectGlossy
int directSamples
int indirectSamples
int diffusereflectDepth
int diffusereflectSamples
int diffuserefractDepth
int diffuserefractSamples
int glossyreflectDepth
int glossyreflectSamples
int glossyrefractDepth
int glossyrefractSamples
int specularreflectDepth
int specularrefractDepth
int maxDepth
int sampleOffset
int bufferId
int lightSampleOffset
int lightNumOffset
int bsdfSampleOffset
int bsdfComponentOffset
int indirectlightSampleOffset
int indirectlightNumOffset
int indirectbsdfSampleOffset
int indirectbsdfComponentOffset
int diffuse_reflectSampleOffset
int diffuse_reflectComponentOffset
int indirectdiffuse_reflectSampleOffset
int indirectdiffuse_reflectComponentOffset
int diffuse_refractSampleOffset
int diffuse_refractComponentOffset
int indirectdiffuse_refractSampleOffset
int indirectdiffuse_refractComponentOffset
int glossy_reflectSampleOffset
int glossy_reflectComponentOffset
int indirectglossy_reflectSampleOffset
int indirectglossy_reflectComponentOffset
int glossy_refractSampleOffset
int glossy_refractComponentOffset
int indirectglossy_refractSampleOffset
int indirectglossy_refractComponentOffset
bool diffusereflectReject
bool diffuserefractReject
bool glossyreflectReject
bool glossyrefractReject
float diffusereflectReject_thr
float diffuserefractReject_thr
float glossyreflectReject_thr
float glossyrefractReject_thr

Detailed Description

Definition at line 34 of file distributedpath.h.


Member Enumeration Documentation

Enumerator:
SAMPLE_ALL_UNIFORM 
SAMPLE_ONE_UNIFORM 
SAMPLE_AUTOMATIC 

Definition at line 37 of file distributedpath.h.


Constructor & Destructor Documentation

DistributedPath::DistributedPath ( LightStrategy  st,
bool  da,
int  ds,
bool  dd,
bool  dg,
bool  ida,
int  ids,
bool  idd,
bool  idg,
int  drd,
int  drs,
int  dtd,
int  dts,
int  grd,
int  grs,
int  gtd,
int  gts,
int  srd,
int  std,
bool  drer,
float  drert,
bool  drfr,
float  drfrt,
bool  grer,
float  grert,
bool  grfr,
float  grfrt 
)
virtual lux::DistributedPath::~DistributedPath (  )  [inline, virtual]

Definition at line 46 of file distributedpath.h.


Member Function Documentation

SurfaceIntegrator * DistributedPath::CreateSurfaceIntegrator ( const ParamSet params  )  [static]
int DistributedPath::Li ( const TsPack tspack,
const Scene scene,
const Sample sample 
) const [virtual]
void DistributedPath::LiInternal ( const TsPack tspack,
const Scene scene,
const RayDifferential ray,
const Sample sample,
vector< SWCSpectrum > &  L,
float *  alpha,
float *  zdepth,
int  rayDepth,
bool  includeEmit,
int nrContribs 
) const [private]

Definition at line 179 of file distributedpath.cpp.

References lux::CompositingParams::A, lux::AbsDot(), lux::Intersection::arealight, lux::BSDF_DIFFUSE, lux::BSDF_GLOSSY, lux::BSDF_REFLECTION, lux::BSDF_SPECULAR, lux::BSDF_TRANSMISSION, bsdfComponentOffset, bsdfSampleOffset, lux::BSDF::compParams, lux::Ray::d, lux::BSDF::dgShading, diffuse_reflectComponentOffset, diffuse_reflectSampleOffset, diffuse_refractComponentOffset, diffuse_refractSampleOffset, diffusereflectDepth, diffusereflectReject, diffusereflectReject_thr, diffusereflectSamples, diffuserefractDepth, diffuserefractReject, diffuserefractReject_thr, diffuserefractSamples, directSamples, lux::EstimateDirect(), lux::SWCSpectrum::Filter(), blender::g, lux::Intersection::GetBSDF(), glossy_reflectComponentOffset, glossy_reflectSampleOffset, glossy_refractComponentOffset, glossy_refractSampleOffset, glossyreflectDepth, glossyreflectReject, glossyreflectReject_thr, glossyreflectSamples, glossyrefractDepth, glossyrefractReject, glossyrefractReject_thr, glossyrefractSamples, lux::Light::group, indirectbsdfComponentOffset, indirectbsdfSampleOffset, indirectdiffuse_reflectComponentOffset, indirectdiffuse_reflectSampleOffset, indirectdiffuse_refractComponentOffset, indirectdiffuse_refractSampleOffset, indirectglossy_reflectComponentOffset, indirectglossy_reflectSampleOffset, indirectglossy_refractComponentOffset, indirectglossy_refractSampleOffset, indirectlightNumOffset, indirectlightSampleOffset, indirectSamples, lux::Scene::Intersect(), lux::Intersection::Le(), lux::Vector::Length(), lux::VolumeIntegrator::Li(), lightNumOffset, lux::Scene::lights, lightSampleOffset, lightStrategy, lux::DifferentialGeometry::nn, lux::Ray::o, lux::CompositingParams::oA, lux::Sample::oneD, lux::DifferentialGeometry::p, p, Reject(), SAMPLE_ALL_UNIFORM, lux::BSDF::Sample_f(), SAMPLE_ONE_UNIFORM, specularreflectDepth, specularrefractDepth, lux::Ray::time, cimg_library::cimg::time(), lux::CompositingParams::tiVl, lux::CompositingParams::tiVm, lux::VolumeIntegrator::Transmittance(), lux::CompositingParams::tVl, lux::CompositingParams::tVm, lux::Sample::twoD, lux::UniformSampleOneLight(), and lux::Scene::volumeIntegrator.

Referenced by Li().

void DistributedPath::Preprocess ( const TsPack tspack,
const Scene scene 
) [virtual]
void DistributedPath::Reject ( const TsPack tspack,
vector< vector< SWCSpectrum > > &  LL,
vector< SWCSpectrum > &  L,
float  rejectrange 
) const [private]

Definition at line 138 of file distributedpath.cpp.

Referenced by LiInternal().

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

Member Data Documentation

Definition at line 68 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 68 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 67 of file distributedpath.h.

Referenced by Li(), and Preprocess().

Definition at line 70 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 70 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 71 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 71 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 75 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 76 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 75 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 76 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 60 of file distributedpath.h.

Referenced by DistributedPath().

Definition at line 60 of file distributedpath.h.

Referenced by DistributedPath().

Definition at line 60 of file distributedpath.h.

Referenced by DistributedPath().

Definition at line 62 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 72 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 72 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 73 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 73 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 75 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 76 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 75 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 76 of file distributedpath.h.

Referenced by DistributedPath(), and LiInternal().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 60 of file distributedpath.h.

Referenced by DistributedPath().

Definition at line 69 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 69 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 60 of file distributedpath.h.

Referenced by DistributedPath().

Definition at line 70 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 70 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 71 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 71 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 60 of file distributedpath.h.

Referenced by DistributedPath().

Definition at line 72 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 72 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 73 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 73 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 69 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 69 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 62 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 68 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 68 of file distributedpath.h.

Referenced by LiInternal(), and RequestSamples().

Definition at line 59 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 63 of file distributedpath.h.

Referenced by RequestSamples().

Definition at line 67 of file distributedpath.h.

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().

Definition at line 63 of file distributedpath.h.

Referenced by DistributedPath(), LiInternal(), and RequestSamples().


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