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::OpenGLUniformBuffer Class Reference

#include <OpenGLUniformBuffer.h>

Inheritance diagram for Vesper::OpenGLUniformBuffer:
Vesper::UniformBuffer

Public Member Functions

 OpenGLUniformBuffer (uint32_t size, uint32_t binding)
virtual ~OpenGLUniformBuffer ()
virtual void SetData (const void *data, uint32_t size, uint32_t offset=0) override
Public Member Functions inherited from Vesper::UniformBuffer
virtual ~UniformBuffer ()

Private Attributes

uint32_t m_RendererID = 0

Additional Inherited Members

Static Public Member Functions inherited from Vesper::UniformBuffer
static Ref< UniformBufferCreate (uint32_t size, uint32_t binding)

Constructor & Destructor Documentation

◆ OpenGLUniformBuffer()

Vesper::OpenGLUniformBuffer::OpenGLUniformBuffer ( uint32_t size,
uint32_t binding )
9 {
10 glCreateBuffers(1, &m_RendererID);
11 glNamedBufferData(m_RendererID, size, nullptr, GL_DYNAMIC_DRAW); // TODO: investigate usage hint
12 glBindBufferBase(GL_UNIFORM_BUFFER, binding, m_RendererID);
13 }
uint32_t m_RendererID
Definition OpenGLUniformBuffer.h:15

References m_RendererID.

◆ ~OpenGLUniformBuffer()

Vesper::OpenGLUniformBuffer::~OpenGLUniformBuffer ( )
virtual
16 {
17 glDeleteBuffers(1, &m_RendererID);
18 }

References m_RendererID.

Member Function Documentation

◆ SetData()

void Vesper::OpenGLUniformBuffer::SetData ( const void * data,
uint32_t size,
uint32_t offset = 0 )
overridevirtual

Implements Vesper::UniformBuffer.

22 {
23 glNamedBufferSubData(m_RendererID, offset, size, data);
24 }

References m_RendererID.

Member Data Documentation

◆ m_RendererID

uint32_t Vesper::OpenGLUniformBuffer::m_RendererID = 0
private

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