5#include <Common/assertion.h>
55 bool m_useRussianRoulette;
65 m_useRussianRoulette(true),
80 m_useRussianRoulette = useRR;
88 m_targetElemental = elemental;
96 m_targetPhenomena = phenomena;
103 return m_useRussianRoulette;
115 return m_targetElemental;
122 return m_targetPhenomena;
Manipulate a value type where each bit is a binary flag.
Definition TBitFlags.h:17
Specifying and querying policies for tracing view path.
Definition ViewPathTracingPolicy.h:24
SurfacePhenomena getTargetPhenomena() const
Definition ViewPathTracingPolicy.h:118
ViewPathTracingPolicy()
Definition ViewPathTracingPolicy.h:63
ViewPathTracingPolicy & kill()
Kills the path.
Definition ViewPathTracingPolicy.h:71
SurfaceElemental getTargetElemental() const
Definition ViewPathTracingPolicy.h:111
ViewPathTracingPolicy & traceBranchedPathFor(SurfacePhenomena phenomena)
Effectively as specifying EViewPathSampleMode::ElementalBranch.
Definition ViewPathTracingPolicy.h:93
bool useRussianRoulette() const
Definition ViewPathTracingPolicy.h:101
bool isKilled() const
Definition ViewPathTracingPolicy.h:125
ViewPathTracingPolicy & traceSinglePathFor(SurfaceElemental elemental)
Effectively as specifying EViewPathSampleMode::SinglePath.
Definition ViewPathTracingPolicy.h:85
EViewPathSampleMode getSampleMode() const
Definition ViewPathTracingPolicy.h:106
The root for all renderer implementations.
Definition EEngineProject.h:6
EViewPathSampleMode
Directives on how to trace the next path.
Definition ViewPathTracingPolicy.h:13
int SurfaceElemental
Definition surface_optics_fwd.h:30
constexpr SurfaceElemental ALL_SURFACE_ELEMENTALS
Definition surface_optics_fwd.h:58