Lightmetrica  0.0.1.50dbee3 (yosakoi)
 All Classes Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | List of all members
PSSMLTPathSampler Class Referenceabstract

#include <pssmlt.pathsampler.h>

Public Member Functions

 LM_COMPONENT_INTERFACE_DEF ("pssmltpathsampler")
 
virtual bool Configure (const ConfigNode &node, const Assets &assets)=0
 
virtual PSSMLTPathSamplerClone () const =0
 
virtual void SampleAndEvaluate (const Scene &scene, Sampler &sampler, PSSMLTSplats &splats, int rrDepth, int maxPathVertices)=0
 
virtual void SampleAndEvaluateBidir (const Scene &scene, Sampler &subpathSamplerL, Sampler &subpathSamplerE, PSSMLTSplats &splats, int rrDepth, int maxPathVertices)=0
 
virtual void SampleAndEvaluateBidirSpecified (const Scene &scene, Sampler &subpathSamplerL, Sampler &subpathSamplerE, PSSMLTSplat &splat, int rrDepth, int maxPathVertices, int s, int t)=0
 
- Public Member Functions inherited from Component
virtual std::string ComponentInterfaceTypeName () const =0
 
virtual std::string ComponentImplTypeName () const =0
 
- Public Member Functions inherited from SIMDAlignedType
void * operator new (std::size_t size) throw (std::bad_alloc)
 
void operator delete (void *p)
 

Detailed Description

Path sampler. An interface for light path samplers for PSSMLT.

Inheritance diagram for PSSMLTPathSampler:
Component SIMDAlignedType PSSMLTBPTPathSampler PSSMLTPTPathSampler

Member Function Documentation

virtual PSSMLTPathSampler* PSSMLTPathSampler::Clone ( ) const
pure virtual

Clone the sampler.

Returns
Duplicated instance.

Implemented in PSSMLTBPTPathSampler, and PSSMLTPTPathSampler.

virtual bool PSSMLTPathSampler::Configure ( const ConfigNode node,
const Assets assets 
)
pure virtual

Configure the sampler from XML element.

Parameters
nodeA XML element which consists of path_sampler element.
assetsAssets manager.
Return values
trueSucceeded to configure.
falseFailed to configure.

Implemented in PSSMLTBPTPathSampler, and PSSMLTPTPathSampler.

virtual void PSSMLTPathSampler::SampleAndEvaluate ( const Scene scene,
Sampler sampler,
PSSMLTSplats splats,
int  rrDepth,
int  maxPathVertices 
)
pure virtual

Sample and evaluate light paths. Light path sampling strategy such as BPT might generate multiple light paths which contribute different raster position. We represent these different contributions by PSSMLTSplats structure.

Parameters
sceneScene.
samplerAbstract sampler.
splatsEvaluated pixel contributions and their raster positions.
rrDepthDepth to begin RR, -1 skips RR.
maxPathVerticesMaximum number of vertex, -1 specifies no limits.

Implemented in PSSMLTBPTPathSampler, and PSSMLTPTPathSampler.

virtual void PSSMLTPathSampler::SampleAndEvaluateBidir ( const Scene scene,
Sampler subpathSamplerL,
Sampler subpathSamplerE,
PSSMLTSplats splats,
int  rrDepth,
int  maxPathVertices 
)
pure virtual

Sample and evaluate light paths (separated PSS version for BPT). Primary sample spaces is separated into two parts: for sampling light subpath and eye subpath, which increase coherency between mutations.

Parameters
sceneScene.
subpathSamplerLAbstract sampler for light subpath.
subpathSamplerEAbstract sampler for eye subpath.
splatsEvaluated pixel contributions and their raster positions.
rrDepthDepth to begin RR, -1 skips RR.
maxPathVerticesMaximum number of vertex of each subpath, -1 specifies no limits.

Implemented in PSSMLTBPTPathSampler, and PSSMLTPTPathSampler.

virtual void PSSMLTPathSampler::SampleAndEvaluateBidirSpecified ( const Scene scene,
Sampler subpathSamplerL,
Sampler subpathSamplerE,
PSSMLTSplat splat,
int  rrDepth,
int  maxPathVertices,
int  s,
int  t 
)
pure virtual

Sample and evaluate light paths (separated PSS version for BPT) for specified technique. A variant of SampleAndEvaluateBidir with specified technique with #s and #t.

Parameters
sceneScene.
subpathSamplerLAbstract sampler for light subpath.
subpathSamplerEAbstract sampler for eye subpath.
splatEvaluated pixel contribution and its raster position.
rrDepthDepth to begin RR, -1 skips RR.
maxPathVerticesMaximum number of vertex of each subpath, -1 specifies no limits.
sNumber of light subpath vertices.
tNumber of eye subpath vertices.

Implemented in PSSMLTBPTPathSampler, and PSSMLTPTPathSampler.


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