]> git.tdb.fi Git - libs/gl.git/blobdiff - source/extension.cpp
Add object-oriented interfaces for the various tests and blending
[libs/gl.git] / source / extension.cpp
index a5ad3191b88e518bae3116039a200a784bc0d6a8..6b00ceb6cf8174edbc4ddee06d0df82071ab3d89 100644 (file)
@@ -1,18 +1,20 @@
 /* $Id$
 
 This file is part of libmspgl
-Copyright © 2007  Mikko Rasa, Mikkosoft Productions
+Copyright © 2007, 2009-2010  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
 #include <set>
 #ifndef WIN32
+#define GLX_GLXEXT_PROTOTYPES
 #include <GL/glx.h>
 #endif
 #include <msp/strings/formatter.h>
 #include <msp/strings/utils.h>
 #include "arb_shader_objects.h"
 #include "arb_vertex_buffer_object.h"
+#include "arb_vertex_program.h"
 #include "arb_vertex_shader.h"
 #include "ext_framebuffer_object.h"
 #include "except.h"
@@ -45,6 +47,8 @@ bool is_supported(const string &ext)
                        init_arb_shader_objects();
                if(extensions.count("GL_ARB_vertex_shader"))
                        init_arb_vertex_shader();
+               if(extensions.count("GL_ARB_vertex_program"))
+                       init_arb_vertex_program();
                if(extensions.count("GL_EXT_framebuffer_object"))
                        init_ext_framebuffer_object();
                if(extensions.count("GL_ARB_vertex_buffer_object"))
@@ -73,6 +77,8 @@ const Version &get_gl_version()
                        init_version_1_2();
                if(combined>=0x103)
                        init_version_1_3();
+
+               init_done = true;
        }
 
        return version;
@@ -94,7 +100,7 @@ void require_version(unsigned a, unsigned b)
 ExtFunc *get_proc_address(const string &name)
 {
 #ifndef WIN32
-       return glXGetProcAddressARB(reinterpret_cast<const GLubyte *>(name.c_str()));
+       return glXGetProcAddressARB(reinterpret_cast<const unsigned char *>(name.c_str()));
 #else
        return reinterpret_cast<ExtFunc *>(wglGetProcAddress(name.c_str()));
 #endif