| Oxygen Engine
    Modern C++ 3D Engine using OpenGL | 
 Inheritance diagram for oe::render::Pipeline:
 Inheritance diagram for oe::render::Pipeline: Collaboration diagram for oe::render::Pipeline:
 Collaboration diagram for oe::render::Pipeline:| Classes | |
| struct | PbrOptions | 
| Options to use in Pipeline::configureForPbrRendering.  More... | |
| Public Member Functions | |
| Pipeline ()=default | |
| Build an empty rendering Pipeline. | |
| Pipeline (const PbrOptions &) | |
| Build an Pipeline for PBR rendering. | |
| void | setResultFramebuffer (oe::render::Framebuffer &target) | 
| Set the final framebuffer which be written by the pipeline. | |
| oe::render::Framebuffer & | getResultFramebuffer () | 
| Get the final framebuffer which be written by the pipeline. | |
| void | setDimensions (const glm::ivec2 &dimensions) | 
| Set the final framebuffer dimensions. | |
| glm::ivec2 | getDimensions () const noexcept | 
| Get the final framebuffer dimensions. | |
| std::shared_ptr< oe::render::Framebuffer > | generateFramebuffer () | 
| Generate a framebuffer for postprocessing effects. | |
| std::shared_ptr< oe::render::Framebuffer > | generateFramebuffer (const glm::ivec2 &size) | 
| Generate a framebuffer for postprocessing effects. | |
| void | configureForPbrRendering (const PbrOptions &options) | 
| Initialize the pipeline to act as a complete render pipeline ready for PBR rendering. | |
| void | configureForPbrRendering (scene::Manager &scene_manager, const PbrOptions &options) | 
| Initialize the pipeline to act as a complete render pipeline ready for PBR rendering. | |
|  Public Member Functions inherited from oe::util::Pipeline< PipelineInput, PipelineOutput > | |
| Pipeline (Args &&... args) | |
| Pipeline & | addPipe (const std::string &name, Args &&...args) | 
| void | init () | 
| void | clean () | 
| PipelineOutput | run (const PipelineInput &request) | 
| PipelineOutput | getDefaultResponse () | 
| void | generateDefaultResponse (Types... args) | 
| T * | getPipeByName (const std::string &name) | 
| void | enableStepByStepMode () | 
| void | disableStepByStepMode () | 
| bool | isStepByStepMode () | 
| std::pair< PipelineOutput, bool > | step (const PipelineInput &request) | 
| Additional Inherited Members | |
|  Protected Member Functions inherited from oe::util::Pipeline< PipelineInput, PipelineOutput > | |
| void | _rebuildPipeOrder () | 
|  Protected Attributes inherited from oe::util::Pipeline< PipelineInput, PipelineOutput > | |
| std::vector< std::unique_ptr< PipeHandler > > | _pipes | 
| PipelineOutput | _default_response | 
| std::map< std::string, PipeHandler * > | _pipes_by_name | 
| std::optional< int32_t > | _last_step_pipe | 
| oe::render::Pipeline::Pipeline | ( | const PbrOptions & | ) | 
Build an Pipeline for PBR rendering.
| void oe::render::Pipeline::configureForPbrRendering | ( | const PbrOptions & | options | ) | 
Initialize the pipeline to act as a complete render pipeline ready for PBR rendering.
The following passes are added (in order):
geometry (pipeline::GeometryPass) Fill Geometry Buffer from deferred geometry (= solid and alpha-clip geometry)ssao (pipeline::SsaoPass) Compute SSAO (Screen Space Ambient Occlusion) from deferred geometryreflections (pipeline::ReflectionsPass) Compute deferred geometry reflections using SSR (Screen Space Reflections) and cubemapslighting (pipeline::LightingPass) Compute surface lighting response for deferred geometry + apply reflections and SSAOrefractions (pipeline::RefractionsPass) Generate different levels of blur from the lighting pass to be used as source in forward pass to render refractive transparent objectsforward (pipeline::ForwardPass) Render forward rendering geometry (glass, effects, etc...)debug (pipeline::DebugPass) Render debug objects filled with oe::render::Debug (only added if options.add_debug_render is enabled)final (pipeline::FinalPass) Apply final effects to the image (Bloom + Tonemap + Anti-aliasing) and blit it into the target framebuffer| options | Options to customise pipeline settings | 
| void oe::render::Pipeline::configureForPbrRendering | ( | scene::Manager & | scene_manager, | 
| const PbrOptions & | options | ||
| ) | 
Initialize the pipeline to act as a complete render pipeline ready for PBR rendering.
| std::shared_ptr< oe::render::Framebuffer > oe::render::Pipeline::generateFramebuffer | ( | ) | 
Generate a framebuffer for postprocessing effects.
| std::shared_ptr< oe::render::Framebuffer > oe::render::Pipeline::generateFramebuffer | ( | const glm::ivec2 & | size | ) | 
Generate a framebuffer for postprocessing effects.
| size | framebuffer size | 
| void oe::render::Pipeline::setResultFramebuffer | ( | oe::render::Framebuffer & | target | ) | 
Set the final framebuffer which be written by the pipeline.
| target | framebuffer |