diff options
author | Chris Want <cwant@ualberta.ca> | 2006-01-28 19:35:18 +0300 |
---|---|---|
committer | Chris Want <cwant@ualberta.ca> | 2006-01-28 19:35:18 +0300 |
commit | c8b48e70e626a351dc3d02122ea413d0046e98b7 (patch) | |
tree | 0b4777ce258d751f501ec7ce16c129f01f3d3307 /source/gameengine/Rasterizer | |
parent | 45c7b2c5c2bc20296a581e1b6a1cb3908f11732f (diff) | |
parent | db5f7bd8da580d05c31f6fa65bfea8042deac10e (diff) |
Final merge of HEAD (bf-blender) into the orange branch.
Here are my notes on things to look out for as potential problem
spots:
source/blender/blenkernel/intern/displist.c:
+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.
source/blender/python/api2_2x/Armature.c:
+ went with the version that had Armature_getLayers()
source/blender/python/api2_2x/Object.c
+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)
source/blender/python/api2_2x/Pose.[ch]
+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.
source/blender/src/drawview.c:
+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless
source/blender/src/splash.jpg.c:
+ went with bf-blender version (orange is dead)
source/gameengine:
+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.
Diffstat (limited to 'source/gameengine/Rasterizer')
6 files changed, 302 insertions, 294 deletions
diff --git a/source/gameengine/Rasterizer/Makefile b/source/gameengine/Rasterizer/Makefile index 6a1421ae90b..5f8eace8adb 100644 --- a/source/gameengine/Rasterizer/Makefile +++ b/source/gameengine/Rasterizer/Makefile @@ -42,7 +42,9 @@ CPPFLAGS += -I$(OPENGL_HEADERS) CPPFLAGS += -I$(NAN_STRING)/include CPPFLAGS += -I$(NAN_MOTO)/include CPPFLAGS += -I../../kernel/gen_system - +ifeq ($(OS),darwin) + CPPFLAGS += -fpascal-strings +endif ############### SOURCEDIR = source/gameengine/Rasterizer diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/Makefile b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/Makefile index c03aab3422e..40f3fc50005 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/Makefile +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/Makefile @@ -44,4 +44,6 @@ CPPFLAGS += -I$(NAN_STRING)/include CPPFLAGS += -I$(NAN_MOTO)/include CPPFLAGS += -I../../../kernel/gen_system CPPFLAGS += -I.. - +ifeq ($(OS),darwin) + CPPFLAGS += -fpascal-strings +endif diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp index 344fdbbf164..af3a9bca03e 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.cpp @@ -47,7 +47,7 @@ #elif defined(__APPLE__) # include <Carbon/Carbon.h> - +# define GL_GLEXT_LEGACY 1 # include <OpenGL/gl.h> #else /* UNIX */ @@ -322,88 +322,88 @@ BL_EXTInfo RAS_EXT_support; #ifdef GL_ARB_multitexture int max_texture_units = 2; -PFNGLACTIVETEXTUREARBPROC glActiveTextureARB; -PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB; -PFNGLMULTITEXCOORD1DARBPROC glMultiTexCoord1dARB; -PFNGLMULTITEXCOORD1DVARBPROC glMultiTexCoord1dvARB; -PFNGLMULTITEXCOORD1FARBPROC glMultiTexCoord1fARB; -PFNGLMULTITEXCOORD1FVARBPROC glMultiTexCoord1fvARB; -PFNGLMULTITEXCOORD1IARBPROC glMultiTexCoord1iARB; -PFNGLMULTITEXCOORD1IVARBPROC glMultiTexCoord1ivARB; -PFNGLMULTITEXCOORD1SARBPROC glMultiTexCoord1sARB; -PFNGLMULTITEXCOORD1SVARBPROC glMultiTexCoord1svARB; -PFNGLMULTITEXCOORD2DARBPROC glMultiTexCoord2dARB; -PFNGLMULTITEXCOORD2DVARBPROC glMultiTexCoord2dvARB; -PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB; -PFNGLMULTITEXCOORD2FVARBPROC glMultiTexCoord2fvARB; -PFNGLMULTITEXCOORD2IARBPROC glMultiTexCoord2iARB; -PFNGLMULTITEXCOORD2IVARBPROC glMultiTexCoord2ivARB; -PFNGLMULTITEXCOORD2SARBPROC glMultiTexCoord2sARB; -PFNGLMULTITEXCOORD2SVARBPROC glMultiTexCoord2svARB; -PFNGLMULTITEXCOORD3DARBPROC glMultiTexCoord3dARB; -PFNGLMULTITEXCOORD3DVARBPROC glMultiTexCoord3dvARB; -PFNGLMULTITEXCOORD3FARBPROC glMultiTexCoord3fARB; -PFNGLMULTITEXCOORD3FVARBPROC glMultiTexCoord3fvARB; -PFNGLMULTITEXCOORD3IARBPROC glMultiTexCoord3iARB; -PFNGLMULTITEXCOORD3IVARBPROC glMultiTexCoord3ivARB; -PFNGLMULTITEXCOORD3SARBPROC glMultiTexCoord3sARB; -PFNGLMULTITEXCOORD3SVARBPROC glMultiTexCoord3svARB; -PFNGLMULTITEXCOORD4DARBPROC glMultiTexCoord4dARB; -PFNGLMULTITEXCOORD4DVARBPROC glMultiTexCoord4dvARB; -PFNGLMULTITEXCOORD4FARBPROC glMultiTexCoord4fARB; -PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB; -PFNGLMULTITEXCOORD4IARBPROC glMultiTexCoord4iARB; -PFNGLMULTITEXCOORD4IVARBPROC glMultiTexCoord4ivARB; -PFNGLMULTITEXCOORD4SARBPROC glMultiTexCoord4sARB; -PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4svARB; + PFNGLACTIVETEXTUREARBPROC blActiveTextureARB; + PFNGLCLIENTACTIVETEXTUREARBPROC blClientActiveTextureARB; + PFNGLMULTITEXCOORD1DARBPROC blMultiTexCoord1dARB; + PFNGLMULTITEXCOORD1DVARBPROC blMultiTexCoord1dvARB; + PFNGLMULTITEXCOORD1FARBPROC blMultiTexCoord1fARB; + PFNGLMULTITEXCOORD1FVARBPROC blMultiTexCoord1fvARB; + PFNGLMULTITEXCOORD1IARBPROC blMultiTexCoord1iARB; + PFNGLMULTITEXCOORD1IVARBPROC blMultiTexCoord1ivARB; + PFNGLMULTITEXCOORD1SARBPROC blMultiTexCoord1sARB; + PFNGLMULTITEXCOORD1SVARBPROC blMultiTexCoord1svARB; + PFNGLMULTITEXCOORD2DARBPROC blMultiTexCoord2dARB; + PFNGLMULTITEXCOORD2DVARBPROC blMultiTexCoord2dvARB; + PFNGLMULTITEXCOORD2FARBPROC blMultiTexCoord2fARB; + PFNGLMULTITEXCOORD2FVARBPROC blMultiTexCoord2fvARB; + PFNGLMULTITEXCOORD2IARBPROC blMultiTexCoord2iARB; + PFNGLMULTITEXCOORD2IVARBPROC blMultiTexCoord2ivARB; + PFNGLMULTITEXCOORD2SARBPROC blMultiTexCoord2sARB; + PFNGLMULTITEXCOORD2SVARBPROC blMultiTexCoord2svARB; + PFNGLMULTITEXCOORD3DARBPROC blMultiTexCoord3dARB; + PFNGLMULTITEXCOORD3DVARBPROC blMultiTexCoord3dvARB; + PFNGLMULTITEXCOORD3FARBPROC blMultiTexCoord3fARB; + PFNGLMULTITEXCOORD3FVARBPROC blMultiTexCoord3fvARB; + PFNGLMULTITEXCOORD3IARBPROC blMultiTexCoord3iARB; + PFNGLMULTITEXCOORD3IVARBPROC blMultiTexCoord3ivARB; + PFNGLMULTITEXCOORD3SARBPROC blMultiTexCoord3sARB; + PFNGLMULTITEXCOORD3SVARBPROC blMultiTexCoord3svARB; + PFNGLMULTITEXCOORD4DARBPROC blMultiTexCoord4dARB; + PFNGLMULTITEXCOORD4DVARBPROC blMultiTexCoord4dvARB; + PFNGLMULTITEXCOORD4FARBPROC blMultiTexCoord4fARB; + PFNGLMULTITEXCOORD4FVARBPROC blMultiTexCoord4fvARB; + PFNGLMULTITEXCOORD4IARBPROC blMultiTexCoord4iARB; + PFNGLMULTITEXCOORD4IVARBPROC blMultiTexCoord4ivARB; + PFNGLMULTITEXCOORD4SARBPROC blMultiTexCoord4sARB; + PFNGLMULTITEXCOORD4SVARBPROC blMultiTexCoord4svARB; #endif #ifdef GL_ARB_shader_objects -PFNGLDELETEOBJECTARBPROC glDeleteObjectARB; -PFNGLGETHANDLEARBPROC glGetHandleARB; -PFNGLDETACHOBJECTARBPROC glDetachObjectARB; -PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB; -PFNGLSHADERSOURCEARBPROC glShaderSourceARB; -PFNGLCOMPILESHADERARBPROC glCompileShaderARB; -PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB; -PFNGLATTACHOBJECTARBPROC glAttachObjectARB; -PFNGLLINKPROGRAMARBPROC glLinkProgramARB; -PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB; -PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB; -PFNGLUNIFORM1FARBPROC glUniform1fARB; -PFNGLUNIFORM2FARBPROC glUniform2fARB; -PFNGLUNIFORM3FARBPROC glUniform3fARB; -PFNGLUNIFORM4FARBPROC glUniform4fARB; -PFNGLUNIFORM1IARBPROC glUniform1iARB; -PFNGLUNIFORM2IARBPROC glUniform2iARB; -PFNGLUNIFORM3IARBPROC glUniform3iARB; -PFNGLUNIFORM4IARBPROC glUniform4iARB; -PFNGLUNIFORM1FVARBPROC glUniform1fvARB; -PFNGLUNIFORM2FVARBPROC glUniform2fvARB; -PFNGLUNIFORM3FVARBPROC glUniform3fvARB; -PFNGLUNIFORM4FVARBPROC glUniform4fvARB; -PFNGLUNIFORM1IVARBPROC glUniform1ivARB; -PFNGLUNIFORM2IVARBPROC glUniform2ivARB; -PFNGLUNIFORM3IVARBPROC glUniform3ivARB; -PFNGLUNIFORM4IVARBPROC glUniform4ivARB; -PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB; -PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB; -PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB; -PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB; -PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB; -PFNGLGETINFOLOGARBPROC glGetInfoLogARB; -PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB; -PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB; -PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB; -PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB; -PFNGLGETUNIFORMIVARBPROC glGetUniformivARB; -PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB; + PFNGLDELETEOBJECTARBPROC blDeleteObjectARB; + PFNGLGETHANDLEARBPROC blGetHandleARB; + PFNGLDETACHOBJECTARBPROC blDetachObjectARB; + PFNGLCREATESHADEROBJECTARBPROC blCreateShaderObjectARB; + PFNGLSHADERSOURCEARBPROC blShaderSourceARB; + PFNGLCOMPILESHADERARBPROC blCompileShaderARB; + PFNGLCREATEPROGRAMOBJECTARBPROC blCreateProgramObjectARB; + PFNGLATTACHOBJECTARBPROC blAttachObjectARB; + PFNGLLINKPROGRAMARBPROC blLinkProgramARB; + PFNGLUSEPROGRAMOBJECTARBPROC blUseProgramObjectARB; + PFNGLVALIDATEPROGRAMARBPROC blValidateProgramARB; + PFNGLUNIFORM1FARBPROC blUniform1fARB; + PFNGLUNIFORM2FARBPROC blUniform2fARB; + PFNGLUNIFORM3FARBPROC blUniform3fARB; + PFNGLUNIFORM4FARBPROC blUniform4fARB; + PFNGLUNIFORM1IARBPROC blUniform1iARB; + PFNGLUNIFORM2IARBPROC blUniform2iARB; + PFNGLUNIFORM3IARBPROC blUniform3iARB; + PFNGLUNIFORM4IARBPROC blUniform4iARB; + PFNGLUNIFORM1FVARBPROC blUniform1fvARB; + PFNGLUNIFORM2FVARBPROC blUniform2fvARB; + PFNGLUNIFORM3FVARBPROC blUniform3fvARB; + PFNGLUNIFORM4FVARBPROC blUniform4fvARB; + PFNGLUNIFORM1IVARBPROC blUniform1ivARB; + PFNGLUNIFORM2IVARBPROC blUniform2ivARB; + PFNGLUNIFORM3IVARBPROC blUniform3ivARB; + PFNGLUNIFORM4IVARBPROC blUniform4ivARB; + PFNGLUNIFORMMATRIX2FVARBPROC blUniformMatrix2fvARB; + PFNGLUNIFORMMATRIX3FVARBPROC blUniformMatrix3fvARB; + PFNGLUNIFORMMATRIX4FVARBPROC blUniformMatrix4fvARB; + PFNGLGETOBJECTPARAMETERFVARBPROC blGetObjectParameterfvARB; + PFNGLGETOBJECTPARAMETERIVARBPROC blGetObjectParameterivARB; + PFNGLGETINFOLOGARBPROC blGetInfoLogARB; + PFNGLGETATTACHEDOBJECTSARBPROC blGetAttachedObjectsARB; + PFNGLGETUNIFORMLOCATIONARBPROC blGetUniformLocationARB; + PFNGLGETACTIVEUNIFORMARBPROC blGetActiveUniformARB; + PFNGLGETUNIFORMFVARBPROC blGetUniformfvARB; + PFNGLGETUNIFORMIVARBPROC blGetUniformivARB; + PFNGLGETSHADERSOURCEARBPROC blGetShaderSourceARB; #endif #ifdef GL_ARB_vertex_shader -PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB; -PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB; -PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB; +PFNGLBINDATTRIBLOCATIONARBPROC blBindAttribLocationARB; +PFNGLGETACTIVEATTRIBARBPROC blGetActiveAttribARB; +PFNGLGETATTRIBLOCATIONARBPROC blGetAttribLocationARB; #endif } // namespace bgl @@ -464,41 +464,41 @@ static void LinkExtensions() #ifdef GL_ARB_multitexture if (QueryExtension("GL_ARB_multitexture")) { - bgl::glActiveTextureARB = reinterpret_cast<PFNGLACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glActiveTextureARB")); - bgl::glClientActiveTextureARB = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glClientActiveTextureARB")); - bgl::glMultiTexCoord1dARB = reinterpret_cast<PFNGLMULTITEXCOORD1DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dARB")); - bgl::glMultiTexCoord1dvARB = reinterpret_cast<PFNGLMULTITEXCOORD1DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dvARB")); - bgl::glMultiTexCoord1fARB = reinterpret_cast<PFNGLMULTITEXCOORD1FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fARB")); - bgl::glMultiTexCoord1fvARB = reinterpret_cast<PFNGLMULTITEXCOORD1FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fvARB")); - bgl::glMultiTexCoord1iARB = reinterpret_cast<PFNGLMULTITEXCOORD1IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1iARB")); - bgl::glMultiTexCoord1ivARB = reinterpret_cast<PFNGLMULTITEXCOORD1IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1ivARB")); - bgl::glMultiTexCoord1sARB = reinterpret_cast<PFNGLMULTITEXCOORD1SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1sARB")); - bgl::glMultiTexCoord1svARB = reinterpret_cast<PFNGLMULTITEXCOORD1SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1svARB")); - bgl::glMultiTexCoord2dARB = reinterpret_cast<PFNGLMULTITEXCOORD2DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dARB")); - bgl::glMultiTexCoord2dvARB = reinterpret_cast<PFNGLMULTITEXCOORD2DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dvARB")); - bgl::glMultiTexCoord2fARB = reinterpret_cast<PFNGLMULTITEXCOORD2FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fARB")); - bgl::glMultiTexCoord2fvARB = reinterpret_cast<PFNGLMULTITEXCOORD2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fvARB")); - bgl::glMultiTexCoord2iARB = reinterpret_cast<PFNGLMULTITEXCOORD2IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2iARB")); - bgl::glMultiTexCoord2ivARB = reinterpret_cast<PFNGLMULTITEXCOORD2IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2ivARB")); - bgl::glMultiTexCoord2sARB = reinterpret_cast<PFNGLMULTITEXCOORD2SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2sARB")); - bgl::glMultiTexCoord2svARB = reinterpret_cast<PFNGLMULTITEXCOORD2SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2svARB")); - bgl::glMultiTexCoord3dARB = reinterpret_cast<PFNGLMULTITEXCOORD3DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dARB")); - bgl::glMultiTexCoord3dvARB = reinterpret_cast<PFNGLMULTITEXCOORD3DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dvARB")); - bgl::glMultiTexCoord3fARB = reinterpret_cast<PFNGLMULTITEXCOORD3FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fARB")); - bgl::glMultiTexCoord3fvARB = reinterpret_cast<PFNGLMULTITEXCOORD3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fvARB")); - bgl::glMultiTexCoord3iARB = reinterpret_cast<PFNGLMULTITEXCOORD3IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3iARB")); - bgl::glMultiTexCoord3ivARB = reinterpret_cast<PFNGLMULTITEXCOORD3IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3ivARB")); - bgl::glMultiTexCoord3sARB = reinterpret_cast<PFNGLMULTITEXCOORD3SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3sARB")); - bgl::glMultiTexCoord3svARB = reinterpret_cast<PFNGLMULTITEXCOORD3SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3svARB")); - bgl::glMultiTexCoord4dARB = reinterpret_cast<PFNGLMULTITEXCOORD4DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dARB")); - bgl::glMultiTexCoord4dvARB = reinterpret_cast<PFNGLMULTITEXCOORD4DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dvARB")); - bgl::glMultiTexCoord4fARB = reinterpret_cast<PFNGLMULTITEXCOORD4FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fARB")); - bgl::glMultiTexCoord4fvARB = reinterpret_cast<PFNGLMULTITEXCOORD4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fvARB")); - bgl::glMultiTexCoord4iARB = reinterpret_cast<PFNGLMULTITEXCOORD4IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4iARB")); - bgl::glMultiTexCoord4ivARB = reinterpret_cast<PFNGLMULTITEXCOORD4IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4ivARB")); - bgl::glMultiTexCoord4sARB = reinterpret_cast<PFNGLMULTITEXCOORD4SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4sARB")); - bgl::glMultiTexCoord4svARB = reinterpret_cast<PFNGLMULTITEXCOORD4SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4svARB")); - if (bgl::glActiveTextureARB && bgl::glClientActiveTextureARB && bgl::glMultiTexCoord1dARB && bgl::glMultiTexCoord1dvARB && bgl::glMultiTexCoord1fARB && bgl::glMultiTexCoord1fvARB && bgl::glMultiTexCoord1iARB && bgl::glMultiTexCoord1ivARB && bgl::glMultiTexCoord1sARB && bgl::glMultiTexCoord1svARB && bgl::glMultiTexCoord2dARB && bgl::glMultiTexCoord2dvARB && bgl::glMultiTexCoord2fARB && bgl::glMultiTexCoord2fvARB && bgl::glMultiTexCoord2iARB && bgl::glMultiTexCoord2ivARB && bgl::glMultiTexCoord2sARB && bgl::glMultiTexCoord2svARB && bgl::glMultiTexCoord3dARB && bgl::glMultiTexCoord3dvARB && bgl::glMultiTexCoord3fARB && bgl::glMultiTexCoord3fvARB && bgl::glMultiTexCoord3iARB && bgl::glMultiTexCoord3ivARB && bgl::glMultiTexCoord3sARB && bgl::glMultiTexCoord3svARB && bgl::glMultiTexCoord4dARB && bgl::glMultiTexCoord4dvARB && bgl::glMultiTexCoord4fARB && bgl::glMultiTexCoord4fvARB && bgl::glMultiTexCoord4iARB && bgl::glMultiTexCoord4ivARB && bgl::glMultiTexCoord4sARB && bgl::glMultiTexCoord4svARB) { + bgl::blActiveTextureARB = reinterpret_cast<PFNGLACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glActiveTextureARB")); + bgl::blClientActiveTextureARB = reinterpret_cast<PFNGLCLIENTACTIVETEXTUREARBPROC>(bglGetProcAddress((const GLubyte *) "glClientActiveTextureARB")); + bgl::blMultiTexCoord1dARB = reinterpret_cast<PFNGLMULTITEXCOORD1DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dARB")); + bgl::blMultiTexCoord1dvARB = reinterpret_cast<PFNGLMULTITEXCOORD1DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1dvARB")); + bgl::blMultiTexCoord1fARB = reinterpret_cast<PFNGLMULTITEXCOORD1FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fARB")); + bgl::blMultiTexCoord1fvARB = reinterpret_cast<PFNGLMULTITEXCOORD1FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1fvARB")); + bgl::blMultiTexCoord1iARB = reinterpret_cast<PFNGLMULTITEXCOORD1IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1iARB")); + bgl::blMultiTexCoord1ivARB = reinterpret_cast<PFNGLMULTITEXCOORD1IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1ivARB")); + bgl::blMultiTexCoord1sARB = reinterpret_cast<PFNGLMULTITEXCOORD1SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1sARB")); + bgl::blMultiTexCoord1svARB = reinterpret_cast<PFNGLMULTITEXCOORD1SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord1svARB")); + bgl::blMultiTexCoord2dARB = reinterpret_cast<PFNGLMULTITEXCOORD2DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dARB")); + bgl::blMultiTexCoord2dvARB = reinterpret_cast<PFNGLMULTITEXCOORD2DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2dvARB")); + bgl::blMultiTexCoord2fARB = reinterpret_cast<PFNGLMULTITEXCOORD2FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fARB")); + bgl::blMultiTexCoord2fvARB = reinterpret_cast<PFNGLMULTITEXCOORD2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2fvARB")); + bgl::blMultiTexCoord2iARB = reinterpret_cast<PFNGLMULTITEXCOORD2IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2iARB")); + bgl::blMultiTexCoord2ivARB = reinterpret_cast<PFNGLMULTITEXCOORD2IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2ivARB")); + bgl::blMultiTexCoord2sARB = reinterpret_cast<PFNGLMULTITEXCOORD2SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2sARB")); + bgl::blMultiTexCoord2svARB = reinterpret_cast<PFNGLMULTITEXCOORD2SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord2svARB")); + bgl::blMultiTexCoord3dARB = reinterpret_cast<PFNGLMULTITEXCOORD3DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dARB")); + bgl::blMultiTexCoord3dvARB = reinterpret_cast<PFNGLMULTITEXCOORD3DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3dvARB")); + bgl::blMultiTexCoord3fARB = reinterpret_cast<PFNGLMULTITEXCOORD3FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fARB")); + bgl::blMultiTexCoord3fvARB = reinterpret_cast<PFNGLMULTITEXCOORD3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3fvARB")); + bgl::blMultiTexCoord3iARB = reinterpret_cast<PFNGLMULTITEXCOORD3IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3iARB")); + bgl::blMultiTexCoord3ivARB = reinterpret_cast<PFNGLMULTITEXCOORD3IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3ivARB")); + bgl::blMultiTexCoord3sARB = reinterpret_cast<PFNGLMULTITEXCOORD3SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3sARB")); + bgl::blMultiTexCoord3svARB = reinterpret_cast<PFNGLMULTITEXCOORD3SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord3svARB")); + bgl::blMultiTexCoord4dARB = reinterpret_cast<PFNGLMULTITEXCOORD4DARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dARB")); + bgl::blMultiTexCoord4dvARB = reinterpret_cast<PFNGLMULTITEXCOORD4DVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4dvARB")); + bgl::blMultiTexCoord4fARB = reinterpret_cast<PFNGLMULTITEXCOORD4FARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fARB")); + bgl::blMultiTexCoord4fvARB = reinterpret_cast<PFNGLMULTITEXCOORD4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4fvARB")); + bgl::blMultiTexCoord4iARB = reinterpret_cast<PFNGLMULTITEXCOORD4IARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4iARB")); + bgl::blMultiTexCoord4ivARB = reinterpret_cast<PFNGLMULTITEXCOORD4IVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4ivARB")); + bgl::blMultiTexCoord4sARB = reinterpret_cast<PFNGLMULTITEXCOORD4SARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4sARB")); + bgl::blMultiTexCoord4svARB = reinterpret_cast<PFNGLMULTITEXCOORD4SVARBPROC>(bglGetProcAddress((const GLubyte *) "glMultiTexCoord4svARB")); + if (bgl::blActiveTextureARB && bgl::blClientActiveTextureARB && bgl::blMultiTexCoord1dARB && bgl::blMultiTexCoord1dvARB && bgl::blMultiTexCoord1fARB && bgl::blMultiTexCoord1fvARB && bgl::blMultiTexCoord1iARB && bgl::blMultiTexCoord1ivARB && bgl::blMultiTexCoord1sARB && bgl::blMultiTexCoord1svARB && bgl::blMultiTexCoord2dARB && bgl::blMultiTexCoord2dvARB && bgl::blMultiTexCoord2fARB && bgl::blMultiTexCoord2fvARB && bgl::blMultiTexCoord2iARB && bgl::blMultiTexCoord2ivARB && bgl::blMultiTexCoord2sARB && bgl::blMultiTexCoord2svARB && bgl::blMultiTexCoord3dARB && bgl::blMultiTexCoord3dvARB && bgl::blMultiTexCoord3fARB && bgl::blMultiTexCoord3fvARB && bgl::blMultiTexCoord3iARB && bgl::blMultiTexCoord3ivARB && bgl::blMultiTexCoord3sARB && bgl::blMultiTexCoord3svARB && bgl::blMultiTexCoord4dARB && bgl::blMultiTexCoord4dvARB && bgl::blMultiTexCoord4fARB && bgl::blMultiTexCoord4fvARB && bgl::blMultiTexCoord4iARB && bgl::blMultiTexCoord4ivARB && bgl::blMultiTexCoord4sARB && bgl::blMultiTexCoord4svARB) { EnableExtension(_GL_ARB_multitexture); RAS_EXT_support._ARB_multitexture = 1; if (doDebugMessages) @@ -509,49 +509,49 @@ static void LinkExtensions() } #endif -#ifdef GL_ARB_shader_objects +#if GL_ARB_shader_objects if (QueryExtension("GL_ARB_shader_objects")) { - glDeleteObjectARB = reinterpret_cast<PFNGLDELETEOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glDeleteObjectARB")); - glGetHandleARB = reinterpret_cast<PFNGLGETHANDLEARBPROC>(bglGetProcAddress((const GLubyte *) "glGetHandleARB")); - glDetachObjectARB = reinterpret_cast<PFNGLDETACHOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glDetachObjectARB")); - glCreateShaderObjectARB = reinterpret_cast<PFNGLCREATESHADEROBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glCreateShaderObjectARB")); - glShaderSourceARB = reinterpret_cast<PFNGLSHADERSOURCEARBPROC>(bglGetProcAddress((const GLubyte *) "glShaderSourceARB")); - glCompileShaderARB = reinterpret_cast<PFNGLCOMPILESHADERARBPROC>(bglGetProcAddress((const GLubyte *) "glCompileShaderARB")); - glCreateProgramObjectARB = reinterpret_cast<PFNGLCREATEPROGRAMOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glCreateProgramObjectARB")); - glAttachObjectARB = reinterpret_cast<PFNGLATTACHOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glAttachObjectARB")); - glLinkProgramARB = reinterpret_cast<PFNGLLINKPROGRAMARBPROC>(bglGetProcAddress((const GLubyte *) "glLinkProgramARB")); - glUseProgramObjectARB = reinterpret_cast<PFNGLUSEPROGRAMOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glUseProgramObjectARB")); - glValidateProgramARB = reinterpret_cast<PFNGLVALIDATEPROGRAMARBPROC>(bglGetProcAddress((const GLubyte *) "glValidateProgramARB")); - glUniform1fARB = reinterpret_cast<PFNGLUNIFORM1FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1fARB")); - glUniform2fARB = reinterpret_cast<PFNGLUNIFORM2FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2fARB")); - glUniform3fARB = reinterpret_cast<PFNGLUNIFORM3FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3fARB")); - glUniform4fARB = reinterpret_cast<PFNGLUNIFORM4FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4fARB")); - glUniform1iARB = reinterpret_cast<PFNGLUNIFORM1IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1iARB")); - glUniform2iARB = reinterpret_cast<PFNGLUNIFORM2IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2iARB")); - glUniform3iARB = reinterpret_cast<PFNGLUNIFORM3IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3iARB")); - glUniform4iARB = reinterpret_cast<PFNGLUNIFORM4IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4iARB")); - glUniform1fvARB = reinterpret_cast<PFNGLUNIFORM1FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1fvARB")); - glUniform2fvARB = reinterpret_cast<PFNGLUNIFORM2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2fvARB")); - glUniform3fvARB = reinterpret_cast<PFNGLUNIFORM3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3fvARB")); - glUniform4fvARB = reinterpret_cast<PFNGLUNIFORM4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4fvARB")); - glUniform1ivARB = reinterpret_cast<PFNGLUNIFORM1IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1ivARB")); - glUniform2ivARB = reinterpret_cast<PFNGLUNIFORM2IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2ivARB")); - glUniform3ivARB = reinterpret_cast<PFNGLUNIFORM3IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3ivARB")); - glUniform4ivARB = reinterpret_cast<PFNGLUNIFORM4IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4ivARB")); - glUniformMatrix2fvARB = reinterpret_cast<PFNGLUNIFORMMATRIX2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniformMatrix2fvARB")); - glUniformMatrix3fvARB = reinterpret_cast<PFNGLUNIFORMMATRIX3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniformMatrix3fvARB")); - glUniformMatrix4fvARB = reinterpret_cast<PFNGLUNIFORMMATRIX4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniformMatrix4fvARB")); - glGetObjectParameterfvARB = reinterpret_cast<PFNGLGETOBJECTPARAMETERFVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetObjectParameterfvARB")); - glGetObjectParameterivARB = reinterpret_cast<PFNGLGETOBJECTPARAMETERIVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetObjectParameterivARB")); - glGetInfoLogARB = reinterpret_cast<PFNGLGETINFOLOGARBPROC>(bglGetProcAddress((const GLubyte *) "glGetInfoLogARB")); - glGetAttachedObjectsARB = reinterpret_cast<PFNGLGETATTACHEDOBJECTSARBPROC>(bglGetProcAddress((const GLubyte *) "glGetAttachedObjectsARB")); - glGetUniformLocationARB = reinterpret_cast<PFNGLGETUNIFORMLOCATIONARBPROC>(bglGetProcAddress((const GLubyte *) "glGetUniformLocationARB")); - glGetActiveUniformARB = reinterpret_cast<PFNGLGETACTIVEUNIFORMARBPROC>(bglGetProcAddress((const GLubyte *) "glGetActiveUniformARB")); - glGetUniformfvARB = reinterpret_cast<PFNGLGETUNIFORMFVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetUniformfvARB")); - glGetUniformivARB = reinterpret_cast<PFNGLGETUNIFORMIVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetUniformivARB")); - glGetShaderSourceARB = reinterpret_cast<PFNGLGETSHADERSOURCEARBPROC>(bglGetProcAddress((const GLubyte *) "glGetShaderSourceARB")); - if (glDeleteObjectARB && glGetHandleARB && glDetachObjectARB && glCreateShaderObjectARB && glShaderSourceARB && glCompileShaderARB && glCreateProgramObjectARB && glAttachObjectARB && glLinkProgramARB && glUseProgramObjectARB && glValidateProgramARB && glUniform1fARB && glUniform2fARB && glUniform3fARB && glUniform4fARB && glUniform1iARB && glUniform2iARB && glUniform3iARB && glUniform4iARB && glUniform1fvARB && glUniform2fvARB && glUniform3fvARB && glUniform4fvARB && glUniform1ivARB && glUniform2ivARB && glUniform3ivARB && glUniform4ivARB && glUniformMatrix2fvARB && glUniformMatrix3fvARB && glUniformMatrix4fvARB && glGetObjectParameterfvARB && glGetObjectParameterivARB && glGetInfoLogARB && glGetAttachedObjectsARB && glGetUniformLocationARB && glGetActiveUniformARB && glGetUniformfvARB && glGetUniformivARB && glGetShaderSourceARB) { + bgl::blDeleteObjectARB = reinterpret_cast<PFNGLDELETEOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glDeleteObjectARB")); + bgl::blGetHandleARB = reinterpret_cast<PFNGLGETHANDLEARBPROC>(bglGetProcAddress((const GLubyte *) "glGetHandleARB")); + bgl::blDetachObjectARB = reinterpret_cast<PFNGLDETACHOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glDetachObjectARB")); + bgl::blCreateShaderObjectARB = reinterpret_cast<PFNGLCREATESHADEROBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glCreateShaderObjectARB")); + bgl::blShaderSourceARB = reinterpret_cast<PFNGLSHADERSOURCEARBPROC>(bglGetProcAddress((const GLubyte *) "glShaderSourceARB")); + bgl::blCompileShaderARB = reinterpret_cast<PFNGLCOMPILESHADERARBPROC>(bglGetProcAddress((const GLubyte *) "glCompileShaderARB")); + bgl::blCreateProgramObjectARB = reinterpret_cast<PFNGLCREATEPROGRAMOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glCreateProgramObjectARB")); + bgl::blAttachObjectARB = reinterpret_cast<PFNGLATTACHOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glAttachObjectARB")); + bgl::blLinkProgramARB = reinterpret_cast<PFNGLLINKPROGRAMARBPROC>(bglGetProcAddress((const GLubyte *) "glLinkProgramARB")); + bgl::blUseProgramObjectARB = reinterpret_cast<PFNGLUSEPROGRAMOBJECTARBPROC>(bglGetProcAddress((const GLubyte *) "glUseProgramObjectARB")); + bgl::blValidateProgramARB = reinterpret_cast<PFNGLVALIDATEPROGRAMARBPROC>(bglGetProcAddress((const GLubyte *) "glValidateProgramARB")); + bgl::blUniform1fARB = reinterpret_cast<PFNGLUNIFORM1FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1fARB")); + bgl::blUniform2fARB = reinterpret_cast<PFNGLUNIFORM2FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2fARB")); + bgl::blUniform3fARB = reinterpret_cast<PFNGLUNIFORM3FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3fARB")); + bgl::blUniform4fARB = reinterpret_cast<PFNGLUNIFORM4FARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4fARB")); + bgl::blUniform1iARB = reinterpret_cast<PFNGLUNIFORM1IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1iARB")); + bgl::blUniform2iARB = reinterpret_cast<PFNGLUNIFORM2IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2iARB")); + bgl::blUniform3iARB = reinterpret_cast<PFNGLUNIFORM3IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3iARB")); + bgl::blUniform4iARB = reinterpret_cast<PFNGLUNIFORM4IARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4iARB")); + bgl::blUniform1fvARB = reinterpret_cast<PFNGLUNIFORM1FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1fvARB")); + bgl::blUniform2fvARB = reinterpret_cast<PFNGLUNIFORM2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2fvARB")); + bgl::blUniform3fvARB = reinterpret_cast<PFNGLUNIFORM3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3fvARB")); + bgl::blUniform4fvARB = reinterpret_cast<PFNGLUNIFORM4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4fvARB")); + bgl::blUniform1ivARB = reinterpret_cast<PFNGLUNIFORM1IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform1ivARB")); + bgl::blUniform2ivARB = reinterpret_cast<PFNGLUNIFORM2IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform2ivARB")); + bgl::blUniform3ivARB = reinterpret_cast<PFNGLUNIFORM3IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform3ivARB")); + bgl::blUniform4ivARB = reinterpret_cast<PFNGLUNIFORM4IVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniform4ivARB")); + bgl::blUniformMatrix2fvARB = reinterpret_cast<PFNGLUNIFORMMATRIX2FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniformMatrix2fvARB")); + bgl::blUniformMatrix3fvARB = reinterpret_cast<PFNGLUNIFORMMATRIX3FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniformMatrix3fvARB")); + bgl::blUniformMatrix4fvARB = reinterpret_cast<PFNGLUNIFORMMATRIX4FVARBPROC>(bglGetProcAddress((const GLubyte *) "glUniformMatrix4fvARB")); + bgl::blGetObjectParameterfvARB = reinterpret_cast<PFNGLGETOBJECTPARAMETERFVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetObjectParameterfvARB")); + bgl::blGetObjectParameterivARB = reinterpret_cast<PFNGLGETOBJECTPARAMETERIVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetObjectParameterivARB")); + bgl::blGetInfoLogARB = reinterpret_cast<PFNGLGETINFOLOGARBPROC>(bglGetProcAddress((const GLubyte *) "glGetInfoLogARB")); + bgl::blGetAttachedObjectsARB = reinterpret_cast<PFNGLGETATTACHEDOBJECTSARBPROC>(bglGetProcAddress((const GLubyte *) "glGetAttachedObjectsARB")); + bgl::blGetUniformLocationARB = reinterpret_cast<PFNGLGETUNIFORMLOCATIONARBPROC>(bglGetProcAddress((const GLubyte *) "glGetUniformLocationARB")); + bgl::blGetActiveUniformARB = reinterpret_cast<PFNGLGETACTIVEUNIFORMARBPROC>(bglGetProcAddress((const GLubyte *) "glGetActiveUniformARB")); + bgl::blGetUniformfvARB = reinterpret_cast<PFNGLGETUNIFORMFVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetUniformfvARB")); + bgl::blGetUniformivARB = reinterpret_cast<PFNGLGETUNIFORMIVARBPROC>(bglGetProcAddress((const GLubyte *) "glGetUniformivARB")); + bgl::blGetShaderSourceARB = reinterpret_cast<PFNGLGETSHADERSOURCEARBPROC>(bglGetProcAddress((const GLubyte *) "glGetShaderSourceARB")); + if (bgl::blDeleteObjectARB && bgl::blGetHandleARB && bgl::blDetachObjectARB && bgl::blCreateShaderObjectARB && bgl::blShaderSourceARB && bgl::blCompileShaderARB && bgl::blCreateProgramObjectARB && bgl::blAttachObjectARB && bgl::blLinkProgramARB && bgl::blUseProgramObjectARB && bgl::blValidateProgramARB && bgl::blUniform1fARB && bgl::blUniform2fARB && bgl::blUniform3fARB && bgl::blUniform4fARB && bgl::blUniform1iARB && bgl::blUniform2iARB && bgl::blUniform3iARB && bgl::blUniform4iARB && bgl::blUniform1fvARB && bgl::blUniform2fvARB && bgl::blUniform3fvARB && bgl::blUniform4fvARB && bgl::blUniform1ivARB && bgl::blUniform2ivARB && bgl::blUniform3ivARB && bgl::blUniform4ivARB && bgl::blUniformMatrix2fvARB && bgl::blUniformMatrix3fvARB && bgl::blUniformMatrix4fvARB && bgl::blGetObjectParameterfvARB && bgl::blGetObjectParameterivARB && bgl::blGetInfoLogARB && bgl::blGetAttachedObjectsARB && bgl::blGetUniformLocationARB && bgl::blGetActiveUniformARB && bgl::blGetUniformfvARB && bgl::blGetUniformivARB && bgl::blGetShaderSourceARB) { EnableExtension(_GL_ARB_shader_objects); RAS_EXT_support._ARB_shader_objects =1; if (doDebugMessages) @@ -562,13 +562,13 @@ static void LinkExtensions() } #endif -#ifdef GL_ARB_vertex_shader +#if GL_ARB_vertex_shader if (QueryExtension("GL_ARB_vertex_shader")) { - glBindAttribLocationARB = reinterpret_cast<PFNGLBINDATTRIBLOCATIONARBPROC>(bglGetProcAddress((const GLubyte *) "glBindAttribLocationARB")); - glGetActiveAttribARB = reinterpret_cast<PFNGLGETACTIVEATTRIBARBPROC>(bglGetProcAddress((const GLubyte *) "glGetActiveAttribARB")); - glGetAttribLocationARB = reinterpret_cast<PFNGLGETATTRIBLOCATIONARBPROC>(bglGetProcAddress((const GLubyte *) "glGetAttribLocationARB")); - if (glBindAttribLocationARB && glGetActiveAttribARB && glGetAttribLocationARB) { + bgl::blBindAttribLocationARB = reinterpret_cast<PFNGLBINDATTRIBLOCATIONARBPROC>(bglGetProcAddress((const GLubyte *) "glBindAttribLocationARB")); + bgl::blGetActiveAttribARB = reinterpret_cast<PFNGLGETACTIVEATTRIBARBPROC>(bglGetProcAddress((const GLubyte *) "glGetActiveAttribARB")); + bgl::blGetAttribLocationARB = reinterpret_cast<PFNGLGETATTRIBLOCATIONARBPROC>(bglGetProcAddress((const GLubyte *) "glGetAttribLocationARB")); + if (bgl::blBindAttribLocationARB && bgl::blGetActiveAttribARB && bgl::blGetAttribLocationARB) { EnableExtension(_GL_ARB_vertex_shader); RAS_EXT_support._ARB_vertex_shader = 1; if (doDebugMessages) diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.h index 2d862ea3853..a5dad19222b 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.h +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_GLExtensionManager.h @@ -39,6 +39,7 @@ #elif defined(__APPLE__) # define __glext_h_ +# define GL_GLEXT_LEGACY 1 # include <OpenGL/gl.h> # include <OpenGL/glu.h> # undef __glext_h_ @@ -52,6 +53,7 @@ #endif #include "glext.h" + #include "EXT_separate_specular_color.h" #include "ARB_multitexture.h" namespace bgl @@ -379,8 +381,8 @@ namespace bgl void InitExtensions(int debug); #if defined(PFNGLPNTRIANGLESIATIPROC) -extern PFNGLPNTRIANGLESIATIPROC glPNTrianglesiATI; -extern PFNGLPNTRIANGLESFATIPROC glPNTrianglesfATI; +extern PFNGLPNTRIANGLESIATIPROC blPNTrianglesiATI; +extern PFNGLPNTRIANGLESFATIPROC blPNTrianglesfATI; #endif @@ -413,89 +415,89 @@ extern BL_EXTInfo RAS_EXT_support; #ifdef GL_ARB_multitexture // defined in glext.h now... extern int max_texture_units; -extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB; -extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB; -extern PFNGLMULTITEXCOORD1DARBPROC glMultiTexCoord1dARB; -extern PFNGLMULTITEXCOORD1DVARBPROC glMultiTexCoord1dvARB; -extern PFNGLMULTITEXCOORD1FARBPROC glMultiTexCoord1fARB; -extern PFNGLMULTITEXCOORD1FVARBPROC glMultiTexCoord1fvARB; -extern PFNGLMULTITEXCOORD1IARBPROC glMultiTexCoord1iARB; -extern PFNGLMULTITEXCOORD1IVARBPROC glMultiTexCoord1ivARB; -extern PFNGLMULTITEXCOORD1SARBPROC glMultiTexCoord1sARB; -extern PFNGLMULTITEXCOORD1SVARBPROC glMultiTexCoord1svARB; -extern PFNGLMULTITEXCOORD2DARBPROC glMultiTexCoord2dARB; -extern PFNGLMULTITEXCOORD2DVARBPROC glMultiTexCoord2dvARB; -extern PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB; -extern PFNGLMULTITEXCOORD2FVARBPROC glMultiTexCoord2fvARB; -extern PFNGLMULTITEXCOORD2IARBPROC glMultiTexCoord2iARB; -extern PFNGLMULTITEXCOORD2IVARBPROC glMultiTexCoord2ivARB; -extern PFNGLMULTITEXCOORD2SARBPROC glMultiTexCoord2sARB; -extern PFNGLMULTITEXCOORD2SVARBPROC glMultiTexCoord2svARB; -extern PFNGLMULTITEXCOORD3DARBPROC glMultiTexCoord3dARB; -extern PFNGLMULTITEXCOORD3DVARBPROC glMultiTexCoord3dvARB; -extern PFNGLMULTITEXCOORD3FARBPROC glMultiTexCoord3fARB; -extern PFNGLMULTITEXCOORD3FVARBPROC glMultiTexCoord3fvARB; -extern PFNGLMULTITEXCOORD3IARBPROC glMultiTexCoord3iARB; -extern PFNGLMULTITEXCOORD3IVARBPROC glMultiTexCoord3ivARB; -extern PFNGLMULTITEXCOORD3SARBPROC glMultiTexCoord3sARB; -extern PFNGLMULTITEXCOORD3SVARBPROC glMultiTexCoord3svARB; -extern PFNGLMULTITEXCOORD4DARBPROC glMultiTexCoord4dARB; -extern PFNGLMULTITEXCOORD4DVARBPROC glMultiTexCoord4dvARB; -extern PFNGLMULTITEXCOORD4FARBPROC glMultiTexCoord4fARB; -extern PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB; -extern PFNGLMULTITEXCOORD4IARBPROC glMultiTexCoord4iARB; -extern PFNGLMULTITEXCOORD4IVARBPROC glMultiTexCoord4ivARB; -extern PFNGLMULTITEXCOORD4SARBPROC glMultiTexCoord4sARB; -extern PFNGLMULTITEXCOORD4SVARBPROC glMultiTexCoord4svARB; +extern PFNGLACTIVETEXTUREARBPROC blActiveTextureARB; +extern PFNGLCLIENTACTIVETEXTUREARBPROC blClientActiveTextureARB; +extern PFNGLMULTITEXCOORD1DARBPROC blMultiTexCoord1dARB; +extern PFNGLMULTITEXCOORD1DVARBPROC blMultiTexCoord1dvARB; +extern PFNGLMULTITEXCOORD1FARBPROC blMultiTexCoord1fARB; +extern PFNGLMULTITEXCOORD1FVARBPROC blMultiTexCoord1fvARB; +extern PFNGLMULTITEXCOORD1IARBPROC blMultiTexCoord1iARB; +extern PFNGLMULTITEXCOORD1IVARBPROC blMultiTexCoord1ivARB; +extern PFNGLMULTITEXCOORD1SARBPROC blMultiTexCoord1sARB; +extern PFNGLMULTITEXCOORD1SVARBPROC blMultiTexCoord1svARB; +extern PFNGLMULTITEXCOORD2DARBPROC blMultiTexCoord2dARB; +extern PFNGLMULTITEXCOORD2DVARBPROC blMultiTexCoord2dvARB; +extern PFNGLMULTITEXCOORD2FARBPROC blMultiTexCoord2fARB; +extern PFNGLMULTITEXCOORD2FVARBPROC blMultiTexCoord2fvARB; +extern PFNGLMULTITEXCOORD2IARBPROC blMultiTexCoord2iARB; +extern PFNGLMULTITEXCOORD2IVARBPROC blMultiTexCoord2ivARB; +extern PFNGLMULTITEXCOORD2SARBPROC blMultiTexCoord2sARB; +extern PFNGLMULTITEXCOORD2SVARBPROC blMultiTexCoord2svARB; +extern PFNGLMULTITEXCOORD3DARBPROC blMultiTexCoord3dARB; +extern PFNGLMULTITEXCOORD3DVARBPROC blMultiTexCoord3dvARB; +extern PFNGLMULTITEXCOORD3FARBPROC blMultiTexCoord3fARB; +extern PFNGLMULTITEXCOORD3FVARBPROC blMultiTexCoord3fvARB; +extern PFNGLMULTITEXCOORD3IARBPROC blMultiTexCoord3iARB; +extern PFNGLMULTITEXCOORD3IVARBPROC blMultiTexCoord3ivARB; +extern PFNGLMULTITEXCOORD3SARBPROC blMultiTexCoord3sARB; +extern PFNGLMULTITEXCOORD3SVARBPROC blMultiTexCoord3svARB; +extern PFNGLMULTITEXCOORD4DARBPROC blMultiTexCoord4dARB; +extern PFNGLMULTITEXCOORD4DVARBPROC blMultiTexCoord4dvARB; +extern PFNGLMULTITEXCOORD4FARBPROC blMultiTexCoord4fARB; +extern PFNGLMULTITEXCOORD4FVARBPROC blMultiTexCoord4fvARB; +extern PFNGLMULTITEXCOORD4IARBPROC blMultiTexCoord4iARB; +extern PFNGLMULTITEXCOORD4IVARBPROC blMultiTexCoord4ivARB; +extern PFNGLMULTITEXCOORD4SARBPROC blMultiTexCoord4sARB; +extern PFNGLMULTITEXCOORD4SVARBPROC blMultiTexCoord4svARB; #endif #ifdef GL_ARB_shader_objects -extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB; -extern PFNGLGETHANDLEARBPROC glGetHandleARB; -extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB; -extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB; -extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB; -extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB; -extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB; -extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB; -extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB; -extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB; -extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB; -extern PFNGLUNIFORM1FARBPROC glUniform1fARB; -extern PFNGLUNIFORM2FARBPROC glUniform2fARB; -extern PFNGLUNIFORM3FARBPROC glUniform3fARB; -extern PFNGLUNIFORM4FARBPROC glUniform4fARB; -extern PFNGLUNIFORM1IARBPROC glUniform1iARB; -extern PFNGLUNIFORM2IARBPROC glUniform2iARB; -extern PFNGLUNIFORM3IARBPROC glUniform3iARB; -extern PFNGLUNIFORM4IARBPROC glUniform4iARB; -extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB; -extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB; -extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB; -extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB; -extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB; -extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB; -extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB; -extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB; -extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB; -extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB; -extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB; -extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB; -extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB; -extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB; -extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB; -extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB; -extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB; -extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB; -extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB; -extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB; +extern PFNGLDELETEOBJECTARBPROC blDeleteObjectARB; +extern PFNGLGETHANDLEARBPROC blGetHandleARB; +extern PFNGLDETACHOBJECTARBPROC blDetachObjectARB; +extern PFNGLCREATESHADEROBJECTARBPROC blCreateShaderObjectARB; +extern PFNGLSHADERSOURCEARBPROC blShaderSourceARB; +extern PFNGLCOMPILESHADERARBPROC blCompileShaderARB; +extern PFNGLCREATEPROGRAMOBJECTARBPROC blCreateProgramObjectARB; +extern PFNGLATTACHOBJECTARBPROC blAttachObjectARB; +extern PFNGLLINKPROGRAMARBPROC blLinkProgramARB; +extern PFNGLUSEPROGRAMOBJECTARBPROC blUseProgramObjectARB; +extern PFNGLVALIDATEPROGRAMARBPROC blValidateProgramARB; +extern PFNGLUNIFORM1FARBPROC blUniform1fARB; +extern PFNGLUNIFORM2FARBPROC blUniform2fARB; +extern PFNGLUNIFORM3FARBPROC blUniform3fARB; +extern PFNGLUNIFORM4FARBPROC blUniform4fARB; +extern PFNGLUNIFORM1IARBPROC blUniform1iARB; +extern PFNGLUNIFORM2IARBPROC blUniform2iARB; +extern PFNGLUNIFORM3IARBPROC blUniform3iARB; +extern PFNGLUNIFORM4IARBPROC blUniform4iARB; +extern PFNGLUNIFORM1FVARBPROC blUniform1fvARB; +extern PFNGLUNIFORM2FVARBPROC blUniform2fvARB; +extern PFNGLUNIFORM3FVARBPROC blUniform3fvARB; +extern PFNGLUNIFORM4FVARBPROC blUniform4fvARB; +extern PFNGLUNIFORM1IVARBPROC blUniform1ivARB; +extern PFNGLUNIFORM2IVARBPROC blUniform2ivARB; +extern PFNGLUNIFORM3IVARBPROC blUniform3ivARB; +extern PFNGLUNIFORM4IVARBPROC blUniform4ivARB; +extern PFNGLUNIFORMMATRIX2FVARBPROC blUniformMatrix2fvARB; +extern PFNGLUNIFORMMATRIX3FVARBPROC blUniformMatrix3fvARB; +extern PFNGLUNIFORMMATRIX4FVARBPROC blUniformMatrix4fvARB; +extern PFNGLGETOBJECTPARAMETERFVARBPROC blGetObjectParameterfvARB; +extern PFNGLGETOBJECTPARAMETERIVARBPROC blGetObjectParameterivARB; +extern PFNGLGETINFOLOGARBPROC blGetInfoLogARB; +extern PFNGLGETATTACHEDOBJECTSARBPROC blGetAttachedObjectsARB; +extern PFNGLGETUNIFORMLOCATIONARBPROC blGetUniformLocationARB; +extern PFNGLGETACTIVEUNIFORMARBPROC blGetActiveUniformARB; +extern PFNGLGETUNIFORMFVARBPROC blGetUniformfvARB; +extern PFNGLGETUNIFORMIVARBPROC blGetUniformivARB; +extern PFNGLGETSHADERSOURCEARBPROC blGetShaderSourceARB; #endif #ifdef GL_ARB_vertex_shader -extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB; -extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB; -extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB; +extern PFNGLBINDATTRIBLOCATIONARBPROC blBindAttribLocationARB; +extern PFNGLGETACTIVEATTRIBARBPROC blGetActiveAttribARB; +extern PFNGLGETATTRIBLOCATIONARBPROC blGetAttribLocationARB; #endif } /* namespace bgl */ diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp index 7a140fd0f7e..38dfb7836b2 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp @@ -41,6 +41,7 @@ #include <windows.h> #endif // WIN32 #ifdef __APPLE__ +#define GL_GLEXT_LEGACY 1 #include <OpenGL/gl.h> #include <OpenGL/glu.h> #else @@ -1265,10 +1266,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1281,10 +1282,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1296,10 +1297,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1311,10 +1312,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1336,10 +1337,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1352,10 +1353,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1368,10 +1369,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1385,10 +1386,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1416,10 +1417,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1432,10 +1433,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1448,10 +1449,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1471,10 +1472,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1488,10 +1489,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1504,10 +1505,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti( if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1620,10 +1621,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1638,10 +1639,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1656,10 +1657,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1674,10 +1675,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1721,10 +1722,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1740,10 +1741,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1759,10 +1760,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ @@ -1777,10 +1778,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1824,10 +1825,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1840,10 +1841,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1856,10 +1857,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1896,10 +1897,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1913,10 +1914,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); @@ -1930,10 +1931,10 @@ void RAS_OpenGLRasterizer::IndexPrimitivesMulti_Ex(const vecVertexArray & vertex if( vertexarray[(indexarray[vindex])].getFlag() & TV_2NDUV && vertexarray[(indexarray[vindex])].getUnit() == unit ) { - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV2()); continue; } - bgl::glMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); + bgl::blMultiTexCoord2fvARB(GL_TEXTURE0_ARB+unit, vertexarray[(indexarray[vindex])].getUV1()); } // ------------------------------ glVertex3fv(vertexarray[(indexarray[vindex])].getLocalXYZ()); diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp index 77beed5ead1..b6d8e74c2d5 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.cpp @@ -38,6 +38,7 @@ #include <windows.h> #endif // WIN32 #ifdef __APPLE__ +#define GL_GLEXT_LEGACY 1 #include <OpenGL/gl.h> #else #include <GL/gl.h> |