Raven Engine v0.1
Loading...
Searching...
No Matches
Raven::VertexBufferLayout Class Reference

Represents the layout of vertex buffer elements in memory. More...

#include <Buffer.h>

Public Member Functions

 VertexBufferLayout ()=default
constexpr VertexBufferLayout (const std::initializer_list< BufferElement > &elements)
 Constructs a layout from a list of buffer elements.
constexpr u32 GetStride () const
 Returns the stride (total size in bytes) of one vertex.
constexpr const std::vector< BufferElement > & GetElements () const
 Returns the vector of BufferElements.
constexpr std::vector< BufferElement >::iterator begin ()
constexpr std::vector< BufferElement >::iterator end ()
constexpr std::vector< BufferElement >::const_iterator begin () const
constexpr std::vector< BufferElement >::const_iterator end () const

Detailed Description

Represents the layout of vertex buffer elements in memory.

Manages a vector of BufferElement describing each attribute, and calculates the byte offsets and total stride (size of one vertex).

Provides iterators for range-based loops.

Usage:

  • Initialize with an initializer list of BufferElements.
  • Query stride and elements.

Constructor & Destructor Documentation

◆ VertexBufferLayout() [1/2]

Raven::VertexBufferLayout::VertexBufferLayout ( )
default

◆ VertexBufferLayout() [2/2]

Raven::VertexBufferLayout::VertexBufferLayout ( const std::initializer_list< BufferElement > & elements)
inlineconstexpr

Constructs a layout from a list of buffer elements.

Automatically calculates offsets and stride.

Parameters
elementsInitial list of BufferElements.

Member Function Documentation

◆ begin() [1/2]

std::vector< BufferElement >::iterator Raven::VertexBufferLayout::begin ( )
inlineconstexpr

◆ begin() [2/2]

std::vector< BufferElement >::const_iterator Raven::VertexBufferLayout::begin ( ) const
inlinenodiscardconstexpr

◆ end() [1/2]

std::vector< BufferElement >::iterator Raven::VertexBufferLayout::end ( )
inlineconstexpr

◆ end() [2/2]

std::vector< BufferElement >::const_iterator Raven::VertexBufferLayout::end ( ) const
inlinenodiscardconstexpr

◆ GetElements()

const std::vector< BufferElement > & Raven::VertexBufferLayout::GetElements ( ) const
inlinenodiscardconstexpr

Returns the vector of BufferElements.

Returns
Const reference to the elements vector.

◆ GetStride()

u32 Raven::VertexBufferLayout::GetStride ( ) const
inlinenodiscardconstexpr

Returns the stride (total size in bytes) of one vertex.

Returns
Stride in bytes.

The documentation for this class was generated from the following file: