Lysa  0.0
Lysa 3D Engine
BloomPass Class Reference

Detailed Description

Render pass for bloom effect

+ Inheritance diagram for BloomPass:

Public Member Functions

 BloomPass (const RendererConfiguration &config, vireo::ImageFormat outputFormat)
 
void update (uint32 frameIndex) override
 
void render (vireo::CommandList &commandList, const std::shared_ptr< vireo::RenderTarget > &colorAttachment, const std::shared_ptr< vireo::RenderTarget > &bloomAttachment, uint32 frameIndex) override
 
void resize (const vireo::Extent &extent) override
 
PostProcessinggetBlurPass ()
 
- Public Member Functions inherited from PostProcessing
 PostProcessing (const RendererConfiguration &config, vireo::ImageFormat outputFormat, const std::string &fragShaderName, void *data=nullptr, uint32 dataSize=0, const std::string &name="")
 
void update (uint32 frameIndex) override
 
virtual void render (vireo::CommandList &commandList, const std::shared_ptr< vireo::RenderTarget > &colorAttachment, uint32 frameIndex)
 
void resize (const vireo::Extent &extent, const std::shared_ptr< vireo::CommandList > &commandList) override
 
virtual std::shared_ptr< vireo::RenderTarget > getColorAttachment (const uint32 frameIndex)
 
const auto & getFragShaderName () const
 
- Public Member Functions inherited from Renderpass
 Renderpass (const RendererConfiguration &config, const std::string &name)
 
virtual ~Renderpass () = default
 
 Renderpass (Renderpass &) = delete
 
Renderpass & operator= (Renderpass &) = delete
 

Additional Inherited Members

- Static Public Member Functions inherited from Renderpass
static void destroyShaderModules ()
 
- Static Public Attributes inherited from PostProcessing
static const std::string VERTEX_SHADER {"quad.vert"}
 
static constexpr vireo::DescriptorIndex BINDING_PARAMS {0}
 
static constexpr vireo::DescriptorIndex BINDING_DATA {1}
 
static constexpr vireo::DescriptorIndex BINDING_TEXTURES {2}
 
static constexpr int INPUT_BUFFER {0}
 
static constexpr int DEPTH_BUFFER {1}
 
static constexpr int BLOOM_BUFFER {2}
 
static constexpr int TEXTURES_COUNT {BLOOM_BUFFER+1}
 
- Protected Member Functions inherited from PostProcessing
virtual void render (vireo::CommandList &commandList, const std::shared_ptr< vireo::RenderTarget > &colorAttachment, const std::shared_ptr< vireo::RenderTarget > &depthAttachment, const std::shared_ptr< vireo::RenderTarget > &bloomColorAttachment, uint32 frameIndex)
 
- 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 PostProcessing
vireo::GraphicPipelineConfiguration pipelineConfig
 
vireo::RenderingConfiguration renderingConfig
 
const std::string fragShaderName
 
uint8 dummyData {0}
 
void * data {nullptr}
 
std::shared_ptr< vireo::Buffer > dataUniform {nullptr}
 
std::vector< FrameDataframesData
 
std::vector< std::shared_ptr< vireo::Image > > textures
 
std::shared_ptr< vireo::DescriptorLayout > descriptorLayout
 
std::shared_ptr< vireo::GraphicPipeline > pipeline
 
- Protected Attributes inherited from Renderpass
const std::string name
 
const RendererConfigurationconfig
 
- Static Protected Attributes inherited from Renderpass
static std::mutex shaderModulesMutex
 
static std::unordered_map< std::string, std::shared_ptr< vireo::ShaderModule > > shaderModules
 

Constructor & Destructor Documentation

BloomPass ( const RendererConfiguration config,
vireo::ImageFormat  outputFormat 
)

Constructs a BloomPass

Parameters
configThe renderer configuration
outputFormatRender target format

Member Function Documentation

PostProcessing& getBlurPass ( )
inline
void render ( vireo::CommandList &  commandList,
const std::shared_ptr< vireo::RenderTarget > &  colorAttachment,
const std::shared_ptr< vireo::RenderTarget > &  depthAttachment,
uint32  frameIndex 
)
overridevirtual

Renders the post-processing effect

Parameters
frameIndexIndex of the current frame
colorAttachmentThe input color attachment
depthAttachmentThe input depth attachment
commandListThe command list to record rendering commands into

Reimplemented from lysa::PostProcessing::render()

void resize ( const vireo::Extent &  extent)
overridevirtual

Resizes the render pass resources

Parameters
extentThe new extent

Reimplemented from lysa::PostProcessing::resize()

void update ( uint32  frameIndex)
overridevirtual

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

Reimplemented from lysa::Renderpass::update()