![]() |
Raven Engine v0.1
|
Vulkan implementation of the rendering Pipeline abstraction. More...
#include <VulkanPipeline.h>
Public Member Functions | |
| VulkanPipeline (const PipelineSpecification &spec) | |
| Constructs a VulkanPipeline from the given specification. | |
| virtual | ~VulkanPipeline () |
| Cleans up Vulkan pipeline and layout handles. | |
| void | Release () |
| PipelineSpecification & | GetSpecification () override |
| Gets a mutable reference to the pipeline specification. | |
| const PipelineSpecification & | GetSpecification () const override |
| Gets a const reference to the pipeline specification. | |
| void | Invalidate () override |
| Recreates the Vulkan pipeline using the current specification. | |
| void | Rebuild (const PipelineSpecification &spec) override |
| Rebuilds the pipeline based on an updated Specification. | |
| Ref< Shader > | GetShader () const override |
| Returns the shader currently associated with the pipeline. | |
| VkPipeline | GetVulkanPipeline () const |
| Gets the Vulkan pipeline handle. | |
| VkPipelineLayout | GetLayout () const |
| Gets the Vulkan pipeline layout handle. | |
| Public Member Functions inherited from Raven::Pipeline | |
| virtual | ~Pipeline ()=default |
Additional Inherited Members | |
| Static Public Member Functions inherited from Raven::Pipeline | |
| static Ref< Pipeline > | Create (const PipelineSpecification &spec) |
| Factory method to create a Pipeline from a given specification. | |
Vulkan implementation of the rendering Pipeline abstraction.
Manages the creation and lifecycle of a Vulkan graphics pipeline and its associated pipeline layout. Uses the given PipelineSpecification to configure shader stages, vertex input, rasterization, blending, etc. Supports invalidation to recreate the pipeline when specs change.
| Raven::VulkanPipeline::VulkanPipeline | ( | const PipelineSpecification & | spec | ) |
Constructs a VulkanPipeline from the given specification.
| spec | Configuration describing shaders, layouts, vertex input, etc. |
|
virtual |
Cleans up Vulkan pipeline and layout handles.
|
inline |
Gets the Vulkan pipeline layout handle.
Returns the shader currently associated with the pipeline.
Implements Raven::Pipeline.
|
inlineoverridevirtual |
Gets a const reference to the pipeline specification.
Implements Raven::Pipeline.
|
inlineoverridevirtual |
Gets a mutable reference to the pipeline specification.
Implements Raven::Pipeline.
|
inline |
Gets the Vulkan pipeline handle.
|
overridevirtual |
Recreates the Vulkan pipeline using the current specification.
This invalidates the existing pipeline handle and creates a new one. Should be called whenever the specification changes.
Implements Raven::Pipeline.
|
overridevirtual |
Rebuilds the pipeline based on an updated Specification.
| spec | The specification that has been changed. |
Implements Raven::Pipeline.
| void Raven::VulkanPipeline::Release | ( | ) |