java.lang.Object
de.grogra.ray2.tracing.ProcessorBase
de.grogra.ray2.tracing.RayProcessorBase
de.grogra.ray2.tracing.PathTracer
- All Implemented Interfaces:
RayProcessor,Cloneable
- Direct Known Subclasses:
BiDirectionalProcessor,LineTracer
This class implements a physically correct path tracer.
The computation is done using the formulas for
bidirectional path tracing in Eric Veach's PhD thesis
"Robust Monte Carlo Methods for Light Transport Simulation". However
note that the implemented path tracer is a standard path tracer
which creates random paths starting at the eye and directly connects
each created vertex with all lights in the scene. So in the
terminology of bidirectional path tracing, only light subpaths
consisting of a single light vertex are considered (or zero light
vertices in case of a ray which hits a light surface).
- Author:
- Ole Kniemeyer
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.ray2.tracing.RayProcessorBase
RayProcessorBase.Locals -
Field Summary
FieldsFields inherited from class de.grogra.ray2.tracing.RayProcessorBase
enteredSolids, RECURSION_DEPTH, renderer, scene, sumColor -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendStatisticsImpl(StringBuffer stats) voidinitialize(PixelwiseRenderer renderer, Scene scene) With this method the processor is initialized with the scene and other information of aPixelwiseRenderer.protected voidprotected voidMethods inherited from class de.grogra.ray2.tracing.RayProcessorBase
dup, getColorFromRay, getIOR, getLightProcessor, initializeBeforeTracing, setLightProcessor, setRecursionDepthMethods inherited from class de.grogra.ray2.tracing.ProcessorBase
appendStatistics, cloneMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.grogra.ray2.tracing.RayProcessor
appendStatistics
-
Field Details
-
BRIGHTNESS
- See Also:
-
-
Constructor Details
-
PathTracer
public PathTracer()
-
-
Method Details
-
initLocals
protected void initLocals()- Overrides:
initLocalsin classRayProcessorBase
-
initialize
Description copied from interface:RayProcessorWith this method the processor is initialized with the scene and other information of aPixelwiseRenderer.- Specified by:
initializein interfaceRayProcessor- Overrides:
initializein classRayProcessorBase- Parameters:
renderer- the renderer which provides the needed informationscene- the scene which is rendered
-
mergeStatistics
- Overrides:
mergeStatisticsin classRayProcessorBase
-
appendStatisticsImpl
- Specified by:
appendStatisticsImplin classProcessorBase
-