X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvertexbuffer.cpp;h=e3680811dd9a8ccb59e1fb0e0b1f5b84b53ac6e3;hb=a4ec5410595ddf37bfbc0e85ad87d31a9cbf94f1;hp=d579a373c249da2b39460938fbc8a8ad5b02360a;hpb=f71aee8c20ff85e4857e4dfad0c20ce606ea3717;p=libs%2Fgl.git diff --git a/source/vertexbuffer.cpp b/source/vertexbuffer.cpp index d579a373..e3680811 100644 --- a/source/vertexbuffer.cpp +++ b/source/vertexbuffer.cpp @@ -5,10 +5,8 @@ Copyright © 2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ -#define GL_GLEXT_PROTOTYPES -#include -//XXX gl.h seems to include glext.h, but can I rely on this? -//#include +#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; } }