de.grogra.ray2.tracing.modular
public class LineTracer extends PathTracer
RayProcessorBase.Locals| Modifier and Type | Field and Description |
|---|---|
int |
abbortCode |
ConditionObject |
condition |
static int |
MAX_DEPTH_REACHED |
static int |
NO_OBJECT_HIT |
static int |
OUTGOING_RAY_TOO_WEAK |
static int |
RAY_WAS_ABSORBED |
static int |
RAY_WAS_INFINITE |
static int |
RAY_WAS_STOPPED_ON_CONDITION |
int |
recursionCounter |
static int |
SPECULAR_CONDITION |
int |
STOP_CONDITION |
boolean |
traceSubPath |
BRIGHTNESSenteredSolids, RECURSION_DEPTH, renderer, scene, sumColor| Constructor and Description |
|---|
LineTracer(BiDirectionalProcessor processor) |
| Modifier and Type | Method and Description |
|---|---|
int |
getAbbortCode() |
PathValues |
getPathValues() |
java.lang.String |
getTracingAbbortDescription() |
void |
initialize(PixelwiseRenderer renderer,
Scene scene)
With this method the processor is initialized with the scene
and other information of a
PixelwiseRenderer. |
java.lang.String |
printIList() |
void |
set2LightPathTracing(boolean isLightRay)
Defines if this tracing is about light ray tracing or importance ray tracing
|
void |
setCondition(ConditionObject cond) |
void |
setMaxDepth(int maxDepth)
Defines the maximum depth of recursion, where maxDepth is the index of the last path vertex
|
void |
setRandom(java.util.Random random) |
void |
setSafeMemoryMode(MemoryHelper helper) |
PathValues |
traceLine(int maxDepth,
PathValues pathValues,
Line startLine,
Spectrum initialWeight,
int sourceID,
boolean isLightRay,
java.util.Random random)
This function traces a Line(=ray) throug the scene starting at the first path vertex (index =0)
|
void |
traceSubPath(PathValues srcPath,
int startVertex,
int newVertexCount,
boolean isLightRay,
Vector3d direction) |
appendStatisticsImpl, initLocals, mergeStatisticsdup, getColorFromRay, getIOR, getLightProcessor, initializeBeforeTracing, setLightProcessor, setRecursionDepthappendStatistics, cloneequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitappendStatisticspublic int abbortCode
public ConditionObject condition
public static final int MAX_DEPTH_REACHED
public static final int NO_OBJECT_HIT
public static final int OUTGOING_RAY_TOO_WEAK
public static final int RAY_WAS_ABSORBED
public static final int RAY_WAS_INFINITE
public static final int RAY_WAS_STOPPED_ON_CONDITION
public int recursionCounter
public static final int SPECULAR_CONDITION
public int STOP_CONDITION
public boolean traceSubPath
public LineTracer(BiDirectionalProcessor processor)
public int getAbbortCode()
public PathValues getPathValues()
public java.lang.String getTracingAbbortDescription()
public void initialize(PixelwiseRenderer renderer, Scene scene)
RayProcessorPixelwiseRenderer.initialize in interface RayProcessorinitialize in class PathTracerrenderer - the renderer which provides the needed informationscene - the scene which is renderedpublic java.lang.String printIList()
public void set2LightPathTracing(boolean isLightRay)
isLightRay - public void setCondition(ConditionObject cond)
public void setMaxDepth(int maxDepth)
maxDepth - public void setRandom(java.util.Random random)
public void setSafeMemoryMode(MemoryHelper helper)
public PathValues traceLine(int maxDepth, PathValues pathValues, Line startLine, Spectrum initialWeight, int sourceID, boolean isLightRay, java.util.Random random)
maxDepth - - the maximum path depth (=the index of the last path vertex)pathValues - - In this pathvalue-instance the results of the tracing will be storedstartLine - - the inital line, which has to be traced furtherinitialWeight - - the weight of the initial linesourceID - - the id of the line source (light or camera)isLightRay - - the boolean for checking, wether this is line is a light ray or importance rayrandom - - the randomizerpublic void traceSubPath(PathValues srcPath, int startVertex, int newVertexCount, boolean isLightRay, Vector3d direction)