SPARK  0.1.0
A general purpose game engine written in C++.
Loading...
Searching...
No Matches
spark::render::IPushConstantsLayout Class Referenceabstract

Interface for a push constants layout. More...

#include <PushConstantsLayout.h>

Inheritance diagram for spark::render::IPushConstantsLayout:
spark::render::PushConstantsLayout< VulkanPushConstantsRange > spark::render::PushConstantsLayout< PushConstantsRangeType > spark::render::vk::VulkanPushConstantsLayout

Public Member Functions

virtual unsigned int size () const noexcept=0
 Get the size (in bytes) of the push constants backing memory.
 
virtual const IPushConstantsRangerange (ShaderStage stage) const =0
 Get the push constants range associated with the shader stage provided.
 
std::vector< const IPushConstantsRange * > ranges () const noexcept
 Get all push constants ranges .
 

Detailed Description

Interface for a push constants layout.

Member Function Documentation

◆ range()

virtual const IPushConstantsRange & spark::render::IPushConstantsLayout::range ( ShaderStage stage) const
nodiscardpure virtual

Get the push constants range associated with the shader stage provided.

Returns
The push constants range associated with the shader stage provided.
Exceptions
spark::base::ArgumentOutOfRangeExceptionif no range is mapped to the provided shader stage.
spark::base::BadArgumentExceptionif stage contains multiple shader stages.

Implemented in spark::render::PushConstantsLayout< PushConstantsRangeType >, spark::render::PushConstantsLayout< VulkanPushConstantsRange >, and spark::render::vk::VulkanPushConstantsLayout.

◆ ranges()

std::vector< const IPushConstantsRange * > spark::render::IPushConstantsLayout::ranges ( ) const
inlinenodiscardnoexcept

◆ size()

virtual unsigned int spark::render::IPushConstantsLayout::size ( ) const
nodiscardpure virtualnoexcept

Get the size (in bytes) of the push constants backing memory.

Returns
The size (in bytes) of the push constants backing memory.

Implemented in spark::render::vk::VulkanPushConstantsLayout.