Vulkan-specific implementation of a RenderPass.
More...
#include <VulkanRenderPass.h>
Inherits Raven::RenderPass.
Vulkan-specific implementation of a RenderPass.
Manages Vulkan pipeline, framebuffer targets, and descriptor sets. Handles input bindings for uniform buffers and textures via DescriptorSetManager.
◆ VulkanRenderPass()
Constructs a VulkanRenderPass with the given specification.
- Parameters
-
| spec | The render pass specification defining pipeline, framebuffer, etc. |
◆ ~VulkanRenderPass()
| virtual Raven::VulkanRenderPass::~VulkanRenderPass |
( |
| ) |
|
|
virtualdefault |
◆ Bake()
| void Raven::VulkanRenderPass::Bake |
( |
| ) |
|
|
overridevirtual |
Finalizes and prepares the render pass for execution.
Typically sets up descriptor sets and other Vulkan resources.
Implements Raven::RenderPass.
◆ BindDescriptorSets()
| void Raven::VulkanRenderPass::BindDescriptorSets |
( |
| ) |
|
|
overridevirtual |
◆ BindDescriptorSets_RT()
| void Raven::VulkanRenderPass::BindDescriptorSets_RT |
( |
void * | cmdBuf | ) |
|
|
overridevirtual |
◆ GetDepthOutput()
| Ref< Image2D > Raven::VulkanRenderPass::GetDepthOutput |
( |
| ) |
|
|
overridevirtual |
Gets the depth output image from the render pass.
- Returns
- Reference-counted pointer to the depth Image2D, or nullptr if no depth attachment.
Implements Raven::RenderPass.
◆ GetOutput()
| Ref< Image2D > Raven::VulkanRenderPass::GetOutput |
( |
u32 | index | ) |
|
|
overridevirtual |
Gets an output image from the render pass by index.
- Parameters
-
| index | Index of the output image to retrieve. |
- Returns
- Reference-counted pointer to the Image2D, or nullptr if invalid index.
Implements Raven::RenderPass.
◆ GetPipeline()
| Ref< Pipeline > Raven::VulkanRenderPass::GetPipeline |
( |
| ) |
const |
|
overridevirtual |
Gets the pipeline associated with this render pass.
- Returns
- Reference-counted pointer to the Pipeline.
Implements Raven::RenderPass.
◆ GetSpecification() [1/2]
◆ GetSpecification() [2/2]
◆ GetTargetFramebuffer()
| Ref< Framebuffer > Raven::VulkanRenderPass::GetTargetFramebuffer |
( |
| ) |
const |
|
virtual |
Gets the framebuffer currently targeted by this render pass.
- Returns
- Reference-counted pointer to the Framebuffer.
Implements Raven::RenderPass.
◆ Release()
| void Raven::VulkanRenderPass::Release |
( |
| ) |
|
|
overridevirtual |
◆ SetInput() [1/5]
| void Raven::VulkanRenderPass::SetInput |
( |
Ref< Image2D > | image, |
|
|
std::string_view | imageName ) |
|
overridevirtual |
◆ SetInput() [2/5]
| void Raven::VulkanRenderPass::SetInput |
( |
Ref< Image2D > | image, |
|
|
std::string_view | imageName, |
|
|
std::string_view | samplerName ) |
|
overridevirtual |
Binds a texture and its sampler to the render pass inputs.
- Parameters
-
| texture | The texture to bind. |
| imageName | The name of the image resource in the shader. |
| samplerName | The name of the sampler resource in the shader. |
Implements Raven::RenderPass.
◆ SetInput() [3/5]
| void Raven::VulkanRenderPass::SetInput |
( |
Ref< StorageBuffer > | storageBuffer, |
|
|
std::string_view | name ) |
|
overridevirtual |
◆ SetInput() [4/5]
| void Raven::VulkanRenderPass::SetInput |
( |
Ref< TextureCube > | cubemap, |
|
|
std::string_view | imageName, |
|
|
std::string_view | samplerName ) |
|
overridevirtual |
◆ SetInput() [5/5]
| void Raven::VulkanRenderPass::SetInput |
( |
Ref< UniformBuffer > | uniformBuffer, |
|
|
std::string_view | name ) |
|
overridevirtual |
Binds a uniform buffer to the render pass inputs.
- Parameters
-
| uniformBuffer | The uniform buffer to bind. |
| name | The name of the uniform buffer in the shader. |
Implements Raven::RenderPass.
◆ SetTargetFramebuffer()
| void Raven::VulkanRenderPass::SetTargetFramebuffer |
( |
Ref< Framebuffer > | framebuffer | ) |
|
|
overridevirtual |
Sets the target framebuffer.
- Parameters
-
| framebuffer | Reference-counted pointer to the new framebuffer. |
Implements Raven::RenderPass.
◆ UpdateShader()
| void Raven::VulkanRenderPass::UpdateShader |
( |
Ref< Shader > | shader | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following files: