java.lang.Object
de.grogra.ray2.metropolis.strategy.MutationStrategy
- All Implemented Interfaces:
MetropolisStrategy
- Direct Known Subclasses:
BidirectionalMutationStrat,CausticPerturbation,LensPerturbationStrat,LensSubpathStrat
-
Field Summary
FieldsModifier and TypeFieldDescriptionintprotected MetropolisAntiAliasingstatic final intstatic final intstatic final intprotected ComplementTracerprotected PathValuesstatic final Stringprotected intprotected IntersectionListprotected PathValuesstatic final Stringprotected intprotected static intprotected static final floatprotected CombinedPathValuesstatic final intstatic final intstatic final intstatic final intstatic final intprotected MTRandomprotected intprotected CombinedPathValuesstatic final intprotected Environmentprotected Lineprotected Point3dprotected Point3dprotected RayListprotected Spectrum3dprotected Spectrum3dprotected Spectrum3dprotected Vector3fprotected Vector3fprotected LineTracerstatic final intprotected TracingMediator -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfloatcalculateAcceptanceProbality(int l, int m, int l_, int m_) floatcalculateQ(int l, int m, int l_, int m_, CombinedPathValues srcPath, CombinedPathValues mutatedPath, boolean x2y) generateNewStartLine(boolean isLightRay) intgetAddiationPathLength(int kd) floatgetAddProbability(int l, int m, int l_, int m_) int[]getAddVertice(int k) getCombinedBSDF(int startIndex, CombinedPathValues mutatedPath) floatgetDeleteProbability(int l, int m) int[]getDeleteVertice(int k) intfloatgetI_0(CombinedPathValues path) booleanhitsCanvas(CombinedPathValues testPath) abstract voidinitialize(double[] values) booleanisVisble(Environment lightEnv, Environment eyeEnv, Intersection lightInt) floatluminance(Spectrum3d lumSpec) floatmutatePath(CombinedPathValues actualPath, CombinedPathValues mutatedPath) voidintregisterError(int error) abstract voidresetAll()voidtraceEyeSubPath(int m, int m_) voidtraceLightSubPath(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:
mutatePathin 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:
getAcceptanceAbbortDescriptionin interfaceMetropolisStrategy
-
registerError
public int registerError(int error) -
pathChanged
public void pathChanged()- Specified by:
pathChangedin interfaceMetropolisStrategy
-
getDescription
- Specified by:
getDescriptionin interfaceMetropolisStrategy
-
resetAll
public abstract void resetAll()- Specified by:
resetAllin interfaceMetropolisStrategy
-
getStatistics
- Specified by:
getStatisticsin interfaceMetropolisStrategy
-