Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
FrameProcessingPipeline.h
Go to the documentation of this file.
1#pragma once
2
4#include "Frame/TFrame.h"
5#include "Utility/IMoveOnly.h"
6
7#include <vector>
8#include <memory>
9
10namespace ph
11{
12
16{
17public:
18 inline FrameProcessingPipeline() = default;
20
21 void process(const HdrRgbFrame& srcFrame, HdrRgbFrame* out_dstFrame);
22 void appendOperator(std::unique_ptr<FrameOperator> op);
23
25
26private:
27 std::vector<std::unique_ptr<FrameOperator>> m_operators;
28 HdrRgbFrame m_tmpFrame;
29};
30
31}// end namespace ph
Process frames with a series of operations.
Definition FrameProcessingPipeline.h:16
FrameProcessingPipeline & operator=(FrameProcessingPipeline &&rhs)
Definition FrameProcessingPipeline.cpp:49
void appendOperator(std::unique_ptr< FrameOperator > op)
Definition FrameProcessingPipeline.cpp:38
void process(const HdrRgbFrame &srcFrame, HdrRgbFrame *out_dstFrame)
Definition FrameProcessingPipeline.cpp:16
Marks the derived class as move only.
Definition IMoveOnly.h:23
The root for all renderer implementations.
Definition EEngineProject.h:6