Supermodel/Src/Graphics/New3D/VBO.h

32 lines
604 B
C
Raw Normal View History

#ifndef _VBO_H_
#define _VBO_H_
2020-07-31 19:18:51 +00:00
#include <GL/glew.h>
namespace New3D {
class VBO
{
public:
VBO();
void Create (GLenum target, GLenum usage, GLsizeiptr size, const void* data=nullptr);
void BufferSubData (GLintptr offset, GLsizeiptr size, const GLvoid* data);
2016-03-24 13:17:17 +00:00
bool AppendData (GLsizeiptr size, const GLvoid* data);
void Reset (); // don't delete data, just go back to start
void Destroy ();
void Bind (bool enable);
2016-03-24 13:17:17 +00:00
int GetSize ();
int GetCapacity ();
private:
2016-03-24 13:17:17 +00:00
GLuint m_id;
GLenum m_target;
int m_capacity;
int m_size;
};
} // New3D
#endif