![]() |
Lysa
0.0
Lysa 3D Engine
|
Deferred rendering path.
Renders geometry into a G-Buffer (position, normal, albedo, emissive), then performs lighting as a full-screen pass, followed by transparency and optional SSAO and bloom post-processing.
Inheritance diagram for DeferredRenderer:Public Member Functions | |
| DeferredRenderer (const RendererConfiguration &config, vireo::ImageFormat outputFormat) | |
| void | update (uint32 frameIndex) override |
| 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::RenderTarget > | getBrightnessAttachment (const uint32 frameIndex) const override |
| std::shared_ptr< vireo::RenderTarget > | getColorAttachment (const uint32 frameIndex) const override |
| GBufferPass & | getGBufferPass () |
| SSAOPass & | getSSAOPass () const |
| SSRPass & | getSSRPass () const |
| PostProcessing & | getSSAOBlurPass () const |
Public Member Functions inherited from Renderer | |
| auto | getDepthAttachment (const uint32 frameIndex) const |
| std::shared_ptr< vireo::RenderTarget > | getCurrentColorAttachment (uint32 frameIndex) const |
| void | updatePipelines (const SceneFrameData &scene) |
| void | prepare (vireo::CommandList &commandList, const SceneFrameData &scene, const vireo::Viewport &viewport, const vireo::Rect &scissors, uint32 frameIndex) |
| void | render (vireo::CommandList &commandList, const SceneFrameData &scene, const vireo::Viewport &viewport, const vireo::Rect &scissors, bool clearAttachment, uint32 frameIndex) |
| void | postprocess (vireo::CommandList &commandList, uint32 frameIndex) |
| void | addPostprocessing (PostProcessing &postProcessingPass) |
| void | removePostprocessing (const std::string &fragShaderName) |
| void | removePostprocessing (const PostProcessing &postProcessingPass) |
| TransparencyPass & | getTransparencyPass () |
| SMAAPass & | getSMAAPass () const |
| BloomPass & | getBloomPass () const |
| const auto & | getExtent () const |
| virtual | ~Renderer () = default |
| Renderer (Renderer &) = delete | |
| Renderer & | operator= (Renderer &) = delete |
Protected Member Functions | |
| void | colorPass (vireo::CommandList &commandList, const SceneFrameData &scene, const vireo::Viewport &viewport, const vireo::Rect &scissors, bool clearAttachment, uint32 frameIndex) override |
Protected Member Functions inherited from Renderer | |
| Renderer (const RendererConfiguration &config, vireo::ImageFormat outputFormat) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Renderer | |
| static std::unique_ptr< Renderer > | create (const RendererConfiguration &config, vireo::ImageFormat outputFormat) |
Protected Attributes inherited from Renderer | |
| const bool | withStencil |
| const RendererConfiguration | config |
| std::vector< FrameData > | framesData |
| DepthPrepass | depthPrePass |
| DeferredRenderer | ( | const RendererConfiguration & | config, |
| vireo::ImageFormat | outputFormat | ||
| ) |
Constructs a deferred renderer instance.
| config | Rendering configuration (attachments, frames in flight). |
| outputFormat |
|
overrideprotectedvirtual |
Implements lysa::Renderer::colorPass()
|
inlineoverridevirtual |
Returns the color buffer used for bloom extraction for a frame.
Implements lysa::Renderer::getBrightnessAttachment()
|
inlineoverridevirtual |
Accessor for the color render target of the current frame.
Reimplemented from lysa::Renderer::getColorAttachment()
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Recreates attachments/pipelines after a render target resize.
| extent | New swap chain extent. |
| commandList | Command list used for any required transitions/copies. |
Reimplemented from lysa::Renderer::resize()
|
overridevirtual |
Performs per-frame housekeeping (e.g., pass-local data updates).
Reimplemented from lysa::Renderer::update()
|
overridevirtual |
Updates graphics pipelines according to the provided materials mapping.
| pipelineIds | Map of pipeline family id to materials. |
Reimplemented from lysa::Renderer::updatePipelines()