]> git.tdb.fi Git - libs/gl.git/blobdiff - source/vertexbuffer.cpp
Windows compatibility:
[libs/gl.git] / source / vertexbuffer.cpp
index d579a373c249da2b39460938fbc8a8ad5b02360a..e3680811dd9a8ccb59e1fb0e0b1f5b84b53ac6e3 100644 (file)
@@ -5,10 +5,8 @@ Copyright © 2007  Mikko Rasa, Mikkosoft Productions
 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 {
@@ -16,12 +14,14 @@ namespace GL {
 
 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;
 }
 
@@ -29,19 +29,19 @@ void VertexBuffer::data(sizei size, void *d)
 {
        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;
        }
 }