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