de.grogra.ray.tracing
Class BidirectionalPathTracer

java.lang.Object
  extended by de.grogra.ray.tracing.BidirectionalPathTracer
All Implemented Interfaces:
RayProcessor

public class BidirectionalPathTracer
extends java.lang.Object
implements RayProcessor


Nested Class Summary
static interface BidirectionalPathTracer.PathingStrategies
           
 
Constructor Summary
BidirectionalPathTracer()
           
 
Method Summary
 void getColorFromRay(Ray ray, Color4f color)
          The main methode of a ray processor.
 LightProcessor getLightProcessor()
           
 int getRecursionDepth()
           
 boolean hasFixedLightProcessor()
           
 void prepareRayProcessor(RTScene scene, IntersectionProcessor intersectionProcessor)
          With this method the processor is initialized with a 3d scene and an intersection processor it will use.
 void setIntersectionProcessor(IntersectionProcessor processor)
           
 void setLightProcessor(LightProcessor proc)
           
 void setRecursionDepth(int value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BidirectionalPathTracer

public BidirectionalPathTracer()
Method Detail

getColorFromRay

public void getColorFromRay(Ray ray,
                            Color4f color)
Description copied from interface: RayProcessor
The main methode of a ray processor. This methode has to calculate a color (or luminance of the red, gren and blue ) for each ray.

Specified by:
getColorFromRay in interface RayProcessor
Parameters:
ray - input - calculate for this ray
color - output - the calculated color

getLightProcessor

public LightProcessor getLightProcessor()
Specified by:
getLightProcessor in interface RayProcessor

getRecursionDepth

public int getRecursionDepth()
Specified by:
getRecursionDepth in interface RayProcessor

hasFixedLightProcessor

public boolean hasFixedLightProcessor()
Specified by:
hasFixedLightProcessor in interface RayProcessor

prepareRayProcessor

public void prepareRayProcessor(RTScene scene,
                                IntersectionProcessor intersectionProcessor)
Description copied from interface: RayProcessor
With this method the processor is initialized with a 3d scene and an intersection processor it will use.

Specified by:
prepareRayProcessor in interface RayProcessor

setIntersectionProcessor

public void setIntersectionProcessor(IntersectionProcessor processor)

setLightProcessor

public void setLightProcessor(LightProcessor proc)
Specified by:
setLightProcessor in interface RayProcessor

setRecursionDepth

public void setRecursionDepth(int value)
Specified by:
setRecursionDepth in interface RayProcessor