28 std::atomic_uint64_t m_numTracedPhotons;
29 std::atomic_uint32_t m_numProcessedSteps;
41 m_numTracedPhotons = 0;
42 m_numProcessedSteps = 0;
47 m_numTracedPhotons.fetch_add(
static_cast<std::uint64_t
>(num), std::memory_order_relaxed);
52 m_numProcessedSteps.fetch_add(1, std::memory_order_relaxed);
57 return static_cast<std::size_t
>(m_numTracedPhotons.load(std::memory_order_relaxed));
62 return static_cast<std::size_t
>(m_numProcessedSteps.load(std::memory_order_relaxed));
Thread safe statictics tracking utilities.
Definition PMAtomicStatistics.h:13
void zero()
Resets all internal states.
Definition PMAtomicStatistics.h:39
std::size_t numProcessedSteps() const
Definition PMAtomicStatistics.h:60
void addNumTracedPhotons(std::size_t num)
Definition PMAtomicStatistics.h:45
std::size_t numTracedPhotons() const
Definition PMAtomicStatistics.h:55
void incrementNumProcessedSteps()
Definition PMAtomicStatistics.h:50
PMAtomicStatistics()
Definition PMAtomicStatistics.h:34
The root for all renderer implementations.
Definition EEngineProject.h:6