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

Represents a the layout of a RenderPipeline. More...

#include <Pipeline.h>

Inheritance diagram for spark::render::PipelineLayout< DescriptorSetLayoutType, PushConstantsLayoutType >:
spark::render::IPipelineLayout

Public Types

using descriptor_set_layout_type = DescriptorSetLayoutType
 
using push_constants_layout_type = PushConstantsLayoutType
 

Public Member Functions

const descriptor_set_layout_type & descriptorSet (unsigned int space) const override=0
 Gets the descriptor set layout bound to the given space.
 
virtual std::vector< const descriptor_set_layout_type * > descriptorSets () const noexcept=0
 Gets all descriptor set layouts the pipeline has been initialized with.
 
const push_constants_layout_type * pushConstants () const noexcept override=0
 Gets the push constants layout, or nullptr, if the pipeline does not use any push constants.
 
- Public Member Functions inherited from spark::render::IPipelineLayout
std::vector< const IDescriptorSetLayout * > descriptorSets () const noexcept
 Gets all descriptor set layouts the pipeline has been initialized with.
 

Detailed Description

template<typename DescriptorSetLayoutType, typename PushConstantsLayoutType>
class spark::render::PipelineLayout< DescriptorSetLayoutType, PushConstantsLayoutType >

Represents a the layout of a RenderPipeline.

Template Parameters
DescriptorSetLayoutTypeThe type of the descriptor set layout. (inherits from IDescriptorSetLayout)
PushConstantsLayoutTypeThe type of the push constants layout. (inherits from IPushConstantsLayout)

Member Function Documentation

◆ descriptorSet()

template<typename DescriptorSetLayoutType , typename PushConstantsLayoutType >
const descriptor_set_layout_type & spark::render::PipelineLayout< DescriptorSetLayoutType, PushConstantsLayoutType >::descriptorSet ( unsigned int space) const
nodiscardoverridepure virtual

Gets the descriptor set layout bound to the given space.

Parameters
spaceThe space to request the descriptor set layout for.
Returns
A pointer to the IDescriptorSetLayout bound to the given space.

Implements spark::render::IPipelineLayout.

◆ descriptorSets()

template<typename DescriptorSetLayoutType , typename PushConstantsLayoutType >
virtual std::vector< const descriptor_set_layout_type * > spark::render::PipelineLayout< DescriptorSetLayoutType, PushConstantsLayoutType >::descriptorSets ( ) const
nodiscardpure virtualnoexcept

Gets all descriptor set layouts the pipeline has been initialized with.

Returns
A std::vector of IDescriptorSetLayout pointers the pipeline has been initialized with.

Implemented in spark::render::vk::VulkanPipelineLayout.

◆ pushConstants()

template<typename DescriptorSetLayoutType , typename PushConstantsLayoutType >
const push_constants_layout_type * spark::render::PipelineLayout< DescriptorSetLayoutType, PushConstantsLayoutType >::pushConstants ( ) const
nodiscardoverridepure virtualnoexcept

Gets the push constants layout, or nullptr, if the pipeline does not use any push constants.

Returns
A pointer to the IPushConstantsLayout, or nullptr, if the pipeline does not use any push constants.

Implements spark::render::IPipelineLayout.

Implemented in spark::render::vk::VulkanPipelineLayout.