1#ifndef OE_RENDER_PIPELINE
2#define OE_RENDER_PIPELINE
5#include "../util/pipeline.h"
6#include "screen_quad.h"
18 std::variant<CubicSkybox*, FlatSkybox*, std::nullptr_t> skybox =
nullptr;
136 glm::ivec2 _dimensions;
154 bool is_active =
true;
157 std::shared_ptr<oe::render::ScreenQuad> _screen_quad;
Definition framebuffer.h:53
Lighting manager (rendering)
Definition lighting.h:34
Definition pipeline.h:140
Pipeline & getRenderPipeline()
void setDimensions(const glm::ivec2 &dimensions)
Set the final framebuffer dimensions.
oe::render::Framebuffer & getResultFramebuffer()
Get the final framebuffer which be written by the pipeline.
std::shared_ptr< oe::render::Framebuffer > generateFramebuffer()
Generate a framebuffer for postprocessing effects.
void setResultFramebuffer(oe::render::Framebuffer &target)
Set the final framebuffer which be written by the pipeline.
Pipeline()=default
Build an empty rendering Pipeline.
void configureForPbrRendering(const PbrOptions &options)
Initialize the pipeline to act as a complete render pipeline ready for PBR rendering.
glm::ivec2 getDimensions() const noexcept
Get the final framebuffer dimensions.
Pipeline(const PbrOptions &options)
Build an Pipeline for PBR rendering.
Definition pipeline.h:71
The "eye of the scene".
Definition camera.h:31
Definition pipeline.h:112
Render related abstractions (Shader, Framebuffer, Cubemaps, Textures)
Definition opengl.h:10
Oxygen Engine common namespace.
Definition debug.h:17
Generic render manager.
Definition manager.h:35
Options to use in Pipeline::configureForPbrRendering.
Definition pipeline.h:36
bool add_debug_render
Set to true to a debug pipe for displaying debug data.
Definition pipeline.h:54
bool ssao_fixed_size
Use a constant size buffer for SSAO instead of using one based on output buffer dimensions.
Definition pipeline.h:48
glm::ivec2 dimensions
Final framebuffer dimensions.
Definition pipeline.h:45
bool debug_render_flush
If the debug pipe is added, do we need to flush debug objects after rendering.
Definition pipeline.h:61
uint32_t ssao_fixed_height
When using a constant size buffer for SSAO, this is the default height. Width is computed based on fr...
Definition pipeline.h:51
oe::render::Lighting * lighting_component
Lighting component of the scene.
Definition pipeline.h:42