java.lang.Object
de.grogra.ray2.metropolis.strategy.MutationStrategy
- All Implemented Interfaces:
MetropolisStrategy
- Direct Known Subclasses:
BidirectionalMutationStrat
,CausticPerturbation
,LensPerturbationStrat
,LensSubpathStrat
-
Field Summary
Modifier and TypeFieldDescriptionint
protected MetropolisAntiAliasing
static final int
static final int
static final int
protected ComplementTracer
protected PathValues
static final String
protected int
protected IntersectionList
protected PathValues
static final String
protected int
protected static int
protected static final float
protected CombinedPathValues
static final int
static final int
static final int
static final int
static final int
protected MTRandom
protected int
protected CombinedPathValues
static final int
protected Environment
protected Line
protected Point3d
protected Point3d
protected RayList
protected Spectrum3d
protected Spectrum3d
protected Spectrum3d
protected Vector3f
protected Vector3f
protected LineTracer
static final int
protected TracingMediator
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfloat
calculateAcceptanceProbality
(int l, int m, int l_, int m_) float
calculateQ
(int l, int m, int l_, int m_, CombinedPathValues srcPath, CombinedPathValues mutatedPath, boolean x2y) generateNewStartLine
(boolean isLightRay) int
getAddiationPathLength
(int kd) float
getAddProbability
(int l, int m, int l_, int m_) int[]
getAddVertice
(int k) getCombinedBSDF
(int startIndex, CombinedPathValues mutatedPath) float
getDeleteProbability
(int l, int m) int[]
getDeleteVertice
(int k) int
float
getI_0
(CombinedPathValues path) boolean
hitsCanvas
(CombinedPathValues testPath) abstract void
initialize
(double[] values) boolean
isVisble
(Environment lightEnv, Environment eyeEnv, Intersection lightInt) float
luminance
(Spectrum3d lumSpec) float
mutatePath
(CombinedPathValues actualPath, CombinedPathValues mutatedPath) void
int
registerError
(int error) abstract void
resetAll()
void
traceEyeSubPath
(int m, int m_) void
traceLightSubPath
(int l, int l_)
-
Field Details
-
MIN_WEIGHT
protected static final float MIN_WEIGHT- See Also:
-
tracingMediator
-
antialiser
-
tracer
-
complTracer
-
rnd
-
srcPath
-
mutatedPath
-
condition
-
EYEPATH_DEPTH
- See Also:
-
LIGHTPATH_DEPTH
- See Also:
-
abbortCode
public int abbortCode -
NOT_IMPLEMENTED_YET
public static final int NOT_IMPLEMENTED_YET- See Also:
-
SUCCESSFUL_MUTATIONRUN
public static final int SUCCESSFUL_MUTATIONRUN- See Also:
-
NOT_VISIBLE
public static final int NOT_VISIBLE- See Also:
-
NO_VALID_COMBINEDPATH
public static final int NO_VALID_COMBINEDPATH- See Also:
-
BSDF_WAS_ZERO
public static final int BSDF_WAS_ZERO- See Also:
-
NO_CHANGES_HAPPENED
public static final int NO_CHANGES_HAPPENED- See Also:
-
PATH_SPECTRA_WERE_TOO_WEAK
public static final int PATH_SPECTRA_WERE_TOO_WEAK- See Also:
-
CANVAS_WASNT_HIT
public static final int CANVAS_WASNT_HIT- See Also:
-
CALCULATION_ERROR
public static final int CALCULATION_ERROR- See Also:
-
TRACINGGOAL_WASNT_REACHED
public static final int TRACINGGOAL_WASNT_REACHED- See Also:
-
MAXVAL
protected static int MAXVAL -
sig
protected int sig -
eyePath
-
lightPath
-
tmpSpec1
-
tmpSpec2
-
tmpSpec3
-
tmpVec1
-
tmpVec2
-
tmpPoint1
-
tmpPoint2
-
tmpLine
-
ilist
-
tmpRayList
-
tmpEnv
-
eyePathDepth
protected int eyePathDepth -
lightPathDepth
protected int lightPathDepth
-
-
Constructor Details
-
MutationStrategy
-
-
Method Details
-
initialize
public abstract void initialize(double[] values) -
mutatePath
- Specified by:
mutatePath
in interfaceMetropolisStrategy
-
getDeleteProbability
public float getDeleteProbability(int l, int m) -
getAddProbability
public float getAddProbability(int l, int m, int l_, int m_) -
getDeletionPathLength
public int getDeletionPathLength() -
getAddiationPathLength
public int getAddiationPathLength(int kd) -
getDeleteVertice
public int[] getDeleteVertice(int k) -
getAddVertice
public int[] getAddVertice(int k) -
traceLightSubPath
public void traceLightSubPath(int l, int l_) -
traceEyeSubPath
public void traceEyeSubPath(int m, int m_) -
generateNewStartLine
-
calculateAcceptanceProbality
public float calculateAcceptanceProbality(int l, int m, int l_, int m_) -
getI_0
-
calculateQ
public float calculateQ(int l, int m, int l_, int m_, CombinedPathValues srcPath, CombinedPathValues mutatedPath, boolean x2y) -
luminance
-
getCombinedBSDF
-
isVisble
-
hitsCanvas
-
getAcceptanceAbbortDescription
- Specified by:
getAcceptanceAbbortDescription
in interfaceMetropolisStrategy
-
registerError
public int registerError(int error) -
pathChanged
public void pathChanged()- Specified by:
pathChanged
in interfaceMetropolisStrategy
-
getDescription
- Specified by:
getDescription
in interfaceMetropolisStrategy
-
resetAll
public abstract void resetAll()- Specified by:
resetAll
in interfaceMetropolisStrategy
-
getStatistics
- Specified by:
getStatistics
in interfaceMetropolisStrategy
-