Forward rendering path.
Renders opaque geometry directly to the color/depth attachments using a single forward pass, then handles transparency and post processing passes. Suitable for scenes with many materials requiring complex shading (PBR, alpha test, etc.) without a G-Buffer.
|
| | ForwardRenderer (const RendererConfiguration &config, vireo::ImageFormat outputFormat) |
| |
| void | updatePipelines (const std::unordered_map< pipeline_id, std::vector< unique_id >> &pipelineIds) override |
| |
| void | resize (const vireo::Extent &extent, const std::shared_ptr< vireo::CommandList > &commandList) override |
| |
| std::shared_ptr< vireo::Image > | getBrightnessAttachment (const uint32 frameIndex) const override |
| |
| void | update (uint32 frameIndex) override |
| |
| virtual std::shared_ptr< vireo::RenderTarget > | getColorRenderTarget (const uint32 frameIndex) const |
| |
| auto | getColorAttachment (const uint32 frameIndex) const |
| |
| auto | getDepthAttachment (const uint32 frameIndex) const |
| |
| std::shared_ptr< vireo::Image > | getCurrentColorAttachment (uint32 frameIndex) const |
| |
| void | updatePipelines (const SceneFrameData &scene) |
| |
| void | prepare (const std::shared_ptr< vireo::CommandList > &commandList, const SceneFrameData &scene, const vireo::Viewport &viewport, const vireo::Rect &scissors, uint32 frameIndex) |
| |
| void | render (const std::shared_ptr< vireo::CommandList > &commandList, const SceneFrameData &scene, const vireo::Viewport &viewport, const vireo::Rect &scissors, bool clearAttachment, uint32 frameIndex) |
| |
| std::shared_ptr< vireo::Image > | postprocessBloom (const std::shared_ptr< vireo::CommandList > &commandList, uint32 frameIndex) const |
| |
| std::shared_ptr< vireo::Image > | postprocess (const std::shared_ptr< vireo::CommandList > &commandList, const std::shared_ptr< vireo::Image > &colorAttachment, uint32 frameIndex) |
| |
| std::shared_ptr< vireo::Image > | postprocessAA (const std::shared_ptr< vireo::CommandList > &commandList, const std::shared_ptr< vireo::Image > &colorAttachment, uint32 frameIndex) const |
| |
| void | renderCustomRenderPasses (const std::shared_ptr< vireo::CommandList > &commandList, const SceneFrameData &scene, RenderingPhase stage, uint32 frameIndex) |
| |
| void | addPostprocessing (FullScreenCompute &postProcessingPass) |
| |
| void | removePostprocessing (const std::string &fragShaderName) |
| |
| void | removePostprocessing (const FullScreenCompute &postProcessingPass) |
| |
| void | addRenderPass (RenderingPhase phase, CustomRenderpass &pass) |
| |
| void | removeRenderPass (RenderingPhase phase, const CustomRenderpass &pass) |
| |
| TransparencyPass & | getTransparencyPass () |
| |
| FXAAPass & | getFXAAPass () const |
| |
| SMAAPass & | getSMAAPass () const |
| |
| BloomPass & | getBloomPass () const |
| |
| GammaCorrectionPass & | getGammaCorrectionPass () const |
| |
| vireo::ImageFormat | getOutputFormat () const |
| |
| const auto & | getExtent () const |
| |
| virtual | ~Renderer () = default |
| |
| | Renderer (Renderer &) = delete |
| |
| Renderer & | operator= (Renderer &) = delete |
| |