Lightmetrica
0.0.1.50dbee3 (yosakoi)
|
Public Member Functions | |
LM_COMPONENT_IMPL_DEF ("bpt") | |
virtual bool | Configure (const ConfigNode &node, const Assets &assets) override |
virtual PSSMLTPathSampler * | Clone () const override |
virtual void | SampleAndEvaluate (const Scene &scene, Sampler &sampler, PSSMLTSplats &splats, int rrDepth, int maxPathVertices) override |
virtual void | SampleAndEvaluateBidir (const Scene &scene, Sampler &subpathSamplerL, Sampler &subpathSamplerE, PSSMLTSplats &splats, int rrDepth, int maxPathVertices) override |
virtual void | SampleAndEvaluateBidirSpecified (const Scene &scene, Sampler &subpathSamplerL, Sampler &subpathSamplerE, PSSMLTSplat &splat, int rrDepth, int maxPathVertices, int s, int t) override |
Public Member Functions inherited from PSSMLTPathSampler | |
LM_COMPONENT_INTERFACE_DEF ("pssmltpathsampler") | |
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) |
Bidirectional path tracing sampler. Implements path sampler for PSSMLT with BPT.
|
overridevirtual |
|
overridevirtual |
Configure the sampler from XML element.
node | A XML element which consists of path_sampler element. |
assets | Assets manager. |
true | Succeeded to configure. |
false | Failed to configure. |
Implements PSSMLTPathSampler.
|
overridevirtual |
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.
scene | Scene. |
sampler | Abstract sampler. |
splats | Evaluated pixel contributions and their raster positions. |
rrDepth | Depth to begin RR, -1 skips RR. |
maxPathVertices | Maximum number of vertex, -1 specifies no limits. |
Implements PSSMLTPathSampler.
|
overridevirtual |
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.
scene | Scene. |
subpathSamplerL | Abstract sampler for light subpath. |
subpathSamplerE | Abstract sampler for eye subpath. |
splats | Evaluated pixel contributions and their raster positions. |
rrDepth | Depth to begin RR, -1 skips RR. |
maxPathVertices | Maximum number of vertex of each subpath, -1 specifies no limits. |
Implements PSSMLTPathSampler.
|
overridevirtual |
Sample and evaluate light paths (separated PSS version for BPT) for specified technique. A variant of SampleAndEvaluateBidir with specified technique with #s and #t.
scene | Scene. |
subpathSamplerL | Abstract sampler for light subpath. |
subpathSamplerE | Abstract sampler for eye subpath. |
splat | Evaluated pixel contribution and its raster position. |
rrDepth | Depth to begin RR, -1 skips RR. |
maxPathVertices | Maximum number of vertex of each subpath, -1 specifies no limits. |
s | Number of light subpath vertices. |
t | Number of eye subpath vertices. |
Implements PSSMLTPathSampler.