java.lang.Object
de.grogra.ray2.tracing.ProcessorBase
de.grogra.ray2.tracing.RayProcessorBase
de.grogra.ray2.tracing.PathTracer
de.grogra.ray2.tracing.BiDirectionalProcessor
de.grogra.ray2.tracing.MetropolisProcessor
- All Implemented Interfaces:
RayProcessor
,Cloneable
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.ray2.tracing.RayProcessorBase
RayProcessorBase.Locals
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
int
protected int
int
int
int
static final String
protected long
static boolean
protected long
Fields inherited from class de.grogra.ray2.tracing.BiDirectionalProcessor
bestLight, bestS, bestT, EYEPATH_DEPTH, HEURISTIC_FACTOR, isMetropolis, LIGHTPATH_DEPTH, lineTracer, loacalCausticMap, tracingMediator
Fields inherited from class de.grogra.ray2.tracing.PathTracer
BRIGHTNESS
Fields inherited from class de.grogra.ray2.tracing.RayProcessorBase
enteredSolids, RECURSION_DEPTH, scene
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
appendStatisticsImpl
(StringBuffer stats) Returns a clone of thisRayProcessor
.void
getColorFromRay
(Line ray, Spectrum resp, Color4f color, Random random) The main method of a ray processor.int
void
initialize
(PixelwiseRenderer renderer, Scene scene) With this method the processor is initialized with the scene and other information of aPixelwiseRenderer
.void
initializeLoop
(float brightness, int imageWidth, int imageHeight, int mutatedPixPerProc, MetropolisRenderer.MetropolisResult result, int procId) void
void
void
resetAll()
void
setMinMaxPathLength
(int testLength) Methods inherited from class de.grogra.ray2.tracing.BiDirectionalProcessor
chooseBestPathCombination, initializeBeforeTracing
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
-
CORRECTION_FACTOR
- See Also:
-
MUTATION_PP_COUNT
- See Also:
-
minimalPathLength
public int minimalPathLength -
maximalPathLength
public int maximalPathLength -
stopped
public static boolean stopped -
imageWidth
public int imageWidth -
imageHeight
public int imageHeight -
imageUpdateRate
protected int imageUpdateRate -
nextImageUpdateTime
protected long nextImageUpdateTime -
timeDiff
protected long timeDiff
-
-
Constructor Details
-
MetropolisProcessor
public MetropolisProcessor()
-
-
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 classBiDirectionalProcessor
- 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 classBiDirectionalProcessor
- Parameters:
renderer
- the renderer which provides the needed informationscene
- the scene which is rendered
-
setMinMaxPathLength
public void setMinMaxPathLength(int testLength) -
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 classBiDirectionalProcessor
- Parameters:
ray
- input - calculate for this rayresp
- responsivity of cameracolor
- output - the calculated colorrandom
- pseudorandom generator
-
mergeWithRenderer
public void mergeWithRenderer() -
resetAll
public void resetAll() -
initializeLoop
public void initializeLoop(float brightness, int imageWidth, int imageHeight, int mutatedPixPerProc, MetropolisRenderer.MetropolisResult result, int procId) -
getResult
-
getMutatedPixels
public int getMutatedPixels() -
appendStatisticsImpl
- Overrides:
appendStatisticsImpl
in classBiDirectionalProcessor
-
pathChanged
public void pathChanged()
-