Vesper 0.5.1
Vesper is short form for the Latin word for "Bat", as Vesper is designed to be small, lightweight, and easily handle things like particles and flocking behaviors in accordance with the nature of bats. \n It is meant to be a particle simulation, VFX editor, and CAN be used secondarily as a small game engine.
GitHub | Vesper Updates | Creator
Loading...
Searching...
No Matches
Vesper::VertexBuffer Class Referenceabstract

Abstract base class for a vertex buffer. More...

#include <Buffer.h>

Inheritance diagram for Vesper::VertexBuffer:
Vesper::OpenGLVertexBuffer

Public Member Functions

virtual ~VertexBuffer ()
virtual void Bind () const =0
virtual void Unbind () const =0
virtual void SetLayout (const BufferLayout &layout)=0
virtual const BufferLayoutGetLayout () const =0
virtual void SetData (const void *data, uint32_t size)=0

Static Public Member Functions

static Ref< VertexBufferCreate (uint32_t size)
static Ref< VertexBufferCreate (float *vertices, uint32_t size)

Detailed Description

Abstract base class for a vertex buffer.

Constructor & Destructor Documentation

◆ ~VertexBuffer()

virtual Vesper::VertexBuffer::~VertexBuffer ( )
inlinevirtual
134{}

Member Function Documentation

◆ Bind()

virtual void Vesper::VertexBuffer::Bind ( ) const
pure virtual

Implemented in Vesper::OpenGLVertexBuffer.

◆ Create() [1/2]

Ref< VertexBuffer > Vesper::VertexBuffer::Create ( float * vertices,
uint32_t size )
static
23 {
24 switch (Renderer::GetAPI())
25 {
26 case RendererAPI::API::None: VZ_CORE_ASSERT(false, "RendererAPI::None is currently not supported!"); return nullptr;
28 }
29 VZ_CORE_ASSERT(false, "Unknown RendererAPI!");
30 return nullptr;
31 }
#define VZ_CORE_ASSERT(x,...)
Definition Asserts.h:20
@ None
Definition RendererAPI.h:15
@ OpenGL
Definition RendererAPI.h:16
static RendererAPI::API GetAPI()
Retrieves the current rendering API.
Definition Renderer.h:40
constexpr Ref< T > CreateRef(Args &&... args)
Creates a Ref (shared_ptr) for the given type and constructor arguments.
Definition Defines_Macros.h:72

References Vesper::Renderer::GetAPI(), Vesper::RendererAPI::None, and Vesper::RendererAPI::OpenGL.

◆ Create() [2/2]

Ref< VertexBuffer > Vesper::VertexBuffer::Create ( uint32_t size)
static
12 {
13 switch (Renderer::GetAPI())
14 {
15 case RendererAPI::API::None: VZ_CORE_ASSERT(false, "RendererAPI::None is currently not supported!"); return nullptr;
17 }
18 VZ_CORE_ASSERT(false, "Unknown RendererAPI!");
19 return nullptr;
20 }

References Vesper::Renderer::GetAPI(), Vesper::RendererAPI::None, and Vesper::RendererAPI::OpenGL.

◆ GetLayout()

virtual const BufferLayout & Vesper::VertexBuffer::GetLayout ( ) const
pure virtual

Implemented in Vesper::OpenGLVertexBuffer.

◆ SetData()

virtual void Vesper::VertexBuffer::SetData ( const void * data,
uint32_t size )
pure virtual

Implemented in Vesper::OpenGLVertexBuffer.

◆ SetLayout()

virtual void Vesper::VertexBuffer::SetLayout ( const BufferLayout & layout)
pure virtual

Implemented in Vesper::OpenGLVertexBuffer.

◆ Unbind()

virtual void Vesper::VertexBuffer::Unbind ( ) const
pure virtual

Implemented in Vesper::OpenGLVertexBuffer.


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