![]() |
Lysa
0.0
Lysa 3D Engine
|
Base class for post-processing render passes
Inheritance diagram for PostProcessing:Classes | |
| struct | FrameData |
| struct | PostProcessingParams |
Public Member Functions | |
| 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, const std::shared_ptr< vireo::RenderTarget > &depthAttachment, uint32 frameIndex) |
| virtual void | render (vireo::CommandList &commandList, const std::shared_ptr< vireo::RenderTarget > &colorAttachment, uint32 frameIndex) |
| virtual void | resize (const vireo::Extent &extent) |
| 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 |
Static Public Attributes | |
| 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 | |
| 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 | |
| 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< FrameData > | framesData |
| 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 RendererConfiguration & | config |
Additional Inherited Members | |
Static Public Member Functions inherited from Renderpass | |
| static void | destroyShaderModules () |
Static Protected Attributes inherited from Renderpass | |
| static std::mutex | shaderModulesMutex |
| static std::unordered_map< std::string, std::shared_ptr< vireo::ShaderModule > > | shaderModules |
| PostProcessing | ( | const RendererConfiguration & | config, |
| vireo::ImageFormat | outputFormat, | ||
| const std::string & | fragShaderName, | ||
| void * | data = nullptr, |
||
| uint32 | dataSize = 0, |
||
| const std::string & | name = "" |
||
| ) |
Constructs a PostProcessing render pass
| config | The renderer configuration |
| outputFormat | Format of the output image |
| fragShaderName | Name of the fragment shader to use |
| data | Pointer to custom data for the shader |
| dataSize | Size of the custom data |
| name | Name of the render pass |
|
inlinevirtual |
Gets the color attachment for a specific frame
| frameIndex | Index of the frame |
|
inline |
Gets the name of the fragment shader
|
protectedvirtual |
Renders the post-processing effect
| frameIndex | Index of the current frame |
| colorAttachment | The input color attachment |
| depthAttachment | The input depth attachment |
| bloomColorAttachment | The input bloom color attachment |
| commandList | The command list to record rendering commands into |
|
virtual |
Renders the post-processing effect
| frameIndex | Index of the current frame |
| colorAttachment | The input color attachment |
| depthAttachment | The input depth attachment |
| commandList | The command list to record rendering commands into |
Reimplemented in lysa::BloomPass::render()
|
virtual |
Renders the post-processing effect
| frameIndex | Index of the current frame |
| colorAttachment | The input color attachment |
| commandList | The command list to record rendering commands into |
|
virtual |
Resizes the render pass resources
| extent | The new extent |
Reimplemented in lysa::BloomPass::resize()
|
inlineoverridevirtual |
Recreate pass resources after a resize (default: no-op).
Reimplemented from lysa::Renderpass::resize()
|
overridevirtual |
Update any per-frame state (default: no-op).
Reimplemented from lysa::Renderpass::update()
|
staticconstexpr |
Descriptor binding index for custom data uniform buffer
|
staticconstexpr |
Descriptor binding index for parameters uniform buffer
|
staticconstexpr |
Descriptor binding index for input textures
|
staticconstexpr |
Index for the bloom buffer texture
|
protected |
|
protected |
|
staticconstexpr |
Index for the depth buffer texture
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
Index for the input color buffer texture
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
Total number of input textures
|
inlinestatic |
Name of the default vertex shader for post-processing