java.lang.Object
de.grogra.ray2.tracing.ProcessorBase
de.grogra.ray2.tracing.RayProcessorBase
de.grogra.ray2.tracing.PathTracer
de.grogra.ray2.tracing.BiDirectionalProcessor
- All Implemented Interfaces:
RayProcessor
,Cloneable
- Direct Known Subclasses:
MetropolisProcessor
- Author:
- Hagen Steidelmüller
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.ray2.tracing.RayProcessorBase
RayProcessorBase.Locals
-
Field Summary
Modifier and TypeFieldDescriptionint
int
int
static final String
static final String
boolean
static final String
Fields inherited from class de.grogra.ray2.tracing.PathTracer
BRIGHTNESS
Fields inherited from class de.grogra.ray2.tracing.RayProcessorBase
enteredSolids, RECURSION_DEPTH, renderer, scene
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
appendStatisticsImpl
(StringBuffer stats) void
chooseBestPathCombination
(int s, int t, int lightId, Tuple3d combWeight) Returns a clone of thisRayProcessor
.void
getColorFromRay
(Line ray, Spectrum resp, Color4f color, Random random) The main method of a ray processor.void
initialize
(PixelwiseRenderer renderer, Scene scene) With this method the processor is initialized with the scene and other information of aPixelwiseRenderer
.void
initializeBeforeTracing
(Random random) With this method the processor is initialized with the Randomizer actually before starting the ray tracing.Methods inherited from class de.grogra.ray2.tracing.PathTracer
initLocals, mergeStatistics
Methods inherited from class de.grogra.ray2.tracing.RayProcessorBase
getIOR, getLightProcessor, setLightProcessor, setRecursionDepth
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 Details
-
EYEPATH_DEPTH
- See Also:
-
LIGHTPATH_DEPTH
- See Also:
-
HEURISTIC_FACTOR
- See Also:
-
tracingMediator
-
loacalCausticMap
-
isMetropolis
public boolean isMetropolis -
lineTracer
-
bestS
public int bestS -
bestT
public int bestT -
bestLight
public int bestLight
-
-
Constructor Details
-
BiDirectionalProcessor
public BiDirectionalProcessor()
-
-
Method Details
-
dup
Description copied from interface:RayProcessor
Returns a clone of thisRayProcessor
. All constant variables are copied shallowly, state variables are newly created and copied where necessary.- Specified by:
dup
in interfaceRayProcessor
- Overrides:
dup
in classRayProcessorBase
- Parameters:
scene
- duplicate of scene- Returns:
- clone of this ray processor
-
initialize
Description copied from interface:RayProcessor
With this method the processor is initialized with the scene and other information of aPixelwiseRenderer
.- Specified by:
initialize
in interfaceRayProcessor
- Overrides:
initialize
in classPathTracer
- Parameters:
renderer
- the renderer which provides the needed informationscene
- the scene which is rendered
-
initializeBeforeTracing
Description copied from interface:RayProcessor
With this method the processor is initialized with the Randomizer actually before starting the ray tracing.- Specified by:
initializeBeforeTracing
in interfaceRayProcessor
- Overrides:
initializeBeforeTracing
in classRayProcessorBase
- Parameters:
random
- pseudorandom generator
-
getColorFromRay
Description copied from interface:RayProcessor
The main method of a ray processor. This method computes acolor
for the specifiedray
.color.w
contains the alpha value for the ray, the other components are premultiplied with this alpha value.- Specified by:
getColorFromRay
in interfaceRayProcessor
- Overrides:
getColorFromRay
in classRayProcessorBase
- Parameters:
ray
- input - calculate for this rayresp
- responsivity of cameracolor
- output - the calculated colorrandom
- pseudorandom generator
-
chooseBestPathCombination
-
appendStatisticsImpl
- Overrides:
appendStatisticsImpl
in classPathTracer
-