de.grogra.ray2.tracing
Class PathTracer
java.lang.Object
de.grogra.ray2.tracing.ProcessorBase
de.grogra.ray2.tracing.RayProcessorBase
de.grogra.ray2.tracing.PathTracer
- All Implemented Interfaces:
- RayProcessor, java.lang.Cloneable
- Direct Known Subclasses:
- BiDirectionalProcessor, LineTracer
public class PathTracer
- extends RayProcessorBase
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
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BRIGHTNESS
public static final java.lang.String BRIGHTNESS
- See Also:
- Constant Field Values
PathTracer
public PathTracer()
appendStatisticsImpl
protected void appendStatisticsImpl(java.lang.StringBuffer stats)
- Specified by:
appendStatisticsImpl
in class ProcessorBase
initialize
public void initialize(PixelwiseRenderer renderer,
Scene scene)
- Description copied from interface:
RayProcessor
- With this method the processor is initialized with the scene
and other information of a
PixelwiseRenderer
.
- Specified by:
initialize
in interface RayProcessor
- Overrides:
initialize
in class RayProcessorBase
- Parameters:
renderer
- the renderer which provides the needed informationscene
- the scene which is rendered
initLocals
protected void initLocals()
- Overrides:
initLocals
in class RayProcessorBase
mergeStatistics
protected void mergeStatistics(ProcessorBase src)
- Overrides:
mergeStatistics
in class RayProcessorBase