HPC_Voxel_Engine 0.2.0
High-Performance C++ Voxel Engine
Loading...
Searching...
No Matches
IndexBuffer.h
Go to the documentation of this file.
1#pragma once
2
3#include <glad/glad.h>
4
5namespace Renderer {
7public:
8 unsigned int m_RendererID;
9 unsigned int m_uiCount;
10
16 IndexBuffer(unsigned int* data, unsigned int uiCount) : m_uiCount(uiCount) {
17 glCreateBuffers(1, &m_RendererID);
18 glNamedBufferData(m_RendererID, uiCount * sizeof(unsigned int), data, GL_STATIC_DRAW);
19 }
20
21 ~IndexBuffer() { glDeleteBuffers(1, &m_RendererID); }
22
23 IndexBuffer(const IndexBuffer&) = delete;
25
26 void Bind() const { glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_RendererID); }
27 void Unbind() const { glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); }
28
29 unsigned int GetCount() const { return m_uiCount; }
30};
31} // namespace Renderer
Definition IndexBuffer.h:6
IndexBuffer & operator=(const IndexBuffer &)=delete
unsigned int m_uiCount
Definition IndexBuffer.h:9
unsigned int GetCount() const
Definition IndexBuffer.h:29
unsigned int m_RendererID
Definition IndexBuffer.h:8
void Bind() const
Definition IndexBuffer.h:26
void Unbind() const
Definition IndexBuffer.h:27
IndexBuffer(const IndexBuffer &)=delete
~IndexBuffer()
Definition IndexBuffer.h:21
IndexBuffer(unsigned int *data, unsigned int uiCount)
Creates and fills the index buffer.
Definition IndexBuffer.h:16
Definition Buffer.h:4