SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::Pipeline< PipelineLayoutType, ShaderProgramType > Class Template Referenceabstract

Represents a pipeline state. More...

#include <Pipeline.h>

Inheritance diagram for spark::render::Pipeline< PipelineLayoutType, ShaderProgramType >:
spark::render::IPipeline spark::render::IStateResource spark::render::RenderPipeline< PipelineLayoutType, ShaderProgramType, InputAssemblerType, RasterizerType >

Public Types

using shader_program_type = ShaderProgramType
 
using pipeline_layout_type = PipelineLayoutType
 

Public Member Functions

virtual std::shared_ptr< const shader_program_type > program () const noexcept=0
 Gets the shader program used by the pipeline.
 
virtual std::shared_ptr< pipeline_layout_type > layout () const noexcept=0
 Gets the pipeline layout.
 
- Public Member Functions inherited from spark::render::IPipeline
std::shared_ptr< const IShaderProgramprogram () const noexcept
 Gets the shader program used by the pipeline.
 
std::shared_ptr< IPipelineLayoutlayout () const noexcept
 Gets the pipeline layout.
 
- Public Member Functions inherited from spark::render::IStateResource
virtual const std::string & name () const noexcept=0
 Gets the name of the state resource.
 

Detailed Description

template<typename PipelineLayoutType, typename ShaderProgramType>
class spark::render::Pipeline< PipelineLayoutType, ShaderProgramType >

Represents a pipeline state.

Template Parameters
PipelineLayoutTypeThe type of the render pipeline layout. (inherits from IPipelineLayout)
ShaderProgramTypeThe type of the shader program. (inherits from IShaderProgram)

Member Function Documentation

◆ layout()

template<typename PipelineLayoutType , typename ShaderProgramType >
virtual std::shared_ptr< pipeline_layout_type > spark::render::Pipeline< PipelineLayoutType, ShaderProgramType >::layout ( ) const
nodiscardpure virtualnoexcept

Gets the pipeline layout.

Returns
A std::shared_ptr pointer to the IPipelineLayout.

Implemented in spark::render::vk::VulkanRenderPipeline.

◆ program()

template<typename PipelineLayoutType , typename ShaderProgramType >
virtual std::shared_ptr< const shader_program_type > spark::render::Pipeline< PipelineLayoutType, ShaderProgramType >::program ( ) const
nodiscardpure virtualnoexcept

Gets the shader program used by the pipeline.

Returns
A std::shared_ptr pointer to the IShaderProgram used by the pipeline.

Implemented in spark::render::vk::VulkanRenderPipeline.