Lysa  0.0
Lysa 3D Engine
Renderpass Class Reference

Detailed Description

Base class for a single stage in the renderer frame graph.

  • Encapsulate pipelines, descriptor layouts/sets, and render state for a specific step (e.g., depth pre-pass, G-Buffer, lighting, post FX).
  • Provide resize() and update() hooks to recreate resources when the swap chain changes or per-frame data needs refreshing.

Notes:

  • Subclasses record their work into command lists provided by Renderer.
  • Unless stated otherwise, methods are expected to be called from the render thread.
+ Inheritance diagram for Renderpass:

Public Member Functions

 Renderpass (const RenderingConfiguration &config, const std::string &name)
 
virtual void resize (const vireo::Extent &extent, const std::shared_ptr< vireo::CommandList > &commandList)
 
virtual void update (uint32 frameIndex)
 
virtual ~Renderpass () = default
 
 Renderpass (Renderpass &) = delete
 
Renderpass & operator= (Renderpass &) = delete
 

Protected Member Functions

std::shared_ptr< vireo::ShaderModule > loadShader (const std::string &shaderName) const
 

Protected Attributes

const std::string name
 
const RenderingConfigurationconfig
 

Constructor & Destructor Documentation

Renderpass ( const RenderingConfiguration config,
const std::string &  name 
)

Constructs a render pass with a shared rendering configuration and name.

Parameters
configRendering configuration (frame buffering, formats).
nameHuman-readable name for debugging tools/logs.
virtual ~Renderpass ( )
virtualdefault
Renderpass ( Renderpass &  )
delete

Member Function Documentation

std::shared_ptr<vireo::ShaderModule> loadShader ( const std::string &  shaderName) const
protected

Utility to load a shader module by name (backend-agnostic).

Renderpass& operator= ( Renderpass &  )
delete
virtual void resize ( const vireo::Extent &  extent,
const std::shared_ptr< vireo::CommandList > &  commandList 
)
inlinevirtual
virtual void update ( uint32  frameIndex)
inlinevirtual

Update any per-frame state (default: no-op).

Reimplemented in lysa::PostProcessing::update(), lysa::ShadowMapPass::update()

Member Data Documentation

const RenderingConfiguration& config
protected

Shared rendering configuration.

const std::string name
protected

Debug/name label for the pass.