Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Nested Class Summary

Nested classes/interfaces inherited from class de.grogra.ray2.tracing.RayProcessorBase
`RayProcessorBase.Locals`

Field Summary
`static java.lang.String` | `BRIGHTNESS`

Fields inherited from class de.grogra.ray2.tracing.RayProcessorBase
`enteredSolids, RECURSION_DEPTH, renderer, scene, sumColor`

Constructor Summary
`PathTracer()`

Method Summary
`protected void` | `appendStatisticsImpl(java.lang.StringBuffer stats)`
`void` | `initialize(PixelwiseRenderer renderer, Scene scene)` With this method the processor is initialized with the scene and other information of a `PixelwiseRenderer`.
`protected void` | `initLocals()`
`protected void` | `mergeStatistics(ProcessorBase src)`

Methods inherited from class de.grogra.ray2.tracing.RayProcessorBase
`dup, getColorFromRay, getIOR, getLightProcessor, initializeBeforeTracing, record, record, setLightProcessor, setRecursionDepth, unrecord`

Methods inherited from class de.grogra.ray2.tracing.ProcessorBase
`appendStatistics, clone`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface de.grogra.ray2.tracing.RayProcessor
`appendStatistics`

Field Detail

### BRIGHTNESS

    public static final java.lang.String BRIGHTNESS

See Also:
  Constant Field Values

Constructor Detail

### PathTracer

    public PathTracer()

Method Detail

### 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 information
    `scene` - 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`

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD