Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
FrameProcessor.h
Go to the documentation of this file.
1#pragma once
2
4#include "Utility/IMoveOnly.h"
5
6#include <vector>
7
8namespace ph
9{
10
16class FrameProcessor final : private IMoveOnly
17{
18public:
19 using PipelineId = std::size_t;
20
21 void process(
22 PipelineId pipeline,
23 const HdrRgbFrame& srcFrame,
24 HdrRgbFrame* out_dstFrame);
25
28 const FrameProcessingPipeline* getPipeline(PipelineId pipeline) const;
29
30private:
31 std::vector<FrameProcessingPipeline> m_pipelines;
32
33 bool checkPipelineId(PipelineId id) const;
34};
35
36}// end namespace ph
Process frames with a series of operations.
Definition FrameProcessingPipeline.h:16
Manages and executes frame processing pipelines.
Definition FrameProcessor.h:17
FrameProcessingPipeline * getPipeline(PipelineId pipeline)
Definition FrameProcessor.cpp:31
std::size_t PipelineId
Definition FrameProcessor.h:19
PipelineId addPipeline()
Definition FrameProcessor.cpp:24
void process(PipelineId pipeline, const HdrRgbFrame &srcFrame, HdrRgbFrame *out_dstFrame)
Definition FrameProcessor.cpp:10
Marks the derived class as move only.
Definition IMoveOnly.h:23
The root for all renderer implementations.
Definition EEngineProject.h:6