10#include <Common/logging.h>
38 std::size_t layerIndex,
71 TSynchronized<HdrRgbFilm> m_primaryFilm;
73 std::atomic_flag m_isPrimaryFilmUpdated;
83 return m_commonParams;
98 return m_sampleGenerator;
103 return m_primaryFilm;
Definition CoreCookedUnit.h:19
A film that records RGB values internally. Although film samples are added as spectral values,...
Definition HdrRgbFilm.h:21
Thread safe statictics tracking utilities.
Definition PMAtomicStatistics.h:13
Common parameters of photon mapping.
Definition PMCommonParams.h:13
Definition PMRendererBase.h:23
RenderObservationInfo getObservationInfo() const =0
Get information about available transient outputs of an ongoing render operation. This information wi...
void asyncDevelopPrimaryFilm(const Region ®ion, HdrRgbFrame &out_frame)
Definition PMRendererBase.cpp:69
void asyncReplacePrimaryFilm(const HdrRgbFilm &srcFilm)
Definition PMRendererBase.cpp:84
void doUpdate(const CoreCookedUnit &cooked, const VisualWorld &world) override
Gather cooked data. Perform any required initialization before render.
Definition PMRendererBase.cpp:35
const Receiver * getReceiver() const
Definition PMRendererBase.h:91
const SampleGenerator * getSampleGenerator() const
Definition PMRendererBase.h:96
PMAtomicStatistics & getStatistics()
Definition PMRendererBase.h:106
void doRender() override=0
Perform rendering.
TSynchronized< HdrRgbFilm > & getPrimaryFilm()
Definition PMRendererBase.h:101
RenderProgress asyncQueryRenderProgress() override=0
Get progress of the ongoing rendering process. Implementation is advised to provide this information ...
PMRendererBase(PMCommonParams commonParams, Viewport viewport, SampleFilter filter, uint32 numWorkers)
Definition PMRendererBase.cpp:15
std::size_t asyncPollUpdatedRegions(TSpan< RenderRegionStatus > out_regions) override
Get updated regions based on the state of primary film.
Definition PMRendererBase.cpp:46
void asyncPeekFrame(std::size_t layerIndex, const Region ®ion, HdrRgbFrame &out_frame) override=0
Get the intermediate render result. This method is similar to retrieveFrame(), except that correctnes...
void asyncMergeToPrimaryFilm(const HdrRgbFilm &srcFilm)
Definition PMRendererBase.cpp:76
const Scene * getScene() const
Definition PMRendererBase.h:86
const PMCommonParams & getCommonParams() const
Definition PMRendererBase.h:81
void retrieveFrame(std::size_t layerIndex, HdrRgbFrame &out_frame) override=0
Get the rendered result.
RenderStats asyncQueryRenderStats() override=0
Get general information of the ongoing rendering process. More information can be provided by the imp...
const SampleFilter & getFilter() const
Definition PMRendererBase.h:76
A target that can receive any physical quantity, typically electromagnetic energy....
Definition Receiver.h:22
Meta information for data related to ongoing render operation.
Definition RenderObservationInfo.h:15
Definition RenderProgress.h:12
Definition RenderStats.h:12
uint32 numWorkers() const
Definition Renderer.h:155
An image reconstruction kernel.
Definition SampleFilter.h:17
Generates samples in [0, 1]. Generators of different types produces samples with different properties...
Definition SampleGenerator.h:35
A unified interface for accessing cooked content in a visual world.
Definition Scene.h:27
A virtual world for image synthesis.
Definition VisualWorld.h:34
The root for all renderer implementations.
Definition EEngineProject.h:6
PH_DECLARE_LOG_GROUP(ActorCooking)
std::span< T, EXTENT > TSpan
A contiguous sequence of objects of type T. Effectively the same as std::span.
Definition TSpan.h:12