Abstract interface for managing a rendering pipeline. More...
#include <Pipeline.h>
Inherits Raven::RefCounted.
Inherited by Raven::VulkanPipeline.
Public Member Functions | |
| virtual | ~Pipeline ()=default |
| virtual PipelineSpecification & | GetSpecification ()=0 |
| Retrieves a mutable reference to the pipeline specification. | |
| virtual const PipelineSpecification & | GetSpecification () const =0 |
| Retrieves an immutable reference to the pipeline specification. | |
| virtual void | Invalidate ()=0 |
| Recreates or updates the pipeline state, typically after configuration changes. | |
| virtual void | Rebuild (const PipelineSpecification &spec)=0 |
| Rebuilds the pipeline based on an updated Specification. | |
| virtual Ref< Shader > | GetShader () const =0 |
| Returns the currently bound shader program. | |
| virtual void | Release ()=0 |
| Public Member Functions inherited from Raven::RefCounted | |
| RefCounted () | |
| virtual | ~RefCounted () |
| void | IncRefCount () |
| void | DecRefCount () |
| u32 | GetRefCount () const |
Static Public Member Functions | |
| static Ref< Pipeline > | Create (const PipelineSpecification &spec) |
| Factory method to create a Pipeline from a given specification. | |
Abstract interface for managing a rendering pipeline.
Responsible for binding shaders, configuring GPU state, and managing the pipeline lifecycle. Implementations manage the GPU resources associated with the pipeline.
|
virtualdefault |
|
static |
Factory method to create a Pipeline from a given specification.
| spec | PipelineSpecification describing desired pipeline state. |
Returns the currently bound shader program.
Implemented in Raven::VulkanPipeline.
|
pure virtual |
Retrieves an immutable reference to the pipeline specification.
Implemented in Raven::VulkanPipeline.
|
pure virtual |
Retrieves a mutable reference to the pipeline specification.
Implemented in Raven::VulkanPipeline.
|
pure virtual |
Recreates or updates the pipeline state, typically after configuration changes.
Implemented in Raven::VulkanPipeline.
|
pure virtual |
Rebuilds the pipeline based on an updated Specification.
| spec | The specification that has been changed. |
Implemented in Raven::VulkanPipeline.
|
pure virtual |
Implemented in Raven::VulkanPipeline.