LiteFX 0.4.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.
 
- 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.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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