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

Describes a buffer layout. More...

#include <rendering_api.hpp>

Inherited by LiteFX::Rendering::IDescriptorLayout, LiteFX::Rendering::IIndexBufferLayout, and LiteFX::Rendering::IVertexBufferLayout.

Public Member Functions

virtual ~IBufferLayout () noexcept=default
 
virtual size_t elementSize () const noexcept=0
 Returns the size of a single element within the buffer.
 
virtual UInt32 binding () const noexcept=0
 Returns the binding point, the buffer will be bound to.
 
virtual BufferType type () const noexcept=0
 Returns the buffer type of the buffer.
 

Protected Member Functions

 IBufferLayout () noexcept=default
 
 IBufferLayout (IBufferLayout &&) noexcept=default
 
 IBufferLayout (const IBufferLayout &)=default
 
IBufferLayoutoperator= (IBufferLayout &&) noexcept=default
 
IBufferLayoutoperator= (const IBufferLayout &)=default
 

Detailed Description

Describes a buffer layout.

See also
IVertexBufferLayout, IIndexBufferLayout, IDescriptorLayout

Constructor & Destructor Documentation

◆ IBufferLayout() [1/3]

LiteFX::Rendering::IBufferLayout::IBufferLayout ( )
protecteddefaultnoexcept

◆ IBufferLayout() [2/3]

LiteFX::Rendering::IBufferLayout::IBufferLayout ( IBufferLayout && )
protecteddefaultnoexcept

◆ IBufferLayout() [3/3]

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

◆ ~IBufferLayout()

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

Member Function Documentation

◆ binding()

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

Returns the binding point, the buffer will be bound to.

In GLSL, the binding point is identified by the binding keyword, whilst in HLSL the binding maps to a register.

Returns
The binding point, the buffer will be bound to.

Implemented in LiteFX::Rendering::Backends::DirectX12DescriptorLayout, LiteFX::Rendering::Backends::DirectX12IndexBufferLayout, LiteFX::Rendering::Backends::DirectX12VertexBufferLayout, LiteFX::Rendering::Backends::VulkanDescriptorLayout, LiteFX::Rendering::Backends::VulkanIndexBufferLayout, and LiteFX::Rendering::Backends::VulkanVertexBufferLayout.

◆ elementSize()

virtual size_t LiteFX::Rendering::IBufferLayout::elementSize ( ) const
pure virtualnoexcept

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ type()