ovr_sdk

annotate LibOVR/Src/CAPI/GL/CAPI_GLE.h @ 0:1b39a1b46319

initial 0.4.4
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 14 Jan 2015 06:51:16 +0200
parents
children
rev   line source
nuclear@0 1 /************************************************************************************
nuclear@0 2
nuclear@0 3 Filename : CAPI_GLE.h
nuclear@0 4 Content : OpenGL extensions support. Implements a stripped down glew-like
nuclear@0 5 interface with some additional functionality.
nuclear@0 6 Copyright : Copyright 2014 Oculus VR, LLC All Rights reserved.
nuclear@0 7
nuclear@0 8 Licensed under the Apache License, Version 2.0 (the "License");
nuclear@0 9 you may not use this file except in compliance with the License.
nuclear@0 10 You may obtain a copy of the License at
nuclear@0 11
nuclear@0 12 http://www.apache.org/licenses/LICENSE-2.0
nuclear@0 13
nuclear@0 14 Unless required by applicable law or agreed to in writing, software
nuclear@0 15 distributed under the License is distributed on an "AS IS" BASIS,
nuclear@0 16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
nuclear@0 17 See the License for the specific language governing permissions and
nuclear@0 18 limitations under the License.
nuclear@0 19
nuclear@0 20 ************************************************************************************/
nuclear@0 21
nuclear@0 22 // This file provides functionality similar to a reduced version of GLEW, plus some
nuclear@0 23 // additional functionality that's useful to us, such as function hooking.
nuclear@0 24
nuclear@0 25 #ifndef INC_OVR_CAPI_GLE_h
nuclear@0 26 #define INC_OVR_CAPI_GLE_h
nuclear@0 27
nuclear@0 28
nuclear@0 29 #include "../../Kernel/OVR_Types.h"
nuclear@0 30 #include "CAPI_GLE_GL.h"
nuclear@0 31
nuclear@0 32
nuclear@0 33 ///////////////////////////////////////////////////////////////////////////////
nuclear@0 34 // How to use this functionality
nuclear@0 35 //
nuclear@0 36 // - You #include this header instead of gl.h, glext.h, wglext.h (Windows), gl3.h (Apple), gl3ext.h (Apple), glx.h (Unix), and glxext.h (Unix).
nuclear@0 37 // Currently you still would #include <Windows.h> for the base wgl functions on Windows and OpenGL.h or NSOpenGL for the
nuclear@0 38 // base Apple cgl functions.
nuclear@0 39 //
nuclear@0 40 // - You call OpenGL functions just like you would if you were directly using OpenGL
nuclear@0 41 // headers and declarations. The difference is that this module automatically loads
nuclear@0 42 // extensions on init and so you should never need to use GetProcAddress, wglGetProcAddress, etc.
nuclear@0 43 //
nuclear@0 44 // - OpenGL 1.1 functions can be called unilaterally without checking if they are present,
nuclear@0 45 // as it's assumed they are always present.
nuclear@0 46 //
nuclear@0 47 // - In order to use an OpenGL 1.2 or later function you can check the GLEContext::WholeVersion
nuclear@0 48 // variable to tell what version of OpenGL is present and active. Example usage:
nuclear@0 49 // if(GLEContext::GetCurrentContext()->WholeVersion >= 302) // If OpenGL 3.2 or later...
nuclear@0 50 //
nuclear@0 51 // - In order to use an OpenGL extension, you can check the GLE_ helper macro that exists for each
nuclear@0 52 // extension. For example, in order to check of the KHR_debug is present you could do this:
nuclear@0 53 // if(GLE_KHR_debug) ...
nuclear@0 54 // You cannot check for the presence of extensions by testing the function pointer, because
nuclear@0 55 // when hooking is enabled then we aren't using function pointers and thus all functions will
nuclear@0 56 // look like they are present.
nuclear@0 57 //
nuclear@0 58 // - You can test if the OpenGL implementation is OpenGL ES by checking the GLEContext IsGLES
nuclear@0 59 // member variable. For example: if(GLEContext::GetCurrentContext()->IsGLES) ...
nuclear@0 60 //
nuclear@0 61 // - You can test if the OpenGL implementation is a core profile ES by checking the GLEContext IsCoreProfile
nuclear@0 62 // member variable. For example: if(GLEContext::GetCurrentContext()->IsCoreProfile) ...
nuclear@0 63 //
nuclear@0 64 ///////////////////////////////////////////////////////////////////////////////
nuclear@0 65
nuclear@0 66
nuclear@0 67 ///////////////////////////////////////////////////////////////////////////////
nuclear@0 68 // How to add support for additional functions to this module.
nuclear@0 69 //
nuclear@0 70 // For an example of how to do this, search the source files for all cases of KHR_Debug and just copy
nuclear@0 71 // the things that it does but for your new extension.
nuclear@0 72 //
nuclear@0 73 // 1) Add the appropriate extension declaration to CAPI_GLE_GL.h, preferably by
nuclear@0 74 // copying it from the standard header file it normally comes from. If it's
nuclear@0 75 // platform-specific (e.g. a Windows wgl function) then make sure it's declared
nuclear@0 76 // within the given platform section. Note that there are potentially #defines, typedefs,
nuclear@0 77 // function typedefs, and function #defines. There is always a GLE_ macro declared which
nuclear@0 78 // lets the user know at runtime whether the extension is present.
nuclear@0 79 // e.g. #ifndef GL_KHR_debug
nuclear@0 80 // #define GL_KHR_debug 1
nuclear@0 81 // #define GL_CONTEXT_FLAG_DEBUG_BIT 0x00000002 etc.
nuclear@0 82 // typedef void (GLAPIENTRY * PFNGLPOPDEBUGGROUPPROC) ();
nuclear@0 83 // #define glPopDebugGroup GLEGetCurrentFunction(glPopDebugGroup)
nuclear@0 84 // #define GLE_KHR_debug GLEGetCurrentVariable(gl_KHR_debug)
nuclear@0 85 // #endif etc.
nuclear@0 86 //
nuclear@0 87 // 2) Add a hook function for in the hook section of the GLEContext class in this header,
nuclear@0 88 // ideally in the same order it's declared in the CAPI_GLE_GL.h so it's easily readable.
nuclear@0 89 // e.g. void glDebugMessageControl_Hook(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled); etc.
nuclear@0 90 //
nuclear@0 91 // 3) Add a declaration for each interface function to the GLEContext class in this header.
nuclear@0 92 // e.g. PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback_Impl; etc.
nuclear@0 93 //
nuclear@0 94 // 4) Add code to GLEContext::InitExtensionLoad to load the function pointer.
nuclear@0 95 // e.g. GLELoadProc(glDebugMessageCallback_Impl, glDebugMessageCallback); etc.
nuclear@0 96 //
nuclear@0 97 // 5) Add code to GLEContext::InitExtensionSupport to detect the extension support.
nuclear@0 98 // e.g. { gl_KHR_debug, "GL_KHR_debug" }, etc.
nuclear@0 99 //
nuclear@0 100 // 6) Implement the GLEContext hook function(s) you declared.
nuclear@0 101 // e.g. void OVR::GLEContext::glDebugMessageControl_Hook(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled)
nuclear@0 102 // {
nuclear@0 103 // if(glDebugMessageControl_Impl)
nuclear@0 104 // glDebugMessageControl_Impl(source, type, severity, count, ids, enabled);
nuclear@0 105 // PostHook();
nuclear@0 106 // }
nuclear@0 107 //
nuclear@0 108 // Note that if the extension is a WGL-, GLX-, or CGL-specific extension, they are handled like above
nuclear@0 109 // but are in their own section below the section for regular OpenGL extensions.
nuclear@0 110 //
nuclear@0 111 // In some cases the given interface may already be present by currently commented out,
nuclear@0 112 // in which case you can simply un-comment it to enable it.
nuclear@0 113 ///////////////////////////////////////////////////////////////////////////////
nuclear@0 114
nuclear@0 115
nuclear@0 116 namespace OVR
nuclear@0 117 {
nuclear@0 118 // Generic OpenGL GetProcAddress function interface. Maps to platform-specific functionality
nuclear@0 119 // internally. On Windows this is equivalent to wglGetProcAddress as opposed to global GetProcAddress.
nuclear@0 120 void* GLEGetProcAddress(const char* name);
nuclear@0 121
nuclear@0 122
nuclear@0 123 // GLEContext
nuclear@0 124 //
nuclear@0 125 // Manages a collection of OpenGL extension interfaces.
nuclear@0 126 // If the application has multiple OpenGL unrelated contexts then you will want to create a
nuclear@0 127 // different instance of this class for each one you intend to use it with.
nuclear@0 128 //
nuclear@0 129 // Example usage:
nuclear@0 130 // GLEContext gGLEContext;
nuclear@0 131 //
nuclear@0 132 // GLEContext::SetCurrentContext(&gGLEContext);
nuclear@0 133 // gGLEContext.PlatformInit(); // Initializes WGL/GLX/etc. platform-specific OpenGL functionality
nuclear@0 134 //
nuclear@0 135 // if(GLE_WGL_ARB_create_context) // If wglCreateContextAttribsARB is available...
nuclear@0 136 // {
nuclear@0 137 // int attribList[] = { WGL_CONTEXT_MAJOR_VERSION_ARB, 3, WGL_CONTEXT_MINOR_VERSION_ARB, 2, WGL_CONTEXT_FLAGS_ARB, WGL_CONTEXT_DEBUG_BIT_ARB, None };
nuclear@0 138 // HGLRC h = wglCreateContextAttribsARB(hDC, 0, attribList);
nuclear@0 139 // [...]
nuclear@0 140 // }
nuclear@0 141 //
nuclear@0 142 // gGLEContext.Init(); // Must be called after an OpenGL context has been created.
nuclear@0 143 //
nuclear@0 144 // if(GLE_WHOLE_VERSION() >= 302) // If OpenGL 3.2 or later
nuclear@0 145 // {
nuclear@0 146 // glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, someTexture, 0); // This is an OpenGL 3.2 function.
nuclear@0 147 // [...]
nuclear@0 148 // }
nuclear@0 149 //
nuclear@0 150 // if(GLE_GL_ARB_texture_multisample) // If the GL_ARB_texture_multisample extension is available...
nuclear@0 151 // {
nuclear@0 152 // glEnable(GL_SAMPLE_MASK);
nuclear@0 153 // glSampleMaski(0, 0x1);
nuclear@0 154 // [...]
nuclear@0 155 // }
nuclear@0 156 //
nuclear@0 157 // [...]
nuclear@0 158 //
nuclear@0 159 // gGLEContext.Shutdown();
nuclear@0 160 //
nuclear@0 161 GLE_CLASS_EXPORT class GLEContext
nuclear@0 162 {
nuclear@0 163 public:
nuclear@0 164 GLEContext();
nuclear@0 165 ~GLEContext();
nuclear@0 166
nuclear@0 167 // Initializes platform-specific functionality (e.g. Windows WGL, Unix GLX, Android EGL, Apple CGL).
nuclear@0 168 // You would typically call this before creating an OpenGL context and using platform-specific functions.
nuclear@0 169 void PlatformInit();
nuclear@0 170 bool IsPlatformInitialized() const;
nuclear@0 171
nuclear@0 172 // Loads all the extensions from the current OpenGL context. This must be called after an OpenGL context
nuclear@0 173 // has been created and made current.
nuclear@0 174 void Init();
nuclear@0 175 bool IsInitialized() const;
nuclear@0 176
nuclear@0 177 // Clears all the extensions initialized by PlatformInit and Init.
nuclear@0 178 void Shutdown();
nuclear@0 179
nuclear@0 180 void SetEnableHookGetError(bool enabled)
nuclear@0 181 { EnableHookGetError = enabled; }
nuclear@0 182
nuclear@0 183 // Returns the default instance of this class.
nuclear@0 184 static GLEContext* GetCurrentContext();
nuclear@0 185
nuclear@0 186 // Sets the default instance of this class. This should be called after enabling a new OpenGL context.
nuclear@0 187 // This sets the current GLEContext; it does not set the underlying OpenGL context itself.
nuclear@0 188 static void SetCurrentContext(GLEContext*);
nuclear@0 189
nuclear@0 190 public:
nuclear@0 191 // OpenGL version information
nuclear@0 192 int MajorVersion; // Best guess at major version
nuclear@0 193 int MinorVersion; // Best guess at minor version
nuclear@0 194 int WholeVersion; // Equals ((MajorVersion * 100) + MinorVersion). Example usage: if(glv.WholeVersion >= 302) // If OpenGL v3.02+ ...
nuclear@0 195 bool IsGLES; // Open GL ES?
nuclear@0 196 bool IsCoreProfile; // Is the current OpenGL context a core profile context? Its trueness may be a false positive but will never be a false negative.
nuclear@0 197 bool EnableHookGetError; // If enabled then hook functions call glGetError after making the call.
nuclear@0 198
nuclear@0 199 int PlatformMajorVersion; // GLX/WGL/EGL/CGL version. Not the same as OpenGL version.
nuclear@0 200 int PlatformMinorVersion;
nuclear@0 201 int PlatformWholeVersion;
nuclear@0 202
nuclear@0 203 void InitVersion(); // Initializes the version information (e.g. MajorVersion). Called by the public Init function.
nuclear@0 204 void InitExtensionLoad(); // Loads the function addresses into the function pointers.
nuclear@0 205 void InitExtensionSupport(); // Loads the boolean extension support booleans.
nuclear@0 206
nuclear@0 207 void InitPlatformVersion();
nuclear@0 208 void InitPlatformExtensionLoad();
nuclear@0 209 void InitPlatformExtensionSupport();
nuclear@0 210
nuclear@0 211 public:
nuclear@0 212 // GL_VERSION_1_1
nuclear@0 213 // Not normally included because all OpenGL 1.1 functionality is always present. But if we have
nuclear@0 214 // hooking enabled then we implement our own version of each function.
nuclear@0 215 #if defined(GLE_HOOKING_ENABLED)
nuclear@0 216 //void PreHook(const char* functionName); // Called at the beginning of a hook function.
nuclear@0 217 void PostHook(const char* functionName); // Called at the end of a hook function.
nuclear@0 218
nuclear@0 219 void glAccum_Hook(GLenum op, GLfloat value);
nuclear@0 220 void glAlphaFunc_Hook(GLenum func, GLclampf ref);
nuclear@0 221 GLboolean glAreTexturesResident_Hook(GLsizei n, const GLuint *textures, GLboolean *residences);
nuclear@0 222 void glArrayElement_Hook(GLint i);
nuclear@0 223 void glBegin_Hook(GLenum mode);
nuclear@0 224 void glBindTexture_Hook(GLenum target, GLuint texture);
nuclear@0 225 void glBitmap_Hook(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
nuclear@0 226 void glBlendFunc_Hook(GLenum sfactor, GLenum dfactor);
nuclear@0 227 void glCallList_Hook(GLuint list);
nuclear@0 228 void glCallLists_Hook(GLsizei n, GLenum type, const void *lists);
nuclear@0 229 void glClear_Hook(GLbitfield mask);
nuclear@0 230 void glClearAccum_Hook(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
nuclear@0 231 void glClearColor_Hook(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
nuclear@0 232 void glClearDepth_Hook(GLclampd depth);
nuclear@0 233 void glClearIndex_Hook(GLfloat c);
nuclear@0 234 void glClearStencil_Hook(GLint s);
nuclear@0 235 void glClipPlane_Hook(GLenum plane, const GLdouble *equation);
nuclear@0 236 void glColor3b_Hook(GLbyte red, GLbyte green, GLbyte blue);
nuclear@0 237 void glColor3bv_Hook(const GLbyte *v);
nuclear@0 238 void glColor3d_Hook(GLdouble red, GLdouble green, GLdouble blue);
nuclear@0 239 void glColor3dv_Hook(const GLdouble *v);
nuclear@0 240 void glColor3f_Hook(GLfloat red, GLfloat green, GLfloat blue);
nuclear@0 241 void glColor3fv_Hook(const GLfloat *v);
nuclear@0 242 void glColor3i_Hook(GLint red, GLint green, GLint blue);
nuclear@0 243 void glColor3iv_Hook(const GLint *v);
nuclear@0 244 void glColor3s_Hook(GLshort red, GLshort green, GLshort blue);
nuclear@0 245 void glColor3sv_Hook(const GLshort *v);
nuclear@0 246 void glColor3ub_Hook(GLubyte red, GLubyte green, GLubyte blue);
nuclear@0 247 void glColor3ubv_Hook(const GLubyte *v);
nuclear@0 248 void glColor3ui_Hook(GLuint red, GLuint green, GLuint blue);
nuclear@0 249 void glColor3uiv_Hook(const GLuint *v);
nuclear@0 250 void glColor3us_Hook(GLushort red, GLushort green, GLushort blue);
nuclear@0 251 void glColor3usv_Hook(const GLushort *v);
nuclear@0 252 void glColor4b_Hook(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
nuclear@0 253 void glColor4bv_Hook(const GLbyte *v);
nuclear@0 254 void glColor4d_Hook(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
nuclear@0 255 void glColor4dv_Hook(const GLdouble *v);
nuclear@0 256 void glColor4f_Hook(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
nuclear@0 257 void glColor4fv_Hook(const GLfloat *v);
nuclear@0 258 void glColor4i_Hook(GLint red, GLint green, GLint blue, GLint alpha);
nuclear@0 259 void glColor4iv_Hook(const GLint *v);
nuclear@0 260 void glColor4s_Hook(GLshort red, GLshort green, GLshort blue, GLshort alpha);
nuclear@0 261 void glColor4sv_Hook(const GLshort *v);
nuclear@0 262 void glColor4ub_Hook(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
nuclear@0 263 void glColor4ubv_Hook(const GLubyte *v);
nuclear@0 264 void glColor4ui_Hook(GLuint red, GLuint green, GLuint blue, GLuint alpha);
nuclear@0 265 void glColor4uiv_Hook(const GLuint *v);
nuclear@0 266 void glColor4us_Hook(GLushort red, GLushort green, GLushort blue, GLushort alpha);
nuclear@0 267 void glColor4usv_Hook(const GLushort *v);
nuclear@0 268 void glColorMask_Hook(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
nuclear@0 269 void glColorMaterial_Hook(GLenum face, GLenum mode);
nuclear@0 270 void glColorPointer_Hook(GLint size, GLenum type, GLsizei stride, const void *pointer);
nuclear@0 271 void glCopyPixels_Hook(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
nuclear@0 272 void glCopyTexImage1D_Hook(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
nuclear@0 273 void glCopyTexImage2D_Hook(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
nuclear@0 274 void glCopyTexSubImage1D_Hook(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
nuclear@0 275 void glCopyTexSubImage2D_Hook(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
nuclear@0 276 void glCullFace_Hook(GLenum mode);
nuclear@0 277 void glDeleteLists_Hook(GLuint list, GLsizei range);
nuclear@0 278 void glDeleteTextures_Hook(GLsizei n, const GLuint *textures);
nuclear@0 279 void glDepthFunc_Hook(GLenum func);
nuclear@0 280 void glDepthMask_Hook(GLboolean flag);
nuclear@0 281 void glDepthRange_Hook(GLclampd zNear, GLclampd zFar);
nuclear@0 282 void glDisable_Hook(GLenum cap);
nuclear@0 283 void glDisableClientState_Hook(GLenum array);
nuclear@0 284 void glDrawArrays_Hook(GLenum mode, GLint first, GLsizei count);
nuclear@0 285 void glDrawBuffer_Hook(GLenum mode);
nuclear@0 286 void glDrawElements_Hook(GLenum mode, GLsizei count, GLenum type, const void *indices);
nuclear@0 287 void glDrawPixels_Hook(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
nuclear@0 288 void glEdgeFlag_Hook(GLboolean flag);
nuclear@0 289 void glEdgeFlagPointer_Hook(GLsizei stride, const void *pointer);
nuclear@0 290 void glEdgeFlagv_Hook(const GLboolean *flag);
nuclear@0 291 void glEnable_Hook(GLenum cap);
nuclear@0 292 void glEnableClientState_Hook(GLenum array);
nuclear@0 293 void glEnd_Hook(void);
nuclear@0 294 void glEndList_Hook(void);
nuclear@0 295 void glEvalCoord1d_Hook(GLdouble u);
nuclear@0 296 void glEvalCoord1dv_Hook(const GLdouble *u);
nuclear@0 297 void glEvalCoord1f_Hook(GLfloat u);
nuclear@0 298 void glEvalCoord1fv_Hook(const GLfloat *u);
nuclear@0 299 void glEvalCoord2d_Hook(GLdouble u, GLdouble v);
nuclear@0 300 void glEvalCoord2dv_Hook(const GLdouble *u);
nuclear@0 301 void glEvalCoord2f_Hook(GLfloat u, GLfloat v);
nuclear@0 302 void glEvalCoord2fv_Hook(const GLfloat *u);
nuclear@0 303 void glEvalMesh1_Hook(GLenum mode, GLint i1, GLint i2);
nuclear@0 304 void glEvalMesh2_Hook(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
nuclear@0 305 void glEvalPoint1_Hook(GLint i);
nuclear@0 306 void glEvalPoint2_Hook(GLint i, GLint j);
nuclear@0 307 void glFeedbackBuffer_Hook(GLsizei size, GLenum type, GLfloat *buffer);
nuclear@0 308 void glFinish_Hook(void);
nuclear@0 309 void glFlush_Hook(void);
nuclear@0 310 void glFogf_Hook(GLenum pname, GLfloat param);
nuclear@0 311 void glFogfv_Hook(GLenum pname, const GLfloat *params);
nuclear@0 312 void glFogi_Hook(GLenum pname, GLint param);
nuclear@0 313 void glFogiv_Hook(GLenum pname, const GLint *params);
nuclear@0 314 void glFrontFace_Hook(GLenum mode);
nuclear@0 315 void glFrustum_Hook(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
nuclear@0 316 GLuint glGenLists_Hook(GLsizei range);
nuclear@0 317 void glGenTextures_Hook(GLsizei n, GLuint *textures);
nuclear@0 318 void glGetBooleanv_Hook(GLenum pname, GLboolean *params);
nuclear@0 319 void glGetClipPlane_Hook(GLenum plane, GLdouble *equation);
nuclear@0 320 void glGetDoublev_Hook(GLenum pname, GLdouble *params);
nuclear@0 321 GLenum glGetError_Hook(void);
nuclear@0 322 void glGetFloatv_Hook(GLenum pname, GLfloat *params);
nuclear@0 323 void glGetIntegerv_Hook(GLenum pname, GLint *params);
nuclear@0 324 void glGetLightfv_Hook(GLenum light, GLenum pname, GLfloat *params);
nuclear@0 325 void glGetLightiv_Hook(GLenum light, GLenum pname, GLint *params);
nuclear@0 326 void glGetMapdv_Hook(GLenum target, GLenum query, GLdouble *v);
nuclear@0 327 void glGetMapfv_Hook(GLenum target, GLenum query, GLfloat *v);
nuclear@0 328 void glGetMapiv_Hook(GLenum target, GLenum query, GLint *v);
nuclear@0 329 void glGetMaterialfv_Hook(GLenum face, GLenum pname, GLfloat *params);
nuclear@0 330 void glGetMaterialiv_Hook(GLenum face, GLenum pname, GLint *params);
nuclear@0 331 void glGetPixelMapfv_Hook(GLenum map, GLfloat *values);
nuclear@0 332 void glGetPixelMapuiv_Hook(GLenum map, GLuint *values);
nuclear@0 333 void glGetPixelMapusv_Hook(GLenum map, GLushort *values);
nuclear@0 334 void glGetPointerv_Hook(GLenum pname, void* *params);
nuclear@0 335 void glGetPolygonStipple_Hook(GLubyte *mask);
nuclear@0 336 const GLubyte * glGetString_Hook(GLenum name);
nuclear@0 337 void glGetTexEnvfv_Hook(GLenum target, GLenum pname, GLfloat *params);
nuclear@0 338 void glGetTexEnviv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 339 void glGetTexGendv_Hook(GLenum coord, GLenum pname, GLdouble *params);
nuclear@0 340 void glGetTexGenfv_Hook(GLenum coord, GLenum pname, GLfloat *params);
nuclear@0 341 void glGetTexGeniv_Hook(GLenum coord, GLenum pname, GLint *params);
nuclear@0 342 void glGetTexImage_Hook(GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
nuclear@0 343 void glGetTexLevelParameterfv_Hook(GLenum target, GLint level, GLenum pname, GLfloat *params);
nuclear@0 344 void glGetTexLevelParameteriv_Hook(GLenum target, GLint level, GLenum pname, GLint *params);
nuclear@0 345 void glGetTexParameterfv_Hook(GLenum target, GLenum pname, GLfloat *params);
nuclear@0 346 void glGetTexParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 347 void glHint_Hook(GLenum target, GLenum mode);
nuclear@0 348 void glIndexMask_Hook(GLuint mask);
nuclear@0 349 void glIndexPointer_Hook(GLenum type, GLsizei stride, const void *pointer);
nuclear@0 350 void glIndexd_Hook(GLdouble c);
nuclear@0 351 void glIndexdv_Hook(const GLdouble *c);
nuclear@0 352 void glIndexf_Hook(GLfloat c);
nuclear@0 353 void glIndexfv_Hook(const GLfloat *c);
nuclear@0 354 void glIndexi_Hook(GLint c);
nuclear@0 355 void glIndexiv_Hook(const GLint *c);
nuclear@0 356 void glIndexs_Hook(GLshort c);
nuclear@0 357 void glIndexsv_Hook(const GLshort *c);
nuclear@0 358 void glIndexub_Hook(GLubyte c);
nuclear@0 359 void glIndexubv_Hook(const GLubyte *c);
nuclear@0 360 void glInitNames_Hook(void);
nuclear@0 361 void glInterleavedArrays_Hook(GLenum format, GLsizei stride, const void *pointer);
nuclear@0 362 GLboolean glIsEnabled_Hook(GLenum cap);
nuclear@0 363 GLboolean glIsList_Hook(GLuint list);
nuclear@0 364 GLboolean glIsTexture_Hook(GLuint texture);
nuclear@0 365 void glLightModelf_Hook(GLenum pname, GLfloat param);
nuclear@0 366 void glLightModelfv_Hook(GLenum pname, const GLfloat *params);
nuclear@0 367 void glLightModeli_Hook(GLenum pname, GLint param);
nuclear@0 368 void glLightModeliv_Hook(GLenum pname, const GLint *params);
nuclear@0 369 void glLightf_Hook(GLenum light, GLenum pname, GLfloat param);
nuclear@0 370 void glLightfv_Hook(GLenum light, GLenum pname, const GLfloat *params);
nuclear@0 371 void glLighti_Hook(GLenum light, GLenum pname, GLint param);
nuclear@0 372 void glLightiv_Hook(GLenum light, GLenum pname, const GLint *params);
nuclear@0 373 void glLineStipple_Hook(GLint factor, GLushort pattern);
nuclear@0 374 void glLineWidth_Hook(GLfloat width);
nuclear@0 375 void glListBase_Hook(GLuint base);
nuclear@0 376 void glLoadIdentity_Hook(void);
nuclear@0 377 void glLoadMatrixd_Hook(const GLdouble *m);
nuclear@0 378 void glLoadMatrixf_Hook(const GLfloat *m);
nuclear@0 379 void glLoadName_Hook(GLuint name);
nuclear@0 380 void glLogicOp_Hook(GLenum opcode);
nuclear@0 381 void glMap1d_Hook(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
nuclear@0 382 void glMap1f_Hook(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
nuclear@0 383 void glMap2d_Hook(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
nuclear@0 384 void glMap2f_Hook(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
nuclear@0 385 void glMapGrid1d_Hook(GLint un, GLdouble u1, GLdouble u2);
nuclear@0 386 void glMapGrid1f_Hook(GLint un, GLfloat u1, GLfloat u2);
nuclear@0 387 void glMapGrid2d_Hook(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
nuclear@0 388 void glMapGrid2f_Hook(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
nuclear@0 389 void glMaterialf_Hook(GLenum face, GLenum pname, GLfloat param);
nuclear@0 390 void glMaterialfv_Hook(GLenum face, GLenum pname, const GLfloat *params);
nuclear@0 391 void glMateriali_Hook(GLenum face, GLenum pname, GLint param);
nuclear@0 392 void glMaterialiv_Hook(GLenum face, GLenum pname, const GLint *params);
nuclear@0 393 void glMatrixMode_Hook(GLenum mode);
nuclear@0 394 void glMultMatrixd_Hook(const GLdouble *m);
nuclear@0 395 void glMultMatrixf_Hook(const GLfloat *m);
nuclear@0 396 void glNewList_Hook(GLuint list, GLenum mode);
nuclear@0 397 void glNormal3b_Hook(GLbyte nx, GLbyte ny, GLbyte nz);
nuclear@0 398 void glNormal3bv_Hook(const GLbyte *v);
nuclear@0 399 void glNormal3d_Hook(GLdouble nx, GLdouble ny, GLdouble nz);
nuclear@0 400 void glNormal3dv_Hook(const GLdouble *v);
nuclear@0 401 void glNormal3f_Hook(GLfloat nx, GLfloat ny, GLfloat nz);
nuclear@0 402 void glNormal3fv_Hook(const GLfloat *v);
nuclear@0 403 void glNormal3i_Hook(GLint nx, GLint ny, GLint nz);
nuclear@0 404 void glNormal3iv_Hook(const GLint *v);
nuclear@0 405 void glNormal3s_Hook(GLshort nx, GLshort ny, GLshort nz);
nuclear@0 406 void glNormal3sv_Hook(const GLshort *v);
nuclear@0 407 void glNormalPointer_Hook(GLenum type, GLsizei stride, const void *pointer);
nuclear@0 408 void glOrtho_Hook(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
nuclear@0 409 void glPassThrough_Hook(GLfloat token);
nuclear@0 410 void glPixelMapfv_Hook(GLenum map, GLsizei mapsize, const GLfloat *values);
nuclear@0 411 void glPixelMapuiv_Hook(GLenum map, GLsizei mapsize, const GLuint *values);
nuclear@0 412 void glPixelMapusv_Hook(GLenum map, GLsizei mapsize, const GLushort *values);
nuclear@0 413 void glPixelStoref_Hook(GLenum pname, GLfloat param);
nuclear@0 414 void glPixelStorei_Hook(GLenum pname, GLint param);
nuclear@0 415 void glPixelTransferf_Hook(GLenum pname, GLfloat param);
nuclear@0 416 void glPixelTransferi_Hook(GLenum pname, GLint param);
nuclear@0 417 void glPixelZoom_Hook(GLfloat xfactor, GLfloat yfactor);
nuclear@0 418 void glPointSize_Hook(GLfloat size);
nuclear@0 419 void glPolygonMode_Hook(GLenum face, GLenum mode);
nuclear@0 420 void glPolygonOffset_Hook(GLfloat factor, GLfloat units);
nuclear@0 421 void glPolygonStipple_Hook(const GLubyte *mask);
nuclear@0 422 void glPopAttrib_Hook(void);
nuclear@0 423 void glPopClientAttrib_Hook(void);
nuclear@0 424 void glPopMatrix_Hook(void);
nuclear@0 425 void glPopName_Hook(void);
nuclear@0 426 void glPrioritizeTextures_Hook(GLsizei n, const GLuint *textures, const GLclampf *priorities);
nuclear@0 427 void glPushAttrib_Hook(GLbitfield mask);
nuclear@0 428 void glPushClientAttrib_Hook(GLbitfield mask);
nuclear@0 429 void glPushMatrix_Hook(void);
nuclear@0 430 void glPushName_Hook(GLuint name);
nuclear@0 431 void glRasterPos2d_Hook(GLdouble x, GLdouble y);
nuclear@0 432 void glRasterPos2dv_Hook(const GLdouble *v);
nuclear@0 433 void glRasterPos2f_Hook(GLfloat x, GLfloat y);
nuclear@0 434 void glRasterPos2fv_Hook(const GLfloat *v);
nuclear@0 435 void glRasterPos2i_Hook(GLint x, GLint y);
nuclear@0 436 void glRasterPos2iv_Hook(const GLint *v);
nuclear@0 437 void glRasterPos2s_Hook(GLshort x, GLshort y);
nuclear@0 438 void glRasterPos2sv_Hook(const GLshort *v);
nuclear@0 439 void glRasterPos3d_Hook(GLdouble x, GLdouble y, GLdouble z);
nuclear@0 440 void glRasterPos3dv_Hook(const GLdouble *v);
nuclear@0 441 void glRasterPos3f_Hook(GLfloat x, GLfloat y, GLfloat z);
nuclear@0 442 void glRasterPos3fv_Hook(const GLfloat *v);
nuclear@0 443 void glRasterPos3i_Hook(GLint x, GLint y, GLint z);
nuclear@0 444 void glRasterPos3iv_Hook(const GLint *v);
nuclear@0 445 void glRasterPos3s_Hook(GLshort x, GLshort y, GLshort z);
nuclear@0 446 void glRasterPos3sv_Hook(const GLshort *v);
nuclear@0 447 void glRasterPos4d_Hook(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
nuclear@0 448 void glRasterPos4dv_Hook(const GLdouble *v);
nuclear@0 449 void glRasterPos4f_Hook(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
nuclear@0 450 void glRasterPos4fv_Hook(const GLfloat *v);
nuclear@0 451 void glRasterPos4i_Hook(GLint x, GLint y, GLint z, GLint w);
nuclear@0 452 void glRasterPos4iv_Hook(const GLint *v);
nuclear@0 453 void glRasterPos4s_Hook(GLshort x, GLshort y, GLshort z, GLshort w);
nuclear@0 454 void glRasterPos4sv_Hook(const GLshort *v);
nuclear@0 455 void glReadBuffer_Hook(GLenum mode);
nuclear@0 456 void glReadPixels_Hook(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
nuclear@0 457 void glRectd_Hook(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
nuclear@0 458 void glRectdv_Hook(const GLdouble *v1, const GLdouble *v2);
nuclear@0 459 void glRectf_Hook(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
nuclear@0 460 void glRectfv_Hook(const GLfloat *v1, const GLfloat *v2);
nuclear@0 461 void glRecti_Hook(GLint x1, GLint y1, GLint x2, GLint y2);
nuclear@0 462 void glRectiv_Hook(const GLint *v1, const GLint *v2);
nuclear@0 463 void glRects_Hook(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
nuclear@0 464 void glRectsv_Hook(const GLshort *v1, const GLshort *v2);
nuclear@0 465 GLint glRenderMode_Hook(GLenum mode);
nuclear@0 466 void glRotated_Hook(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
nuclear@0 467 void glRotatef_Hook(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
nuclear@0 468 void glScaled_Hook(GLdouble x, GLdouble y, GLdouble z);
nuclear@0 469 void glScalef_Hook(GLfloat x, GLfloat y, GLfloat z);
nuclear@0 470 void glScissor_Hook(GLint x, GLint y, GLsizei width, GLsizei height);
nuclear@0 471 void glSelectBuffer_Hook(GLsizei size, GLuint *buffer);
nuclear@0 472 void glShadeModel_Hook(GLenum mode);
nuclear@0 473 void glStencilFunc_Hook(GLenum func, GLint ref, GLuint mask);
nuclear@0 474 void glStencilMask_Hook(GLuint mask);
nuclear@0 475 void glStencilOp_Hook(GLenum fail, GLenum zfail, GLenum zpass);
nuclear@0 476 void glTexCoord1d_Hook(GLdouble s);
nuclear@0 477 void glTexCoord1dv_Hook(const GLdouble *v);
nuclear@0 478 void glTexCoord1f_Hook(GLfloat s);
nuclear@0 479 void glTexCoord1fv_Hook(const GLfloat *v);
nuclear@0 480 void glTexCoord1i_Hook(GLint s);
nuclear@0 481 void glTexCoord1iv_Hook(const GLint *v);
nuclear@0 482 void glTexCoord1s_Hook(GLshort s);
nuclear@0 483 void glTexCoord1sv_Hook(const GLshort *v);
nuclear@0 484 void glTexCoord2d_Hook(GLdouble s, GLdouble t);
nuclear@0 485 void glTexCoord2dv_Hook(const GLdouble *v);
nuclear@0 486 void glTexCoord2f_Hook(GLfloat s, GLfloat t);
nuclear@0 487 void glTexCoord2fv_Hook(const GLfloat *v);
nuclear@0 488 void glTexCoord2i_Hook(GLint s, GLint t);
nuclear@0 489 void glTexCoord2iv_Hook(const GLint *v);
nuclear@0 490 void glTexCoord2s_Hook(GLshort s, GLshort t);
nuclear@0 491 void glTexCoord2sv_Hook(const GLshort *v);
nuclear@0 492 void glTexCoord3d_Hook(GLdouble s, GLdouble t, GLdouble r);
nuclear@0 493 void glTexCoord3dv_Hook(const GLdouble *v);
nuclear@0 494 void glTexCoord3f_Hook(GLfloat s, GLfloat t, GLfloat r);
nuclear@0 495 void glTexCoord3fv_Hook(const GLfloat *v);
nuclear@0 496 void glTexCoord3i_Hook(GLint s, GLint t, GLint r);
nuclear@0 497 void glTexCoord3iv_Hook(const GLint *v);
nuclear@0 498 void glTexCoord3s_Hook(GLshort s, GLshort t, GLshort r);
nuclear@0 499 void glTexCoord3sv_Hook(const GLshort *v);
nuclear@0 500 void glTexCoord4d_Hook(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
nuclear@0 501 void glTexCoord4dv_Hook(const GLdouble *v);
nuclear@0 502 void glTexCoord4f_Hook(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
nuclear@0 503 void glTexCoord4fv_Hook(const GLfloat *v);
nuclear@0 504 void glTexCoord4i_Hook(GLint s, GLint t, GLint r, GLint q);
nuclear@0 505 void glTexCoord4iv_Hook(const GLint *v);
nuclear@0 506 void glTexCoord4s_Hook(GLshort s, GLshort t, GLshort r, GLshort q);
nuclear@0 507 void glTexCoord4sv_Hook(const GLshort *v);
nuclear@0 508 void glTexCoordPointer_Hook(GLint size, GLenum type, GLsizei stride, const void *pointer);
nuclear@0 509 void glTexEnvf_Hook(GLenum target, GLenum pname, GLfloat param);
nuclear@0 510 void glTexEnvfv_Hook(GLenum target, GLenum pname, const GLfloat *params);
nuclear@0 511 void glTexEnvi_Hook(GLenum target, GLenum pname, GLint param);
nuclear@0 512 void glTexEnviv_Hook(GLenum target, GLenum pname, const GLint *params);
nuclear@0 513 void glTexGend_Hook(GLenum coord, GLenum pname, GLdouble param);
nuclear@0 514 void glTexGendv_Hook(GLenum coord, GLenum pname, const GLdouble *params);
nuclear@0 515 void glTexGenf_Hook(GLenum coord, GLenum pname, GLfloat param);
nuclear@0 516 void glTexGenfv_Hook(GLenum coord, GLenum pname, const GLfloat *params);
nuclear@0 517 void glTexGeni_Hook(GLenum coord, GLenum pname, GLint param);
nuclear@0 518 void glTexGeniv_Hook(GLenum coord, GLenum pname, const GLint *params);
nuclear@0 519 void glTexImage1D_Hook(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels);
nuclear@0 520 void glTexImage2D_Hook(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
nuclear@0 521 void glTexParameterf_Hook(GLenum target, GLenum pname, GLfloat param);
nuclear@0 522 void glTexParameterfv_Hook(GLenum target, GLenum pname, const GLfloat *params);
nuclear@0 523 void glTexParameteri_Hook(GLenum target, GLenum pname, GLint param);
nuclear@0 524 void glTexParameteriv_Hook(GLenum target, GLenum pname, const GLint *params);
nuclear@0 525 void glTexSubImage1D_Hook(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels);
nuclear@0 526 void glTexSubImage2D_Hook(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
nuclear@0 527 void glTranslated_Hook(GLdouble x, GLdouble y, GLdouble z);
nuclear@0 528 void glTranslatef_Hook(GLfloat x, GLfloat y, GLfloat z);
nuclear@0 529 void glVertex2d_Hook(GLdouble x, GLdouble y);
nuclear@0 530 void glVertex2dv_Hook(const GLdouble *v);
nuclear@0 531 void glVertex2f_Hook(GLfloat x, GLfloat y);
nuclear@0 532 void glVertex2fv_Hook(const GLfloat *v);
nuclear@0 533 void glVertex2i_Hook(GLint x, GLint y);
nuclear@0 534 void glVertex2iv_Hook(const GLint *v);
nuclear@0 535 void glVertex2s_Hook(GLshort x, GLshort y);
nuclear@0 536 void glVertex2sv_Hook(const GLshort *v);
nuclear@0 537 void glVertex3d_Hook(GLdouble x, GLdouble y, GLdouble z);
nuclear@0 538 void glVertex3dv_Hook(const GLdouble *v);
nuclear@0 539 void glVertex3f_Hook(GLfloat x, GLfloat y, GLfloat z);
nuclear@0 540 void glVertex3fv_Hook(const GLfloat *v);
nuclear@0 541 void glVertex3i_Hook(GLint x, GLint y, GLint z);
nuclear@0 542 void glVertex3iv_Hook(const GLint *v);
nuclear@0 543 void glVertex3s_Hook(GLshort x, GLshort y, GLshort z);
nuclear@0 544 void glVertex3sv_Hook(const GLshort *v);
nuclear@0 545 void glVertex4d_Hook(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
nuclear@0 546 void glVertex4dv_Hook(const GLdouble *v);
nuclear@0 547 void glVertex4f_Hook(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
nuclear@0 548 void glVertex4fv_Hook(const GLfloat *v);
nuclear@0 549 void glVertex4i_Hook(GLint x, GLint y, GLint z, GLint w);
nuclear@0 550 void glVertex4iv_Hook(const GLint *v);
nuclear@0 551 void glVertex4s_Hook(GLshort x, GLshort y, GLshort z, GLshort w);
nuclear@0 552 void glVertex4sv_Hook(const GLshort *v);
nuclear@0 553 void glVertexPointer_Hook(GLint size, GLenum type, GLsizei stride, const void *pointer);
nuclear@0 554 void glViewport_Hook(GLint x, GLint y, GLsizei width, GLsizei height);
nuclear@0 555
nuclear@0 556 // GL_VERSION_1_2
nuclear@0 557 void glBlendColor_Hook(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
nuclear@0 558 void glBlendEquation_Hook(GLenum mode);
nuclear@0 559 void glDrawRangeElements_Hook(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
nuclear@0 560 void glTexImage3D_Hook(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
nuclear@0 561 void glTexSubImage3D_Hook(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
nuclear@0 562 void glCopyTexSubImage3D_Hook(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
nuclear@0 563
nuclear@0 564 // GL_VERSION_1_2 deprecated functions
nuclear@0 565 /* Not currently supported
nuclear@0 566 void glColorTable_Hook(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
nuclear@0 567 void glColorTableParameterfv_Hook(GLenum target, GLenum pname, const GLfloat *params);
nuclear@0 568 void glColorTableParameteriv_Hook(GLenum target, GLenum pname, const GLint *params);
nuclear@0 569 void glCopyColorTable_Hook(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
nuclear@0 570 void glGetColorTable_Hook(GLenum target, GLenum format, GLenum type, GLvoid *table);
nuclear@0 571 void glGetColorTableParameterfv_Hook(GLenum target, GLenum pname, GLfloat *params);
nuclear@0 572 void glGetColorTableParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 573 void glColorSubTable_Hook(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
nuclear@0 574 void glCopyColorSubTable_Hook(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
nuclear@0 575 void glConvolutionFilter1D_Hook(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
nuclear@0 576 void glConvolutionFilter2D_Hook(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
nuclear@0 577 void glConvolutionParameterf_Hook(GLenum target, GLenum pname, GLfloat params);
nuclear@0 578 void glConvolutionParameterfv_Hook(GLenum target, GLenum pname, const GLfloat *params);
nuclear@0 579 void glConvolutionParameteri_Hook(GLenum target, GLenum pname, GLint params);
nuclear@0 580 void glConvolutionParameteriv_Hook(GLenum target, GLenum pname, const GLint *params);
nuclear@0 581 void glCopyConvolutionFilter1D_Hook(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
nuclear@0 582 void glCopyConvolutionFilter2D_Hook(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
nuclear@0 583 void glGetConvolutionFilter_Hook(GLenum target, GLenum format, GLenum type, GLvoid *image);
nuclear@0 584 void glGetConvolutionParameterfv_Hook(GLenum target, GLenum pname, GLfloat *params);
nuclear@0 585 void glGetConvolutionParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 586 void glGetSeparableFilter_Hook(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
nuclear@0 587 void glSeparableFilter2D_Hook(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
nuclear@0 588 void glGetHistogram_Hook(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
nuclear@0 589 void glGetHistogramParameterfv_Hook(GLenum target, GLenum pname, GLfloat *params);
nuclear@0 590 void glGetHistogramParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 591 void glGetMinmax_Hook(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
nuclear@0 592 void glGetMinmaxParameterfv_Hook(GLenum target, GLenum pname, GLfloat *params);
nuclear@0 593 void glGetMinmaxParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 594 void glHistogram_Hook(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
nuclear@0 595 void glMinmax_Hook(GLenum target, GLenum internalformat, GLboolean sink);
nuclear@0 596 void glResetHistogram_Hook(GLenum target);
nuclear@0 597 void glResetMinmax_Hook(GLenum target);
nuclear@0 598 */
nuclear@0 599
nuclear@0 600 // GL_VERSION_1_3
nuclear@0 601 void glActiveTexture_Hook(GLenum texture);
nuclear@0 602 void glSampleCoverage_Hook(GLclampf value, GLboolean invert);
nuclear@0 603 void glCompressedTexImage3D_Hook(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
nuclear@0 604 void glCompressedTexImage2D_Hook(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
nuclear@0 605 void glCompressedTexImage1D_Hook(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
nuclear@0 606 void glCompressedTexSubImage3D_Hook(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
nuclear@0 607 void glCompressedTexSubImage2D_Hook(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
nuclear@0 608 void glCompressedTexSubImage1D_Hook(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
nuclear@0 609 void glGetCompressedTexImage_Hook(GLenum target, GLint level, GLvoid *img);
nuclear@0 610
nuclear@0 611 // GL_VERSION_1_3 deprecated functions
nuclear@0 612 void glClientActiveTexture_Hook(GLenum texture);
nuclear@0 613 void glMultiTexCoord1d_Hook(GLenum target, GLdouble s);
nuclear@0 614 void glMultiTexCoord1dv_Hook(GLenum target, const GLdouble *v);
nuclear@0 615 void glMultiTexCoord1f_Hook(GLenum target, GLfloat s);
nuclear@0 616 void glMultiTexCoord1fv_Hook(GLenum target, const GLfloat *v);
nuclear@0 617 void glMultiTexCoord1i_Hook(GLenum target, GLint s);
nuclear@0 618 void glMultiTexCoord1iv_Hook(GLenum target, const GLint *v);
nuclear@0 619 void glMultiTexCoord1s_Hook(GLenum target, GLshort s);
nuclear@0 620 void glMultiTexCoord1sv_Hook(GLenum target, const GLshort *v);
nuclear@0 621 void glMultiTexCoord2d_Hook(GLenum target, GLdouble s, GLdouble t);
nuclear@0 622 void glMultiTexCoord2dv_Hook(GLenum target, const GLdouble *v);
nuclear@0 623 void glMultiTexCoord2f_Hook(GLenum target, GLfloat s, GLfloat t);
nuclear@0 624 void glMultiTexCoord2fv_Hook(GLenum target, const GLfloat *v);
nuclear@0 625 void glMultiTexCoord2i_Hook(GLenum target, GLint s, GLint t);
nuclear@0 626 void glMultiTexCoord2iv_Hook(GLenum target, const GLint *v);
nuclear@0 627 void glMultiTexCoord2s_Hook(GLenum target, GLshort s, GLshort t);
nuclear@0 628 void glMultiTexCoord2sv_Hook(GLenum target, const GLshort *v);
nuclear@0 629 void glMultiTexCoord3d_Hook(GLenum target, GLdouble s, GLdouble t, GLdouble r);
nuclear@0 630 void glMultiTexCoord3dv_Hook(GLenum target, const GLdouble *v);
nuclear@0 631 void glMultiTexCoord3f_Hook(GLenum target, GLfloat s, GLfloat t, GLfloat r);
nuclear@0 632 void glMultiTexCoord3fv_Hook(GLenum target, const GLfloat *v);
nuclear@0 633 void glMultiTexCoord3i_Hook(GLenum target, GLint s, GLint t, GLint r);
nuclear@0 634 void glMultiTexCoord3iv_Hook(GLenum target, const GLint *v);
nuclear@0 635 void glMultiTexCoord3s_Hook(GLenum target, GLshort s, GLshort t, GLshort r);
nuclear@0 636 void glMultiTexCoord3sv_Hook(GLenum target, const GLshort *v);
nuclear@0 637 void glMultiTexCoord4d_Hook(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
nuclear@0 638 void glMultiTexCoord4dv_Hook(GLenum target, const GLdouble *v);
nuclear@0 639 void glMultiTexCoord4f_Hook(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
nuclear@0 640 void glMultiTexCoord4fv_Hook(GLenum target, const GLfloat *v);
nuclear@0 641 void glMultiTexCoord4i_Hook(GLenum target, GLint s, GLint t, GLint r, GLint q);
nuclear@0 642 void glMultiTexCoord4iv_Hook(GLenum target, const GLint *v);
nuclear@0 643 void glMultiTexCoord4s_Hook(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
nuclear@0 644 void glMultiTexCoord4sv_Hook(GLenum target, const GLshort *v);
nuclear@0 645 void glLoadTransposeMatrixf_Hook(const GLfloat *m);
nuclear@0 646 void glLoadTransposeMatrixd_Hook(const GLdouble *m);
nuclear@0 647 void glMultTransposeMatrixf_Hook(const GLfloat *m);
nuclear@0 648 void glMultTransposeMatrixd_Hook(const GLdouble *m);
nuclear@0 649
nuclear@0 650 // GL_VERSION_1_4
nuclear@0 651 void glBlendFuncSeparate_Hook(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
nuclear@0 652 void glMultiDrawArrays_Hook(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
nuclear@0 653 void glMultiDrawElements_Hook(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
nuclear@0 654 void glPointParameterf_Hook(GLenum pname, GLfloat param);
nuclear@0 655 void glPointParameterfv_Hook(GLenum pname, const GLfloat *params);
nuclear@0 656 void glPointParameteri_Hook(GLenum pname, GLint param);
nuclear@0 657 void glPointParameteriv_Hook(GLenum pname, const GLint *params);
nuclear@0 658
nuclear@0 659 // GL_VERSION_1_4 deprecated functions
nuclear@0 660 void glFogCoordf_Hook(GLfloat coord);
nuclear@0 661 void glFogCoordfv_Hook(const GLfloat *coord);
nuclear@0 662 void glFogCoordd_Hook(GLdouble coord);
nuclear@0 663 void glFogCoorddv_Hook(const GLdouble *coord);
nuclear@0 664 void glFogCoordPointer_Hook(GLenum type, GLsizei stride, const GLvoid *pointer);
nuclear@0 665 void glSecondaryColor3b_Hook(GLbyte red, GLbyte green, GLbyte blue);
nuclear@0 666 void glSecondaryColor3bv_Hook(const GLbyte *v);
nuclear@0 667 void glSecondaryColor3d_Hook(GLdouble red, GLdouble green, GLdouble blue);
nuclear@0 668 void glSecondaryColor3dv_Hook(const GLdouble *v);
nuclear@0 669 void glSecondaryColor3f_Hook(GLfloat red, GLfloat green, GLfloat blue);
nuclear@0 670 void glSecondaryColor3fv_Hook(const GLfloat *v);
nuclear@0 671 void glSecondaryColor3i_Hook(GLint red, GLint green, GLint blue);
nuclear@0 672 void glSecondaryColor3iv_Hook(const GLint *v);
nuclear@0 673 void glSecondaryColor3s_Hook(GLshort red, GLshort green, GLshort blue);
nuclear@0 674 void glSecondaryColor3sv_Hook(const GLshort *v);
nuclear@0 675 void glSecondaryColor3ub_Hook(GLubyte red, GLubyte green, GLubyte blue);
nuclear@0 676 void glSecondaryColor3ubv_Hook(const GLubyte *v);
nuclear@0 677 void glSecondaryColor3ui_Hook(GLuint red, GLuint green, GLuint blue);
nuclear@0 678 void glSecondaryColor3uiv_Hook(const GLuint *v);
nuclear@0 679 void glSecondaryColor3us_Hook(GLushort red, GLushort green, GLushort blue);
nuclear@0 680 void glSecondaryColor3usv_Hook(const GLushort *v);
nuclear@0 681 void glSecondaryColorPointer_Hook(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
nuclear@0 682 void glWindowPos2d_Hook(GLdouble x, GLdouble y);
nuclear@0 683 void glWindowPos2dv_Hook(const GLdouble *v);
nuclear@0 684 void glWindowPos2f_Hook(GLfloat x, GLfloat y);
nuclear@0 685 void glWindowPos2fv_Hook(const GLfloat *v);
nuclear@0 686 void glWindowPos2i_Hook(GLint x, GLint y);
nuclear@0 687 void glWindowPos2iv_Hook(const GLint *v);
nuclear@0 688 void glWindowPos2s_Hook(GLshort x, GLshort y);
nuclear@0 689 void glWindowPos2sv_Hook(const GLshort *v);
nuclear@0 690 void glWindowPos3d_Hook(GLdouble x, GLdouble y, GLdouble z);
nuclear@0 691 void glWindowPos3dv_Hook(const GLdouble *v);
nuclear@0 692 void glWindowPos3f_Hook(GLfloat x, GLfloat y, GLfloat z);
nuclear@0 693 void glWindowPos3fv_Hook(const GLfloat *v);
nuclear@0 694 void glWindowPos3i_Hook(GLint x, GLint y, GLint z);
nuclear@0 695 void glWindowPos3iv_Hook(const GLint *v);
nuclear@0 696 void glWindowPos3s_Hook(GLshort x, GLshort y, GLshort z);
nuclear@0 697 void glWindowPos3sv_Hook(const GLshort *v);
nuclear@0 698
nuclear@0 699 // GL_VERSION_1_5
nuclear@0 700 void glGenQueries_Hook(GLsizei n, GLuint *ids);
nuclear@0 701 void glDeleteQueries_Hook(GLsizei n, const GLuint *ids);
nuclear@0 702 GLboolean glIsQuery_Hook(GLuint id);
nuclear@0 703 void glBeginQuery_Hook(GLenum target, GLuint id);
nuclear@0 704 void glEndQuery_Hook(GLenum target);
nuclear@0 705 void glGetQueryiv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 706 void glGetQueryObjectiv_Hook(GLuint id, GLenum pname, GLint *params);
nuclear@0 707 void glGetQueryObjectuiv_Hook(GLuint id, GLenum pname, GLuint *params);
nuclear@0 708 void glBindBuffer_Hook(GLenum target, GLuint buffer);
nuclear@0 709 void glDeleteBuffers_Hook(GLsizei n, const GLuint *buffers);
nuclear@0 710 void glGenBuffers_Hook(GLsizei n, GLuint *buffers);
nuclear@0 711 GLboolean glIsBuffer_Hook(GLuint buffer);
nuclear@0 712 void glBufferData_Hook(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
nuclear@0 713 void glBufferSubData_Hook(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
nuclear@0 714 void glGetBufferSubData_Hook(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
nuclear@0 715 GLvoid* glMapBuffer_Hook(GLenum target, GLenum access);
nuclear@0 716 GLboolean glUnmapBuffer_Hook(GLenum target);
nuclear@0 717 void glGetBufferParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 718 void glGetBufferPointerv_Hook(GLenum target, GLenum pname, GLvoid* *params);
nuclear@0 719
nuclear@0 720 // GL_VERSION_2_0
nuclear@0 721 void glBlendEquationSeparate_Hook(GLenum modeRGB, GLenum modeAlpha);
nuclear@0 722 void glDrawBuffers_Hook(GLsizei n, const GLenum *bufs);
nuclear@0 723 void glStencilOpSeparate_Hook(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
nuclear@0 724 void glStencilFuncSeparate_Hook(GLenum face, GLenum func, GLint ref, GLuint mask);
nuclear@0 725 void glStencilMaskSeparate_Hook(GLenum face, GLuint mask);
nuclear@0 726 void glAttachShader_Hook(GLuint program, GLuint shader);
nuclear@0 727 void glBindAttribLocation_Hook(GLuint program, GLuint index, const GLchar *name);
nuclear@0 728 void glCompileShader_Hook(GLuint shader);
nuclear@0 729 GLuint glCreateProgram_Hook(void);
nuclear@0 730 GLuint glCreateShader_Hook(GLenum type);
nuclear@0 731 void glDeleteProgram_Hook(GLuint program);
nuclear@0 732 void glDeleteShader_Hook(GLuint shader);
nuclear@0 733 void glDetachShader_Hook(GLuint program, GLuint shader);
nuclear@0 734 void glDisableVertexAttribArray_Hook(GLuint index);
nuclear@0 735 void glEnableVertexAttribArray_Hook(GLuint index);
nuclear@0 736 void glGetActiveAttrib_Hook(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
nuclear@0 737 void glGetActiveUniform_Hook(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
nuclear@0 738 void glGetAttachedShaders_Hook(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
nuclear@0 739 GLint glGetAttribLocation_Hook(GLuint program, const GLchar *name);
nuclear@0 740 void glGetProgramiv_Hook(GLuint program, GLenum pname, GLint *params);
nuclear@0 741 void glGetProgramInfoLog_Hook(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
nuclear@0 742 void glGetShaderiv_Hook(GLuint shader, GLenum pname, GLint *params);
nuclear@0 743 void glGetShaderInfoLog_Hook(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
nuclear@0 744 void glGetShaderSource_Hook(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
nuclear@0 745 GLint glGetUniformLocation_Hook(GLuint program, const GLchar *name);
nuclear@0 746 void glGetUniformfv_Hook(GLuint program, GLint location, GLfloat *params);
nuclear@0 747 void glGetUniformiv_Hook(GLuint program, GLint location, GLint *params);
nuclear@0 748 void glGetVertexAttribdv_Hook(GLuint index, GLenum pname, GLdouble *params);
nuclear@0 749 void glGetVertexAttribfv_Hook(GLuint index, GLenum pname, GLfloat *params);
nuclear@0 750 void glGetVertexAttribiv_Hook(GLuint index, GLenum pname, GLint *params);
nuclear@0 751 void glGetVertexAttribPointerv_Hook(GLuint index, GLenum pname, GLvoid* *pointer);
nuclear@0 752 GLboolean glIsProgram_Hook(GLuint program);
nuclear@0 753 GLboolean glIsShader_Hook(GLuint shader);
nuclear@0 754 void glLinkProgram_Hook(GLuint program);
nuclear@0 755 void glShaderSource_Hook(GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
nuclear@0 756 void glUseProgram_Hook(GLuint program);
nuclear@0 757 void glUniform1f_Hook(GLint location, GLfloat v0);
nuclear@0 758 void glUniform2f_Hook(GLint location, GLfloat v0, GLfloat v1);
nuclear@0 759 void glUniform3f_Hook(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
nuclear@0 760 void glUniform4f_Hook(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
nuclear@0 761 void glUniform1i_Hook(GLint location, GLint v0);
nuclear@0 762 void glUniform2i_Hook(GLint location, GLint v0, GLint v1);
nuclear@0 763 void glUniform3i_Hook(GLint location, GLint v0, GLint v1, GLint v2);
nuclear@0 764 void glUniform4i_Hook(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
nuclear@0 765 void glUniform1fv_Hook(GLint location, GLsizei count, const GLfloat *value);
nuclear@0 766 void glUniform2fv_Hook(GLint location, GLsizei count, const GLfloat *value);
nuclear@0 767 void glUniform3fv_Hook(GLint location, GLsizei count, const GLfloat *value);
nuclear@0 768 void glUniform4fv_Hook(GLint location, GLsizei count, const GLfloat *value);
nuclear@0 769 void glUniform1iv_Hook(GLint location, GLsizei count, const GLint *value);
nuclear@0 770 void glUniform2iv_Hook(GLint location, GLsizei count, const GLint *value);
nuclear@0 771 void glUniform3iv_Hook(GLint location, GLsizei count, const GLint *value);
nuclear@0 772 void glUniform4iv_Hook(GLint location, GLsizei count, const GLint *value);
nuclear@0 773 void glUniformMatrix2fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 774 void glUniformMatrix3fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 775 void glUniformMatrix4fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 776 void glValidateProgram_Hook(GLuint program);
nuclear@0 777 void glVertexAttrib1d_Hook(GLuint index, GLdouble x);
nuclear@0 778 void glVertexAttrib1dv_Hook(GLuint index, const GLdouble *v);
nuclear@0 779 void glVertexAttrib1f_Hook(GLuint index, GLfloat x);
nuclear@0 780 void glVertexAttrib1fv_Hook(GLuint index, const GLfloat *v);
nuclear@0 781 void glVertexAttrib1s_Hook(GLuint index, GLshort x);
nuclear@0 782 void glVertexAttrib1sv_Hook(GLuint index, const GLshort *v);
nuclear@0 783 void glVertexAttrib2d_Hook(GLuint index, GLdouble x, GLdouble y);
nuclear@0 784 void glVertexAttrib2dv_Hook(GLuint index, const GLdouble *v);
nuclear@0 785 void glVertexAttrib2f_Hook(GLuint index, GLfloat x, GLfloat y);
nuclear@0 786 void glVertexAttrib2fv_Hook(GLuint index, const GLfloat *v);
nuclear@0 787 void glVertexAttrib2s_Hook(GLuint index, GLshort x, GLshort y);
nuclear@0 788 void glVertexAttrib2sv_Hook(GLuint index, const GLshort *v);
nuclear@0 789 void glVertexAttrib3d_Hook(GLuint index, GLdouble x, GLdouble y, GLdouble z);
nuclear@0 790 void glVertexAttrib3dv_Hook(GLuint index, const GLdouble *v);
nuclear@0 791 void glVertexAttrib3f_Hook(GLuint index, GLfloat x, GLfloat y, GLfloat z);
nuclear@0 792 void glVertexAttrib3fv_Hook(GLuint index, const GLfloat *v);
nuclear@0 793 void glVertexAttrib3s_Hook(GLuint index, GLshort x, GLshort y, GLshort z);
nuclear@0 794 void glVertexAttrib3sv_Hook(GLuint index, const GLshort *v);
nuclear@0 795 void glVertexAttrib4Nbv_Hook(GLuint index, const GLbyte *v);
nuclear@0 796 void glVertexAttrib4Niv_Hook(GLuint index, const GLint *v);
nuclear@0 797 void glVertexAttrib4Nsv_Hook(GLuint index, const GLshort *v);
nuclear@0 798 void glVertexAttrib4Nub_Hook(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
nuclear@0 799 void glVertexAttrib4Nubv_Hook(GLuint index, const GLubyte *v);
nuclear@0 800 void glVertexAttrib4Nuiv_Hook(GLuint index, const GLuint *v);
nuclear@0 801 void glVertexAttrib4Nusv_Hook(GLuint index, const GLushort *v);
nuclear@0 802 void glVertexAttrib4bv_Hook(GLuint index, const GLbyte *v);
nuclear@0 803 void glVertexAttrib4d_Hook(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
nuclear@0 804 void glVertexAttrib4dv_Hook(GLuint index, const GLdouble *v);
nuclear@0 805 void glVertexAttrib4f_Hook(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
nuclear@0 806 void glVertexAttrib4fv_Hook(GLuint index, const GLfloat *v);
nuclear@0 807 void glVertexAttrib4iv_Hook(GLuint index, const GLint *v);
nuclear@0 808 void glVertexAttrib4s_Hook(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
nuclear@0 809 void glVertexAttrib4sv_Hook(GLuint index, const GLshort *v);
nuclear@0 810 void glVertexAttrib4ubv_Hook(GLuint index, const GLubyte *v);
nuclear@0 811 void glVertexAttrib4uiv_Hook(GLuint index, const GLuint *v);
nuclear@0 812 void glVertexAttrib4usv_Hook(GLuint index, const GLushort *v);
nuclear@0 813 void glVertexAttribPointer_Hook(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
nuclear@0 814
nuclear@0 815 // GL_VERSION_2_1
nuclear@0 816 void glUniformMatrix2x3fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 817 void glUniformMatrix3x2fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 818 void glUniformMatrix2x4fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 819 void glUniformMatrix4x2fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 820 void glUniformMatrix3x4fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 821 void glUniformMatrix4x3fv_Hook(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
nuclear@0 822
nuclear@0 823 // GL_VERSION_3_0
nuclear@0 824 void glColorMaski_Hook(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
nuclear@0 825 void glGetBooleani_v_Hook(GLenum target, GLuint index, GLboolean *data);
nuclear@0 826 void glGetIntegeri_v_Hook(GLenum target, GLuint index, GLint *data);
nuclear@0 827 void glEnablei_Hook(GLenum target, GLuint index);
nuclear@0 828 void glDisablei_Hook(GLenum target, GLuint index);
nuclear@0 829 GLboolean glIsEnabledi_Hook(GLenum target, GLuint index);
nuclear@0 830 void glBeginTransformFeedback_Hook(GLenum primitiveMode);
nuclear@0 831 void glEndTransformFeedback_Hook(void);
nuclear@0 832 void glBindBufferRange_Hook(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
nuclear@0 833 void glBindBufferBase_Hook(GLenum target, GLuint index, GLuint buffer);
nuclear@0 834 void glTransformFeedbackVaryings_Hook(GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode);
nuclear@0 835 void glGetTransformFeedbackVarying_Hook(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
nuclear@0 836 void glClampColor_Hook(GLenum target, GLenum clamp);
nuclear@0 837 void glBeginConditionalRender_Hook(GLuint id, GLenum mode);
nuclear@0 838 void glEndConditionalRender_Hook(void);
nuclear@0 839 void glVertexAttribIPointer_Hook(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
nuclear@0 840 void glGetVertexAttribIiv_Hook(GLuint index, GLenum pname, GLint *params);
nuclear@0 841 void glGetVertexAttribIuiv_Hook(GLuint index, GLenum pname, GLuint *params);
nuclear@0 842 void glVertexAttribI1i_Hook(GLuint index, GLint x);
nuclear@0 843 void glVertexAttribI2i_Hook(GLuint index, GLint x, GLint y);
nuclear@0 844 void glVertexAttribI3i_Hook(GLuint index, GLint x, GLint y, GLint z);
nuclear@0 845 void glVertexAttribI4i_Hook(GLuint index, GLint x, GLint y, GLint z, GLint w);
nuclear@0 846 void glVertexAttribI1ui_Hook(GLuint index, GLuint x);
nuclear@0 847 void glVertexAttribI2ui_Hook(GLuint index, GLuint x, GLuint y);
nuclear@0 848 void glVertexAttribI3ui_Hook(GLuint index, GLuint x, GLuint y, GLuint z);
nuclear@0 849 void glVertexAttribI4ui_Hook(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
nuclear@0 850 void glVertexAttribI1iv_Hook(GLuint index, const GLint *v);
nuclear@0 851 void glVertexAttribI2iv_Hook(GLuint index, const GLint *v);
nuclear@0 852 void glVertexAttribI3iv_Hook(GLuint index, const GLint *v);
nuclear@0 853 void glVertexAttribI4iv_Hook(GLuint index, const GLint *v);
nuclear@0 854 void glVertexAttribI1uiv_Hook(GLuint index, const GLuint *v);
nuclear@0 855 void glVertexAttribI2uiv_Hook(GLuint index, const GLuint *v);
nuclear@0 856 void glVertexAttribI3uiv_Hook(GLuint index, const GLuint *v);
nuclear@0 857 void glVertexAttribI4uiv_Hook(GLuint index, const GLuint *v);
nuclear@0 858 void glVertexAttribI4bv_Hook(GLuint index, const GLbyte *v);
nuclear@0 859 void glVertexAttribI4sv_Hook(GLuint index, const GLshort *v);
nuclear@0 860 void glVertexAttribI4ubv_Hook(GLuint index, const GLubyte *v);
nuclear@0 861 void glVertexAttribI4usv_Hook(GLuint index, const GLushort *v);
nuclear@0 862 void glGetUniformuiv_Hook(GLuint program, GLint location, GLuint *params);
nuclear@0 863 void glBindFragDataLocation_Hook(GLuint program, GLuint color, const GLchar *name);
nuclear@0 864 GLint glGetFragDataLocation_Hook(GLuint program, const GLchar *name);
nuclear@0 865 void glUniform1ui_Hook(GLint location, GLuint v0);
nuclear@0 866 void glUniform2ui_Hook(GLint location, GLuint v0, GLuint v1);
nuclear@0 867 void glUniform3ui_Hook(GLint location, GLuint v0, GLuint v1, GLuint v2);
nuclear@0 868 void glUniform4ui_Hook(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
nuclear@0 869 void glUniform1uiv_Hook(GLint location, GLsizei count, const GLuint *value);
nuclear@0 870 void glUniform2uiv_Hook(GLint location, GLsizei count, const GLuint *value);
nuclear@0 871 void glUniform3uiv_Hook(GLint location, GLsizei count, const GLuint *value);
nuclear@0 872 void glUniform4uiv_Hook(GLint location, GLsizei count, const GLuint *value);
nuclear@0 873 void glTexParameterIiv_Hook(GLenum target, GLenum pname, const GLint *params);
nuclear@0 874 void glTexParameterIuiv_Hook(GLenum target, GLenum pname, const GLuint *params);
nuclear@0 875 void glGetTexParameterIiv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 876 void glGetTexParameterIuiv_Hook(GLenum target, GLenum pname, GLuint *params);
nuclear@0 877 void glClearBufferiv_Hook(GLenum buffer, GLint drawbuffer, const GLint *value);
nuclear@0 878 void glClearBufferuiv_Hook(GLenum buffer, GLint drawbuffer, const GLuint *value);
nuclear@0 879 void glClearBufferfv_Hook(GLenum buffer, GLint drawbuffer, const GLfloat *value);
nuclear@0 880 void glClearBufferfi_Hook(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
nuclear@0 881 const GLubyte* glGetStringi_Hook(GLenum name, GLuint index);
nuclear@0 882
nuclear@0 883 // GL_VERSION_3_1
nuclear@0 884 void glDrawArraysInstanced_Hook(GLenum mode, GLint first, GLsizei count, GLsizei primcount);
nuclear@0 885 void glDrawElementsInstanced_Hook(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount);
nuclear@0 886 void glTexBuffer_Hook(GLenum target, GLenum internalformat, GLuint buffer);
nuclear@0 887 void glPrimitiveRestartIndex_Hook(GLuint index);
nuclear@0 888
nuclear@0 889 // GL_VERSION_3_2
nuclear@0 890 void glGetInteger64i_v_Hook(GLenum target, GLuint index, GLint64 *data);
nuclear@0 891 void glGetBufferParameteri64v_Hook(GLenum target, GLenum pname, GLint64 *params);
nuclear@0 892 void glFramebufferTexture_Hook(GLenum target, GLenum attachment, GLuint texture, GLint level);
nuclear@0 893
nuclear@0 894 // GL_VERSION_3_3
nuclear@0 895 void glVertexAttribDivisor_Hook(GLuint index, GLuint divisor);
nuclear@0 896
nuclear@0 897 // GL_VERSION_4_0
nuclear@0 898 void glMinSampleShading_Hook(GLclampf value);
nuclear@0 899 void glBlendEquationi_Hook(GLuint buf, GLenum mode);
nuclear@0 900 void glBlendEquationSeparatei_Hook(GLuint buf, GLenum modeRGB, GLenum modeAlpha);
nuclear@0 901 void glBlendFunci_Hook(GLuint buf, GLenum src, GLenum dst);
nuclear@0 902 void glBlendFuncSeparatei_Hook(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
nuclear@0 903
nuclear@0 904 // GL_AMD_debug_output
nuclear@0 905 void glDebugMessageEnableAMD_Hook(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
nuclear@0 906 void glDebugMessageInsertAMD_Hook(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf);
nuclear@0 907 void glDebugMessageCallbackAMD_Hook(GLDEBUGPROCAMD callback, GLvoid *userParam);
nuclear@0 908 GLuint glGetDebugMessageLogAMD_Hook(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message);
nuclear@0 909
nuclear@0 910 #if defined(GLE_CGL_ENABLED)
nuclear@0 911 // GL_APPLE_element_array
nuclear@0 912 void glElementPointerAPPLE_Hook(GLenum type, const GLvoid *pointer);
nuclear@0 913 void glDrawElementArrayAPPLE_Hook(GLenum mode, GLint first, GLsizei count);
nuclear@0 914 void glDrawRangeElementArrayAPPLE_Hook(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
nuclear@0 915 void glMultiDrawElementArrayAPPLE_Hook(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
nuclear@0 916 void glMultiDrawRangeElementArrayAPPLE_Hook(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
nuclear@0 917
nuclear@0 918 // GL_APPLE_fence
nuclear@0 919 void glGenFencesAPPLE_Hook(GLsizei n, GLuint *fences);
nuclear@0 920 void glDeleteFencesAPPLE_Hook(GLsizei n, const GLuint *fences);
nuclear@0 921 void glSetFenceAPPLE_Hook(GLuint fence);
nuclear@0 922 GLboolean glIsFenceAPPLE_Hook(GLuint fence);
nuclear@0 923 GLboolean glTestFenceAPPLE_Hook(GLuint fence);
nuclear@0 924 void glFinishFenceAPPLE_Hook(GLuint fence);
nuclear@0 925 GLboolean glTestObjectAPPLE_Hook(GLenum object, GLuint name);
nuclear@0 926 void glFinishObjectAPPLE_Hook(GLenum object, GLint name);
nuclear@0 927
nuclear@0 928 // GL_APPLE_flush_buffer_range
nuclear@0 929 void glBufferParameteriAPPLE_Hook(GLenum target, GLenum pname, GLint param);
nuclear@0 930 void glFlushMappedBufferRangeAPPLE_Hook(GLenum target, GLintptr offset, GLsizeiptr size);
nuclear@0 931
nuclear@0 932 // GL_APPLE_object_purgeable
nuclear@0 933 GLenum glObjectPurgeableAPPLE_Hook(GLenum objectType, GLuint name, GLenum option);
nuclear@0 934 GLenum glObjectUnpurgeableAPPLE_Hook(GLenum objectType, GLuint name, GLenum option);
nuclear@0 935 void glGetObjectParameterivAPPLE_Hook(GLenum objectType, GLuint name, GLenum pname, GLint *params);
nuclear@0 936
nuclear@0 937 // GL_APPLE_texture_range
nuclear@0 938 void glTextureRangeAPPLE_Hook(GLenum target, GLsizei length, const GLvoid *pointer);
nuclear@0 939 void glGetTexParameterPointervAPPLE_Hook(GLenum target, GLenum pname, GLvoid **params);
nuclear@0 940
nuclear@0 941 // GL_APPLE_vertex_array_object
nuclear@0 942 void glBindVertexArrayAPPLE_Hook(GLuint array);
nuclear@0 943 void glDeleteVertexArraysAPPLE_Hook(GLsizei n, const GLuint *arrays);
nuclear@0 944 void glGenVertexArraysAPPLE_Hook(GLsizei n, GLuint *arrays);
nuclear@0 945 GLboolean glIsVertexArrayAPPLE_Hook(GLuint array);
nuclear@0 946
nuclear@0 947 // GL_APPLE_vertex_array_range
nuclear@0 948 void glVertexArrayRangeAPPLE_Hook(GLsizei length, GLvoid *pointer);
nuclear@0 949 void glFlushVertexArrayRangeAPPLE_Hook(GLsizei length, GLvoid *pointer);
nuclear@0 950 void glVertexArrayParameteriAPPLE_Hook(GLenum pname, GLint param);
nuclear@0 951
nuclear@0 952 // GL_APPLE_vertex_program_evaluators
nuclear@0 953 void glEnableVertexAttribAPPLE_Hook(GLuint index, GLenum pname);
nuclear@0 954 void glDisableVertexAttribAPPLE_Hook(GLuint index, GLenum pname);
nuclear@0 955 GLboolean glIsVertexAttribEnabledAPPLE_Hook(GLuint index, GLenum pname);
nuclear@0 956 void glMapVertexAttrib1dAPPLE_Hook(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
nuclear@0 957 void glMapVertexAttrib1fAPPLE_Hook(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
nuclear@0 958 void glMapVertexAttrib2dAPPLE_Hook(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
nuclear@0 959 void glMapVertexAttrib2fAPPLE_Hook(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
nuclear@0 960 #endif // GLE_CGL_ENABLED
nuclear@0 961
nuclear@0 962 // GL_ARB_debug_output
nuclear@0 963 void glDebugMessageControlARB_Hook(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
nuclear@0 964 void glDebugMessageInsertARB_Hook(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
nuclear@0 965 void glDebugMessageCallbackARB_Hook(GLDEBUGPROCARB callback, const GLvoid *userParam);
nuclear@0 966 GLuint glGetDebugMessageLogARB_Hook(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
nuclear@0 967
nuclear@0 968 // GL_ARB_ES2_compatibility
nuclear@0 969 void glReleaseShaderCompiler_Hook();
nuclear@0 970 void glShaderBinary_Hook(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length);
nuclear@0 971 void glGetShaderPrecisionFormat_Hook(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
nuclear@0 972 void glDepthRangef_Hook(GLclampf n, GLclampf f);
nuclear@0 973 void glClearDepthf_Hook(GLclampf d);
nuclear@0 974
nuclear@0 975 // GL_ARB_framebuffer_object
nuclear@0 976 GLboolean glIsRenderbuffer_Hook(GLuint renderbuffer);
nuclear@0 977 void glBindRenderbuffer_Hook(GLenum target, GLuint renderbuffer);
nuclear@0 978 void glDeleteRenderbuffers_Hook(GLsizei n, const GLuint *renderbuffers);
nuclear@0 979 void glGenRenderbuffers_Hook(GLsizei n, GLuint *renderbuffers);
nuclear@0 980 void glRenderbufferStorage_Hook(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
nuclear@0 981 void glGetRenderbufferParameteriv_Hook(GLenum target, GLenum pname, GLint *params);
nuclear@0 982 GLboolean glIsFramebuffer_Hook(GLuint framebuffer);
nuclear@0 983 void glBindFramebuffer_Hook(GLenum target, GLuint framebuffer);
nuclear@0 984 void glDeleteFramebuffers_Hook(GLsizei n, const GLuint *framebuffers);
nuclear@0 985 void glGenFramebuffers_Hook(GLsizei n, GLuint *framebuffers);
nuclear@0 986 GLenum glCheckFramebufferStatus_Hook(GLenum target);
nuclear@0 987 void glFramebufferTexture1D_Hook(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
nuclear@0 988 void glFramebufferTexture2D_Hook(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
nuclear@0 989 void glFramebufferTexture3D_Hook(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
nuclear@0 990 void glFramebufferRenderbuffer_Hook(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
nuclear@0 991 void glGetFramebufferAttachmentParameteriv_Hook(GLenum target, GLenum attachment, GLenum pname, GLint *params);
nuclear@0 992 void glGenerateMipmap_Hook(GLenum target);
nuclear@0 993 void glBlitFramebuffer_Hook(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
nuclear@0 994 void glRenderbufferStorageMultisample_Hook(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
nuclear@0 995 void glFramebufferTextureLayer_Hook(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
nuclear@0 996
nuclear@0 997 // GL_ARB_texture_multisample
nuclear@0 998 void glTexImage2DMultisample_Hook(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
nuclear@0 999 void glTexImage3DMultisample_Hook(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
nuclear@0 1000 void glGetMultisamplefv_Hook(GLenum pname, GLuint index, GLfloat *val);
nuclear@0 1001 void glSampleMaski_Hook(GLuint index, GLbitfield mask);
nuclear@0 1002
nuclear@0 1003 // GL_ARB_timer_query
nuclear@0 1004 void glQueryCounter_Hook(GLuint id, GLenum target);
nuclear@0 1005 void glGetQueryObjecti64v_Hook(GLuint id, GLenum pname, GLint64 *params);
nuclear@0 1006 void glGetQueryObjectui64v_Hook(GLuint id, GLenum pname, GLuint64 *params);
nuclear@0 1007
nuclear@0 1008 // GL_ARB_vertex_array_object
nuclear@0 1009 void glBindVertexArray_Hook(GLuint array);
nuclear@0 1010 void glDeleteVertexArrays_Hook(GLsizei n, const GLuint *arrays);
nuclear@0 1011 void glGenVertexArrays_Hook(GLsizei n, GLuint *arrays);
nuclear@0 1012 GLboolean glIsVertexArray_Hook(GLuint array);
nuclear@0 1013
nuclear@0 1014 // GL_EXT_draw_buffers2
nuclear@0 1015 void glColorMaskIndexedEXT_Hook(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
nuclear@0 1016 void glGetBooleanIndexedvEXT_Hook(GLenum target, GLuint index, GLboolean *data);
nuclear@0 1017 void glGetIntegerIndexedvEXT_Hook(GLenum target, GLuint index, GLint *data);
nuclear@0 1018 void glEnableIndexedEXT_Hook(GLenum target, GLuint index);
nuclear@0 1019 void glDisableIndexedEXT_Hook(GLenum target, GLuint index);
nuclear@0 1020 GLboolean glIsEnabledIndexedEXT_Hook(GLenum target, GLuint index);
nuclear@0 1021
nuclear@0 1022 // GL_KHR_debug
nuclear@0 1023 void glDebugMessageControl_Hook(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
nuclear@0 1024 void glDebugMessageInsert_Hook(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* buf);
nuclear@0 1025 void glDebugMessageCallback_Hook(GLDEBUGPROC callback, const void* userParam);
nuclear@0 1026 GLuint glGetDebugMessageLog_Hook(GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, char* messageLog);
nuclear@0 1027 void glPushDebugGroup_Hook(GLenum source, GLuint id, GLsizei length, const char * message);
nuclear@0 1028 void glPopDebugGroup_Hook(void);
nuclear@0 1029 void glObjectLabel_Hook(GLenum identifier, GLuint name, GLsizei length, const char *label);
nuclear@0 1030 void glGetObjectLabel_Hook(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, char *label);
nuclear@0 1031 void glObjectPtrLabel_Hook(void* ptr, GLsizei length, const char *label);
nuclear@0 1032 void glGetObjectPtrLabel_Hook(void* ptr, GLsizei bufSize, GLsizei *length, char *label);
nuclear@0 1033
nuclear@0 1034 // GL_WIN_swap_hint
nuclear@0 1035 void glAddSwapHintRectWIN_Hook(GLint x, GLint y, GLsizei width, GLsizei height);
nuclear@0 1036
nuclear@0 1037 #if defined(GLE_WGL_ENABLED)
nuclear@0 1038 void PostWGLHook(const char* functionName);
nuclear@0 1039
nuclear@0 1040 // WGL
nuclear@0 1041 /* Hooking of these is currently disabled.
nuclear@0 1042 BOOL wglCopyContext_Hook(HGLRC, HGLRC, UINT);
nuclear@0 1043 HGLRC wglCreateContext_Hook(HDC);
nuclear@0 1044 HGLRC wglCreateLayerContext_Hook(HDC, int);
nuclear@0 1045 BOOL wglDeleteContext_Hook(HGLRC);
nuclear@0 1046 HGLRC wglGetCurrentContext_Hook(VOID);
nuclear@0 1047 HDC wglGetCurrentDC_Hook(VOID);
nuclear@0 1048 PROC wglGetProcAddress_Hook(LPCSTR);
nuclear@0 1049 BOOL wglMakeCurrent_Hook(HDC, HGLRC);
nuclear@0 1050 BOOL wglShareLists_Hook(HGLRC, HGLRC);
nuclear@0 1051 BOOL wglUseFontBitmapsA_Hook(HDC, DWORD, DWORD, DWORD);
nuclear@0 1052 BOOL wglUseFontBitmapsW_Hook(HDC, DWORD, DWORD, DWORD);
nuclear@0 1053 BOOL wglUseFontOutlinesA_Hook(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT);
nuclear@0 1054 BOOL wglUseFontOutlinesW_Hook(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT);
nuclear@0 1055 BOOL wglDescribeLayerPlane_Hook(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR);
nuclear@0 1056 int wglSetLayerPaletteEntries_Hook(HDC, int, int, int, CONST COLORREF *);
nuclear@0 1057 int wglGetLayerPaletteEntries_Hook(HDC, int, int, int, COLORREF *);
nuclear@0 1058 BOOL wglRealizeLayerPalette_Hook(HDC, int, BOOL);
nuclear@0 1059 BOOL wglSwapLayerBuffers_Hook(HDC, UINT);
nuclear@0 1060 DWORD wglSwapMultipleBuffers_Hook(UINT, CONST WGLSWAP *);
nuclear@0 1061 */
nuclear@0 1062
nuclear@0 1063 // WGL_ARB_buffer_region
nuclear@0 1064 HANDLE wglCreateBufferRegionARB_Hook (HDC hDC, int iLayerPlane, UINT uType);
nuclear@0 1065 VOID wglDeleteBufferRegionARB_Hook (HANDLE hRegion);
nuclear@0 1066 BOOL wglSaveBufferRegionARB_Hook (HANDLE hRegion, int x, int y, int width, int height);
nuclear@0 1067 BOOL wglRestoreBufferRegionARB_Hook (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
nuclear@0 1068
nuclear@0 1069 // WGL_ARB_extensions_string
nuclear@0 1070 const char * wglGetExtensionsStringARB_Hook (HDC hdc);
nuclear@0 1071
nuclear@0 1072 // WGL_ARB_pixel_format
nuclear@0 1073 BOOL wglGetPixelFormatAttribivARB_Hook (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
nuclear@0 1074 BOOL wglGetPixelFormatAttribfvARB_Hook (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
nuclear@0 1075 BOOL wglChoosePixelFormatARB_Hook (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
nuclear@0 1076
nuclear@0 1077 // WGL_ARB_make_current_read
nuclear@0 1078 BOOL wglMakeContextCurrentARB_Hook (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
nuclear@0 1079 HDC wglGetCurrentReadDCARB_Hook (void);
nuclear@0 1080
nuclear@0 1081 // WGL_ARB_pbuffer
nuclear@0 1082 HPBUFFERARB wglCreatePbufferARB_Hook (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
nuclear@0 1083 HDC wglGetPbufferDCARB_Hook (HPBUFFERARB hPbuffer);
nuclear@0 1084 int wglReleasePbufferDCARB_Hook (HPBUFFERARB hPbuffer, HDC hDC);
nuclear@0 1085 BOOL wglDestroyPbufferARB_Hook (HPBUFFERARB hPbuffer);
nuclear@0 1086 BOOL wglQueryPbufferARB_Hook (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
nuclear@0 1087
nuclear@0 1088 // WGL_ARB_render_texture
nuclear@0 1089 BOOL wglBindTexImageARB_Hook (HPBUFFERARB hPbuffer, int iBuffer);
nuclear@0 1090 BOOL wglReleaseTexImageARB_Hook (HPBUFFERARB hPbuffer, int iBuffer);
nuclear@0 1091 BOOL wglSetPbufferAttribARB_Hook (HPBUFFERARB hPbuffer, const int *piAttribList);
nuclear@0 1092
nuclear@0 1093 // WGL_NV_present_video
nuclear@0 1094 int wglEnumerateVideoDevicesNV_Hook (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
nuclear@0 1095 BOOL wglBindVideoDeviceNV_Hook (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
nuclear@0 1096 BOOL wglQueryCurrentContextNV_Hook (int iAttribute, int *piValue);
nuclear@0 1097
nuclear@0 1098 // WGL_ARB_create_context
nuclear@0 1099 HGLRC wglCreateContextAttribsARB_Hook (HDC hDC, HGLRC hShareContext, const int *attribList);
nuclear@0 1100
nuclear@0 1101 // WGL_EXT_extensions_string
nuclear@0 1102 const char * wglGetExtensionsStringEXT_Hook ();
nuclear@0 1103
nuclear@0 1104 // WGL_EXT_swap_control
nuclear@0 1105 BOOL wglSwapIntervalEXT_Hook(int interval);
nuclear@0 1106 int wglGetSwapIntervalEXT_Hook();
nuclear@0 1107
nuclear@0 1108 // WGL_OML_sync_control
nuclear@0 1109 BOOL wglGetSyncValuesOML_Hook (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
nuclear@0 1110 BOOL wglGetMscRateOML_Hook (HDC hdc, INT32 *numerator, INT32 *denominator);
nuclear@0 1111 INT64 wglSwapBuffersMscOML_Hook (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
nuclear@0 1112 INT64 wglSwapLayerBuffersMscOML_Hook (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
nuclear@0 1113 BOOL wglWaitForMscOML_Hook (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
nuclear@0 1114 BOOL wglWaitForSbcOML_Hook (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
nuclear@0 1115
nuclear@0 1116 // WGL_NV_video_output
nuclear@0 1117 BOOL wglGetVideoDeviceNV_Hook (HDC hDC, int numDevices, HPVIDEODEV *hVideoDevice);
nuclear@0 1118 BOOL wglReleaseVideoDeviceNV_Hook (HPVIDEODEV hVideoDevice);
nuclear@0 1119 BOOL wglBindVideoImageNV_Hook (HPVIDEODEV hVideoDevice, HPBUFFERARB hPbuffer, int iVideoBuffer);
nuclear@0 1120 BOOL wglReleaseVideoImageNV_Hook (HPBUFFERARB hPbuffer, int iVideoBuffer);
nuclear@0 1121 BOOL wglSendPbufferToVideoNV_Hook (HPBUFFERARB hPbuffer, int iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock);
nuclear@0 1122 BOOL wglGetVideoInfoNV_Hook (HPVIDEODEV hpVideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
nuclear@0 1123
nuclear@0 1124 // WGL_NV_swap_group
nuclear@0 1125 BOOL wglJoinSwapGroupNV_Hook (HDC hDC, GLuint group);
nuclear@0 1126 BOOL wglBindSwapBarrierNV_Hook (GLuint group, GLuint barrier);
nuclear@0 1127 BOOL wglQuerySwapGroupNV_Hook (HDC hDC, GLuint *group, GLuint *barrier);
nuclear@0 1128 BOOL wglQueryMaxSwapGroupsNV_Hook (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers);
nuclear@0 1129 BOOL wglQueryFrameCountNV_Hook (HDC hDC, GLuint *count);
nuclear@0 1130 BOOL wglResetFrameCountNV_Hook (HDC hDC);
nuclear@0 1131
nuclear@0 1132 // WGL_NV_video_capture
nuclear@0 1133 BOOL wglBindVideoCaptureDeviceNV_Hook (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
nuclear@0 1134 UINT wglEnumerateVideoCaptureDevicesNV_Hook (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
nuclear@0 1135 BOOL wglLockVideoCaptureDeviceNV_Hook (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
nuclear@0 1136 BOOL wglQueryVideoCaptureDeviceNV_Hook (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
nuclear@0 1137 BOOL wglReleaseVideoCaptureDeviceNV_Hook (HDC hDc, HVIDEOINPUTDEVICENV hDevice);
nuclear@0 1138
nuclear@0 1139 // WGL_NV_copy_image
nuclear@0 1140 BOOL wglCopyImageSubDataNV_Hook (HGLRC hSrcRC, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, HGLRC hDstRC, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
nuclear@0 1141
nuclear@0 1142 // WGL_NV_DX_interop
nuclear@0 1143 BOOL wglDXSetResourceShareHandleNV_Hook(void *dxObject, HANDLE shareHandle);
nuclear@0 1144 HANDLE wglDXOpenDeviceNV_Hook(void *dxDevice);
nuclear@0 1145 BOOL wglDXCloseDeviceNV_Hook(HANDLE hDevice);
nuclear@0 1146 HANDLE wglDXRegisterObjectNV_Hook(HANDLE hDevice, void *dxObject, GLuint name, GLenum type, GLenum access);
nuclear@0 1147 BOOL wglDXUnregisterObjectNV_Hook(HANDLE hDevice, HANDLE hObject);
nuclear@0 1148 BOOL wglDXObjectAccessNV_Hook(HANDLE hObject, GLenum access);
nuclear@0 1149 BOOL wglDXLockObjectsNV_Hook(HANDLE hDevice, GLint count, HANDLE *hObjects);
nuclear@0 1150 BOOL wglDXUnlockObjectsNV_Hook(HANDLE hDevice, GLint count, HANDLE *hObjects);
nuclear@0 1151 #endif // GLE_WGL_ENABLED
nuclear@0 1152
nuclear@0 1153 #if defined(GLE_GLX_ENABLED)
nuclear@0 1154 void PostGLXHook(const char* functionName);
nuclear@0 1155
nuclear@0 1156 // GLX_VERSION_1_0
nuclear@0 1157 // GLX_VERSION_1_1
nuclear@0 1158 // We don't currently do hooking of these.
nuclear@0 1159
nuclear@0 1160 // GLX_VERSION_1_2
nuclear@0 1161 ::Display* glXGetCurrentDisplay_Hook(void);
nuclear@0 1162
nuclear@0 1163 // GLX_VERSION_1_3
nuclear@0 1164 GLXFBConfig* glXChooseFBConfig_Hook(::Display *dpy, int screen, const int *attrib_list, int *nelements);
nuclear@0 1165 GLXContext glXCreateNewContext_Hook(::Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
nuclear@0 1166 GLXPbuffer glXCreatePbuffer_Hook(::Display *dpy, GLXFBConfig config, const int *attrib_list);
nuclear@0 1167 GLXPixmap glXCreatePixmap_Hook(::Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
nuclear@0 1168 GLXWindow glXCreateWindow_Hook(::Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
nuclear@0 1169 void glXDestroyPbuffer_Hook(::Display *dpy, GLXPbuffer pbuf);
nuclear@0 1170 void glXDestroyPixmap_Hook(::Display *dpy, GLXPixmap pixmap);
nuclear@0 1171 void glXDestroyWindow_Hook(::Display *dpy, GLXWindow win);
nuclear@0 1172 GLXDrawable glXGetCurrentReadDrawable_Hook(void);
nuclear@0 1173 int glXGetFBConfigAttrib_Hook(::Display *dpy, GLXFBConfig config, int attribute, int *value);
nuclear@0 1174 GLXFBConfig* glXGetFBConfigs_Hook(::Display *dpy, int screen, int *nelements);
nuclear@0 1175 void glXGetSelectedEvent_Hook(::Display *dpy, GLXDrawable draw, unsigned long *event_mask);
nuclear@0 1176 XVisualInfo* glXGetVisualFromFBConfig_Hook(::Display *dpy, GLXFBConfig config);
nuclear@0 1177 Bool glXMakeContextCurrent_Hook(::Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
nuclear@0 1178 int glXQueryContext_Hook(::Display *dpy, GLXContext ctx, int attribute, int *value);
nuclear@0 1179 void glXQueryDrawable_Hook(::Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
nuclear@0 1180 void glXSelectEvent_Hook(::Display *dpy, GLXDrawable draw, unsigned long event_mask);
nuclear@0 1181
nuclear@0 1182 // GLX_VERSION_1_4
nuclear@0 1183 // We don't do hooking of this.
nuclear@0 1184
nuclear@0 1185 // GLX_ARB_create_context
nuclear@0 1186 GLXContext glXCreateContextAttribsARB_Hook(Display* dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
nuclear@0 1187
nuclear@0 1188 // GLX_EXT_swap_control
nuclear@0 1189 void glXSwapIntervalEXT_Hook(::Display* dpy, GLXDrawable drawable, int interval);
nuclear@0 1190
nuclear@0 1191 // GLX_OML_sync_control
nuclear@0 1192 Bool glXGetMscRateOML_Hook(::Display* dpy, GLXDrawable drawable, int32_t* numerator, int32_t* denominator);
nuclear@0 1193 Bool glXGetSyncValuesOML_Hook(::Display* dpy, GLXDrawable drawable, int64_t* ust, int64_t* msc, int64_t* sbc);
nuclear@0 1194 int64_t glXSwapBuffersMscOML_Hook(::Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
nuclear@0 1195 Bool glXWaitForMscOML_Hook(::Display* dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t* ust, int64_t* msc, int64_t* sbc);
nuclear@0 1196 Bool glXWaitForSbcOML_Hook(::Display* dpy, GLXDrawable drawable, int64_t target_sbc, int64_t* ust, int64_t* msc, int64_t* sbc);
nuclear@0 1197
nuclear@0 1198 // GLX_MESA_swap_control
nuclear@0 1199 int glXGetSwapIntervalMESA_Hook();
nuclear@0 1200 int glXSwapIntervalMESA_Hook(unsigned int interval);
nuclear@0 1201
nuclear@0 1202 #endif // GLE_GLX_ENABLED
nuclear@0 1203
nuclear@0 1204 #endif // #if defined(GLE_HOOKING_ENABLED)
nuclear@0 1205
nuclear@0 1206 // GL_VERSION_1_1
nuclear@0 1207 // These are not represented by function pointers.
nuclear@0 1208
nuclear@0 1209 // GL_VERSION_1_2
nuclear@0 1210 PFNGLCOPYTEXSUBIMAGE3DPROC glCopyTexSubImage3D_Impl;
nuclear@0 1211 PFNGLDRAWRANGEELEMENTSPROC glDrawRangeElements_Impl;
nuclear@0 1212 PFNGLTEXIMAGE3DPROC glTexImage3D_Impl;
nuclear@0 1213 PFNGLTEXSUBIMAGE3DPROC glTexSubImage3D_Impl;
nuclear@0 1214
nuclear@0 1215 // GL_VERSION_1_2 deprecated functions
nuclear@0 1216 /* Not currently supported
nuclear@0 1217 PFNGLCOLORTABLEPROC glColorTable_Impl;
nuclear@0 1218 PFNGLCOLORTABLEPARAMETERFVPROC glColorTableParameterfv_Impl;
nuclear@0 1219 PFNGLCOLORTABLEPARAMETERIVPROC glColorTableParameteriv_Impl;
nuclear@0 1220 PFNGLCOPYCOLORTABLEPROC glCopyColorTable_Impl;
nuclear@0 1221 PFNGLGETCOLORTABLEPROC glGetColorTable_Impl;
nuclear@0 1222 PFNGLGETCOLORTABLEPARAMETERFVPROC glGetColorTableParameterfv_Impl;
nuclear@0 1223 PFNGLGETCOLORTABLEPARAMETERIVPROC glGetColorTableParameteriv_Impl;
nuclear@0 1224 PFNGLCOLORSUBTABLEPROC glColorSubTable_Impl;
nuclear@0 1225 PFNGLCOPYCOLORSUBTABLEPROC glCopyColorSubTable_Impl;
nuclear@0 1226 PFNGLCONVOLUTIONFILTER1DPROC glConvolutionFilter1D_Impl;
nuclear@0 1227 PFNGLCONVOLUTIONFILTER2DPROC glConvolutionFilter2D_Impl;
nuclear@0 1228 PFNGLCONVOLUTIONPARAMETERFPROC glConvolutionParameterf_Impl;
nuclear@0 1229 PFNGLCONVOLUTIONPARAMETERFVPROC glConvolutionParameterfv_Impl;
nuclear@0 1230 PFNGLCONVOLUTIONPARAMETERIPROC glConvolutionParameteri_Impl;
nuclear@0 1231 PFNGLCONVOLUTIONPARAMETERIVPROC glConvolutionParameteriv_Impl;
nuclear@0 1232 PFNGLCOPYCONVOLUTIONFILTER1DPROC glCopyConvolutionFilter1D_Impl;
nuclear@0 1233 PFNGLCOPYCONVOLUTIONFILTER2DPROC glCopyConvolutionFilter2D_Impl;
nuclear@0 1234 PFNGLGETCONVOLUTIONFILTERPROC glGetConvolutionFilter_Impl;
nuclear@0 1235 PFNGLGETCONVOLUTIONPARAMETERFVPROC glGetConvolutionParameterfv_Impl;
nuclear@0 1236 PFNGLGETCONVOLUTIONPARAMETERIVPROC glGetConvolutionParameteriv_Impl;
nuclear@0 1237 PFNGLGETSEPARABLEFILTERPROC glGetSeparableFilter_Impl;
nuclear@0 1238 PFNGLSEPARABLEFILTER2DPROC glSeparableFilter2D_Impl;
nuclear@0 1239 PFNGLGETHISTOGRAMPROC glGetHistogram_Impl;
nuclear@0 1240 PFNGLGETHISTOGRAMPARAMETERFVPROC glGetHistogramParameterfv_Impl;
nuclear@0 1241 PFNGLGETHISTOGRAMPARAMETERIVPROC glGetHistogramParameteriv_Impl;
nuclear@0 1242 PFNGLGETMINMAXPROC glGetMinmax_Impl;
nuclear@0 1243 PFNGLGETMINMAXPARAMETERFVPROC glGetMinmaxParameterfv_Impl;
nuclear@0 1244 PFNGLGETMINMAXPARAMETERIVPROC glGetMinmaxParameteriv_Impl;
nuclear@0 1245 PFNGLHISTOGRAMPROC glHistogram_Impl;
nuclear@0 1246 PFNGLMINMAXPROC glMinmax_Impl;
nuclear@0 1247 PFNGLRESETHISTOGRAMPROC glResetHistogram_Impl;
nuclear@0 1248 PFNGLRESETMINMAXPROC glResetMinmax_Impl;
nuclear@0 1249 */
nuclear@0 1250
nuclear@0 1251 // GL_VERSION_1_3
nuclear@0 1252 PFNGLACTIVETEXTUREPROC glActiveTexture_Impl;
nuclear@0 1253 PFNGLCLIENTACTIVETEXTUREPROC glClientActiveTexture_Impl;
nuclear@0 1254 PFNGLCOMPRESSEDTEXIMAGE1DPROC glCompressedTexImage1D_Impl;
nuclear@0 1255 PFNGLCOMPRESSEDTEXIMAGE2DPROC glCompressedTexImage2D_Impl;
nuclear@0 1256 PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D_Impl;
nuclear@0 1257 PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glCompressedTexSubImage1D_Impl;
nuclear@0 1258 PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glCompressedTexSubImage2D_Impl;
nuclear@0 1259 PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glCompressedTexSubImage3D_Impl;
nuclear@0 1260 PFNGLGETCOMPRESSEDTEXIMAGEPROC glGetCompressedTexImage_Impl;
nuclear@0 1261 PFNGLLOADTRANSPOSEMATRIXDPROC glLoadTransposeMatrixd_Impl;
nuclear@0 1262 PFNGLLOADTRANSPOSEMATRIXFPROC glLoadTransposeMatrixf_Impl;
nuclear@0 1263 PFNGLMULTTRANSPOSEMATRIXDPROC glMultTransposeMatrixd_Impl;
nuclear@0 1264 PFNGLMULTTRANSPOSEMATRIXFPROC glMultTransposeMatrixf_Impl;
nuclear@0 1265 PFNGLMULTITEXCOORD1DPROC glMultiTexCoord1d_Impl;
nuclear@0 1266 PFNGLMULTITEXCOORD1DVPROC glMultiTexCoord1dv_Impl;
nuclear@0 1267 PFNGLMULTITEXCOORD1FPROC glMultiTexCoord1f_Impl;
nuclear@0 1268 PFNGLMULTITEXCOORD1FVPROC glMultiTexCoord1fv_Impl;
nuclear@0 1269 PFNGLMULTITEXCOORD1IPROC glMultiTexCoord1i_Impl;
nuclear@0 1270 PFNGLMULTITEXCOORD1IVPROC glMultiTexCoord1iv_Impl;
nuclear@0 1271 PFNGLMULTITEXCOORD1SPROC glMultiTexCoord1s_Impl;
nuclear@0 1272 PFNGLMULTITEXCOORD1SVPROC glMultiTexCoord1sv_Impl;
nuclear@0 1273 PFNGLMULTITEXCOORD2DPROC glMultiTexCoord2d_Impl;
nuclear@0 1274 PFNGLMULTITEXCOORD2DVPROC glMultiTexCoord2dv_Impl;
nuclear@0 1275 PFNGLMULTITEXCOORD2FPROC glMultiTexCoord2f_Impl;
nuclear@0 1276 PFNGLMULTITEXCOORD2FVPROC glMultiTexCoord2fv_Impl;
nuclear@0 1277 PFNGLMULTITEXCOORD2IPROC glMultiTexCoord2i_Impl;
nuclear@0 1278 PFNGLMULTITEXCOORD2IVPROC glMultiTexCoord2iv_Impl;
nuclear@0 1279 PFNGLMULTITEXCOORD2SPROC glMultiTexCoord2s_Impl;
nuclear@0 1280 PFNGLMULTITEXCOORD2SVPROC glMultiTexCoord2sv_Impl;
nuclear@0 1281 PFNGLMULTITEXCOORD3DPROC glMultiTexCoord3d_Impl;
nuclear@0 1282 PFNGLMULTITEXCOORD3DVPROC glMultiTexCoord3dv_Impl;
nuclear@0 1283 PFNGLMULTITEXCOORD3FPROC glMultiTexCoord3f_Impl;
nuclear@0 1284 PFNGLMULTITEXCOORD3FVPROC glMultiTexCoord3fv_Impl;
nuclear@0 1285 PFNGLMULTITEXCOORD3IPROC glMultiTexCoord3i_Impl;
nuclear@0 1286 PFNGLMULTITEXCOORD3IVPROC glMultiTexCoord3iv_Impl;
nuclear@0 1287 PFNGLMULTITEXCOORD3SPROC glMultiTexCoord3s_Impl;
nuclear@0 1288 PFNGLMULTITEXCOORD3SVPROC glMultiTexCoord3sv_Impl;
nuclear@0 1289 PFNGLMULTITEXCOORD4DPROC glMultiTexCoord4d_Impl;
nuclear@0 1290 PFNGLMULTITEXCOORD4DVPROC glMultiTexCoord4dv_Impl;
nuclear@0 1291 PFNGLMULTITEXCOORD4FPROC glMultiTexCoord4f_Impl;
nuclear@0 1292 PFNGLMULTITEXCOORD4FVPROC glMultiTexCoord4fv_Impl;
nuclear@0 1293 PFNGLMULTITEXCOORD4IPROC glMultiTexCoord4i_Impl;
nuclear@0 1294 PFNGLMULTITEXCOORD4IVPROC glMultiTexCoord4iv_Impl;
nuclear@0 1295 PFNGLMULTITEXCOORD4SPROC glMultiTexCoord4s_Impl;
nuclear@0 1296 PFNGLMULTITEXCOORD4SVPROC glMultiTexCoord4sv_Impl;
nuclear@0 1297 PFNGLSAMPLECOVERAGEPROC glSampleCoverage_Impl;
nuclear@0 1298
nuclear@0 1299 // GL_VERSION_1_4
nuclear@0 1300 PFNGLBLENDCOLORPROC glBlendColor_Impl;
nuclear@0 1301 PFNGLBLENDEQUATIONPROC glBlendEquation_Impl;
nuclear@0 1302 PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate_Impl;
nuclear@0 1303 PFNGLFOGCOORDPOINTERPROC glFogCoordPointer_Impl;
nuclear@0 1304 PFNGLFOGCOORDDPROC glFogCoordd_Impl;
nuclear@0 1305 PFNGLFOGCOORDDVPROC glFogCoorddv_Impl;
nuclear@0 1306 PFNGLFOGCOORDFPROC glFogCoordf_Impl;
nuclear@0 1307 PFNGLFOGCOORDFVPROC glFogCoordfv_Impl;
nuclear@0 1308 PFNGLMULTIDRAWARRAYSPROC glMultiDrawArrays_Impl;
nuclear@0 1309 PFNGLMULTIDRAWELEMENTSPROC glMultiDrawElements_Impl;
nuclear@0 1310 PFNGLPOINTPARAMETERFPROC glPointParameterf_Impl;
nuclear@0 1311 PFNGLPOINTPARAMETERFVPROC glPointParameterfv_Impl;
nuclear@0 1312 PFNGLPOINTPARAMETERIPROC glPointParameteri_Impl;
nuclear@0 1313 PFNGLPOINTPARAMETERIVPROC glPointParameteriv_Impl;
nuclear@0 1314 PFNGLSECONDARYCOLOR3BPROC glSecondaryColor3b_Impl;
nuclear@0 1315 PFNGLSECONDARYCOLOR3BVPROC glSecondaryColor3bv_Impl;
nuclear@0 1316 PFNGLSECONDARYCOLOR3DPROC glSecondaryColor3d_Impl;
nuclear@0 1317 PFNGLSECONDARYCOLOR3DVPROC glSecondaryColor3dv_Impl;
nuclear@0 1318 PFNGLSECONDARYCOLOR3FPROC glSecondaryColor3f_Impl;
nuclear@0 1319 PFNGLSECONDARYCOLOR3FVPROC glSecondaryColor3fv_Impl;
nuclear@0 1320 PFNGLSECONDARYCOLOR3IPROC glSecondaryColor3i_Impl;
nuclear@0 1321 PFNGLSECONDARYCOLOR3IVPROC glSecondaryColor3iv_Impl;
nuclear@0 1322 PFNGLSECONDARYCOLOR3SPROC glSecondaryColor3s_Impl;
nuclear@0 1323 PFNGLSECONDARYCOLOR3SVPROC glSecondaryColor3sv_Impl;
nuclear@0 1324 PFNGLSECONDARYCOLOR3UBPROC glSecondaryColor3ub_Impl;
nuclear@0 1325 PFNGLSECONDARYCOLOR3UBVPROC glSecondaryColor3ubv_Impl;
nuclear@0 1326 PFNGLSECONDARYCOLOR3UIPROC glSecondaryColor3ui_Impl;
nuclear@0 1327 PFNGLSECONDARYCOLOR3UIVPROC glSecondaryColor3uiv_Impl;
nuclear@0 1328 PFNGLSECONDARYCOLOR3USPROC glSecondaryColor3us_Impl;
nuclear@0 1329 PFNGLSECONDARYCOLOR3USVPROC glSecondaryColor3usv_Impl;
nuclear@0 1330 PFNGLSECONDARYCOLORPOINTERPROC glSecondaryColorPointer_Impl;
nuclear@0 1331 PFNGLWINDOWPOS2DPROC glWindowPos2d_Impl;
nuclear@0 1332 PFNGLWINDOWPOS2DVPROC glWindowPos2dv_Impl;
nuclear@0 1333 PFNGLWINDOWPOS2FPROC glWindowPos2f_Impl;
nuclear@0 1334 PFNGLWINDOWPOS2FVPROC glWindowPos2fv_Impl;
nuclear@0 1335 PFNGLWINDOWPOS2IPROC glWindowPos2i_Impl;
nuclear@0 1336 PFNGLWINDOWPOS2IVPROC glWindowPos2iv_Impl;
nuclear@0 1337 PFNGLWINDOWPOS2SPROC glWindowPos2s_Impl;
nuclear@0 1338 PFNGLWINDOWPOS2SVPROC glWindowPos2sv_Impl;
nuclear@0 1339 PFNGLWINDOWPOS3DPROC glWindowPos3d_Impl;
nuclear@0 1340 PFNGLWINDOWPOS3DVPROC glWindowPos3dv_Impl;
nuclear@0 1341 PFNGLWINDOWPOS3FPROC glWindowPos3f_Impl;
nuclear@0 1342 PFNGLWINDOWPOS3FVPROC glWindowPos3fv_Impl;
nuclear@0 1343 PFNGLWINDOWPOS3IPROC glWindowPos3i_Impl;
nuclear@0 1344 PFNGLWINDOWPOS3IVPROC glWindowPos3iv_Impl;
nuclear@0 1345 PFNGLWINDOWPOS3SPROC glWindowPos3s_Impl;
nuclear@0 1346 PFNGLWINDOWPOS3SVPROC glWindowPos3sv_Impl;
nuclear@0 1347
nuclear@0 1348 // GL_VERSION_1_5
nuclear@0 1349 PFNGLBEGINQUERYPROC glBeginQuery_Impl;
nuclear@0 1350 PFNGLBINDBUFFERPROC glBindBuffer_Impl;
nuclear@0 1351 PFNGLBUFFERDATAPROC glBufferData_Impl;
nuclear@0 1352 PFNGLBUFFERSUBDATAPROC glBufferSubData_Impl;
nuclear@0 1353 PFNGLDELETEBUFFERSPROC glDeleteBuffers_Impl;
nuclear@0 1354 PFNGLDELETEQUERIESPROC glDeleteQueries_Impl;
nuclear@0 1355 PFNGLENDQUERYPROC glEndQuery_Impl;
nuclear@0 1356 PFNGLGENBUFFERSPROC glGenBuffers_Impl;
nuclear@0 1357 PFNGLGENQUERIESPROC glGenQueries_Impl;
nuclear@0 1358 PFNGLGETBUFFERPARAMETERIVPROC glGetBufferParameteriv_Impl;
nuclear@0 1359 PFNGLGETBUFFERPOINTERVPROC glGetBufferPointerv_Impl;
nuclear@0 1360 PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData_Impl;
nuclear@0 1361 PFNGLGETQUERYOBJECTIVPROC glGetQueryObjectiv_Impl;
nuclear@0 1362 PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv_Impl;
nuclear@0 1363 PFNGLGETQUERYIVPROC glGetQueryiv_Impl;
nuclear@0 1364 PFNGLISBUFFERPROC glIsBuffer_Impl;
nuclear@0 1365 PFNGLISQUERYPROC glIsQuery_Impl;
nuclear@0 1366 PFNGLMAPBUFFERPROC glMapBuffer_Impl;
nuclear@0 1367 PFNGLUNMAPBUFFERPROC glUnmapBuffer_Impl;
nuclear@0 1368
nuclear@0 1369 // GL_VERSION_2_0
nuclear@0 1370 PFNGLATTACHSHADERPROC glAttachShader_Impl;
nuclear@0 1371 PFNGLBINDATTRIBLOCATIONPROC glBindAttribLocation_Impl;
nuclear@0 1372 PFNGLBLENDEQUATIONSEPARATEPROC glBlendEquationSeparate_Impl;
nuclear@0 1373 PFNGLCOMPILESHADERPROC glCompileShader_Impl;
nuclear@0 1374 PFNGLCREATEPROGRAMPROC glCreateProgram_Impl;
nuclear@0 1375 PFNGLCREATESHADERPROC glCreateShader_Impl;
nuclear@0 1376 PFNGLDELETEPROGRAMPROC glDeleteProgram_Impl;
nuclear@0 1377 PFNGLDELETESHADERPROC glDeleteShader_Impl;
nuclear@0 1378 PFNGLDETACHSHADERPROC glDetachShader_Impl;
nuclear@0 1379 PFNGLDISABLEVERTEXATTRIBARRAYPROC glDisableVertexAttribArray_Impl;
nuclear@0 1380 PFNGLDRAWBUFFERSPROC glDrawBuffers_Impl;
nuclear@0 1381 PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray_Impl;
nuclear@0 1382 PFNGLGETACTIVEATTRIBPROC glGetActiveAttrib_Impl;
nuclear@0 1383 PFNGLGETACTIVEUNIFORMPROC glGetActiveUniform_Impl;
nuclear@0 1384 PFNGLGETATTACHEDSHADERSPROC glGetAttachedShaders_Impl;
nuclear@0 1385 PFNGLGETATTRIBLOCATIONPROC glGetAttribLocation_Impl;
nuclear@0 1386 PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog_Impl;
nuclear@0 1387 PFNGLGETPROGRAMIVPROC glGetProgramiv_Impl;
nuclear@0 1388 PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog_Impl;
nuclear@0 1389 PFNGLGETSHADERSOURCEPROC glGetShaderSource_Impl;
nuclear@0 1390 PFNGLGETSHADERIVPROC glGetShaderiv_Impl;
nuclear@0 1391 PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation_Impl;
nuclear@0 1392 PFNGLGETUNIFORMFVPROC glGetUniformfv_Impl;
nuclear@0 1393 PFNGLGETUNIFORMIVPROC glGetUniformiv_Impl;
nuclear@0 1394 PFNGLGETVERTEXATTRIBPOINTERVPROC glGetVertexAttribPointerv_Impl;
nuclear@0 1395 PFNGLGETVERTEXATTRIBDVPROC glGetVertexAttribdv_Impl;
nuclear@0 1396 PFNGLGETVERTEXATTRIBFVPROC glGetVertexAttribfv_Impl;
nuclear@0 1397 PFNGLGETVERTEXATTRIBIVPROC glGetVertexAttribiv_Impl;
nuclear@0 1398 PFNGLISPROGRAMPROC glIsProgram_Impl;
nuclear@0 1399 PFNGLISSHADERPROC glIsShader_Impl;
nuclear@0 1400 PFNGLLINKPROGRAMPROC glLinkProgram_Impl;
nuclear@0 1401 PFNGLSHADERSOURCEPROC glShaderSource_Impl;
nuclear@0 1402 PFNGLSTENCILFUNCSEPARATEPROC glStencilFuncSeparate_Impl;
nuclear@0 1403 PFNGLSTENCILMASKSEPARATEPROC glStencilMaskSeparate_Impl;
nuclear@0 1404 PFNGLSTENCILOPSEPARATEPROC glStencilOpSeparate_Impl;
nuclear@0 1405 PFNGLUNIFORM1FPROC glUniform1f_Impl;
nuclear@0 1406 PFNGLUNIFORM1FVPROC glUniform1fv_Impl;
nuclear@0 1407 PFNGLUNIFORM1IPROC glUniform1i_Impl;
nuclear@0 1408 PFNGLUNIFORM1IVPROC glUniform1iv_Impl;
nuclear@0 1409 PFNGLUNIFORM2FPROC glUniform2f_Impl;
nuclear@0 1410 PFNGLUNIFORM2FVPROC glUniform2fv_Impl;
nuclear@0 1411 PFNGLUNIFORM2IPROC glUniform2i_Impl;
nuclear@0 1412 PFNGLUNIFORM2IVPROC glUniform2iv_Impl;
nuclear@0 1413 PFNGLUNIFORM3FPROC glUniform3f_Impl;
nuclear@0 1414 PFNGLUNIFORM3FVPROC glUniform3fv_Impl;
nuclear@0 1415 PFNGLUNIFORM3IPROC glUniform3i_Impl;
nuclear@0 1416 PFNGLUNIFORM3IVPROC glUniform3iv_Impl;
nuclear@0 1417 PFNGLUNIFORM4FPROC glUniform4f_Impl;
nuclear@0 1418 PFNGLUNIFORM4FVPROC glUniform4fv_Impl;
nuclear@0 1419 PFNGLUNIFORM4IPROC glUniform4i_Impl;
nuclear@0 1420 PFNGLUNIFORM4IVPROC glUniform4iv_Impl;
nuclear@0 1421 PFNGLUNIFORMMATRIX2FVPROC glUniformMatrix2fv_Impl;
nuclear@0 1422 PFNGLUNIFORMMATRIX3FVPROC glUniformMatrix3fv_Impl;
nuclear@0 1423 PFNGLUNIFORMMATRIX4FVPROC glUniformMatrix4fv_Impl;
nuclear@0 1424 PFNGLUSEPROGRAMPROC glUseProgram_Impl;
nuclear@0 1425 PFNGLVALIDATEPROGRAMPROC glValidateProgram_Impl;
nuclear@0 1426 PFNGLVERTEXATTRIB1DPROC glVertexAttrib1d_Impl;
nuclear@0 1427 PFNGLVERTEXATTRIB1DVPROC glVertexAttrib1dv_Impl;
nuclear@0 1428 PFNGLVERTEXATTRIB1FPROC glVertexAttrib1f_Impl;
nuclear@0 1429 PFNGLVERTEXATTRIB1FVPROC glVertexAttrib1fv_Impl;
nuclear@0 1430 PFNGLVERTEXATTRIB1SPROC glVertexAttrib1s_Impl;
nuclear@0 1431 PFNGLVERTEXATTRIB1SVPROC glVertexAttrib1sv_Impl;
nuclear@0 1432 PFNGLVERTEXATTRIB2DPROC glVertexAttrib2d_Impl;
nuclear@0 1433 PFNGLVERTEXATTRIB2DVPROC glVertexAttrib2dv_Impl;
nuclear@0 1434 PFNGLVERTEXATTRIB2FPROC glVertexAttrib2f_Impl;
nuclear@0 1435 PFNGLVERTEXATTRIB2FVPROC glVertexAttrib2fv_Impl;
nuclear@0 1436 PFNGLVERTEXATTRIB2SPROC glVertexAttrib2s_Impl;
nuclear@0 1437 PFNGLVERTEXATTRIB2SVPROC glVertexAttrib2sv_Impl;
nuclear@0 1438 PFNGLVERTEXATTRIB3DPROC glVertexAttrib3d_Impl;
nuclear@0 1439 PFNGLVERTEXATTRIB3DVPROC glVertexAttrib3dv_Impl;
nuclear@0 1440 PFNGLVERTEXATTRIB3FPROC glVertexAttrib3f_Impl;
nuclear@0 1441 PFNGLVERTEXATTRIB3FVPROC glVertexAttrib3fv_Impl;
nuclear@0 1442 PFNGLVERTEXATTRIB3SPROC glVertexAttrib3s_Impl;
nuclear@0 1443 PFNGLVERTEXATTRIB3SVPROC glVertexAttrib3sv_Impl;
nuclear@0 1444 PFNGLVERTEXATTRIB4NBVPROC glVertexAttrib4Nbv_Impl;
nuclear@0 1445 PFNGLVERTEXATTRIB4NIVPROC glVertexAttrib4Niv_Impl;
nuclear@0 1446 PFNGLVERTEXATTRIB4NSVPROC glVertexAttrib4Nsv_Impl;
nuclear@0 1447 PFNGLVERTEXATTRIB4NUBPROC glVertexAttrib4Nub_Impl;
nuclear@0 1448 PFNGLVERTEXATTRIB4NUBVPROC glVertexAttrib4Nubv_Impl;
nuclear@0 1449 PFNGLVERTEXATTRIB4NUIVPROC glVertexAttrib4Nuiv_Impl;
nuclear@0 1450 PFNGLVERTEXATTRIB4NUSVPROC glVertexAttrib4Nusv_Impl;
nuclear@0 1451 PFNGLVERTEXATTRIB4BVPROC glVertexAttrib4bv_Impl;
nuclear@0 1452 PFNGLVERTEXATTRIB4DPROC glVertexAttrib4d_Impl;
nuclear@0 1453 PFNGLVERTEXATTRIB4DVPROC glVertexAttrib4dv_Impl;
nuclear@0 1454 PFNGLVERTEXATTRIB4FPROC glVertexAttrib4f_Impl;
nuclear@0 1455 PFNGLVERTEXATTRIB4FVPROC glVertexAttrib4fv_Impl;
nuclear@0 1456 PFNGLVERTEXATTRIB4IVPROC glVertexAttrib4iv_Impl;
nuclear@0 1457 PFNGLVERTEXATTRIB4SPROC glVertexAttrib4s_Impl;
nuclear@0 1458 PFNGLVERTEXATTRIB4SVPROC glVertexAttrib4sv_Impl;
nuclear@0 1459 PFNGLVERTEXATTRIB4UBVPROC glVertexAttrib4ubv_Impl;
nuclear@0 1460 PFNGLVERTEXATTRIB4UIVPROC glVertexAttrib4uiv_Impl;
nuclear@0 1461 PFNGLVERTEXATTRIB4USVPROC glVertexAttrib4usv_Impl;
nuclear@0 1462 PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer_Impl;
nuclear@0 1463
nuclear@0 1464 // GL_VERSION_2_1
nuclear@0 1465 PFNGLUNIFORMMATRIX2X3FVPROC glUniformMatrix2x3fv_Impl;
nuclear@0 1466 PFNGLUNIFORMMATRIX2X4FVPROC glUniformMatrix2x4fv_Impl;
nuclear@0 1467 PFNGLUNIFORMMATRIX3X2FVPROC glUniformMatrix3x2fv_Impl;
nuclear@0 1468 PFNGLUNIFORMMATRIX3X4FVPROC glUniformMatrix3x4fv_Impl;
nuclear@0 1469 PFNGLUNIFORMMATRIX4X2FVPROC glUniformMatrix4x2fv_Impl;
nuclear@0 1470 PFNGLUNIFORMMATRIX4X3FVPROC glUniformMatrix4x3fv_Impl;
nuclear@0 1471
nuclear@0 1472 // GL_VERSION_3_0
nuclear@0 1473 PFNGLBEGINCONDITIONALRENDERPROC glBeginConditionalRender_Impl;
nuclear@0 1474 PFNGLBEGINTRANSFORMFEEDBACKPROC glBeginTransformFeedback_Impl;
nuclear@0 1475 PFNGLBINDFRAGDATALOCATIONPROC glBindFragDataLocation_Impl;
nuclear@0 1476 PFNGLCLAMPCOLORPROC glClampColor_Impl;
nuclear@0 1477 PFNGLCLEARBUFFERFIPROC glClearBufferfi_Impl;
nuclear@0 1478 PFNGLCLEARBUFFERFVPROC glClearBufferfv_Impl;
nuclear@0 1479 PFNGLCLEARBUFFERIVPROC glClearBufferiv_Impl;
nuclear@0 1480 PFNGLCLEARBUFFERUIVPROC glClearBufferuiv_Impl;
nuclear@0 1481 PFNGLCOLORMASKIPROC glColorMaski_Impl;
nuclear@0 1482 PFNGLDISABLEIPROC glDisablei_Impl;
nuclear@0 1483 PFNGLENABLEIPROC glEnablei_Impl;
nuclear@0 1484 PFNGLENDCONDITIONALRENDERPROC glEndConditionalRender_Impl;
nuclear@0 1485 PFNGLENDTRANSFORMFEEDBACKPROC glEndTransformFeedback_Impl;
nuclear@0 1486 PFNGLBINDBUFFERRANGEPROC glBindBufferRange_Impl;
nuclear@0 1487 PFNGLBINDBUFFERBASEPROC glBindBufferBase_Impl;
nuclear@0 1488 PFNGLGETBOOLEANI_VPROC glGetBooleani_v_Impl;
nuclear@0 1489 PFNGLGETINTEGERI_VPROC glGetIntegeri_v_Impl;
nuclear@0 1490 PFNGLGETFRAGDATALOCATIONPROC glGetFragDataLocation_Impl;
nuclear@0 1491 PFNGLGETSTRINGIPROC glGetStringi_Impl;
nuclear@0 1492 PFNGLGETTEXPARAMETERIIVPROC glGetTexParameterIiv_Impl;
nuclear@0 1493 PFNGLGETTEXPARAMETERIUIVPROC glGetTexParameterIuiv_Impl;
nuclear@0 1494 PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glGetTransformFeedbackVarying_Impl;
nuclear@0 1495 PFNGLGETUNIFORMUIVPROC glGetUniformuiv_Impl;
nuclear@0 1496 PFNGLGETVERTEXATTRIBIIVPROC glGetVertexAttribIiv_Impl;
nuclear@0 1497 PFNGLGETVERTEXATTRIBIUIVPROC glGetVertexAttribIuiv_Impl;
nuclear@0 1498 PFNGLISENABLEDIPROC glIsEnabledi_Impl;
nuclear@0 1499 PFNGLTEXPARAMETERIIVPROC glTexParameterIiv_Impl;
nuclear@0 1500 PFNGLTEXPARAMETERIUIVPROC glTexParameterIuiv_Impl;
nuclear@0 1501 PFNGLTRANSFORMFEEDBACKVARYINGSPROC glTransformFeedbackVaryings_Impl;
nuclear@0 1502 PFNGLUNIFORM1UIPROC glUniform1ui_Impl;
nuclear@0 1503 PFNGLUNIFORM1UIVPROC glUniform1uiv_Impl;
nuclear@0 1504 PFNGLUNIFORM2UIPROC glUniform2ui_Impl;
nuclear@0 1505 PFNGLUNIFORM2UIVPROC glUniform2uiv_Impl;
nuclear@0 1506 PFNGLUNIFORM3UIPROC glUniform3ui_Impl;
nuclear@0 1507 PFNGLUNIFORM3UIVPROC glUniform3uiv_Impl;
nuclear@0 1508 PFNGLUNIFORM4UIPROC glUniform4ui_Impl;
nuclear@0 1509 PFNGLUNIFORM4UIVPROC glUniform4uiv_Impl;
nuclear@0 1510 PFNGLVERTEXATTRIBI1IPROC glVertexAttribI1i_Impl;
nuclear@0 1511 PFNGLVERTEXATTRIBI1IVPROC glVertexAttribI1iv_Impl;
nuclear@0 1512 PFNGLVERTEXATTRIBI1UIPROC glVertexAttribI1ui_Impl;
nuclear@0 1513 PFNGLVERTEXATTRIBI1UIVPROC glVertexAttribI1uiv_Impl;
nuclear@0 1514 PFNGLVERTEXATTRIBI2IPROC glVertexAttribI2i_Impl;
nuclear@0 1515 PFNGLVERTEXATTRIBI2IVPROC glVertexAttribI2iv_Impl;
nuclear@0 1516 PFNGLVERTEXATTRIBI2UIPROC glVertexAttribI2ui_Impl;
nuclear@0 1517 PFNGLVERTEXATTRIBI2UIVPROC glVertexAttribI2uiv_Impl;
nuclear@0 1518 PFNGLVERTEXATTRIBI3IPROC glVertexAttribI3i_Impl;
nuclear@0 1519 PFNGLVERTEXATTRIBI3IVPROC glVertexAttribI3iv_Impl;
nuclear@0 1520 PFNGLVERTEXATTRIBI3UIPROC glVertexAttribI3ui_Impl;
nuclear@0 1521 PFNGLVERTEXATTRIBI3UIVPROC glVertexAttribI3uiv_Impl;
nuclear@0 1522 PFNGLVERTEXATTRIBI4BVPROC glVertexAttribI4bv_Impl;
nuclear@0 1523 PFNGLVERTEXATTRIBI4IPROC glVertexAttribI4i_Impl;
nuclear@0 1524 PFNGLVERTEXATTRIBI4IVPROC glVertexAttribI4iv_Impl;
nuclear@0 1525 PFNGLVERTEXATTRIBI4SVPROC glVertexAttribI4sv_Impl;
nuclear@0 1526 PFNGLVERTEXATTRIBI4UBVPROC glVertexAttribI4ubv_Impl;
nuclear@0 1527 PFNGLVERTEXATTRIBI4UIPROC glVertexAttribI4ui_Impl;
nuclear@0 1528 PFNGLVERTEXATTRIBI4UIVPROC glVertexAttribI4uiv_Impl;
nuclear@0 1529 PFNGLVERTEXATTRIBI4USVPROC glVertexAttribI4usv_Impl;
nuclear@0 1530 PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer_Impl;
nuclear@0 1531
nuclear@0 1532 // GL_VERSION_3_1
nuclear@0 1533 PFNGLDRAWARRAYSINSTANCEDPROC glDrawArraysInstanced_Impl;
nuclear@0 1534 PFNGLDRAWELEMENTSINSTANCEDPROC glDrawElementsInstanced_Impl;
nuclear@0 1535 PFNGLPRIMITIVERESTARTINDEXPROC glPrimitiveRestartIndex_Impl;
nuclear@0 1536 PFNGLTEXBUFFERPROC glTexBuffer_Impl;
nuclear@0 1537
nuclear@0 1538 // GL_VERSION_3_2
nuclear@0 1539 PFNGLFRAMEBUFFERTEXTUREPROC glFramebufferTexture_Impl;
nuclear@0 1540 PFNGLGETBUFFERPARAMETERI64VPROC glGetBufferParameteri64v_Impl;
nuclear@0 1541 PFNGLGETINTEGER64I_VPROC glGetInteger64i_v_Impl;
nuclear@0 1542
nuclear@0 1543 // GL_VERSION_3_3
nuclear@0 1544 PFNGLVERTEXATTRIBDIVISORPROC glVertexAttribDivisor_Impl;
nuclear@0 1545
nuclear@0 1546 // GL_VERSION_4_0
nuclear@0 1547 PFNGLBLENDEQUATIONSEPARATEIPROC glBlendEquationSeparatei_Impl;
nuclear@0 1548 PFNGLBLENDEQUATIONIPROC glBlendEquationi_Impl;
nuclear@0 1549 PFNGLBLENDFUNCSEPARATEIPROC glBlendFuncSeparatei_Impl;
nuclear@0 1550 PFNGLBLENDFUNCIPROC glBlendFunci_Impl;
nuclear@0 1551 PFNGLMINSAMPLESHADINGPROC glMinSampleShading_Impl;
nuclear@0 1552
nuclear@0 1553 // GL_AMD_debug_output
nuclear@0 1554 PFNGLDEBUGMESSAGECALLBACKAMDPROC glDebugMessageCallbackAMD_Impl;
nuclear@0 1555 PFNGLDEBUGMESSAGEENABLEAMDPROC glDebugMessageEnableAMD_Impl;
nuclear@0 1556 PFNGLDEBUGMESSAGEINSERTAMDPROC glDebugMessageInsertAMD_Impl;
nuclear@0 1557 PFNGLGETDEBUGMESSAGELOGAMDPROC glGetDebugMessageLogAMD_Impl;
nuclear@0 1558
nuclear@0 1559 #if defined(GLE_CGL_ENABLED)
nuclear@0 1560 // GL_APPLE_aux_depth_stencil
nuclear@0 1561 // (no functions)
nuclear@0 1562
nuclear@0 1563 // GL_APPLE_client_storage
nuclear@0 1564 // (no functions)
nuclear@0 1565
nuclear@0 1566 // GL_APPLE_element_array
nuclear@0 1567 PFNGLDRAWELEMENTARRAYAPPLEPROC glDrawElementArrayAPPLE_Impl;
nuclear@0 1568 PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC glDrawRangeElementArrayAPPLE_Impl;
nuclear@0 1569 PFNGLELEMENTPOINTERAPPLEPROC glElementPointerAPPLE_Impl;
nuclear@0 1570 PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC glMultiDrawElementArrayAPPLE_Impl;
nuclear@0 1571 PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC glMultiDrawRangeElementArrayAPPLE_Impl;
nuclear@0 1572
nuclear@0 1573 // GL_APPLE_fence
nuclear@0 1574 PFNGLDELETEFENCESAPPLEPROC glDeleteFencesAPPLE_Impl;
nuclear@0 1575 PFNGLFINISHFENCEAPPLEPROC glFinishFenceAPPLE_Impl;
nuclear@0 1576 PFNGLFINISHOBJECTAPPLEPROC glFinishObjectAPPLE_Impl;
nuclear@0 1577 PFNGLGENFENCESAPPLEPROC glGenFencesAPPLE_Impl;
nuclear@0 1578 PFNGLISFENCEAPPLEPROC glIsFenceAPPLE_Impl;
nuclear@0 1579 PFNGLSETFENCEAPPLEPROC glSetFenceAPPLE_Impl;
nuclear@0 1580 PFNGLTESTFENCEAPPLEPROC glTestFenceAPPLE_Impl;
nuclear@0 1581 PFNGLTESTOBJECTAPPLEPROC glTestObjectAPPLE_Impl;
nuclear@0 1582
nuclear@0 1583 // GL_APPLE_float_pixels
nuclear@0 1584 // (no functions)
nuclear@0 1585
nuclear@0 1586 // GL_APPLE_flush_buffer_range
nuclear@0 1587 PFNGLBUFFERPARAMETERIAPPLEPROC glBufferParameteriAPPLE_Impl;
nuclear@0 1588 PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC glFlushMappedBufferRangeAPPLE_Impl;
nuclear@0 1589
nuclear@0 1590 // GL_APPLE_object_purgeable
nuclear@0 1591 PFNGLGETOBJECTPARAMETERIVAPPLEPROC glGetObjectParameterivAPPLE_Impl;
nuclear@0 1592 PFNGLOBJECTPURGEABLEAPPLEPROC glObjectPurgeableAPPLE_Impl;
nuclear@0 1593 PFNGLOBJECTUNPURGEABLEAPPLEPROC glObjectUnpurgeableAPPLE_Impl;
nuclear@0 1594
nuclear@0 1595 // GL_APPLE_pixel_buffer
nuclear@0 1596 // (no functions)
nuclear@0 1597
nuclear@0 1598 // GL_APPLE_rgb_422
nuclear@0 1599 // (no functions)
nuclear@0 1600
nuclear@0 1601 // GL_APPLE_row_bytes
nuclear@0 1602 // (no functions)
nuclear@0 1603
nuclear@0 1604 // GL_APPLE_specular_vector
nuclear@0 1605 // (no functions)
nuclear@0 1606
nuclear@0 1607 // GL_APPLE_texture_range
nuclear@0 1608 PFNGLGETTEXPARAMETERPOINTERVAPPLEPROC glGetTexParameterPointervAPPLE_Impl;
nuclear@0 1609 PFNGLTEXTURERANGEAPPLEPROC glTextureRangeAPPLE_Impl;
nuclear@0 1610
nuclear@0 1611 // GL_APPLE_transform_hint
nuclear@0 1612 // (no functions)
nuclear@0 1613
nuclear@0 1614 // GL_APPLE_vertex_array_object
nuclear@0 1615 PFNGLBINDVERTEXARRAYAPPLEPROC glBindVertexArrayAPPLE_Impl;
nuclear@0 1616 PFNGLDELETEVERTEXARRAYSAPPLEPROC glDeleteVertexArraysAPPLE_Impl;
nuclear@0 1617 PFNGLGENVERTEXARRAYSAPPLEPROC glGenVertexArraysAPPLE_Impl;
nuclear@0 1618 PFNGLISVERTEXARRAYAPPLEPROC glIsVertexArrayAPPLE_Impl;
nuclear@0 1619
nuclear@0 1620 // GL_APPLE_vertex_array_range
nuclear@0 1621 PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC glFlushVertexArrayRangeAPPLE_Impl;
nuclear@0 1622 PFNGLVERTEXARRAYPARAMETERIAPPLEPROC glVertexArrayParameteriAPPLE_Impl;
nuclear@0 1623 PFNGLVERTEXARRAYRANGEAPPLEPROC glVertexArrayRangeAPPLE_Impl;
nuclear@0 1624
nuclear@0 1625 // GL_APPLE_vertex_program_evaluators
nuclear@0 1626 PFNGLDISABLEVERTEXATTRIBAPPLEPROC glDisableVertexAttribAPPLE_Impl;
nuclear@0 1627 PFNGLENABLEVERTEXATTRIBAPPLEPROC glEnableVertexAttribAPPLE_Impl;
nuclear@0 1628 PFNGLISVERTEXATTRIBENABLEDAPPLEPROC glIsVertexAttribEnabledAPPLE_Impl;
nuclear@0 1629 PFNGLMAPVERTEXATTRIB1DAPPLEPROC glMapVertexAttrib1dAPPLE_Impl;
nuclear@0 1630 PFNGLMAPVERTEXATTRIB1FAPPLEPROC glMapVertexAttrib1fAPPLE_Impl;
nuclear@0 1631 PFNGLMAPVERTEXATTRIB2DAPPLEPROC glMapVertexAttrib2dAPPLE_Impl;
nuclear@0 1632 PFNGLMAPVERTEXATTRIB2FAPPLEPROC glMapVertexAttrib2fAPPLE_Impl;
nuclear@0 1633 #endif // GLE_CGL_ENABLED
nuclear@0 1634
nuclear@0 1635 // GL_ARB_debug_output
nuclear@0 1636 PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB_Impl;
nuclear@0 1637 PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB_Impl;
nuclear@0 1638 PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB_Impl;
nuclear@0 1639 PFNGLGETDEBUGMESSAGELOGARBPROC glGetDebugMessageLogARB_Impl;
nuclear@0 1640
nuclear@0 1641 // GL_ARB_ES2_compatibility
nuclear@0 1642 PFNGLCLEARDEPTHFPROC glClearDepthf_Impl;
nuclear@0 1643 PFNGLDEPTHRANGEFPROC glDepthRangef_Impl;
nuclear@0 1644 PFNGLGETSHADERPRECISIONFORMATPROC glGetShaderPrecisionFormat_Impl;
nuclear@0 1645 PFNGLRELEASESHADERCOMPILERPROC glReleaseShaderCompiler_Impl;
nuclear@0 1646 PFNGLSHADERBINARYPROC glShaderBinary_Impl;
nuclear@0 1647
nuclear@0 1648 // GL_ARB_framebuffer_object
nuclear@0 1649 PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer_Impl;
nuclear@0 1650 PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer_Impl;
nuclear@0 1651 PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer_Impl;
nuclear@0 1652 PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus_Impl;
nuclear@0 1653 PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers_Impl;
nuclear@0 1654 PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers_Impl;
nuclear@0 1655 PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer_Impl;
nuclear@0 1656 PFNGLFRAMEBUFFERTEXTURE1DPROC glFramebufferTexture1D_Impl;
nuclear@0 1657 PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D_Impl;
nuclear@0 1658 PFNGLFRAMEBUFFERTEXTURE3DPROC glFramebufferTexture3D_Impl;
nuclear@0 1659 PFNGLFRAMEBUFFERTEXTURELAYERPROC glFramebufferTextureLayer_Impl;
nuclear@0 1660 PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers_Impl;
nuclear@0 1661 PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers_Impl;
nuclear@0 1662 PFNGLGENERATEMIPMAPPROC glGenerateMipmap_Impl;
nuclear@0 1663 PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetFramebufferAttachmentParameteriv_Impl;
nuclear@0 1664 PFNGLGETRENDERBUFFERPARAMETERIVPROC glGetRenderbufferParameteriv_Impl;
nuclear@0 1665 PFNGLISFRAMEBUFFERPROC glIsFramebuffer_Impl;
nuclear@0 1666 PFNGLISRENDERBUFFERPROC glIsRenderbuffer_Impl;
nuclear@0 1667 PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage_Impl;
nuclear@0 1668 PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample_Impl;
nuclear@0 1669
nuclear@0 1670 // GL_ARB_framebuffer_sRGB
nuclear@0 1671 // (no functions)
nuclear@0 1672
nuclear@0 1673 // GL_ARB_texture_multisample
nuclear@0 1674 PFNGLGETMULTISAMPLEFVPROC glGetMultisamplefv_Impl;
nuclear@0 1675 PFNGLSAMPLEMASKIPROC glSampleMaski_Impl;
nuclear@0 1676 PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample_Impl;
nuclear@0 1677 PFNGLTEXIMAGE3DMULTISAMPLEPROC glTexImage3DMultisample_Impl;
nuclear@0 1678
nuclear@0 1679 // GL_ARB_texture_non_power_of_two
nuclear@0 1680 // (no functions)
nuclear@0 1681
nuclear@0 1682 // GL_ARB_texture_rectangle
nuclear@0 1683 // (no functions)
nuclear@0 1684
nuclear@0 1685 // GL_ARB_timer_query
nuclear@0 1686 PFNGLGETQUERYOBJECTI64VPROC glGetQueryObjecti64v_Impl;
nuclear@0 1687 PFNGLGETQUERYOBJECTUI64VPROC glGetQueryObjectui64v_Impl;
nuclear@0 1688 PFNGLQUERYCOUNTERPROC glQueryCounter_Impl;
nuclear@0 1689
nuclear@0 1690 // GL_ARB_vertex_array_object
nuclear@0 1691 PFNGLBINDVERTEXARRAYPROC glBindVertexArray_Impl;
nuclear@0 1692 PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays_Impl;
nuclear@0 1693 PFNGLGENVERTEXARRAYSPROC glGenVertexArrays_Impl;
nuclear@0 1694 PFNGLISVERTEXARRAYPROC glIsVertexArray_Impl;
nuclear@0 1695
nuclear@0 1696 // GL_EXT_draw_buffers2
nuclear@0 1697 PFNGLCOLORMASKINDEXEDEXTPROC glColorMaskIndexedEXT_Impl;
nuclear@0 1698 PFNGLDISABLEINDEXEDEXTPROC glDisableIndexedEXT_Impl;
nuclear@0 1699 PFNGLENABLEINDEXEDEXTPROC glEnableIndexedEXT_Impl;
nuclear@0 1700 PFNGLGETBOOLEANINDEXEDVEXTPROC glGetBooleanIndexedvEXT_Impl;
nuclear@0 1701 PFNGLGETINTEGERINDEXEDVEXTPROC glGetIntegerIndexedvEXT_Impl;
nuclear@0 1702 PFNGLISENABLEDINDEXEDEXTPROC glIsEnabledIndexedEXT_Impl;
nuclear@0 1703
nuclear@0 1704 // GL_EXT_texture_filter_anisotropic
nuclear@0 1705 // (no functions)
nuclear@0 1706
nuclear@0 1707 // GL_KHR_debug
nuclear@0 1708 PFNGLDEBUGMESSAGECALLBACKPROC glDebugMessageCallback_Impl;
nuclear@0 1709 PFNGLDEBUGMESSAGECONTROLPROC glDebugMessageControl_Impl;
nuclear@0 1710 PFNGLDEBUGMESSAGEINSERTPROC glDebugMessageInsert_Impl;
nuclear@0 1711 PFNGLGETDEBUGMESSAGELOGPROC glGetDebugMessageLog_Impl;
nuclear@0 1712 PFNGLGETOBJECTLABELPROC glGetObjectLabel_Impl;
nuclear@0 1713 PFNGLGETOBJECTPTRLABELPROC glGetObjectPtrLabel_Impl;
nuclear@0 1714 PFNGLOBJECTLABELPROC glObjectLabel_Impl;
nuclear@0 1715 PFNGLOBJECTPTRLABELPROC glObjectPtrLabel_Impl;
nuclear@0 1716 PFNGLPOPDEBUGGROUPPROC glPopDebugGroup_Impl;
nuclear@0 1717 PFNGLPUSHDEBUGGROUPPROC glPushDebugGroup_Impl;
nuclear@0 1718
nuclear@0 1719 // GL_KHR_robust_buffer_access_behavior
nuclear@0 1720
nuclear@0 1721 // GL_WIN_swap_hint
nuclear@0 1722 PFNGLADDSWAPHINTRECTWINPROC glAddSwapHintRectWIN_Impl;
nuclear@0 1723
nuclear@0 1724 #if defined(GLE_WGL_ENABLED)
nuclear@0 1725 // WGL
nuclear@0 1726 // We don't declare pointers for these because we statically link to the implementations, same as with the OpenGL 1.1 functions.
nuclear@0 1727 // BOOL wglCopyContext_Hook(HGLRC, HGLRC, UINT);
nuclear@0 1728 // HGLRC wglCreateContext_Hook(HDC);
nuclear@0 1729 // HGLRC wglCreateLayerContext_Hook(HDC, int);
nuclear@0 1730 // BOOL wglDeleteContext_Hook(HGLRC);
nuclear@0 1731 // HGLRC wglGetCurrentContext_Hook(VOID);
nuclear@0 1732 // HDC wglGetCurrentDC_Hook(VOID);
nuclear@0 1733 // PROC wglGetProcAddress_Hook(LPCSTR);
nuclear@0 1734 // BOOL wglMakeCurrent_Hook(HDC, HGLRC);
nuclear@0 1735 // BOOL wglShareLists_Hook(HGLRC, HGLRC);
nuclear@0 1736 // BOOL wglUseFontBitmapsA_Hook(HDC, DWORD, DWORD, DWORD);
nuclear@0 1737 // BOOL wglUseFontBitmapsW_Hook(HDC, DWORD, DWORD, DWORD);
nuclear@0 1738 // BOOL wglUseFontOutlinesA_Hook(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT);
nuclear@0 1739 // BOOL wglUseFontOutlinesW_Hook(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT);
nuclear@0 1740 // BOOL wglDescribeLayerPlane_Hook(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR);
nuclear@0 1741 // int wglSetLayerPaletteEntries_Hook(HDC, int, int, int, CONST COLORREF *);
nuclear@0 1742 // int wglGetLayerPaletteEntries_Hook(HDC, int, int, int, COLORREF *);
nuclear@0 1743 // BOOL wglRealizeLayerPalette_Hook(HDC, int, BOOL);
nuclear@0 1744 // BOOL wglSwapLayerBuffers_Hook(HDC, UINT);
nuclear@0 1745 // DWORD wglSwapMultipleBuffers_Hook(UINT, CONST WGLSWAP *);
nuclear@0 1746
nuclear@0 1747 #if 0
nuclear@0 1748 PFNWGLCOPYCONTEXTPROC wglCopyContext_Impl;
nuclear@0 1749 PFNWGLCREATECONTEXTPROC wglCreateContext_Impl;
nuclear@0 1750 PFNWGLCREATELAYERCONTEXTPROC wglCreateLayerContext_Impl;
nuclear@0 1751 PFNWGLDELETECONTEXTPROC wglDeleteContext_Impl;
nuclear@0 1752 PFNWGLGETCURRENTCONTEXTPROC wglGetCurrentContext_Impl;
nuclear@0 1753 PFNWGLGETCURRENTDCPROC wglGetCurrentDC_Impl;
nuclear@0 1754 PFNWGLGETPROCADDRESSPROC wglGetProcAddress_Impl;
nuclear@0 1755 PFNWGLMAKECURRENTPROC wglMakeCurrent_Impl;
nuclear@0 1756 PFNWGLSHARELISTSPROC wglShareLists_Impl;
nuclear@0 1757 PFNWGLUSEFONTBITMAPSAPROC wglUseFontBitmapsA_Impl;
nuclear@0 1758 PFNWGLUSEFONTBITMAPSWPROC wglUseFontBitmapsW_Impl;
nuclear@0 1759 PFNWGLUSEFONTOUTLINESAPROC wglUseFontOutlinesA_Impl;
nuclear@0 1760 PFNWGLUSEFONTOUTLINESWPROC wglUseFontOutlinesW_Impl;
nuclear@0 1761 PFNWGLDESCRIBELAYERPLANEPROC wglDescribeLayerPlane_Impl;
nuclear@0 1762 PFNWGLSETLAYERPALETTEENTRIESPROC wglSetLayerPaletteEntries_Impl;
nuclear@0 1763 PFNWGLGETLAYERPALETTEENTRIESPROC wglGetLayerPaletteEntries_Impl;
nuclear@0 1764 PFNWGLREALIZELAYERPALETTEPROC wglRealizeLayerPalette_Impl;
nuclear@0 1765 PFNWGLSWAPLAYERBUFFERSPROC wglSwapLayerBuffers_Impl;
nuclear@0 1766 PFNWGLSWAPMULTIPLEBUFFERSPROC wglSwapMultipleBuffers_Impl;
nuclear@0 1767 #endif
nuclear@0 1768
nuclear@0 1769 // WGL_ARB_buffer_region
nuclear@0 1770 PFNWGLCREATEBUFFERREGIONARBPROC wglCreateBufferRegionARB_Impl;
nuclear@0 1771 PFNWGLDELETEBUFFERREGIONARBPROC wglDeleteBufferRegionARB_Impl;
nuclear@0 1772 PFNWGLSAVEBUFFERREGIONARBPROC wglSaveBufferRegionARB_Impl;
nuclear@0 1773 PFNWGLRESTOREBUFFERREGIONARBPROC wglRestoreBufferRegionARB_Impl;
nuclear@0 1774
nuclear@0 1775 // WGL_ARB_extensions_string
nuclear@0 1776 PFNWGLGETEXTENSIONSSTRINGARBPROC wglGetExtensionsStringARB_Impl;
nuclear@0 1777
nuclear@0 1778 // WGL_ARB_pixel_format
nuclear@0 1779 PFNWGLGETPIXELFORMATATTRIBIVARBPROC wglGetPixelFormatAttribivARB_Impl;
nuclear@0 1780 PFNWGLGETPIXELFORMATATTRIBFVARBPROC wglGetPixelFormatAttribfvARB_Impl;
nuclear@0 1781 PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB_Impl;
nuclear@0 1782
nuclear@0 1783 // WGL_ARB_make_current_read
nuclear@0 1784 PFNWGLMAKECONTEXTCURRENTARBPROC wglMakeContextCurrentARB_Impl;
nuclear@0 1785 PFNWGLGETCURRENTREADDCARBPROC wglGetCurrentReadDCARB_Impl;
nuclear@0 1786
nuclear@0 1787 // WGL_ARB_pbuffer
nuclear@0 1788 PFNWGLCREATEPBUFFERARBPROC wglCreatePbufferARB_Impl;
nuclear@0 1789 PFNWGLGETPBUFFERDCARBPROC wglGetPbufferDCARB_Impl;
nuclear@0 1790 PFNWGLRELEASEPBUFFERDCARBPROC wglReleasePbufferDCARB_Impl;
nuclear@0 1791 PFNWGLDESTROYPBUFFERARBPROC wglDestroyPbufferARB_Impl;
nuclear@0 1792 PFNWGLQUERYPBUFFERARBPROC wglQueryPbufferARB_Impl;
nuclear@0 1793
nuclear@0 1794 // WGL_ARB_render_texture
nuclear@0 1795 PFNWGLBINDTEXIMAGEARBPROC wglBindTexImageARB_Impl;
nuclear@0 1796 PFNWGLRELEASETEXIMAGEARBPROC wglReleaseTexImageARB_Impl;
nuclear@0 1797 PFNWGLSETPBUFFERATTRIBARBPROC wglSetPbufferAttribARB_Impl;
nuclear@0 1798
nuclear@0 1799 // WGL_ARB_pixel_format_float
nuclear@0 1800 // (no functions)
nuclear@0 1801
nuclear@0 1802 // WGL_ARB_framebuffer_sRGB
nuclear@0 1803 // (no functions)
nuclear@0 1804
nuclear@0 1805 // WGL_NV_present_video
nuclear@0 1806 PFNWGLENUMERATEVIDEODEVICESNVPROC wglEnumerateVideoDevicesNV_Impl;
nuclear@0 1807 PFNWGLBINDVIDEODEVICENVPROC wglBindVideoDeviceNV_Impl;
nuclear@0 1808 PFNWGLQUERYCURRENTCONTEXTNVPROC wglQueryCurrentContextNV_Impl;
nuclear@0 1809
nuclear@0 1810 // WGL_ARB_create_context
nuclear@0 1811 PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB_Impl;
nuclear@0 1812
nuclear@0 1813 // WGL_ARB_create_context_profile
nuclear@0 1814 // (no functions)
nuclear@0 1815
nuclear@0 1816 // WGL_ARB_create_context_robustness
nuclear@0 1817 // (no functions)
nuclear@0 1818
nuclear@0 1819 // WGL_EXT_extensions_string
nuclear@0 1820 PFNWGLGETEXTENSIONSSTRINGEXTPROC wglGetExtensionsStringEXT_Impl;
nuclear@0 1821
nuclear@0 1822 // WGL_EXT_swap_control
nuclear@0 1823 PFNWGLGETSWAPINTERVALEXTPROC wglGetSwapIntervalEXT_Impl;
nuclear@0 1824 PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT_Impl;
nuclear@0 1825
nuclear@0 1826 // WGL_OML_sync_control
nuclear@0 1827 PFNWGLGETSYNCVALUESOMLPROC wglGetSyncValuesOML_Impl;
nuclear@0 1828 PFNWGLGETMSCRATEOMLPROC wglGetMscRateOML_Impl;
nuclear@0 1829 PFNWGLSWAPBUFFERSMSCOMLPROC wglSwapBuffersMscOML_Impl;
nuclear@0 1830 PFNWGLSWAPLAYERBUFFERSMSCOMLPROC wglSwapLayerBuffersMscOML_Impl;
nuclear@0 1831 PFNWGLWAITFORMSCOMLPROC wglWaitForMscOML_Impl;
nuclear@0 1832 PFNWGLWAITFORSBCOMLPROC wglWaitForSbcOML_Impl;
nuclear@0 1833
nuclear@0 1834 // WGL_NV_video_output
nuclear@0 1835 PFNWGLGETVIDEODEVICENVPROC wglGetVideoDeviceNV_Impl;
nuclear@0 1836 PFNWGLRELEASEVIDEODEVICENVPROC wglReleaseVideoDeviceNV_Impl;
nuclear@0 1837 PFNWGLBINDVIDEOIMAGENVPROC wglBindVideoImageNV_Impl;
nuclear@0 1838 PFNWGLRELEASEVIDEOIMAGENVPROC wglReleaseVideoImageNV_Impl;
nuclear@0 1839 PFNWGLSENDPBUFFERTOVIDEONVPROC wglSendPbufferToVideoNV_Impl;
nuclear@0 1840 PFNWGLGETVIDEOINFONVPROC wglGetVideoInfoNV_Impl;
nuclear@0 1841
nuclear@0 1842 // WGL_NV_swap_group
nuclear@0 1843 PFNWGLJOINSWAPGROUPNVPROC wglJoinSwapGroupNV_Impl;
nuclear@0 1844 PFNWGLBINDSWAPBARRIERNVPROC wglBindSwapBarrierNV_Impl;
nuclear@0 1845 PFNWGLQUERYSWAPGROUPNVPROC wglQuerySwapGroupNV_Impl;
nuclear@0 1846 PFNWGLQUERYMAXSWAPGROUPSNVPROC wglQueryMaxSwapGroupsNV_Impl;
nuclear@0 1847 PFNWGLQUERYFRAMECOUNTNVPROC wglQueryFrameCountNV_Impl;
nuclear@0 1848 PFNWGLRESETFRAMECOUNTNVPROC wglResetFrameCountNV_Impl;
nuclear@0 1849
nuclear@0 1850 // WGL_NV_video_capture
nuclear@0 1851 PFNWGLBINDVIDEOCAPTUREDEVICENVPROC wglBindVideoCaptureDeviceNV_Impl;
nuclear@0 1852 PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC wglEnumerateVideoCaptureDevicesNV_Impl;
nuclear@0 1853 PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC wglLockVideoCaptureDeviceNV_Impl;
nuclear@0 1854 PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC wglQueryVideoCaptureDeviceNV_Impl;
nuclear@0 1855 PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC wglReleaseVideoCaptureDeviceNV_Impl;
nuclear@0 1856
nuclear@0 1857 // WGL_NV_copy_image
nuclear@0 1858 PFNWGLCOPYIMAGESUBDATANVPROC wglCopyImageSubDataNV_Impl;
nuclear@0 1859
nuclear@0 1860 // WGL_NV_DX_interop
nuclear@0 1861 PFNWGLDXCLOSEDEVICENVPROC wglDXCloseDeviceNV_Impl;
nuclear@0 1862 PFNWGLDXLOCKOBJECTSNVPROC wglDXLockObjectsNV_Impl;
nuclear@0 1863 PFNWGLDXOBJECTACCESSNVPROC wglDXObjectAccessNV_Impl;
nuclear@0 1864 PFNWGLDXOPENDEVICENVPROC wglDXOpenDeviceNV_Impl;
nuclear@0 1865 PFNWGLDXREGISTEROBJECTNVPROC wglDXRegisterObjectNV_Impl;
nuclear@0 1866 PFNWGLDXSETRESOURCESHAREHANDLENVPROC wglDXSetResourceShareHandleNV_Impl;
nuclear@0 1867 PFNWGLDXUNLOCKOBJECTSNVPROC wglDXUnlockObjectsNV_Impl;
nuclear@0 1868 PFNWGLDXUNREGISTEROBJECTNVPROC wglDXUnregisterObjectNV_Impl;
nuclear@0 1869
nuclear@0 1870 #endif // GLE_WGL_ENABLED
nuclear@0 1871
nuclear@0 1872 #if defined(GLE_GLX_ENABLED)
nuclear@0 1873 // GLX_VERSION_1_1
nuclear@0 1874 // We don't create any pointers, because we assume these functions are always present.
nuclear@0 1875
nuclear@0 1876 // GLX_VERSION_1_2
nuclear@0 1877 PFNGLXGETCURRENTDISPLAYPROC glXGetCurrentDisplay_Impl;
nuclear@0 1878
nuclear@0 1879 // GLX_VERSION_1_3
nuclear@0 1880 PFNGLXCHOOSEFBCONFIGPROC glXChooseFBConfig_Impl;
nuclear@0 1881 PFNGLXCREATENEWCONTEXTPROC glXCreateNewContext_Impl;
nuclear@0 1882 PFNGLXCREATEPBUFFERPROC glXCreatePbuffer_Impl;
nuclear@0 1883 PFNGLXCREATEPIXMAPPROC glXCreatePixmap_Impl;
nuclear@0 1884 PFNGLXCREATEWINDOWPROC glXCreateWindow_Impl;
nuclear@0 1885 PFNGLXDESTROYPBUFFERPROC glXDestroyPbuffer_Impl;
nuclear@0 1886 PFNGLXDESTROYPIXMAPPROC glXDestroyPixmap_Impl;
nuclear@0 1887 PFNGLXDESTROYWINDOWPROC glXDestroyWindow_Impl;
nuclear@0 1888 PFNGLXGETCURRENTREADDRAWABLEPROC glXGetCurrentReadDrawable_Impl;
nuclear@0 1889 PFNGLXGETFBCONFIGATTRIBPROC glXGetFBConfigAttrib_Impl;
nuclear@0 1890 PFNGLXGETFBCONFIGSPROC glXGetFBConfigs_Impl;
nuclear@0 1891 PFNGLXGETSELECTEDEVENTPROC glXGetSelectedEvent_Impl;
nuclear@0 1892 PFNGLXGETVISUALFROMFBCONFIGPROC glXGetVisualFromFBConfig_Impl;
nuclear@0 1893 PFNGLXMAKECONTEXTCURRENTPROC glXMakeContextCurrent_Impl;
nuclear@0 1894 PFNGLXQUERYCONTEXTPROC glXQueryContext_Impl;
nuclear@0 1895 PFNGLXQUERYDRAWABLEPROC glXQueryDrawable_Impl;
nuclear@0 1896 PFNGLXSELECTEVENTPROC glXSelectEvent_Impl;
nuclear@0 1897
nuclear@0 1898 // GLX_VERSION_1_4
nuclear@0 1899 // Nothing to declare
nuclear@0 1900
nuclear@0 1901 // GLX_ARB_create_context
nuclear@0 1902 PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB_Impl;
nuclear@0 1903
nuclear@0 1904 // GLX_EXT_swap_control
nuclear@0 1905 PFNGLXSWAPINTERVALEXTPROC glXSwapIntervalEXT_Impl;
nuclear@0 1906
nuclear@0 1907 // GLX_OML_sync_control
nuclear@0 1908 PFNGLXGETMSCRATEOMLPROC glXGetMscRateOML_Impl;
nuclear@0 1909 PFNGLXGETSYNCVALUESOMLPROC glXGetSyncValuesOML_Impl;
nuclear@0 1910 PFNGLXSWAPBUFFERSMSCOMLPROC glXSwapBuffersMscOML_Impl;
nuclear@0 1911 PFNGLXWAITFORMSCOMLPROC glXWaitForMscOML_Impl;
nuclear@0 1912 PFNGLXWAITFORSBCOMLPROC glXWaitForSbcOML_Impl;
nuclear@0 1913
nuclear@0 1914 // GLX_MESA_swap_control
nuclear@0 1915 PFNGLXGETSWAPINTERVALMESAPROC glXGetSwapIntervalMESA_Impl;
nuclear@0 1916 PFNGLXSWAPINTERVALMESAPROC glXSwapIntervalMESA_Impl;
nuclear@0 1917
nuclear@0 1918 #endif // GLE_GLX_ENABLED
nuclear@0 1919
nuclear@0 1920
nuclear@0 1921 // Boolean extension support indicators. Each of these identifies the
nuclear@0 1922 // presence or absence of the given extension. A better solution here
nuclear@0 1923 // might be to use an STL map<const char*, bool>.
nuclear@0 1924 bool gle_AMD_debug_output;
nuclear@0 1925 //bool gle_AMD_performance_monitor;
nuclear@0 1926 bool gle_APPLE_aux_depth_stencil;
nuclear@0 1927 bool gle_APPLE_client_storage;
nuclear@0 1928 bool gle_APPLE_element_array;
nuclear@0 1929 bool gle_APPLE_fence;
nuclear@0 1930 bool gle_APPLE_float_pixels;
nuclear@0 1931 bool gle_APPLE_flush_buffer_range;
nuclear@0 1932 bool gle_APPLE_object_purgeable;
nuclear@0 1933 bool gle_APPLE_pixel_buffer;
nuclear@0 1934 bool gle_APPLE_rgb_422;
nuclear@0 1935 bool gle_APPLE_row_bytes;
nuclear@0 1936 bool gle_APPLE_specular_vector;
nuclear@0 1937 bool gle_APPLE_texture_range;
nuclear@0 1938 bool gle_APPLE_transform_hint;
nuclear@0 1939 bool gle_APPLE_vertex_array_object;
nuclear@0 1940 bool gle_APPLE_vertex_array_range;
nuclear@0 1941 bool gle_APPLE_vertex_program_evaluators;
nuclear@0 1942 bool gle_APPLE_ycbcr_422;
nuclear@0 1943 bool gle_ARB_debug_output;
nuclear@0 1944 bool gle_ARB_depth_buffer_float;
nuclear@0 1945 //bool gle_ARB_direct_state_access;
nuclear@0 1946 bool gle_ARB_ES2_compatibility;
nuclear@0 1947 bool gle_ARB_framebuffer_object;
nuclear@0 1948 bool gle_ARB_framebuffer_sRGB;
nuclear@0 1949 bool gle_ARB_texture_multisample;
nuclear@0 1950 bool gle_ARB_texture_non_power_of_two;
nuclear@0 1951 bool gle_ARB_texture_rectangle;
nuclear@0 1952 bool gle_ARB_timer_query;
nuclear@0 1953 bool gle_ARB_vertex_array_object;
nuclear@0 1954 //bool gle_ARB_vertex_attrib_binding;
nuclear@0 1955 bool gle_EXT_draw_buffers2;
nuclear@0 1956 bool gle_EXT_texture_compression_s3tc;
nuclear@0 1957 bool gle_EXT_texture_filter_anisotropic;
nuclear@0 1958 //bool gle_KHR_context_flush_control;
nuclear@0 1959 bool gle_KHR_debug;
nuclear@0 1960 //bool gle_KHR_robust_buffer_access_behavior;
nuclear@0 1961 //bool gle_KHR_robustness;
nuclear@0 1962 bool gle_WIN_swap_hint;
nuclear@0 1963
nuclear@0 1964 #if defined(GLE_WGL_ENABLED)
nuclear@0 1965 bool gle_WGL_ARB_buffer_region;
nuclear@0 1966 bool gle_WGL_ARB_create_context;
nuclear@0 1967 bool gle_WGL_ARB_create_context_profile;
nuclear@0 1968 bool gle_WGL_ARB_create_context_robustness;
nuclear@0 1969 bool gle_WGL_ARB_extensions_string;
nuclear@0 1970 bool gle_WGL_ARB_framebuffer_sRGB;
nuclear@0 1971 bool gle_WGL_ARB_make_current_read;
nuclear@0 1972 bool gle_WGL_ARB_pbuffer;
nuclear@0 1973 bool gle_WGL_ARB_pixel_format;
nuclear@0 1974 bool gle_WGL_ARB_pixel_format_float;
nuclear@0 1975 bool gle_WGL_ARB_render_texture;
nuclear@0 1976 bool gle_WGL_ATI_render_texture_rectangle;
nuclear@0 1977 bool gle_WGL_EXT_extensions_string;
nuclear@0 1978 bool gle_WGL_EXT_swap_control;
nuclear@0 1979 bool gle_WGL_NV_copy_image;
nuclear@0 1980 bool gle_WGL_NV_DX_interop;
nuclear@0 1981 bool gle_WGL_NV_DX_interop2;
nuclear@0 1982 bool gle_WGL_NV_present_video;
nuclear@0 1983 bool gle_WGL_NV_render_texture_rectangle;
nuclear@0 1984 bool gle_WGL_NV_swap_group;
nuclear@0 1985 bool gle_WGL_NV_video_capture;
nuclear@0 1986 bool gle_WGL_NV_video_output;
nuclear@0 1987 bool gle_WGL_OML_sync_control;
nuclear@0 1988 #elif defined(GLE_GLX_ENABLED)
nuclear@0 1989 bool gle_GLX_ARB_create_context;
nuclear@0 1990 bool gle_GLX_ARB_create_context_profile;
nuclear@0 1991 bool gle_GLX_ARB_create_context_robustness;
nuclear@0 1992 bool gle_GLX_EXT_swap_control;
nuclear@0 1993 bool gle_GLX_OML_sync_control;
nuclear@0 1994 bool gle_MESA_swap_control;
nuclear@0 1995 #endif
nuclear@0 1996
nuclear@0 1997 }; // class GLEContext
nuclear@0 1998
nuclear@0 1999
nuclear@0 2000 } // namespace OVR
nuclear@0 2001
nuclear@0 2002
nuclear@0 2003 #endif // Header include guard