Distributed under the LGPL
*/
-#define GL_GLEXT_PROTOTYPES
-#include <GL/gl.h>
-//XXX gl.h seems to include glext.h, but can I rely on this?
-//#include <GL/glext.h>
+#include "arb_vertex_buffer_object.h"
+#include "extension.h"
#include "vertexbuffer.h"
namespace Msp {
VertexBuffer::VertexBuffer()
{
- glGenBuffers(1, &id);
+ require_extension("GL_ARB_vertex_buffer_object");
+
+ glGenBuffersARB(1, &id);
}
void VertexBuffer::bind() const
{
- glBindBuffer(GL_ARRAY_BUFFER, id);
+ glBindBufferARB(GL_ARRAY_BUFFER, id);
bound=this;
}
{
if(bound!=this) bind();
- glBufferData(GL_ARRAY_BUFFER, size, d, GL_STATIC_DRAW);
+ glBufferDataARB(GL_ARRAY_BUFFER, size, d, GL_STATIC_DRAW);
}
VertexBuffer::~VertexBuffer()
{
- glDeleteBuffers(1, &id);
+ glDeleteBuffersARB(1, &id);
}
void VertexBuffer::unbind()
{
if(bound)
{
- glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glBindBufferARB(GL_ARRAY_BUFFER, 0);
bound=0;
}
}