Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
final.h
1#ifndef OE_RENDER_PIPELINE_FINAL
2#define OE_RENDER_PIPELINE_FINAL
3
4#include "../pipeline.h"
5#include "../screen_quad.h"
6
8{
14 class FinalPass : public Pass
15 {
16 public:
17 void init();
18
19 void setHdrTexture(std::shared_ptr<oe::render::Texture>);
20 void setBloomTexture(std::shared_ptr<oe::render::Texture>);
21
22 oe::render::PipelineOutput handle(oe::render::Manager& render_manager);
23
24 private:
25 std::shared_ptr<oe::render::Texture> _hdr_render;
26 std::shared_ptr<oe::render::Texture> _bloom_render;
27 std::shared_ptr<oe::render::Texture> _tonemapped_render;
28
29 std::shared_ptr<oe::render::Shader> _tonemap_shader;
30 std::shared_ptr<oe::render::Shader> _final_shader;
31
32 std::shared_ptr<oe::render::Framebuffer> _framebuffer;
33
34 glm::vec2 _dimensions = {};
35 glm::vec2 _invert_dimensions = {};
36 };
37}
38
39#endif
Definition framebuffer.h:43
Render manager.
Definition manager.h:22
Definition pipeline.h:131
Definition final.h:15
Predefined Pass and helpers for the Pipeline.
Definition blur_manager.h:8