mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
34 lines
597 B
C++
34 lines
597 B
C++
#include "stdafx.h"
|
|
#include "ubo.h"
|
|
|
|
gl::ubo::ubo(int size, int idx, GLenum hint)
|
|
{
|
|
glGenBuffers(1, *this);
|
|
bind();
|
|
glBufferData(GL_UNIFORM_BUFFER, size, nullptr, hint);
|
|
index = idx;
|
|
bind_uniform();
|
|
}
|
|
|
|
void gl::ubo::bind_uniform()
|
|
{
|
|
glBindBufferBase(GL_UNIFORM_BUFFER, index, *this);
|
|
active = this;
|
|
}
|
|
|
|
gl::ubo::~ubo()
|
|
{
|
|
glDeleteBuffers(1, *this);
|
|
}
|
|
|
|
void gl::ubo::bind(GLuint i)
|
|
{
|
|
glBindBuffer(GL_UNIFORM_BUFFER, i);
|
|
}
|
|
|
|
void gl::ubo::update(const uint8_t *data, int offset, int size)
|
|
{
|
|
bind();
|
|
glBufferSubData(GL_UNIFORM_BUFFER, offset, size, data);
|
|
}
|