![]() |
Lysa
0.0
Lysa 3D Engine
|
Render pass for generating G-buffers
Inheritance diagram for GBufferPass:Public Member Functions | |
| GBufferPass (const RendererConfiguration &config, bool withStencil) | |
| void | updatePipelines (const std::unordered_map< pipeline_id, std::vector< unique_id >> &pipelineIds) |
| void | render (vireo::CommandList &commandList, const SceneFrameData &scene, const std::shared_ptr< vireo::RenderTarget > &colorAttachment, const std::shared_ptr< vireo::RenderTarget > &depthAttachment, bool clearAttachment, uint32 frameIndex) |
| void | resize (const vireo::Extent &extent, const std::shared_ptr< vireo::CommandList > &commandList) override |
| auto | getPositionBuffer (const uint32 frameIndex) const |
| auto | getNormalBuffer (const uint32 frameIndex) const |
| auto | getAlbedoBuffer (const uint32 frameIndex) const |
| auto | getEmissiveBuffer (const uint32 frameIndex) const |
| auto | getVelocityBuffer (const uint32 frameIndex) const |
Public Member Functions inherited from Renderpass | |
| Renderpass (const RendererConfiguration &config, const std::string &name) | |
| virtual void | update (uint32 frameIndex) |
| virtual | ~Renderpass () = default |
| Renderpass (Renderpass &) = delete | |
| Renderpass & | operator= (Renderpass &) = delete |
Additional Inherited Members | |
Static Public Member Functions inherited from Renderpass | |
| static void | destroyShaderModules () |
Protected Member Functions inherited from Renderpass | |
| std::shared_ptr< vireo::ShaderModule > | loadShader (const std::string &shaderName) const |
| void | init (vireo::GraphicPipelineConfiguration &pipelineConfig, vireo::RenderingConfiguration &renderingConfig, const std::shared_ptr< vireo::DescriptorLayout > &descriptorLayout, bool withStencil) |
| void | init (vireo::GraphicPipelineConfiguration &pipelineConfig, vireo::RenderingConfiguration &renderingConfig, bool withStencil) const |
| void | initRendering (vireo::CommandList &commandList, const std::shared_ptr< vireo::Image > &image, const std::shared_ptr< vireo::GraphicPipeline > &pipeline, const std::shared_ptr< vireo::DescriptorSet > &sceneDescriptorSet, const std::shared_ptr< vireo::DescriptorSet > &descriptorSet) |
Protected Attributes inherited from Renderpass | |
| const std::string | name |
| const RendererConfiguration & | config |
Static Protected Attributes inherited from Renderpass | |
| static std::mutex | shaderModulesMutex |
| static std::unordered_map< std::string, std::shared_ptr< vireo::ShaderModule > > | shaderModules |
| GBufferPass | ( | const RendererConfiguration & | config, |
| bool | withStencil | ||
| ) |
Constructs a GBufferPass
| config | The renderer configuration |
| withStencil | Whether to enable stencil testing |
|
inline |
Gets the albedo buffer for a specific frame
| frameIndex | Index of the current frame |
|
inline |
Gets the emissive buffer for a specific frame
| frameIndex | Index of the current frame |
|
inline |
Gets the normal buffer for a specific frame
| frameIndex | Index of the current frame |
|
inline |
Gets the position buffer for a specific frame
| frameIndex | Index of the current frame |
|
inline |
Gets the velocity buffer for a specific frame
| frameIndex | Index of the current frame |
| void render | ( | vireo::CommandList & | commandList, |
| const SceneFrameData & | scene, | ||
| const std::shared_ptr< vireo::RenderTarget > & | colorAttachment, | ||
| const std::shared_ptr< vireo::RenderTarget > & | depthAttachment, | ||
| bool | clearAttachment, | ||
| uint32 | frameIndex | ||
| ) |
Renders the G-buffer pass
| commandList | The command list to record rendering commands into |
| scene | The scene frame data |
| colorAttachment | The target color attachment |
| depthAttachment | The target depth attachment |
| clearAttachment | Whether to clear the color attachment |
| frameIndex | Index of the current frame |
|
overridevirtual |
Recreate pass resources after a resize (default: no-op).
Reimplemented from lysa::Renderpass::resize()
| void updatePipelines | ( | const std::unordered_map< pipeline_id, std::vector< unique_id >> & | pipelineIds | ) |
Updates the graphics pipelines based on active pipeline IDs
| pipelineIds | Map of pipeline IDs to unique object IDs |