![]() |
Raven Engine v0.1
|
Vulkan-specific implementation of a RenderPass. More...
#include <VulkanRenderPass.h>
Public Member Functions | |
| VulkanRenderPass (const RenderPassSpecification &spec) | |
| Constructs a VulkanRenderPass with the given specification. | |
| virtual | ~VulkanRenderPass ()=default |
| Destructor, defaulted. | |
| RenderPassSpecification & | GetSpecification () override |
| Gets a modifiable reference to the RenderPassSpecification. | |
| const RenderPassSpecification & | GetSpecification () const override |
| Gets a constant reference to the RenderPassSpecification. | |
| Ref< Pipeline > | GetPipeline () const override |
| Gets the pipeline associated with this render pass. | |
| Ref< Framebuffer > | GetTargetFramebuffer () const |
| Gets the framebuffer currently targeted by this render pass. | |
| void | SetTargetFramebuffer (const Ref< Framebuffer > framebuffer) |
| Sets the target framebuffer. | |
| void | Bake () override |
| Finalizes and prepares the render pass for execution. | |
| void | SetInput (Ref< UniformBuffer > uniformBuffer, std::string_view name) override |
| Binds a uniform buffer to the render pass inputs. | |
| void | SetInput (Ref< Texture2D > texture, std::string_view imageName, std::string_view samplerName) override |
| Binds a texture and its sampler to the render pass inputs. | |
| Ref< Image2D > | GetOutput (u32 index) override |
| Gets an output image from the render pass by index. | |
| Ref< Image2D > | GetDepthOutput () override |
| Gets the depth output image from the render pass. | |
| Public Member Functions inherited from Raven::RenderPass | |
| virtual | ~RenderPass ()=default |
| Public Member Functions inherited from Raven::Castable< RenderPass > | |
| T & | As () |
| Non-const version of As<T>(), for casting to a non-const target type. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from Raven::RenderPass | |
| static Ref< RenderPass > | Create (const RenderPassSpecification &spec) |
| Factory method to create a RenderPass from specification. | |
Vulkan-specific implementation of a RenderPass.
Manages Vulkan pipeline, framebuffer targets, and descriptor sets. Handles input bindings for uniform buffers and textures via DescriptorSetManager.
| Raven::VulkanRenderPass::VulkanRenderPass | ( | const RenderPassSpecification & | spec | ) |
Constructs a VulkanRenderPass with the given specification.
| spec | The render pass specification defining pipeline, framebuffer, etc. |
|
virtualdefault |
Destructor, defaulted.
|
overridevirtual |
Finalizes and prepares the render pass for execution.
Typically sets up descriptor sets and other Vulkan resources.
Implements Raven::RenderPass.
Gets the depth output image from the render pass.
Implements Raven::RenderPass.
Gets an output image from the render pass by index.
| index | Index of the output image to retrieve. |
Implements Raven::RenderPass.
Gets the pipeline associated with this render pass.
Implements Raven::RenderPass.
|
inlineoverridevirtual |
Gets a constant reference to the RenderPassSpecification.
Implements Raven::RenderPass.
|
inlineoverridevirtual |
Gets a modifiable reference to the RenderPassSpecification.
Implements Raven::RenderPass.
| Ref< Framebuffer > Raven::VulkanRenderPass::GetTargetFramebuffer | ( | ) | const |
Gets the framebuffer currently targeted by this render pass.
|
overridevirtual |
Binds a texture and its sampler to the render pass inputs.
| 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.
|
overridevirtual |
Binds a uniform buffer to the render pass inputs.
| uniformBuffer | The uniform buffer to bind. |
| name | The name of the uniform buffer in the shader. |
Implements Raven::RenderPass.
|
inline |
Sets the target framebuffer.
| framebuffer | Reference-counted pointer to the new framebuffer. |