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::VertexArray Class Referenceabstract

An abstraction for a vertex array object (VAO). More...

#include <VertexArray.h>

Inheritance diagram for Vesper::VertexArray:
Vesper::OpenGLVertexArray

Public Member Functions

virtual ~VertexArray ()
virtual void Bind () const =0
virtual void Unbind () const =0
virtual void AddVertexBuffer (const Ref< VertexBuffer > &vertexBuffer)=0
 Adds a vertex buffer to the vertex array.
virtual void SetIndexBuffer (const Ref< IndexBuffer > &indexBuffer)=0
 Sets the index buffer for the vertex array.
virtual const std::vector< Ref< VertexBuffer > > & GetVertexBuffers ()=0
virtual const Ref< IndexBuffer > & GetIndexBuffer () const =0

Static Public Member Functions

static Ref< VertexArrayCreate ()

Detailed Description

An abstraction for a vertex array object (VAO).

Constructor & Destructor Documentation

◆ ~VertexArray()

virtual Vesper::VertexArray::~VertexArray ( )
inlinevirtual
13{}

Member Function Documentation

◆ AddVertexBuffer()

virtual void Vesper::VertexArray::AddVertexBuffer ( const Ref< VertexBuffer > & vertexBuffer)
pure virtual

Adds a vertex buffer to the vertex array.

Implemented in Vesper::OpenGLVertexArray.

◆ Bind()

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

Implemented in Vesper::OpenGLVertexArray.

◆ Create()

Ref< VertexArray > Vesper::VertexArray::Create ( )
static
8 {
9 switch (Renderer::GetAPI())
10 {
11 case RendererAPI::API::None: VZ_CORE_ASSERT(false, "RendererAPI::None is currently not supported!"); return nullptr;
13 }
14 VZ_CORE_ASSERT(false, "Unknown RendererAPI!");
15 return nullptr;
16 }
#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.

◆ GetIndexBuffer()

virtual const Ref< IndexBuffer > & Vesper::VertexArray::GetIndexBuffer ( ) const
pure virtual

Implemented in Vesper::OpenGLVertexArray.

◆ GetVertexBuffers()

virtual const std::vector< Ref< VertexBuffer > > & Vesper::VertexArray::GetVertexBuffers ( )
pure virtual

Implemented in Vesper::OpenGLVertexArray.

◆ SetIndexBuffer()

virtual void Vesper::VertexArray::SetIndexBuffer ( const Ref< IndexBuffer > & indexBuffer)
pure virtual

Sets the index buffer for the vertex array.

Implemented in Vesper::OpenGLVertexArray.

◆ Unbind()

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

Implemented in Vesper::OpenGLVertexArray.


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