Raven Engine v0.1
Loading...
Searching...
No Matches
Raven::Pipeline Class Referenceabstract

Abstract interface for managing a rendering pipeline. More...

#include <Pipeline.h>

Inheritance diagram for Raven::Pipeline:
Raven::VulkanPipeline

Public Member Functions

virtual ~Pipeline ()=default
virtual PipelineSpecificationGetSpecification ()=0
 Retrieves a mutable reference to the pipeline specification.
virtual const PipelineSpecificationGetSpecification () 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< ShaderGetShader () const =0
 Returns the currently bound shader program.

Static Public Member Functions

static Ref< PipelineCreate (const PipelineSpecification &spec)
 Factory method to create a Pipeline from a given specification.

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~Pipeline()

virtual Raven::Pipeline::~Pipeline ( )
virtualdefault

Member Function Documentation

◆ Create()

Ref< Pipeline > Raven::Pipeline::Create ( const PipelineSpecification & spec)
static

Factory method to create a Pipeline from a given specification.

Parameters
specPipelineSpecification describing desired pipeline state.
Returns
Reference-counted Pipeline instance.

◆ GetShader()

virtual Ref< Shader > Raven::Pipeline::GetShader ( ) const
pure virtual

Returns the currently bound shader program.

Returns
Reference to Shader.

Implemented in Raven::VulkanPipeline.

◆ GetSpecification() [1/2]

virtual const PipelineSpecification & Raven::Pipeline::GetSpecification ( ) const
pure virtual

Retrieves an immutable reference to the pipeline specification.

Returns
Const reference to PipelineSpecification.

Implemented in Raven::VulkanPipeline.

◆ GetSpecification() [2/2]

virtual PipelineSpecification & Raven::Pipeline::GetSpecification ( )
pure virtual

Retrieves a mutable reference to the pipeline specification.

Returns
Reference to PipelineSpecification.

Implemented in Raven::VulkanPipeline.

◆ Invalidate()

virtual void Raven::Pipeline::Invalidate ( )
pure virtual

Recreates or updates the pipeline state, typically after configuration changes.

Implemented in Raven::VulkanPipeline.

◆ Rebuild()

virtual void Raven::Pipeline::Rebuild ( const PipelineSpecification & spec)
pure virtual

Rebuilds the pipeline based on an updated Specification.

Parameters
specThe specification that has been changed.
Note
This is mostly useful for swapping out a shader for a given pipeline.
Warning
This does not update the Renderpass, nor does it rebake descriptors. Ensure that the descriptors of the old Shader match the new shader.

Implemented in Raven::VulkanPipeline.


The documentation for this class was generated from the following files: