LiteFX 0.4.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::IPushConstantsRange Class Referenceabstract

Describes a range within a IPushConstantsLayout. More...

#include <rendering_api.hpp>

Inherited by LiteFX::Rendering::Backends::DirectX12PushConstantsRange, and LiteFX::Rendering::Backends::VulkanPushConstantsRange.

Public Member Functions

virtual ~IPushConstantsRange () noexcept=default
 
virtual UInt32 space () const noexcept=0
 Returns the shader space the push constants can be accessed from.
 
virtual UInt32 binding () const noexcept=0
 Returns the binding point or register, the push constants are made available at.
 
virtual UInt32 offset () const noexcept=0
 Returns the offset from the push constants backing memory block, the range starts at.
 
virtual UInt32 size () const noexcept=0
 Returns the size (in bytes) of the range.
 
virtual ShaderStage stage () const noexcept=0
 Returns the shader stage(s), the range is accessible from.
 

Protected Member Functions

 IPushConstantsRange () noexcept=default
 
 IPushConstantsRange (const IPushConstantsRange &)=default
 
 IPushConstantsRange (IPushConstantsRange &&) noexcept=default
 
IPushConstantsRangeoperator= (const IPushConstantsRange &)=default
 
IPushConstantsRangeoperator= (IPushConstantsRange &&) noexcept=default
 

Detailed Description

Describes a range within a IPushConstantsLayout.

Constructor & Destructor Documentation

◆ IPushConstantsRange() [1/3]

LiteFX::Rendering::IPushConstantsRange::IPushConstantsRange ( )
protecteddefaultnoexcept

◆ IPushConstantsRange() [2/3]

LiteFX::Rendering::IPushConstantsRange::IPushConstantsRange ( const IPushConstantsRange & )
protecteddefault

◆ IPushConstantsRange() [3/3]

LiteFX::Rendering::IPushConstantsRange::IPushConstantsRange ( IPushConstantsRange && )
protecteddefaultnoexcept

◆ ~IPushConstantsRange()

virtual LiteFX::Rendering::IPushConstantsRange::~IPushConstantsRange ( )
virtualdefaultnoexcept

Member Function Documentation

◆ binding()

virtual UInt32 LiteFX::Rendering::IPushConstantsRange::binding ( ) const
pure virtualnoexcept

Returns the binding point or register, the push constants are made available at.

Returns
The binding point or register, the push constants are made available at.

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsRange, and LiteFX::Rendering::Backends::VulkanPushConstantsRange.

◆ offset()

virtual UInt32 LiteFX::Rendering::IPushConstantsRange::offset ( ) const
pure virtualnoexcept

Returns the offset from the push constants backing memory block, the range starts at.

Returns
The offset from the push constants backing memory block, the range starts at.
See also
size

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsRange, and LiteFX::Rendering::Backends::VulkanPushConstantsRange.

◆ operator=() [1/2]

IPushConstantsRange & LiteFX::Rendering::IPushConstantsRange::operator= ( const IPushConstantsRange & )
protecteddefault

◆ operator=() [2/2]

IPushConstantsRange & LiteFX::Rendering::IPushConstantsRange::operator= ( IPushConstantsRange && )
protecteddefaultnoexcept

◆ size()

virtual UInt32 LiteFX::Rendering::IPushConstantsRange::size ( ) const
pure virtualnoexcept

Returns the size (in bytes) of the range.

Returns
The size (in bytes) of the range.
See also
offset

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsRange, and LiteFX::Rendering::Backends::VulkanPushConstantsRange.

◆ space()

virtual UInt32 LiteFX::Rendering::IPushConstantsRange::space ( ) const
pure virtualnoexcept

Returns the shader space the push constants can be accessed from.

Returns
The shader space the push constants can be accessed from.

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsRange, and LiteFX::Rendering::Backends::VulkanPushConstantsRange.

◆ stage()

virtual ShaderStage LiteFX::Rendering::IPushConstantsRange::stage ( ) const
pure virtualnoexcept

Returns the shader stage(s), the range is accessible from.

Returns
The shader stage(s), the range is accessible from.

Implemented in LiteFX::Rendering::Backends::DirectX12PushConstantsRange, and LiteFX::Rendering::Backends::VulkanPushConstantsRange.