Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
reflections.h
1#ifndef OE_RENDER_PIPELINE_REFLECTIONS
2#define OE_RENDER_PIPELINE_REFLECTIONS
3
4#include "../pipeline.h"
5
6namespace oe::render
7{
8 class Lighting;
9}
10
12{
14 {
15 public:
16 ReflectionsPass(const render::Lighting* light_manager);
17
18 void init() override;
19
20 void setGeometryBuffer(std::shared_ptr<oe::render::Framebuffer> geometry_buffer);
21 //void setLastFrame(std::shared_ptr<oe::render::Framebuffer> geometry_buffer);
22 void setSsaoTexture(std::shared_ptr<oe::render::Texture> ssao_texture);
23
24 oe::render::PipelineOutput handle(const oe::render::PipelineInput&& input) override;
25
29 std::shared_ptr<oe::render::Framebuffer> getFramebuffer();
30
31 private:
32 std::shared_ptr<oe::render::Framebuffer> _framebuffer;
33
34 std::shared_ptr<oe::render::Shader> _shader;
35
36 std::shared_ptr<oe::render::Texture> _depth_texture;
37 std::shared_ptr<oe::render::Texture> _rou_met_ao_texture;
38 std::shared_ptr<oe::render::Texture> _normal_texture;
39
40 std::shared_ptr<oe::render::Texture> _ssao_texture;
41
42 const render::Lighting* _light_manager;
43 };
44}
45
46#endif
Definition framebuffer.h:53
Lighting manager (rendering)
Definition lighting.h:34
Definition pipeline.h:140
Definition reflections.h:14
std::shared_ptr< oe::render::Framebuffer > getFramebuffer()
Predefined Pass and helpers for the Pipeline.
Definition blur_manager.h:8
Render related abstractions (Shader, Framebuffer, Cubemaps, Textures)
Definition opengl.h:10
Definition pipeline.h:15