39 lines
790 B
C++
39 lines
790 B
C++
|
#include <include/glclasses.h>
|
||
|
|
||
|
#define TBufferObject_(pre, post) template <GLenum T> pre BufferObject<T>::post
|
||
|
#define TBufferObject(...) TBufferObject_(__VA_ARGS__)
|
||
|
|
||
|
TBufferObject(, BufferObject)() {
|
||
|
glGenBuffers(1, &m_name);
|
||
|
}
|
||
|
|
||
|
TBufferObject(, ~BufferObject)() {
|
||
|
glDeleteBuffers(1, m_name);
|
||
|
}
|
||
|
|
||
|
TBufferObject(void, bind)() {
|
||
|
glBindBuffer(T, m_name);
|
||
|
}
|
||
|
|
||
|
TBufferObject(void, bind)(GLuint index, GLintptr offset, GLsizeiptr size) {
|
||
|
//todo
|
||
|
}
|
||
|
|
||
|
TBufferObject(void, fill)(GLenum usage, GLsizei size, GLvoid* data) {
|
||
|
glBufferData(T, size, data, usage);
|
||
|
}
|
||
|
|
||
|
TBufferObject(void, subfill)(GLintptr offset, GLsizei size, const GLvoid* data) {
|
||
|
glBufferSubData(T, offset, size, data);
|
||
|
}
|
||
|
|
||
|
TBufferObject(void, map)(GLenum access) {
|
||
|
//todo
|
||
|
}
|
||
|
|
||
|
TBufferObject(void, unmap)() {
|
||
|
//todo
|
||
|
}
|
||
|
|
||
|
|