Brenta Engine 1.2
Loading...
Searching...
No Matches
post_process_pass.hpp
1// SPDX-License-Identifier: MIT
2// Author: Giovanni Santini
3// Mail: giovanni.santini@proton.me
4// Github: @San7o
5
6#pragma once
7
8#include <brenta/renderer/pipeline.hpp>
9
10namespace brenta
11{
12
13class Material;
14class FrameBuffer;
15
17{
18public:
19
20 PostProcessPass() = delete;
21 PostProcessPass(tenno::shared_ptr<FrameBuffer> input_fb,
22 tenno::shared_ptr<FrameBuffer> output_fb,
23 tenno::shared_ptr<Material> pp_material,
24 bool clear = false, bool set_viewport = false);
25
26 PostProcessPass(const PostProcessPass& other) = delete;
27 PostProcessPass &operator=(const PostProcessPass& other) = delete;
28
29 void begin() override;
30 void end() override;
31
32 void execute(const Renderer::RenderData& data) override;
33
34private:
35
36 tenno::shared_ptr<FrameBuffer> input_fb;
37 tenno::shared_ptr<FrameBuffer> output_fb;
38 tenno::shared_ptr<Model> screen_quad;
39 bool clear = false;
40 bool set_viewport = false;
41
42};
43
44} // namespace brenta