LiteFX 0.5.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::IVertexBufferLayout Class Referenceabstract

Describes a vertex buffer layout. More...

#include <rendering_api.hpp>

Inherits LiteFX::Rendering::IBufferLayout, and LiteFX::SharedObject.

Inherited by LiteFX::Rendering::Backends::DirectX12VertexBufferLayout, and LiteFX::Rendering::Backends::VulkanVertexBufferLayout.

Public Member Functions

 ~IVertexBufferLayout () noexcept override=default
 
virtual const Array< BufferAttribute > & attributes () const =0
 Returns the vertex buffer attributes.
 
virtual VertexBufferInputRate inputRate () const noexcept=0
 Returns the vertex buffer input rate that describes how the data is made available to the vertex shader.
 
- Public Member Functions inherited from LiteFX::Rendering::IBufferLayout
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.
 
- Public Member Functions inherited from LiteFX::SharedObject
virtual ~SharedObject () noexcept=default
 Destroys the shared object.
 
template<typename TSelf >
auto shared_from_this (this TSelf &&self) noexcept
 Returns a shared pointer to the current object instance.
 
template<typename TSelf >
auto weak_from_this (this TSelf &&self) noexcept -> WeakPtr< std::remove_reference_t< TSelf > >
 Returns a weak pointer to the current object instance.
 

Protected Member Functions

 IVertexBufferLayout () noexcept=default
 
 IVertexBufferLayout (IVertexBufferLayout &&) noexcept=default
 
 IVertexBufferLayout (const IVertexBufferLayout &)=default
 
IVertexBufferLayoutoperator= (IVertexBufferLayout &&) noexcept=default
 
IVertexBufferLayoutoperator= (const IVertexBufferLayout &)=default
 
- Protected Member Functions inherited from LiteFX::Rendering::IBufferLayout
 IBufferLayout () noexcept=default
 
 IBufferLayout (IBufferLayout &&) noexcept=default
 
 IBufferLayout (const IBufferLayout &)=default
 
IBufferLayoutoperator= (IBufferLayout &&) noexcept=default
 
IBufferLayoutoperator= (const IBufferLayout &)=default
 
- Protected Member Functions inherited from LiteFX::SharedObject
 SharedObject () noexcept=default
 Initializes a new shared object.
 
 SharedObject (SharedObject &&) noexcept=default
 
 SharedObject (const SharedObject &)=default
 
SharedObjectoperator= (SharedObject &&) noexcept=default
 
SharedObjectoperator= (const SharedObject &)=default
 

Additional Inherited Members

- Static Protected Member Functions inherited from LiteFX::SharedObject
template<typename T , typename... TArgs>
static auto create (TArgs &&... args) -> SharedPtr< T >
 Generic factory method used to create instances of the shared object.
 

Detailed Description

Describes a vertex buffer layout.

See also
IVertexBuffer

Constructor & Destructor Documentation

◆ IVertexBufferLayout() [1/3]

LiteFX::Rendering::IVertexBufferLayout::IVertexBufferLayout ( )
protecteddefaultnoexcept

◆ IVertexBufferLayout() [2/3]

LiteFX::Rendering::IVertexBufferLayout::IVertexBufferLayout ( IVertexBufferLayout && )
protecteddefaultnoexcept

◆ IVertexBufferLayout() [3/3]

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

◆ ~IVertexBufferLayout()

LiteFX::Rendering::IVertexBufferLayout::~IVertexBufferLayout ( )
overridedefaultnoexcept

Member Function Documentation

◆ attributes()

virtual const Array< BufferAttribute > & LiteFX::Rendering::IVertexBufferLayout::attributes ( ) const
pure virtual

Returns the vertex buffer attributes.

Returns
The vertex buffer attributes.

Implemented in LiteFX::Rendering::Backends::DirectX12VertexBufferLayout, and LiteFX::Rendering::Backends::VulkanVertexBufferLayout.

◆ inputRate()

virtual VertexBufferInputRate LiteFX::Rendering::IVertexBufferLayout::inputRate ( ) const
pure virtualnoexcept

Returns the vertex buffer input rate that describes how the data is made available to the vertex shader.

Returns
The vertex buffer input rate setting.

Implemented in LiteFX::Rendering::Backends::DirectX12VertexBufferLayout, and LiteFX::Rendering::Backends::VulkanVertexBufferLayout.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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