A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 '' FreeBASIC binding for mesa-10.6.4 2 '' 3 '' based on the C header files: 4 '' Copyright (c) 2013-2014 The Khronos Group Inc. 5 '' 6 '' Permission is hereby granted, free of charge, to any person obtaining a 7 '' copy of this software and/or associated documentation files (the 8 '' "Materials"), to deal in the Materials without restriction, including 9 '' without limitation the rights to use, copy, modify, merge, publish, 10 '' distribute, sublicense, and/or sell copies of the Materials, and to 11 '' permit persons to whom the Materials are furnished to do so, subject to 12 '' the following conditions: 13 '' 14 '' The above copyright notice and this permission notice shall be included 15 '' in all copies or substantial portions of the Materials. 16 '' 17 '' THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 '' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 '' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 '' IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 '' CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 '' TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 '' MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 24 '' 25 '' translated to FreeBASIC by: 26 '' Copyright © 2015 FreeBASIC development team 27 28 #pragma once 29 30 #include once "GL/mesa/gl.bi" 31 32 #ifdef __FB_WIN32__ 33 extern "Windows" 34 #else 35 extern "C" 36 #endif 37 38 const __glext_h_ = 1 39 const GL_GLEXT_VERSION = 20150202 40 const GL_VERSION_1_4 = 1 41 const GL_BLEND_DST_RGB = &h80C8 42 const GL_BLEND_SRC_RGB = &h80C9 43 const GL_BLEND_DST_ALPHA = &h80CA 44 const GL_BLEND_SRC_ALPHA = &h80CB 45 const GL_POINT_FADE_THRESHOLD_SIZE = &h8128 46 const GL_DEPTH_COMPONENT16 = &h81A5 47 const GL_DEPTH_COMPONENT24 = &h81A6 48 const GL_DEPTH_COMPONENT32 = &h81A7 49 const GL_MIRRORED_REPEAT = &h8370 50 const GL_MAX_TEXTURE_LOD_BIAS = &h84FD 51 const GL_TEXTURE_LOD_BIAS = &h8501 52 const GL_INCR_WRAP = &h8507 53 const GL_DECR_WRAP = &h8508 54 const GL_TEXTURE_DEPTH_SIZE = &h884A 55 const GL_TEXTURE_COMPARE_MODE = &h884C 56 const GL_TEXTURE_COMPARE_FUNC = &h884D 57 const GL_POINT_SIZE_MIN = &h8126 58 const GL_POINT_SIZE_MAX = &h8127 59 const GL_POINT_DISTANCE_ATTENUATION = &h8129 60 const GL_GENERATE_MIPMAP = &h8191 61 const GL_GENERATE_MIPMAP_HINT = &h8192 62 const GL_FOG_COORDINATE_SOURCE = &h8450 63 const GL_FOG_COORDINATE = &h8451 64 const GL_FRAGMENT_DEPTH = &h8452 65 const GL_CURRENT_FOG_COORDINATE = &h8453 66 const GL_FOG_COORDINATE_ARRAY_TYPE = &h8454 67 const GL_FOG_COORDINATE_ARRAY_STRIDE = &h8455 68 const GL_FOG_COORDINATE_ARRAY_POINTER = &h8456 69 const GL_FOG_COORDINATE_ARRAY = &h8457 70 const GL_COLOR_SUM = &h8458 71 const GL_CURRENT_SECONDARY_COLOR = &h8459 72 const GL_SECONDARY_COLOR_ARRAY_SIZE = &h845A 73 const GL_SECONDARY_COLOR_ARRAY_TYPE = &h845B 74 const GL_SECONDARY_COLOR_ARRAY_STRIDE = &h845C 75 const GL_SECONDARY_COLOR_ARRAY_POINTER = &h845D 76 const GL_SECONDARY_COLOR_ARRAY = &h845E 77 const GL_TEXTURE_FILTER_CONTROL = &h8500 78 const GL_DEPTH_TEXTURE_MODE = &h884B 79 const GL_COMPARE_R_TO_TEXTURE = &h884E 80 const GL_FUNC_ADD = &h8006 81 const GL_FUNC_SUBTRACT = &h800A 82 const GL_FUNC_REVERSE_SUBTRACT = &h800B 83 const GL_MIN = &h8007 84 const GL_MAX = &h8008 85 const GL_CONSTANT_COLOR = &h8001 86 const GL_ONE_MINUS_CONSTANT_COLOR = &h8002 87 const GL_CONSTANT_ALPHA = &h8003 88 const GL_ONE_MINUS_CONSTANT_ALPHA = &h8004 89 90 type PFNGLBLENDFUNCSEPARATEPROC as sub(byval sfactorRGB as GLenum, byval dfactorRGB as GLenum, byval sfactorAlpha as GLenum, byval dfactorAlpha as GLenum) 91 type PFNGLMULTIDRAWARRAYSPROC as sub(byval mode as GLenum, byval first as const GLint ptr, byval count as const GLsizei ptr, byval drawcount as GLsizei) 92 type PFNGLMULTIDRAWELEMENTSPROC as sub(byval mode as GLenum, byval count as const GLsizei ptr, byval type as GLenum, byval indices as const any const ptr ptr, byval drawcount as GLsizei) 93 type PFNGLPOINTPARAMETERFPROC as sub(byval pname as GLenum, byval param as GLfloat) 94 type PFNGLPOINTPARAMETERFVPROC as sub(byval pname as GLenum, byval params as const GLfloat ptr) 95 type PFNGLPOINTPARAMETERIPROC as sub(byval pname as GLenum, byval param as GLint) 96 type PFNGLPOINTPARAMETERIVPROC as sub(byval pname as GLenum, byval params as const GLint ptr) 97 type PFNGLFOGCOORDFPROC as sub(byval coord as GLfloat) 98 type PFNGLFOGCOORDFVPROC as sub(byval coord as const GLfloat ptr) 99 type PFNGLFOGCOORDDPROC as sub(byval coord as GLdouble) 100 type PFNGLFOGCOORDDVPROC as sub(byval coord as const GLdouble ptr) 101 type PFNGLFOGCOORDPOINTERPROC as sub(byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 102 type PFNGLSECONDARYCOLOR3BPROC as sub(byval red as GLbyte, byval green as GLbyte, byval blue as GLbyte) 103 type PFNGLSECONDARYCOLOR3BVPROC as sub(byval v as const GLbyte ptr) 104 type PFNGLSECONDARYCOLOR3DPROC as sub(byval red as GLdouble, byval green as GLdouble, byval blue as GLdouble) 105 type PFNGLSECONDARYCOLOR3DVPROC as sub(byval v as const GLdouble ptr) 106 type PFNGLSECONDARYCOLOR3FPROC as sub(byval red as GLfloat, byval green as GLfloat, byval blue as GLfloat) 107 type PFNGLSECONDARYCOLOR3FVPROC as sub(byval v as const GLfloat ptr) 108 type PFNGLSECONDARYCOLOR3IPROC as sub(byval red as GLint, byval green as GLint, byval blue as GLint) 109 type PFNGLSECONDARYCOLOR3IVPROC as sub(byval v as const GLint ptr) 110 type PFNGLSECONDARYCOLOR3SPROC as sub(byval red as GLshort, byval green as GLshort, byval blue as GLshort) 111 type PFNGLSECONDARYCOLOR3SVPROC as sub(byval v as const GLshort ptr) 112 type PFNGLSECONDARYCOLOR3UBPROC as sub(byval red as GLubyte, byval green as GLubyte, byval blue as GLubyte) 113 type PFNGLSECONDARYCOLOR3UBVPROC as sub(byval v as const GLubyte ptr) 114 type PFNGLSECONDARYCOLOR3UIPROC as sub(byval red as GLuint, byval green as GLuint, byval blue as GLuint) 115 type PFNGLSECONDARYCOLOR3UIVPROC as sub(byval v as const GLuint ptr) 116 type PFNGLSECONDARYCOLOR3USPROC as sub(byval red as GLushort, byval green as GLushort, byval blue as GLushort) 117 type PFNGLSECONDARYCOLOR3USVPROC as sub(byval v as const GLushort ptr) 118 type PFNGLSECONDARYCOLORPOINTERPROC as sub(byval size as GLint, byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 119 type PFNGLWINDOWPOS2DPROC as sub(byval x as GLdouble, byval y as GLdouble) 120 type PFNGLWINDOWPOS2DVPROC as sub(byval v as const GLdouble ptr) 121 type PFNGLWINDOWPOS2FPROC as sub(byval x as GLfloat, byval y as GLfloat) 122 type PFNGLWINDOWPOS2FVPROC as sub(byval v as const GLfloat ptr) 123 type PFNGLWINDOWPOS2IPROC as sub(byval x as GLint, byval y as GLint) 124 type PFNGLWINDOWPOS2IVPROC as sub(byval v as const GLint ptr) 125 type PFNGLWINDOWPOS2SPROC as sub(byval x as GLshort, byval y as GLshort) 126 type PFNGLWINDOWPOS2SVPROC as sub(byval v as const GLshort ptr) 127 type PFNGLWINDOWPOS3DPROC as sub(byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 128 type PFNGLWINDOWPOS3DVPROC as sub(byval v as const GLdouble ptr) 129 type PFNGLWINDOWPOS3FPROC as sub(byval x as GLfloat, byval y as GLfloat, byval z as GLfloat) 130 type PFNGLWINDOWPOS3FVPROC as sub(byval v as const GLfloat ptr) 131 type PFNGLWINDOWPOS3IPROC as sub(byval x as GLint, byval y as GLint, byval z as GLint) 132 type PFNGLWINDOWPOS3IVPROC as sub(byval v as const GLint ptr) 133 type PFNGLWINDOWPOS3SPROC as sub(byval x as GLshort, byval y as GLshort, byval z as GLshort) 134 type PFNGLWINDOWPOS3SVPROC as sub(byval v as const GLshort ptr) 135 type PFNGLBLENDCOLORPROC as sub(byval red as GLfloat, byval green as GLfloat, byval blue as GLfloat, byval alpha as GLfloat) 136 type PFNGLBLENDEQUATIONPROC as sub(byval mode as GLenum) 137 138 #ifdef GL_GLEXT_PROTOTYPES 139 declare sub glBlendFuncSeparate(byval sfactorRGB as GLenum, byval dfactorRGB as GLenum, byval sfactorAlpha as GLenum, byval dfactorAlpha as GLenum) 140 declare sub glMultiDrawArrays(byval mode as GLenum, byval first as const GLint ptr, byval count as const GLsizei ptr, byval drawcount as GLsizei) 141 declare sub glMultiDrawElements(byval mode as GLenum, byval count as const GLsizei ptr, byval type as GLenum, byval indices as const any const ptr ptr, byval drawcount as GLsizei) 142 declare sub glPointParameterf(byval pname as GLenum, byval param as GLfloat) 143 declare sub glPointParameterfv(byval pname as GLenum, byval params as const GLfloat ptr) 144 declare sub glPointParameteri(byval pname as GLenum, byval param as GLint) 145 declare sub glPointParameteriv(byval pname as GLenum, byval params as const GLint ptr) 146 declare sub glFogCoordf(byval coord as GLfloat) 147 declare sub glFogCoordfv(byval coord as const GLfloat ptr) 148 declare sub glFogCoordd(byval coord as GLdouble) 149 declare sub glFogCoorddv(byval coord as const GLdouble ptr) 150 declare sub glFogCoordPointer(byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 151 declare sub glSecondaryColor3b(byval red as GLbyte, byval green as GLbyte, byval blue as GLbyte) 152 declare sub glSecondaryColor3bv(byval v as const GLbyte ptr) 153 declare sub glSecondaryColor3d(byval red as GLdouble, byval green as GLdouble, byval blue as GLdouble) 154 declare sub glSecondaryColor3dv(byval v as const GLdouble ptr) 155 declare sub glSecondaryColor3f(byval red as GLfloat, byval green as GLfloat, byval blue as GLfloat) 156 declare sub glSecondaryColor3fv(byval v as const GLfloat ptr) 157 declare sub glSecondaryColor3i(byval red as GLint, byval green as GLint, byval blue as GLint) 158 declare sub glSecondaryColor3iv(byval v as const GLint ptr) 159 declare sub glSecondaryColor3s(byval red as GLshort, byval green as GLshort, byval blue as GLshort) 160 declare sub glSecondaryColor3sv(byval v as const GLshort ptr) 161 declare sub glSecondaryColor3ub(byval red as GLubyte, byval green as GLubyte, byval blue as GLubyte) 162 declare sub glSecondaryColor3ubv(byval v as const GLubyte ptr) 163 declare sub glSecondaryColor3ui(byval red as GLuint, byval green as GLuint, byval blue as GLuint) 164 declare sub glSecondaryColor3uiv(byval v as const GLuint ptr) 165 declare sub glSecondaryColor3us(byval red as GLushort, byval green as GLushort, byval blue as GLushort) 166 declare sub glSecondaryColor3usv(byval v as const GLushort ptr) 167 declare sub glSecondaryColorPointer(byval size as GLint, byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 168 declare sub glWindowPos2d(byval x as GLdouble, byval y as GLdouble) 169 declare sub glWindowPos2dv(byval v as const GLdouble ptr) 170 declare sub glWindowPos2f(byval x as GLfloat, byval y as GLfloat) 171 declare sub glWindowPos2fv(byval v as const GLfloat ptr) 172 declare sub glWindowPos2i(byval x as GLint, byval y as GLint) 173 declare sub glWindowPos2iv(byval v as const GLint ptr) 174 declare sub glWindowPos2s(byval x as GLshort, byval y as GLshort) 175 declare sub glWindowPos2sv(byval v as const GLshort ptr) 176 declare sub glWindowPos3d(byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 177 declare sub glWindowPos3dv(byval v as const GLdouble ptr) 178 declare sub glWindowPos3f(byval x as GLfloat, byval y as GLfloat, byval z as GLfloat) 179 declare sub glWindowPos3fv(byval v as const GLfloat ptr) 180 declare sub glWindowPos3i(byval x as GLint, byval y as GLint, byval z as GLint) 181 declare sub glWindowPos3iv(byval v as const GLint ptr) 182 declare sub glWindowPos3s(byval x as GLshort, byval y as GLshort, byval z as GLshort) 183 declare sub glWindowPos3sv(byval v as const GLshort ptr) 184 #endif 185 186 const GL_VERSION_1_5 = 1 187 type GLsizeiptr as integer 188 type GLintptr as integer 189 const GL_BUFFER_SIZE = &h8764 190 const GL_BUFFER_USAGE = &h8765 191 const GL_QUERY_COUNTER_BITS = &h8864 192 const GL_CURRENT_QUERY = &h8865 193 const GL_QUERY_RESULT = &h8866 194 const GL_QUERY_RESULT_AVAILABLE = &h8867 195 const GL_ARRAY_BUFFER = &h8892 196 const GL_ELEMENT_ARRAY_BUFFER = &h8893 197 const GL_ARRAY_BUFFER_BINDING = &h8894 198 const GL_ELEMENT_ARRAY_BUFFER_BINDING = &h8895 199 const GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = &h889F 200 const GL_READ_ONLY = &h88B8 201 const GL_WRITE_ONLY = &h88B9 202 const GL_READ_WRITE = &h88BA 203 const GL_BUFFER_ACCESS = &h88BB 204 const GL_BUFFER_MAPPED = &h88BC 205 const GL_BUFFER_MAP_POINTER = &h88BD 206 const GL_STREAM_DRAW = &h88E0 207 const GL_STREAM_READ = &h88E1 208 const GL_STREAM_COPY = &h88E2 209 const GL_STATIC_DRAW = &h88E4 210 const GL_STATIC_READ = &h88E5 211 const GL_STATIC_COPY = &h88E6 212 const GL_DYNAMIC_DRAW = &h88E8 213 const GL_DYNAMIC_READ = &h88E9 214 const GL_DYNAMIC_COPY = &h88EA 215 const GL_SAMPLES_PASSED = &h8914 216 const GL_SRC1_ALPHA = &h8589 217 const GL_VERTEX_ARRAY_BUFFER_BINDING = &h8896 218 const GL_NORMAL_ARRAY_BUFFER_BINDING = &h8897 219 const GL_COLOR_ARRAY_BUFFER_BINDING = &h8898 220 const GL_INDEX_ARRAY_BUFFER_BINDING = &h8899 221 const GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = &h889A 222 const GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = &h889B 223 const GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = &h889C 224 const GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = &h889D 225 const GL_WEIGHT_ARRAY_BUFFER_BINDING = &h889E 226 const GL_FOG_COORD_SRC = &h8450 227 const GL_FOG_COORD = &h8451 228 const GL_CURRENT_FOG_COORD = &h8453 229 const GL_FOG_COORD_ARRAY_TYPE = &h8454 230 const GL_FOG_COORD_ARRAY_STRIDE = &h8455 231 const GL_FOG_COORD_ARRAY_POINTER = &h8456 232 const GL_FOG_COORD_ARRAY = &h8457 233 const GL_FOG_COORD_ARRAY_BUFFER_BINDING = &h889D 234 const GL_SRC0_RGB = &h8580 235 const GL_SRC1_RGB = &h8581 236 const GL_SRC2_RGB = &h8582 237 const GL_SRC0_ALPHA = &h8588 238 const GL_SRC2_ALPHA = &h858A 239 240 type PFNGLGENQUERIESPROC as sub(byval n as GLsizei, byval ids as GLuint ptr) 241 type PFNGLDELETEQUERIESPROC as sub(byval n as GLsizei, byval ids as const GLuint ptr) 242 type PFNGLISQUERYPROC as function(byval id as GLuint) as GLboolean 243 type PFNGLBEGINQUERYPROC as sub(byval target as GLenum, byval id as GLuint) 244 type PFNGLENDQUERYPROC as sub(byval target as GLenum) 245 type PFNGLGETQUERYIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 246 type PFNGLGETQUERYOBJECTIVPROC as sub(byval id as GLuint, byval pname as GLenum, byval params as GLint ptr) 247 type PFNGLGETQUERYOBJECTUIVPROC as sub(byval id as GLuint, byval pname as GLenum, byval params as GLuint ptr) 248 type PFNGLBINDBUFFERPROC as sub(byval target as GLenum, byval buffer as GLuint) 249 type PFNGLDELETEBUFFERSPROC as sub(byval n as GLsizei, byval buffers as const GLuint ptr) 250 type PFNGLGENBUFFERSPROC as sub(byval n as GLsizei, byval buffers as GLuint ptr) 251 type PFNGLISBUFFERPROC as function(byval buffer as GLuint) as GLboolean 252 type PFNGLBUFFERDATAPROC as sub(byval target as GLenum, byval size as GLsizeiptr, byval data as const any ptr, byval usage as GLenum) 253 type PFNGLBUFFERSUBDATAPROC as sub(byval target as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval data as const any ptr) 254 type PFNGLGETBUFFERSUBDATAPROC as sub(byval target as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval data as any ptr) 255 type PFNGLMAPBUFFERPROC as function(byval target as GLenum, byval access as GLenum) as any ptr 256 type PFNGLUNMAPBUFFERPROC as function(byval target as GLenum) as GLboolean 257 type PFNGLGETBUFFERPARAMETERIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 258 type PFNGLGETBUFFERPOINTERVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as any ptr ptr) 259 260 #ifdef GL_GLEXT_PROTOTYPES 261 declare sub glGenQueries(byval n as GLsizei, byval ids as GLuint ptr) 262 declare sub glDeleteQueries(byval n as GLsizei, byval ids as const GLuint ptr) 263 declare function glIsQuery(byval id as GLuint) as GLboolean 264 declare sub glBeginQuery(byval target as GLenum, byval id as GLuint) 265 declare sub glEndQuery(byval target as GLenum) 266 declare sub glGetQueryiv(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 267 declare sub glGetQueryObjectiv(byval id as GLuint, byval pname as GLenum, byval params as GLint ptr) 268 declare sub glGetQueryObjectuiv(byval id as GLuint, byval pname as GLenum, byval params as GLuint ptr) 269 declare sub glBindBuffer(byval target as GLenum, byval buffer as GLuint) 270 declare sub glDeleteBuffers(byval n as GLsizei, byval buffers as const GLuint ptr) 271 declare sub glGenBuffers(byval n as GLsizei, byval buffers as GLuint ptr) 272 declare function glIsBuffer(byval buffer as GLuint) as GLboolean 273 declare sub glBufferData(byval target as GLenum, byval size as GLsizeiptr, byval data as const any ptr, byval usage as GLenum) 274 declare sub glBufferSubData(byval target as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval data as const any ptr) 275 declare sub glGetBufferSubData(byval target as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval data as any ptr) 276 declare function glMapBuffer(byval target as GLenum, byval access as GLenum) as any ptr 277 declare function glUnmapBuffer(byval target as GLenum) as GLboolean 278 declare sub glGetBufferParameteriv(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 279 declare sub glGetBufferPointerv(byval target as GLenum, byval pname as GLenum, byval params as any ptr ptr) 280 #endif 281 282 const GL_VERSION_2_0 = 1 283 type GLchar as zstring 284 const GL_BLEND_EQUATION_RGB = &h8009 285 const GL_VERTEX_ATTRIB_ARRAY_ENABLED = &h8622 286 const GL_VERTEX_ATTRIB_ARRAY_SIZE = &h8623 287 const GL_VERTEX_ATTRIB_ARRAY_STRIDE = &h8624 288 const GL_VERTEX_ATTRIB_ARRAY_TYPE = &h8625 289 const GL_CURRENT_VERTEX_ATTRIB = &h8626 290 const GL_VERTEX_PROGRAM_POINT_SIZE = &h8642 291 const GL_VERTEX_ATTRIB_ARRAY_POINTER = &h8645 292 const GL_STENCIL_BACK_FUNC = &h8800 293 const GL_STENCIL_BACK_FAIL = &h8801 294 const GL_STENCIL_BACK_PASS_DEPTH_FAIL = &h8802 295 const GL_STENCIL_BACK_PASS_DEPTH_PASS = &h8803 296 const GL_MAX_DRAW_BUFFERS = &h8824 297 const GL_DRAW_BUFFER0 = &h8825 298 const GL_DRAW_BUFFER1 = &h8826 299 const GL_DRAW_BUFFER2 = &h8827 300 const GL_DRAW_BUFFER3 = &h8828 301 const GL_DRAW_BUFFER4 = &h8829 302 const GL_DRAW_BUFFER5 = &h882A 303 const GL_DRAW_BUFFER6 = &h882B 304 const GL_DRAW_BUFFER7 = &h882C 305 const GL_DRAW_BUFFER8 = &h882D 306 const GL_DRAW_BUFFER9 = &h882E 307 const GL_DRAW_BUFFER10 = &h882F 308 const GL_DRAW_BUFFER11 = &h8830 309 const GL_DRAW_BUFFER12 = &h8831 310 const GL_DRAW_BUFFER13 = &h8832 311 const GL_DRAW_BUFFER14 = &h8833 312 const GL_DRAW_BUFFER15 = &h8834 313 const GL_BLEND_EQUATION_ALPHA = &h883D 314 const GL_MAX_VERTEX_ATTRIBS = &h8869 315 const GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = &h886A 316 const GL_MAX_TEXTURE_IMAGE_UNITS = &h8872 317 const GL_FRAGMENT_SHADER = &h8B30 318 const GL_VERTEX_SHADER = &h8B31 319 const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = &h8B49 320 const GL_MAX_VERTEX_UNIFORM_COMPONENTS = &h8B4A 321 const GL_MAX_VARYING_FLOATS = &h8B4B 322 const GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = &h8B4C 323 const GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = &h8B4D 324 const GL_SHADER_TYPE = &h8B4F 325 const GL_FLOAT_VEC2 = &h8B50 326 const GL_FLOAT_VEC3 = &h8B51 327 const GL_FLOAT_VEC4 = &h8B52 328 const GL_INT_VEC2 = &h8B53 329 const GL_INT_VEC3 = &h8B54 330 const GL_INT_VEC4 = &h8B55 331 const GL_BOOL = &h8B56 332 const GL_BOOL_VEC2 = &h8B57 333 const GL_BOOL_VEC3 = &h8B58 334 const GL_BOOL_VEC4 = &h8B59 335 const GL_FLOAT_MAT2 = &h8B5A 336 const GL_FLOAT_MAT3 = &h8B5B 337 const GL_FLOAT_MAT4 = &h8B5C 338 const GL_SAMPLER_1D = &h8B5D 339 const GL_SAMPLER_2D = &h8B5E 340 const GL_SAMPLER_3D = &h8B5F 341 const GL_SAMPLER_CUBE = &h8B60 342 const GL_SAMPLER_1D_SHADOW = &h8B61 343 const GL_SAMPLER_2D_SHADOW = &h8B62 344 const GL_DELETE_STATUS = &h8B80 345 const GL_COMPILE_STATUS = &h8B81 346 const GL_LINK_STATUS = &h8B82 347 const GL_VALIDATE_STATUS = &h8B83 348 const GL_INFO_LOG_LENGTH = &h8B84 349 const GL_ATTACHED_SHADERS = &h8B85 350 const GL_ACTIVE_UNIFORMS = &h8B86 351 const GL_ACTIVE_UNIFORM_MAX_LENGTH = &h8B87 352 const GL_SHADER_SOURCE_LENGTH = &h8B88 353 const GL_ACTIVE_ATTRIBUTES = &h8B89 354 const GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = &h8B8A 355 const GL_FRAGMENT_SHADER_DERIVATIVE_HINT = &h8B8B 356 const GL_SHADING_LANGUAGE_VERSION = &h8B8C 357 const GL_CURRENT_PROGRAM = &h8B8D 358 const GL_POINT_SPRITE_COORD_ORIGIN = &h8CA0 359 const GL_LOWER_LEFT = &h8CA1 360 const GL_UPPER_LEFT = &h8CA2 361 const GL_STENCIL_BACK_REF = &h8CA3 362 const GL_STENCIL_BACK_VALUE_MASK = &h8CA4 363 const GL_STENCIL_BACK_WRITEMASK = &h8CA5 364 const GL_VERTEX_PROGRAM_TWO_SIDE = &h8643 365 const GL_POINT_SPRITE = &h8861 366 const GL_COORD_REPLACE = &h8862 367 const GL_MAX_TEXTURE_COORDS = &h8871 368 369 type PFNGLBLENDEQUATIONSEPARATEPROC as sub(byval modeRGB as GLenum, byval modeAlpha as GLenum) 370 type PFNGLDRAWBUFFERSPROC as sub(byval n as GLsizei, byval bufs as const GLenum ptr) 371 type PFNGLSTENCILOPSEPARATEPROC as sub(byval face as GLenum, byval sfail as GLenum, byval dpfail as GLenum, byval dppass as GLenum) 372 type PFNGLSTENCILFUNCSEPARATEPROC as sub(byval face as GLenum, byval func as GLenum, byval ref as GLint, byval mask as GLuint) 373 type PFNGLSTENCILMASKSEPARATEPROC as sub(byval face as GLenum, byval mask as GLuint) 374 type PFNGLATTACHSHADERPROC as sub(byval program as GLuint, byval shader as GLuint) 375 type PFNGLBINDATTRIBLOCATIONPROC as sub(byval program as GLuint, byval index as GLuint, byval name as const GLchar ptr) 376 type PFNGLCOMPILESHADERPROC as sub(byval shader as GLuint) 377 type PFNGLCREATEPROGRAMPROC as function() as GLuint 378 type PFNGLCREATESHADERPROC as function(byval type as GLenum) as GLuint 379 type PFNGLDELETEPROGRAMPROC as sub(byval program as GLuint) 380 type PFNGLDELETESHADERPROC as sub(byval shader as GLuint) 381 type PFNGLDETACHSHADERPROC as sub(byval program as GLuint, byval shader as GLuint) 382 type PFNGLDISABLEVERTEXATTRIBARRAYPROC as sub(byval index as GLuint) 383 type PFNGLENABLEVERTEXATTRIBARRAYPROC as sub(byval index as GLuint) 384 type PFNGLGETACTIVEATTRIBPROC as sub(byval program as GLuint, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval size as GLint ptr, byval type as GLenum ptr, byval name as GLchar ptr) 385 type PFNGLGETACTIVEUNIFORMPROC as sub(byval program as GLuint, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval size as GLint ptr, byval type as GLenum ptr, byval name as GLchar ptr) 386 type PFNGLGETATTACHEDSHADERSPROC as sub(byval program as GLuint, byval maxCount as GLsizei, byval count as GLsizei ptr, byval shaders as GLuint ptr) 387 type PFNGLGETATTRIBLOCATIONPROC as function(byval program as GLuint, byval name as const GLchar ptr) as GLint 388 type PFNGLGETPROGRAMIVPROC as sub(byval program as GLuint, byval pname as GLenum, byval params as GLint ptr) 389 type PFNGLGETPROGRAMINFOLOGPROC as sub(byval program as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval infoLog as GLchar ptr) 390 type PFNGLGETSHADERIVPROC as sub(byval shader as GLuint, byval pname as GLenum, byval params as GLint ptr) 391 type PFNGLGETSHADERINFOLOGPROC as sub(byval shader as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval infoLog as GLchar ptr) 392 type PFNGLGETSHADERSOURCEPROC as sub(byval shader as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval source as GLchar ptr) 393 type PFNGLGETUNIFORMLOCATIONPROC as function(byval program as GLuint, byval name as const GLchar ptr) as GLint 394 type PFNGLGETUNIFORMFVPROC as sub(byval program as GLuint, byval location as GLint, byval params as GLfloat ptr) 395 type PFNGLGETUNIFORMIVPROC as sub(byval program as GLuint, byval location as GLint, byval params as GLint ptr) 396 type PFNGLGETVERTEXATTRIBDVPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLdouble ptr) 397 type PFNGLGETVERTEXATTRIBFVPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLfloat ptr) 398 type PFNGLGETVERTEXATTRIBIVPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLint ptr) 399 type PFNGLGETVERTEXATTRIBPOINTERVPROC as sub(byval index as GLuint, byval pname as GLenum, byval pointer as any ptr ptr) 400 type PFNGLISPROGRAMPROC as function(byval program as GLuint) as GLboolean 401 type PFNGLISSHADERPROC as function(byval shader as GLuint) as GLboolean 402 type PFNGLLINKPROGRAMPROC as sub(byval program as GLuint) 403 type PFNGLSHADERSOURCEPROC as sub(byval shader as GLuint, byval count as GLsizei, byval string as const GLchar const ptr ptr, byval length as const GLint ptr) 404 type PFNGLUSEPROGRAMPROC as sub(byval program as GLuint) 405 type PFNGLUNIFORM1FPROC as sub(byval location as GLint, byval v0 as GLfloat) 406 type PFNGLUNIFORM2FPROC as sub(byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat) 407 type PFNGLUNIFORM3FPROC as sub(byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat) 408 type PFNGLUNIFORM4FPROC as sub(byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat, byval v3 as GLfloat) 409 type PFNGLUNIFORM1IPROC as sub(byval location as GLint, byval v0 as GLint) 410 type PFNGLUNIFORM2IPROC as sub(byval location as GLint, byval v0 as GLint, byval v1 as GLint) 411 type PFNGLUNIFORM3IPROC as sub(byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint) 412 type PFNGLUNIFORM4IPROC as sub(byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint, byval v3 as GLint) 413 type PFNGLUNIFORM1FVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 414 type PFNGLUNIFORM2FVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 415 type PFNGLUNIFORM3FVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 416 type PFNGLUNIFORM4FVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 417 type PFNGLUNIFORM1IVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 418 type PFNGLUNIFORM2IVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 419 type PFNGLUNIFORM3IVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 420 type PFNGLUNIFORM4IVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 421 type PFNGLUNIFORMMATRIX2FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 422 type PFNGLUNIFORMMATRIX3FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 423 type PFNGLUNIFORMMATRIX4FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 424 type PFNGLVALIDATEPROGRAMPROC as sub(byval program as GLuint) 425 type PFNGLVERTEXATTRIB1DPROC as sub(byval index as GLuint, byval x as GLdouble) 426 type PFNGLVERTEXATTRIB1DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 427 type PFNGLVERTEXATTRIB1FPROC as sub(byval index as GLuint, byval x as GLfloat) 428 type PFNGLVERTEXATTRIB1FVPROC as sub(byval index as GLuint, byval v as const GLfloat ptr) 429 type PFNGLVERTEXATTRIB1SPROC as sub(byval index as GLuint, byval x as GLshort) 430 type PFNGLVERTEXATTRIB1SVPROC as sub(byval index as GLuint, byval v as const GLshort ptr) 431 type PFNGLVERTEXATTRIB2DPROC as sub(byval index as GLuint, byval x as GLdouble, byval y as GLdouble) 432 type PFNGLVERTEXATTRIB2DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 433 type PFNGLVERTEXATTRIB2FPROC as sub(byval index as GLuint, byval x as GLfloat, byval y as GLfloat) 434 type PFNGLVERTEXATTRIB2FVPROC as sub(byval index as GLuint, byval v as const GLfloat ptr) 435 type PFNGLVERTEXATTRIB2SPROC as sub(byval index as GLuint, byval x as GLshort, byval y as GLshort) 436 type PFNGLVERTEXATTRIB2SVPROC as sub(byval index as GLuint, byval v as const GLshort ptr) 437 type PFNGLVERTEXATTRIB3DPROC as sub(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 438 type PFNGLVERTEXATTRIB3DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 439 type PFNGLVERTEXATTRIB3FPROC as sub(byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat) 440 type PFNGLVERTEXATTRIB3FVPROC as sub(byval index as GLuint, byval v as const GLfloat ptr) 441 type PFNGLVERTEXATTRIB3SPROC as sub(byval index as GLuint, byval x as GLshort, byval y as GLshort, byval z as GLshort) 442 type PFNGLVERTEXATTRIB3SVPROC as sub(byval index as GLuint, byval v as const GLshort ptr) 443 type PFNGLVERTEXATTRIB4NBVPROC as sub(byval index as GLuint, byval v as const GLbyte ptr) 444 type PFNGLVERTEXATTRIB4NIVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 445 type PFNGLVERTEXATTRIB4NSVPROC as sub(byval index as GLuint, byval v as const GLshort ptr) 446 type PFNGLVERTEXATTRIB4NUBPROC as sub(byval index as GLuint, byval x as GLubyte, byval y as GLubyte, byval z as GLubyte, byval w as GLubyte) 447 type PFNGLVERTEXATTRIB4NUBVPROC as sub(byval index as GLuint, byval v as const GLubyte ptr) 448 type PFNGLVERTEXATTRIB4NUIVPROC as sub(byval index as GLuint, byval v as const GLuint ptr) 449 type PFNGLVERTEXATTRIB4NUSVPROC as sub(byval index as GLuint, byval v as const GLushort ptr) 450 type PFNGLVERTEXATTRIB4BVPROC as sub(byval index as GLuint, byval v as const GLbyte ptr) 451 type PFNGLVERTEXATTRIB4DPROC as sub(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 452 type PFNGLVERTEXATTRIB4DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 453 type PFNGLVERTEXATTRIB4FPROC as sub(byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat, byval w as GLfloat) 454 type PFNGLVERTEXATTRIB4FVPROC as sub(byval index as GLuint, byval v as const GLfloat ptr) 455 type PFNGLVERTEXATTRIB4IVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 456 type PFNGLVERTEXATTRIB4SPROC as sub(byval index as GLuint, byval x as GLshort, byval y as GLshort, byval z as GLshort, byval w as GLshort) 457 type PFNGLVERTEXATTRIB4SVPROC as sub(byval index as GLuint, byval v as const GLshort ptr) 458 type PFNGLVERTEXATTRIB4UBVPROC as sub(byval index as GLuint, byval v as const GLubyte ptr) 459 type PFNGLVERTEXATTRIB4UIVPROC as sub(byval index as GLuint, byval v as const GLuint ptr) 460 type PFNGLVERTEXATTRIB4USVPROC as sub(byval index as GLuint, byval v as const GLushort ptr) 461 type PFNGLVERTEXATTRIBPOINTERPROC as sub(byval index as GLuint, byval size as GLint, byval type as GLenum, byval normalized as GLboolean, byval stride as GLsizei, byval pointer as const any ptr) 462 463 #ifdef GL_GLEXT_PROTOTYPES 464 declare sub glBlendEquationSeparate(byval modeRGB as GLenum, byval modeAlpha as GLenum) 465 declare sub glDrawBuffers(byval n as GLsizei, byval bufs as const GLenum ptr) 466 declare sub glStencilOpSeparate(byval face as GLenum, byval sfail as GLenum, byval dpfail as GLenum, byval dppass as GLenum) 467 declare sub glStencilFuncSeparate(byval face as GLenum, byval func as GLenum, byval ref as GLint, byval mask as GLuint) 468 declare sub glStencilMaskSeparate(byval face as GLenum, byval mask as GLuint) 469 declare sub glAttachShader(byval program as GLuint, byval shader as GLuint) 470 declare sub glBindAttribLocation(byval program as GLuint, byval index as GLuint, byval name as const GLchar ptr) 471 declare sub glCompileShader(byval shader as GLuint) 472 declare function glCreateProgram() as GLuint 473 declare function glCreateShader(byval type as GLenum) as GLuint 474 declare sub glDeleteProgram(byval program as GLuint) 475 declare sub glDeleteShader(byval shader as GLuint) 476 declare sub glDetachShader(byval program as GLuint, byval shader as GLuint) 477 declare sub glDisableVertexAttribArray(byval index as GLuint) 478 declare sub glEnableVertexAttribArray(byval index as GLuint) 479 declare sub glGetActiveAttrib(byval program as GLuint, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval size as GLint ptr, byval type as GLenum ptr, byval name as GLchar ptr) 480 declare sub glGetActiveUniform(byval program as GLuint, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval size as GLint ptr, byval type as GLenum ptr, byval name as GLchar ptr) 481 declare sub glGetAttachedShaders(byval program as GLuint, byval maxCount as GLsizei, byval count as GLsizei ptr, byval shaders as GLuint ptr) 482 declare function glGetAttribLocation(byval program as GLuint, byval name as const GLchar ptr) as GLint 483 declare sub glGetProgramiv(byval program as GLuint, byval pname as GLenum, byval params as GLint ptr) 484 declare sub glGetProgramInfoLog(byval program as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval infoLog as GLchar ptr) 485 declare sub glGetShaderiv(byval shader as GLuint, byval pname as GLenum, byval params as GLint ptr) 486 declare sub glGetShaderInfoLog(byval shader as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval infoLog as GLchar ptr) 487 declare sub glGetShaderSource(byval shader as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval source as GLchar ptr) 488 declare function glGetUniformLocation(byval program as GLuint, byval name as const GLchar ptr) as GLint 489 declare sub glGetUniformfv(byval program as GLuint, byval location as GLint, byval params as GLfloat ptr) 490 declare sub glGetUniformiv(byval program as GLuint, byval location as GLint, byval params as GLint ptr) 491 declare sub glGetVertexAttribdv(byval index as GLuint, byval pname as GLenum, byval params as GLdouble ptr) 492 declare sub glGetVertexAttribfv(byval index as GLuint, byval pname as GLenum, byval params as GLfloat ptr) 493 declare sub glGetVertexAttribiv(byval index as GLuint, byval pname as GLenum, byval params as GLint ptr) 494 declare sub glGetVertexAttribPointerv(byval index as GLuint, byval pname as GLenum, byval pointer as any ptr ptr) 495 declare function glIsProgram(byval program as GLuint) as GLboolean 496 declare function glIsShader(byval shader as GLuint) as GLboolean 497 declare sub glLinkProgram(byval program as GLuint) 498 declare sub glShaderSource(byval shader as GLuint, byval count as GLsizei, byval string as const GLchar const ptr ptr, byval length as const GLint ptr) 499 declare sub glUseProgram(byval program as GLuint) 500 declare sub glUniform1f(byval location as GLint, byval v0 as GLfloat) 501 declare sub glUniform2f(byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat) 502 declare sub glUniform3f(byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat) 503 declare sub glUniform4f(byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat, byval v3 as GLfloat) 504 declare sub glUniform1i(byval location as GLint, byval v0 as GLint) 505 declare sub glUniform2i(byval location as GLint, byval v0 as GLint, byval v1 as GLint) 506 declare sub glUniform3i(byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint) 507 declare sub glUniform4i(byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint, byval v3 as GLint) 508 declare sub glUniform1fv(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 509 declare sub glUniform2fv(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 510 declare sub glUniform3fv(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 511 declare sub glUniform4fv(byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 512 declare sub glUniform1iv(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 513 declare sub glUniform2iv(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 514 declare sub glUniform3iv(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 515 declare sub glUniform4iv(byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 516 declare sub glUniformMatrix2fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 517 declare sub glUniformMatrix3fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 518 declare sub glUniformMatrix4fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 519 declare sub glValidateProgram(byval program as GLuint) 520 declare sub glVertexAttrib1d(byval index as GLuint, byval x as GLdouble) 521 declare sub glVertexAttrib1dv(byval index as GLuint, byval v as const GLdouble ptr) 522 declare sub glVertexAttrib1f(byval index as GLuint, byval x as GLfloat) 523 declare sub glVertexAttrib1fv(byval index as GLuint, byval v as const GLfloat ptr) 524 declare sub glVertexAttrib1s(byval index as GLuint, byval x as GLshort) 525 declare sub glVertexAttrib1sv(byval index as GLuint, byval v as const GLshort ptr) 526 declare sub glVertexAttrib2d(byval index as GLuint, byval x as GLdouble, byval y as GLdouble) 527 declare sub glVertexAttrib2dv(byval index as GLuint, byval v as const GLdouble ptr) 528 declare sub glVertexAttrib2f(byval index as GLuint, byval x as GLfloat, byval y as GLfloat) 529 declare sub glVertexAttrib2fv(byval index as GLuint, byval v as const GLfloat ptr) 530 declare sub glVertexAttrib2s(byval index as GLuint, byval x as GLshort, byval y as GLshort) 531 declare sub glVertexAttrib2sv(byval index as GLuint, byval v as const GLshort ptr) 532 declare sub glVertexAttrib3d(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 533 declare sub glVertexAttrib3dv(byval index as GLuint, byval v as const GLdouble ptr) 534 declare sub glVertexAttrib3f(byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat) 535 declare sub glVertexAttrib3fv(byval index as GLuint, byval v as const GLfloat ptr) 536 declare sub glVertexAttrib3s(byval index as GLuint, byval x as GLshort, byval y as GLshort, byval z as GLshort) 537 declare sub glVertexAttrib3sv(byval index as GLuint, byval v as const GLshort ptr) 538 declare sub glVertexAttrib4Nbv(byval index as GLuint, byval v as const GLbyte ptr) 539 declare sub glVertexAttrib4Niv(byval index as GLuint, byval v as const GLint ptr) 540 declare sub glVertexAttrib4Nsv(byval index as GLuint, byval v as const GLshort ptr) 541 declare sub glVertexAttrib4Nub(byval index as GLuint, byval x as GLubyte, byval y as GLubyte, byval z as GLubyte, byval w as GLubyte) 542 declare sub glVertexAttrib4Nubv(byval index as GLuint, byval v as const GLubyte ptr) 543 declare sub glVertexAttrib4Nuiv(byval index as GLuint, byval v as const GLuint ptr) 544 declare sub glVertexAttrib4Nusv(byval index as GLuint, byval v as const GLushort ptr) 545 declare sub glVertexAttrib4bv(byval index as GLuint, byval v as const GLbyte ptr) 546 declare sub glVertexAttrib4d(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 547 declare sub glVertexAttrib4dv(byval index as GLuint, byval v as const GLdouble ptr) 548 declare sub glVertexAttrib4f(byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat, byval w as GLfloat) 549 declare sub glVertexAttrib4fv(byval index as GLuint, byval v as const GLfloat ptr) 550 declare sub glVertexAttrib4iv(byval index as GLuint, byval v as const GLint ptr) 551 declare sub glVertexAttrib4s(byval index as GLuint, byval x as GLshort, byval y as GLshort, byval z as GLshort, byval w as GLshort) 552 declare sub glVertexAttrib4sv(byval index as GLuint, byval v as const GLshort ptr) 553 declare sub glVertexAttrib4ubv(byval index as GLuint, byval v as const GLubyte ptr) 554 declare sub glVertexAttrib4uiv(byval index as GLuint, byval v as const GLuint ptr) 555 declare sub glVertexAttrib4usv(byval index as GLuint, byval v as const GLushort ptr) 556 declare sub glVertexAttribPointer(byval index as GLuint, byval size as GLint, byval type as GLenum, byval normalized as GLboolean, byval stride as GLsizei, byval pointer as const any ptr) 557 #endif 558 559 const GL_VERSION_2_1 = 1 560 const GL_PIXEL_PACK_BUFFER = &h88EB 561 const GL_PIXEL_UNPACK_BUFFER = &h88EC 562 const GL_PIXEL_PACK_BUFFER_BINDING = &h88ED 563 const GL_PIXEL_UNPACK_BUFFER_BINDING = &h88EF 564 const GL_FLOAT_MAT2x3 = &h8B65 565 const GL_FLOAT_MAT2x4 = &h8B66 566 const GL_FLOAT_MAT3x2 = &h8B67 567 const GL_FLOAT_MAT3x4 = &h8B68 568 const GL_FLOAT_MAT4x2 = &h8B69 569 const GL_FLOAT_MAT4x3 = &h8B6A 570 const GL_SRGB = &h8C40 571 const GL_SRGB8 = &h8C41 572 const GL_SRGB_ALPHA = &h8C42 573 const GL_SRGB8_ALPHA8 = &h8C43 574 const GL_COMPRESSED_SRGB = &h8C48 575 const GL_COMPRESSED_SRGB_ALPHA = &h8C49 576 const GL_CURRENT_RASTER_SECONDARY_COLOR = &h845F 577 const GL_SLUMINANCE_ALPHA = &h8C44 578 const GL_SLUMINANCE8_ALPHA8 = &h8C45 579 const GL_SLUMINANCE = &h8C46 580 const GL_SLUMINANCE8 = &h8C47 581 const GL_COMPRESSED_SLUMINANCE = &h8C4A 582 const GL_COMPRESSED_SLUMINANCE_ALPHA = &h8C4B 583 584 type PFNGLUNIFORMMATRIX2X3FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 585 type PFNGLUNIFORMMATRIX3X2FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 586 type PFNGLUNIFORMMATRIX2X4FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 587 type PFNGLUNIFORMMATRIX4X2FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 588 type PFNGLUNIFORMMATRIX3X4FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 589 type PFNGLUNIFORMMATRIX4X3FVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 590 591 #ifdef GL_GLEXT_PROTOTYPES 592 declare sub glUniformMatrix2x3fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 593 declare sub glUniformMatrix3x2fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 594 declare sub glUniformMatrix2x4fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 595 declare sub glUniformMatrix4x2fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 596 declare sub glUniformMatrix3x4fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 597 declare sub glUniformMatrix4x3fv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 598 #endif 599 600 const GL_VERSION_3_0 = 1 601 type GLhalf as ushort 602 const GL_COMPARE_REF_TO_TEXTURE = &h884E 603 const GL_CLIP_DISTANCE0 = &h3000 604 const GL_CLIP_DISTANCE1 = &h3001 605 const GL_CLIP_DISTANCE2 = &h3002 606 const GL_CLIP_DISTANCE3 = &h3003 607 const GL_CLIP_DISTANCE4 = &h3004 608 const GL_CLIP_DISTANCE5 = &h3005 609 const GL_CLIP_DISTANCE6 = &h3006 610 const GL_CLIP_DISTANCE7 = &h3007 611 const GL_MAX_CLIP_DISTANCES = &h0D32 612 const GL_MAJOR_VERSION = &h821B 613 const GL_MINOR_VERSION = &h821C 614 const GL_NUM_EXTENSIONS = &h821D 615 const GL_CONTEXT_FLAGS = &h821E 616 const GL_COMPRESSED_RED = &h8225 617 const GL_COMPRESSED_RG = &h8226 618 const GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = &h00000001 619 const GL_RGBA32F = &h8814 620 const GL_RGB32F = &h8815 621 const GL_RGBA16F = &h881A 622 const GL_RGB16F = &h881B 623 const GL_VERTEX_ATTRIB_ARRAY_INTEGER = &h88FD 624 const GL_MAX_ARRAY_TEXTURE_LAYERS = &h88FF 625 const GL_MIN_PROGRAM_TEXEL_OFFSET = &h8904 626 const GL_MAX_PROGRAM_TEXEL_OFFSET = &h8905 627 const GL_CLAMP_READ_COLOR = &h891C 628 const GL_FIXED_ONLY = &h891D 629 const GL_MAX_VARYING_COMPONENTS = &h8B4B 630 const GL_TEXTURE_1D_ARRAY = &h8C18 631 const GL_PROXY_TEXTURE_1D_ARRAY = &h8C19 632 const GL_TEXTURE_2D_ARRAY = &h8C1A 633 const GL_PROXY_TEXTURE_2D_ARRAY = &h8C1B 634 const GL_TEXTURE_BINDING_1D_ARRAY = &h8C1C 635 const GL_TEXTURE_BINDING_2D_ARRAY = &h8C1D 636 const GL_R11F_G11F_B10F = &h8C3A 637 const GL_UNSIGNED_INT_10F_11F_11F_REV = &h8C3B 638 const GL_RGB9_E5 = &h8C3D 639 const GL_UNSIGNED_INT_5_9_9_9_REV = &h8C3E 640 const GL_TEXTURE_SHARED_SIZE = &h8C3F 641 const GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = &h8C76 642 const GL_TRANSFORM_FEEDBACK_BUFFER_MODE = &h8C7F 643 const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = &h8C80 644 const GL_TRANSFORM_FEEDBACK_VARYINGS = &h8C83 645 const GL_TRANSFORM_FEEDBACK_BUFFER_START = &h8C84 646 const GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = &h8C85 647 const GL_PRIMITIVES_GENERATED = &h8C87 648 const GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = &h8C88 649 const GL_RASTERIZER_DISCARD = &h8C89 650 const GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = &h8C8A 651 const GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = &h8C8B 652 const GL_INTERLEAVED_ATTRIBS = &h8C8C 653 const GL_SEPARATE_ATTRIBS = &h8C8D 654 const GL_TRANSFORM_FEEDBACK_BUFFER = &h8C8E 655 const GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = &h8C8F 656 const GL_RGBA32UI = &h8D70 657 const GL_RGB32UI = &h8D71 658 const GL_RGBA16UI = &h8D76 659 const GL_RGB16UI = &h8D77 660 const GL_RGBA8UI = &h8D7C 661 const GL_RGB8UI = &h8D7D 662 const GL_RGBA32I = &h8D82 663 const GL_RGB32I = &h8D83 664 const GL_RGBA16I = &h8D88 665 const GL_RGB16I = &h8D89 666 const GL_RGBA8I = &h8D8E 667 const GL_RGB8I = &h8D8F 668 const GL_RED_INTEGER = &h8D94 669 const GL_GREEN_INTEGER = &h8D95 670 const GL_BLUE_INTEGER = &h8D96 671 const GL_RGB_INTEGER = &h8D98 672 const GL_RGBA_INTEGER = &h8D99 673 const GL_BGR_INTEGER = &h8D9A 674 const GL_BGRA_INTEGER = &h8D9B 675 const GL_SAMPLER_1D_ARRAY = &h8DC0 676 const GL_SAMPLER_2D_ARRAY = &h8DC1 677 const GL_SAMPLER_1D_ARRAY_SHADOW = &h8DC3 678 const GL_SAMPLER_2D_ARRAY_SHADOW = &h8DC4 679 const GL_SAMPLER_CUBE_SHADOW = &h8DC5 680 const GL_UNSIGNED_INT_VEC2 = &h8DC6 681 const GL_UNSIGNED_INT_VEC3 = &h8DC7 682 const GL_UNSIGNED_INT_VEC4 = &h8DC8 683 const GL_INT_SAMPLER_1D = &h8DC9 684 const GL_INT_SAMPLER_2D = &h8DCA 685 const GL_INT_SAMPLER_3D = &h8DCB 686 const GL_INT_SAMPLER_CUBE = &h8DCC 687 const GL_INT_SAMPLER_1D_ARRAY = &h8DCE 688 const GL_INT_SAMPLER_2D_ARRAY = &h8DCF 689 const GL_UNSIGNED_INT_SAMPLER_1D = &h8DD1 690 const GL_UNSIGNED_INT_SAMPLER_2D = &h8DD2 691 const GL_UNSIGNED_INT_SAMPLER_3D = &h8DD3 692 const GL_UNSIGNED_INT_SAMPLER_CUBE = &h8DD4 693 const GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = &h8DD6 694 const GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = &h8DD7 695 const GL_QUERY_WAIT = &h8E13 696 const GL_QUERY_NO_WAIT = &h8E14 697 const GL_QUERY_BY_REGION_WAIT = &h8E15 698 const GL_QUERY_BY_REGION_NO_WAIT = &h8E16 699 const GL_BUFFER_ACCESS_FLAGS = &h911F 700 const GL_BUFFER_MAP_LENGTH = &h9120 701 const GL_BUFFER_MAP_OFFSET = &h9121 702 const GL_DEPTH_COMPONENT32F = &h8CAC 703 const GL_DEPTH32F_STENCIL8 = &h8CAD 704 const GL_FLOAT_32_UNSIGNED_INT_24_8_REV = &h8DAD 705 const GL_INVALID_FRAMEBUFFER_OPERATION = &h0506 706 const GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = &h8210 707 const GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = &h8211 708 const GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = &h8212 709 const GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = &h8213 710 const GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = &h8214 711 const GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = &h8215 712 const GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = &h8216 713 const GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = &h8217 714 const GL_FRAMEBUFFER_DEFAULT = &h8218 715 const GL_FRAMEBUFFER_UNDEFINED = &h8219 716 const GL_DEPTH_STENCIL_ATTACHMENT = &h821A 717 const GL_MAX_RENDERBUFFER_SIZE = &h84E8 718 const GL_DEPTH_STENCIL = &h84F9 719 const GL_UNSIGNED_INT_24_8 = &h84FA 720 const GL_DEPTH24_STENCIL8 = &h88F0 721 const GL_TEXTURE_STENCIL_SIZE = &h88F1 722 const GL_TEXTURE_RED_TYPE = &h8C10 723 const GL_TEXTURE_GREEN_TYPE = &h8C11 724 const GL_TEXTURE_BLUE_TYPE = &h8C12 725 const GL_TEXTURE_ALPHA_TYPE = &h8C13 726 const GL_TEXTURE_DEPTH_TYPE = &h8C16 727 const GL_UNSIGNED_NORMALIZED = &h8C17 728 const GL_FRAMEBUFFER_BINDING = &h8CA6 729 const GL_DRAW_FRAMEBUFFER_BINDING = &h8CA6 730 const GL_RENDERBUFFER_BINDING = &h8CA7 731 const GL_READ_FRAMEBUFFER = &h8CA8 732 const GL_DRAW_FRAMEBUFFER = &h8CA9 733 const GL_READ_FRAMEBUFFER_BINDING = &h8CAA 734 const GL_RENDERBUFFER_SAMPLES = &h8CAB 735 const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = &h8CD0 736 const GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = &h8CD1 737 const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = &h8CD2 738 const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = &h8CD3 739 const GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = &h8CD4 740 const GL_FRAMEBUFFER_COMPLETE = &h8CD5 741 const GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = &h8CD6 742 const GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = &h8CD7 743 const GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = &h8CDB 744 const GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = &h8CDC 745 const GL_FRAMEBUFFER_UNSUPPORTED = &h8CDD 746 const GL_MAX_COLOR_ATTACHMENTS = &h8CDF 747 const GL_COLOR_ATTACHMENT0 = &h8CE0 748 const GL_COLOR_ATTACHMENT1 = &h8CE1 749 const GL_COLOR_ATTACHMENT2 = &h8CE2 750 const GL_COLOR_ATTACHMENT3 = &h8CE3 751 const GL_COLOR_ATTACHMENT4 = &h8CE4 752 const GL_COLOR_ATTACHMENT5 = &h8CE5 753 const GL_COLOR_ATTACHMENT6 = &h8CE6 754 const GL_COLOR_ATTACHMENT7 = &h8CE7 755 const GL_COLOR_ATTACHMENT8 = &h8CE8 756 const GL_COLOR_ATTACHMENT9 = &h8CE9 757 const GL_COLOR_ATTACHMENT10 = &h8CEA 758 const GL_COLOR_ATTACHMENT11 = &h8CEB 759 const GL_COLOR_ATTACHMENT12 = &h8CEC 760 const GL_COLOR_ATTACHMENT13 = &h8CED 761 const GL_COLOR_ATTACHMENT14 = &h8CEE 762 const GL_COLOR_ATTACHMENT15 = &h8CEF 763 const GL_DEPTH_ATTACHMENT = &h8D00 764 const GL_STENCIL_ATTACHMENT = &h8D20 765 const GL_FRAMEBUFFER = &h8D40 766 const GL_RENDERBUFFER = &h8D41 767 const GL_RENDERBUFFER_WIDTH = &h8D42 768 const GL_RENDERBUFFER_HEIGHT = &h8D43 769 const GL_RENDERBUFFER_INTERNAL_FORMAT = &h8D44 770 const GL_STENCIL_INDEX1 = &h8D46 771 const GL_STENCIL_INDEX4 = &h8D47 772 const GL_STENCIL_INDEX8 = &h8D48 773 const GL_STENCIL_INDEX16 = &h8D49 774 const GL_RENDERBUFFER_RED_SIZE = &h8D50 775 const GL_RENDERBUFFER_GREEN_SIZE = &h8D51 776 const GL_RENDERBUFFER_BLUE_SIZE = &h8D52 777 const GL_RENDERBUFFER_ALPHA_SIZE = &h8D53 778 const GL_RENDERBUFFER_DEPTH_SIZE = &h8D54 779 const GL_RENDERBUFFER_STENCIL_SIZE = &h8D55 780 const GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = &h8D56 781 const GL_MAX_SAMPLES = &h8D57 782 const GL_INDEX = &h8222 783 const GL_TEXTURE_LUMINANCE_TYPE = &h8C14 784 const GL_TEXTURE_INTENSITY_TYPE = &h8C15 785 const GL_FRAMEBUFFER_SRGB = &h8DB9 786 const GL_HALF_FLOAT = &h140B 787 const GL_MAP_READ_BIT = &h0001 788 const GL_MAP_WRITE_BIT = &h0002 789 const GL_MAP_INVALIDATE_RANGE_BIT = &h0004 790 const GL_MAP_INVALIDATE_BUFFER_BIT = &h0008 791 const GL_MAP_FLUSH_EXPLICIT_BIT = &h0010 792 const GL_MAP_UNSYNCHRONIZED_BIT = &h0020 793 const GL_COMPRESSED_RED_RGTC1 = &h8DBB 794 const GL_COMPRESSED_SIGNED_RED_RGTC1 = &h8DBC 795 const GL_COMPRESSED_RG_RGTC2 = &h8DBD 796 const GL_COMPRESSED_SIGNED_RG_RGTC2 = &h8DBE 797 const GL_RG = &h8227 798 const GL_RG_INTEGER = &h8228 799 const GL_R8 = &h8229 800 const GL_R16 = &h822A 801 const GL_RG8 = &h822B 802 const GL_RG16 = &h822C 803 const GL_R16F = &h822D 804 const GL_R32F = &h822E 805 const GL_RG16F = &h822F 806 const GL_RG32F = &h8230 807 const GL_R8I = &h8231 808 const GL_R8UI = &h8232 809 const GL_R16I = &h8233 810 const GL_R16UI = &h8234 811 const GL_R32I = &h8235 812 const GL_R32UI = &h8236 813 const GL_RG8I = &h8237 814 const GL_RG8UI = &h8238 815 const GL_RG16I = &h8239 816 const GL_RG16UI = &h823A 817 const GL_RG32I = &h823B 818 const GL_RG32UI = &h823C 819 const GL_VERTEX_ARRAY_BINDING = &h85B5 820 const GL_CLAMP_VERTEX_COLOR = &h891A 821 const GL_CLAMP_FRAGMENT_COLOR = &h891B 822 const GL_ALPHA_INTEGER = &h8D97 823 824 type PFNGLCOLORMASKIPROC as sub(byval index as GLuint, byval r as GLboolean, byval g as GLboolean, byval b as GLboolean, byval a as GLboolean) 825 type PFNGLGETBOOLEANI_VPROC as sub(byval target as GLenum, byval index as GLuint, byval data as GLboolean ptr) 826 type PFNGLGETINTEGERI_VPROC as sub(byval target as GLenum, byval index as GLuint, byval data as GLint ptr) 827 type PFNGLENABLEIPROC as sub(byval target as GLenum, byval index as GLuint) 828 type PFNGLDISABLEIPROC as sub(byval target as GLenum, byval index as GLuint) 829 type PFNGLISENABLEDIPROC as function(byval target as GLenum, byval index as GLuint) as GLboolean 830 type PFNGLBEGINTRANSFORMFEEDBACKPROC as sub(byval primitiveMode as GLenum) 831 type PFNGLENDTRANSFORMFEEDBACKPROC as sub() 832 type PFNGLBINDBUFFERRANGEPROC as sub(byval target as GLenum, byval index as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 833 type PFNGLBINDBUFFERBASEPROC as sub(byval target as GLenum, byval index as GLuint, byval buffer as GLuint) 834 type PFNGLTRANSFORMFEEDBACKVARYINGSPROC as sub(byval program as GLuint, byval count as GLsizei, byval varyings as const GLchar const ptr ptr, byval bufferMode as GLenum) 835 type PFNGLGETTRANSFORMFEEDBACKVARYINGPROC as sub(byval program as GLuint, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval size as GLsizei ptr, byval type as GLenum ptr, byval name as GLchar ptr) 836 type PFNGLCLAMPCOLORPROC as sub(byval target as GLenum, byval clamp as GLenum) 837 type PFNGLBEGINCONDITIONALRENDERPROC as sub(byval id as GLuint, byval mode as GLenum) 838 type PFNGLENDCONDITIONALRENDERPROC as sub() 839 type PFNGLVERTEXATTRIBIPOINTERPROC as sub(byval index as GLuint, byval size as GLint, byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 840 type PFNGLGETVERTEXATTRIBIIVPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLint ptr) 841 type PFNGLGETVERTEXATTRIBIUIVPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLuint ptr) 842 type PFNGLVERTEXATTRIBI1IPROC as sub(byval index as GLuint, byval x as GLint) 843 type PFNGLVERTEXATTRIBI2IPROC as sub(byval index as GLuint, byval x as GLint, byval y as GLint) 844 type PFNGLVERTEXATTRIBI3IPROC as sub(byval index as GLuint, byval x as GLint, byval y as GLint, byval z as GLint) 845 type PFNGLVERTEXATTRIBI4IPROC as sub(byval index as GLuint, byval x as GLint, byval y as GLint, byval z as GLint, byval w as GLint) 846 type PFNGLVERTEXATTRIBI1UIPROC as sub(byval index as GLuint, byval x as GLuint) 847 type PFNGLVERTEXATTRIBI2UIPROC as sub(byval index as GLuint, byval x as GLuint, byval y as GLuint) 848 type PFNGLVERTEXATTRIBI3UIPROC as sub(byval index as GLuint, byval x as GLuint, byval y as GLuint, byval z as GLuint) 849 type PFNGLVERTEXATTRIBI4UIPROC as sub(byval index as GLuint, byval x as GLuint, byval y as GLuint, byval z as GLuint, byval w as GLuint) 850 type PFNGLVERTEXATTRIBI1IVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 851 type PFNGLVERTEXATTRIBI2IVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 852 type PFNGLVERTEXATTRIBI3IVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 853 type PFNGLVERTEXATTRIBI4IVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 854 type PFNGLVERTEXATTRIBI1UIVPROC as sub(byval index as GLuint, byval v as const GLuint ptr) 855 type PFNGLVERTEXATTRIBI2UIVPROC as sub(byval index as GLuint, byval v as const GLuint ptr) 856 type PFNGLVERTEXATTRIBI3UIVPROC as sub(byval index as GLuint, byval v as const GLuint ptr) 857 type PFNGLVERTEXATTRIBI4UIVPROC as sub(byval index as GLuint, byval v as const GLuint ptr) 858 type PFNGLVERTEXATTRIBI4BVPROC as sub(byval index as GLuint, byval v as const GLbyte ptr) 859 type PFNGLVERTEXATTRIBI4SVPROC as sub(byval index as GLuint, byval v as const GLshort ptr) 860 type PFNGLVERTEXATTRIBI4UBVPROC as sub(byval index as GLuint, byval v as const GLubyte ptr) 861 type PFNGLVERTEXATTRIBI4USVPROC as sub(byval index as GLuint, byval v as const GLushort ptr) 862 type PFNGLGETUNIFORMUIVPROC as sub(byval program as GLuint, byval location as GLint, byval params as GLuint ptr) 863 type PFNGLBINDFRAGDATALOCATIONPROC as sub(byval program as GLuint, byval color as GLuint, byval name as const GLchar ptr) 864 type PFNGLGETFRAGDATALOCATIONPROC as function(byval program as GLuint, byval name as const GLchar ptr) as GLint 865 type PFNGLUNIFORM1UIPROC as sub(byval location as GLint, byval v0 as GLuint) 866 type PFNGLUNIFORM2UIPROC as sub(byval location as GLint, byval v0 as GLuint, byval v1 as GLuint) 867 type PFNGLUNIFORM3UIPROC as sub(byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint) 868 type PFNGLUNIFORM4UIPROC as sub(byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint, byval v3 as GLuint) 869 type PFNGLUNIFORM1UIVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 870 type PFNGLUNIFORM2UIVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 871 type PFNGLUNIFORM3UIVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 872 type PFNGLUNIFORM4UIVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 873 type PFNGLTEXPARAMETERIIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as const GLint ptr) 874 type PFNGLTEXPARAMETERIUIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as const GLuint ptr) 875 type PFNGLGETTEXPARAMETERIIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 876 type PFNGLGETTEXPARAMETERIUIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLuint ptr) 877 type PFNGLCLEARBUFFERIVPROC as sub(byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLint ptr) 878 type PFNGLCLEARBUFFERUIVPROC as sub(byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLuint ptr) 879 type PFNGLCLEARBUFFERFVPROC as sub(byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLfloat ptr) 880 type PFNGLCLEARBUFFERFIPROC as sub(byval buffer as GLenum, byval drawbuffer as GLint, byval depth as GLfloat, byval stencil as GLint) 881 type PFNGLGETSTRINGIPROC as function(byval name as GLenum, byval index as GLuint) as const zstring ptr 882 type PFNGLISRENDERBUFFERPROC as function(byval renderbuffer as GLuint) as GLboolean 883 type PFNGLBINDRENDERBUFFERPROC as sub(byval target as GLenum, byval renderbuffer as GLuint) 884 type PFNGLDELETERENDERBUFFERSPROC as sub(byval n as GLsizei, byval renderbuffers as const GLuint ptr) 885 type PFNGLGENRENDERBUFFERSPROC as sub(byval n as GLsizei, byval renderbuffers as GLuint ptr) 886 type PFNGLRENDERBUFFERSTORAGEPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 887 type PFNGLGETRENDERBUFFERPARAMETERIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 888 type PFNGLISFRAMEBUFFERPROC as function(byval framebuffer as GLuint) as GLboolean 889 type PFNGLBINDFRAMEBUFFERPROC as sub(byval target as GLenum, byval framebuffer as GLuint) 890 type PFNGLDELETEFRAMEBUFFERSPROC as sub(byval n as GLsizei, byval framebuffers as const GLuint ptr) 891 type PFNGLGENFRAMEBUFFERSPROC as sub(byval n as GLsizei, byval framebuffers as GLuint ptr) 892 type PFNGLCHECKFRAMEBUFFERSTATUSPROC as function(byval target as GLenum) as GLenum 893 type PFNGLFRAMEBUFFERTEXTURE1DPROC as sub(byval target as GLenum, byval attachment as GLenum, byval textarget as GLenum, byval texture as GLuint, byval level as GLint) 894 type PFNGLFRAMEBUFFERTEXTURE2DPROC as sub(byval target as GLenum, byval attachment as GLenum, byval textarget as GLenum, byval texture as GLuint, byval level as GLint) 895 type PFNGLFRAMEBUFFERTEXTURE3DPROC as sub(byval target as GLenum, byval attachment as GLenum, byval textarget as GLenum, byval texture as GLuint, byval level as GLint, byval zoffset as GLint) 896 type PFNGLFRAMEBUFFERRENDERBUFFERPROC as sub(byval target as GLenum, byval attachment as GLenum, byval renderbuffertarget as GLenum, byval renderbuffer as GLuint) 897 type PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC as sub(byval target as GLenum, byval attachment as GLenum, byval pname as GLenum, byval params as GLint ptr) 898 type PFNGLGENERATEMIPMAPPROC as sub(byval target as GLenum) 899 type PFNGLBLITFRAMEBUFFERPROC as sub(byval srcX0 as GLint, byval srcY0 as GLint, byval srcX1 as GLint, byval srcY1 as GLint, byval dstX0 as GLint, byval dstY0 as GLint, byval dstX1 as GLint, byval dstY1 as GLint, byval mask as GLbitfield, byval filter as GLenum) 900 type PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC as sub(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 901 type PFNGLFRAMEBUFFERTEXTURELAYERPROC as sub(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint, byval layer as GLint) 902 type PFNGLMAPBUFFERRANGEPROC as function(byval target as GLenum, byval offset as GLintptr, byval length as GLsizeiptr, byval access as GLbitfield) as any ptr 903 type PFNGLFLUSHMAPPEDBUFFERRANGEPROC as sub(byval target as GLenum, byval offset as GLintptr, byval length as GLsizeiptr) 904 type PFNGLBINDVERTEXARRAYPROC as sub(byval array as GLuint) 905 type PFNGLDELETEVERTEXARRAYSPROC as sub(byval n as GLsizei, byval arrays as const GLuint ptr) 906 type PFNGLGENVERTEXARRAYSPROC as sub(byval n as GLsizei, byval arrays as GLuint ptr) 907 type PFNGLISVERTEXARRAYPROC as function(byval array as GLuint) as GLboolean 908 909 #ifdef GL_GLEXT_PROTOTYPES 910 declare sub glColorMaski(byval index as GLuint, byval r as GLboolean, byval g as GLboolean, byval b as GLboolean, byval a as GLboolean) 911 declare sub glGetBooleani_v(byval target as GLenum, byval index as GLuint, byval data as GLboolean ptr) 912 declare sub glGetIntegeri_v(byval target as GLenum, byval index as GLuint, byval data as GLint ptr) 913 declare sub glEnablei(byval target as GLenum, byval index as GLuint) 914 declare sub glDisablei(byval target as GLenum, byval index as GLuint) 915 declare function glIsEnabledi(byval target as GLenum, byval index as GLuint) as GLboolean 916 declare sub glBeginTransformFeedback(byval primitiveMode as GLenum) 917 declare sub glEndTransformFeedback() 918 declare sub glBindBufferRange(byval target as GLenum, byval index as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 919 declare sub glBindBufferBase(byval target as GLenum, byval index as GLuint, byval buffer as GLuint) 920 declare sub glTransformFeedbackVaryings(byval program as GLuint, byval count as GLsizei, byval varyings as const GLchar const ptr ptr, byval bufferMode as GLenum) 921 declare sub glGetTransformFeedbackVarying(byval program as GLuint, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval size as GLsizei ptr, byval type as GLenum ptr, byval name as GLchar ptr) 922 declare sub glClampColor(byval target as GLenum, byval clamp as GLenum) 923 declare sub glBeginConditionalRender(byval id as GLuint, byval mode as GLenum) 924 declare sub glEndConditionalRender() 925 declare sub glVertexAttribIPointer(byval index as GLuint, byval size as GLint, byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 926 declare sub glGetVertexAttribIiv(byval index as GLuint, byval pname as GLenum, byval params as GLint ptr) 927 declare sub glGetVertexAttribIuiv(byval index as GLuint, byval pname as GLenum, byval params as GLuint ptr) 928 declare sub glVertexAttribI1i(byval index as GLuint, byval x as GLint) 929 declare sub glVertexAttribI2i(byval index as GLuint, byval x as GLint, byval y as GLint) 930 declare sub glVertexAttribI3i(byval index as GLuint, byval x as GLint, byval y as GLint, byval z as GLint) 931 declare sub glVertexAttribI4i(byval index as GLuint, byval x as GLint, byval y as GLint, byval z as GLint, byval w as GLint) 932 declare sub glVertexAttribI1ui(byval index as GLuint, byval x as GLuint) 933 declare sub glVertexAttribI2ui(byval index as GLuint, byval x as GLuint, byval y as GLuint) 934 declare sub glVertexAttribI3ui(byval index as GLuint, byval x as GLuint, byval y as GLuint, byval z as GLuint) 935 declare sub glVertexAttribI4ui(byval index as GLuint, byval x as GLuint, byval y as GLuint, byval z as GLuint, byval w as GLuint) 936 declare sub glVertexAttribI1iv(byval index as GLuint, byval v as const GLint ptr) 937 declare sub glVertexAttribI2iv(byval index as GLuint, byval v as const GLint ptr) 938 declare sub glVertexAttribI3iv(byval index as GLuint, byval v as const GLint ptr) 939 declare sub glVertexAttribI4iv(byval index as GLuint, byval v as const GLint ptr) 940 declare sub glVertexAttribI1uiv(byval index as GLuint, byval v as const GLuint ptr) 941 declare sub glVertexAttribI2uiv(byval index as GLuint, byval v as const GLuint ptr) 942 declare sub glVertexAttribI3uiv(byval index as GLuint, byval v as const GLuint ptr) 943 declare sub glVertexAttribI4uiv(byval index as GLuint, byval v as const GLuint ptr) 944 declare sub glVertexAttribI4bv(byval index as GLuint, byval v as const GLbyte ptr) 945 declare sub glVertexAttribI4sv(byval index as GLuint, byval v as const GLshort ptr) 946 declare sub glVertexAttribI4ubv(byval index as GLuint, byval v as const GLubyte ptr) 947 declare sub glVertexAttribI4usv(byval index as GLuint, byval v as const GLushort ptr) 948 declare sub glGetUniformuiv(byval program as GLuint, byval location as GLint, byval params as GLuint ptr) 949 declare sub glBindFragDataLocation(byval program as GLuint, byval color as GLuint, byval name as const GLchar ptr) 950 declare function glGetFragDataLocation(byval program as GLuint, byval name as const GLchar ptr) as GLint 951 declare sub glUniform1ui(byval location as GLint, byval v0 as GLuint) 952 declare sub glUniform2ui(byval location as GLint, byval v0 as GLuint, byval v1 as GLuint) 953 declare sub glUniform3ui(byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint) 954 declare sub glUniform4ui(byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint, byval v3 as GLuint) 955 declare sub glUniform1uiv(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 956 declare sub glUniform2uiv(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 957 declare sub glUniform3uiv(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 958 declare sub glUniform4uiv(byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 959 declare sub glTexParameterIiv(byval target as GLenum, byval pname as GLenum, byval params as const GLint ptr) 960 declare sub glTexParameterIuiv(byval target as GLenum, byval pname as GLenum, byval params as const GLuint ptr) 961 declare sub glGetTexParameterIiv(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 962 declare sub glGetTexParameterIuiv(byval target as GLenum, byval pname as GLenum, byval params as GLuint ptr) 963 declare sub glClearBufferiv(byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLint ptr) 964 declare sub glClearBufferuiv(byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLuint ptr) 965 declare sub glClearBufferfv(byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLfloat ptr) 966 declare sub glClearBufferfi(byval buffer as GLenum, byval drawbuffer as GLint, byval depth as GLfloat, byval stencil as GLint) 967 declare function glGetStringi(byval name as GLenum, byval index as GLuint) as const zstring ptr 968 declare function glIsRenderbuffer(byval renderbuffer as GLuint) as GLboolean 969 declare sub glBindRenderbuffer(byval target as GLenum, byval renderbuffer as GLuint) 970 declare sub glDeleteRenderbuffers(byval n as GLsizei, byval renderbuffers as const GLuint ptr) 971 declare sub glGenRenderbuffers(byval n as GLsizei, byval renderbuffers as GLuint ptr) 972 declare sub glRenderbufferStorage(byval target as GLenum, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 973 declare sub glGetRenderbufferParameteriv(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 974 declare function glIsFramebuffer(byval framebuffer as GLuint) as GLboolean 975 declare sub glBindFramebuffer(byval target as GLenum, byval framebuffer as GLuint) 976 declare sub glDeleteFramebuffers(byval n as GLsizei, byval framebuffers as const GLuint ptr) 977 declare sub glGenFramebuffers(byval n as GLsizei, byval framebuffers as GLuint ptr) 978 declare function glCheckFramebufferStatus(byval target as GLenum) as GLenum 979 declare sub glFramebufferTexture1D(byval target as GLenum, byval attachment as GLenum, byval textarget as GLenum, byval texture as GLuint, byval level as GLint) 980 declare sub glFramebufferTexture2D(byval target as GLenum, byval attachment as GLenum, byval textarget as GLenum, byval texture as GLuint, byval level as GLint) 981 declare sub glFramebufferTexture3D(byval target as GLenum, byval attachment as GLenum, byval textarget as GLenum, byval texture as GLuint, byval level as GLint, byval zoffset as GLint) 982 declare sub glFramebufferRenderbuffer(byval target as GLenum, byval attachment as GLenum, byval renderbuffertarget as GLenum, byval renderbuffer as GLuint) 983 declare sub glGetFramebufferAttachmentParameteriv(byval target as GLenum, byval attachment as GLenum, byval pname as GLenum, byval params as GLint ptr) 984 declare sub glGenerateMipmap(byval target as GLenum) 985 declare sub glBlitFramebuffer(byval srcX0 as GLint, byval srcY0 as GLint, byval srcX1 as GLint, byval srcY1 as GLint, byval dstX0 as GLint, byval dstY0 as GLint, byval dstX1 as GLint, byval dstY1 as GLint, byval mask as GLbitfield, byval filter as GLenum) 986 declare sub glRenderbufferStorageMultisample(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 987 declare sub glFramebufferTextureLayer(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint, byval layer as GLint) 988 declare function glMapBufferRange(byval target as GLenum, byval offset as GLintptr, byval length as GLsizeiptr, byval access as GLbitfield) as any ptr 989 declare sub glFlushMappedBufferRange(byval target as GLenum, byval offset as GLintptr, byval length as GLsizeiptr) 990 declare sub glBindVertexArray(byval array as GLuint) 991 declare sub glDeleteVertexArrays(byval n as GLsizei, byval arrays as const GLuint ptr) 992 declare sub glGenVertexArrays(byval n as GLsizei, byval arrays as GLuint ptr) 993 declare function glIsVertexArray(byval array as GLuint) as GLboolean 994 #endif 995 996 const GL_VERSION_3_1 = 1 997 const GL_SAMPLER_2D_RECT = &h8B63 998 const GL_SAMPLER_2D_RECT_SHADOW = &h8B64 999 const GL_SAMPLER_BUFFER = &h8DC2 1000 const GL_INT_SAMPLER_2D_RECT = &h8DCD 1001 const GL_INT_SAMPLER_BUFFER = &h8DD0 1002 const GL_UNSIGNED_INT_SAMPLER_2D_RECT = &h8DD5 1003 const GL_UNSIGNED_INT_SAMPLER_BUFFER = &h8DD8 1004 const GL_TEXTURE_BUFFER = &h8C2A 1005 const GL_MAX_TEXTURE_BUFFER_SIZE = &h8C2B 1006 const GL_TEXTURE_BINDING_BUFFER = &h8C2C 1007 const GL_TEXTURE_BUFFER_DATA_STORE_BINDING = &h8C2D 1008 const GL_TEXTURE_RECTANGLE = &h84F5 1009 const GL_TEXTURE_BINDING_RECTANGLE = &h84F6 1010 const GL_PROXY_TEXTURE_RECTANGLE = &h84F7 1011 const GL_MAX_RECTANGLE_TEXTURE_SIZE = &h84F8 1012 const GL_R8_SNORM = &h8F94 1013 const GL_RG8_SNORM = &h8F95 1014 const GL_RGB8_SNORM = &h8F96 1015 const GL_RGBA8_SNORM = &h8F97 1016 const GL_R16_SNORM = &h8F98 1017 const GL_RG16_SNORM = &h8F99 1018 const GL_RGB16_SNORM = &h8F9A 1019 const GL_RGBA16_SNORM = &h8F9B 1020 const GL_SIGNED_NORMALIZED = &h8F9C 1021 const GL_PRIMITIVE_RESTART = &h8F9D 1022 const GL_PRIMITIVE_RESTART_INDEX = &h8F9E 1023 const GL_COPY_READ_BUFFER = &h8F36 1024 const GL_COPY_WRITE_BUFFER = &h8F37 1025 const GL_UNIFORM_BUFFER = &h8A11 1026 const GL_UNIFORM_BUFFER_BINDING = &h8A28 1027 const GL_UNIFORM_BUFFER_START = &h8A29 1028 const GL_UNIFORM_BUFFER_SIZE = &h8A2A 1029 const GL_MAX_VERTEX_UNIFORM_BLOCKS = &h8A2B 1030 const GL_MAX_GEOMETRY_UNIFORM_BLOCKS = &h8A2C 1031 const GL_MAX_FRAGMENT_UNIFORM_BLOCKS = &h8A2D 1032 const GL_MAX_COMBINED_UNIFORM_BLOCKS = &h8A2E 1033 const GL_MAX_UNIFORM_BUFFER_BINDINGS = &h8A2F 1034 const GL_MAX_UNIFORM_BLOCK_SIZE = &h8A30 1035 const GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = &h8A31 1036 const GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = &h8A32 1037 const GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = &h8A33 1038 const GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = &h8A34 1039 const GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = &h8A35 1040 const GL_ACTIVE_UNIFORM_BLOCKS = &h8A36 1041 const GL_UNIFORM_TYPE = &h8A37 1042 const GL_UNIFORM_SIZE = &h8A38 1043 const GL_UNIFORM_NAME_LENGTH = &h8A39 1044 const GL_UNIFORM_BLOCK_INDEX = &h8A3A 1045 const GL_UNIFORM_OFFSET = &h8A3B 1046 const GL_UNIFORM_ARRAY_STRIDE = &h8A3C 1047 const GL_UNIFORM_MATRIX_STRIDE = &h8A3D 1048 const GL_UNIFORM_IS_ROW_MAJOR = &h8A3E 1049 const GL_UNIFORM_BLOCK_BINDING = &h8A3F 1050 const GL_UNIFORM_BLOCK_DATA_SIZE = &h8A40 1051 const GL_UNIFORM_BLOCK_NAME_LENGTH = &h8A41 1052 const GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = &h8A42 1053 const GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = &h8A43 1054 const GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = &h8A44 1055 const GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = &h8A45 1056 const GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = &h8A46 1057 const GL_INVALID_INDEX = &hFFFFFFFFu 1058 1059 type PFNGLDRAWARRAYSINSTANCEDPROC as sub(byval mode as GLenum, byval first as GLint, byval count as GLsizei, byval instancecount as GLsizei) 1060 type PFNGLDRAWELEMENTSINSTANCEDPROC as sub(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei) 1061 type PFNGLTEXBUFFERPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval buffer as GLuint) 1062 type PFNGLPRIMITIVERESTARTINDEXPROC as sub(byval index as GLuint) 1063 type PFNGLCOPYBUFFERSUBDATAPROC as sub(byval readTarget as GLenum, byval writeTarget as GLenum, byval readOffset as GLintptr, byval writeOffset as GLintptr, byval size as GLsizeiptr) 1064 type PFNGLGETUNIFORMINDICESPROC as sub(byval program as GLuint, byval uniformCount as GLsizei, byval uniformNames as const GLchar const ptr ptr, byval uniformIndices as GLuint ptr) 1065 type PFNGLGETACTIVEUNIFORMSIVPROC as sub(byval program as GLuint, byval uniformCount as GLsizei, byval uniformIndices as const GLuint ptr, byval pname as GLenum, byval params as GLint ptr) 1066 type PFNGLGETACTIVEUNIFORMNAMEPROC as sub(byval program as GLuint, byval uniformIndex as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval uniformName as GLchar ptr) 1067 type PFNGLGETUNIFORMBLOCKINDEXPROC as function(byval program as GLuint, byval uniformBlockName as const GLchar ptr) as GLuint 1068 type PFNGLGETACTIVEUNIFORMBLOCKIVPROC as sub(byval program as GLuint, byval uniformBlockIndex as GLuint, byval pname as GLenum, byval params as GLint ptr) 1069 type PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC as sub(byval program as GLuint, byval uniformBlockIndex as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval uniformBlockName as GLchar ptr) 1070 type PFNGLUNIFORMBLOCKBINDINGPROC as sub(byval program as GLuint, byval uniformBlockIndex as GLuint, byval uniformBlockBinding as GLuint) 1071 1072 #ifdef GL_GLEXT_PROTOTYPES 1073 declare sub glDrawArraysInstanced(byval mode as GLenum, byval first as GLint, byval count as GLsizei, byval instancecount as GLsizei) 1074 declare sub glDrawElementsInstanced(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei) 1075 declare sub glTexBuffer(byval target as GLenum, byval internalformat as GLenum, byval buffer as GLuint) 1076 declare sub glPrimitiveRestartIndex(byval index as GLuint) 1077 declare sub glCopyBufferSubData(byval readTarget as GLenum, byval writeTarget as GLenum, byval readOffset as GLintptr, byval writeOffset as GLintptr, byval size as GLsizeiptr) 1078 declare sub glGetUniformIndices(byval program as GLuint, byval uniformCount as GLsizei, byval uniformNames as const GLchar const ptr ptr, byval uniformIndices as GLuint ptr) 1079 declare sub glGetActiveUniformsiv(byval program as GLuint, byval uniformCount as GLsizei, byval uniformIndices as const GLuint ptr, byval pname as GLenum, byval params as GLint ptr) 1080 declare sub glGetActiveUniformName(byval program as GLuint, byval uniformIndex as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval uniformName as GLchar ptr) 1081 declare function glGetUniformBlockIndex(byval program as GLuint, byval uniformBlockName as const GLchar ptr) as GLuint 1082 declare sub glGetActiveUniformBlockiv(byval program as GLuint, byval uniformBlockIndex as GLuint, byval pname as GLenum, byval params as GLint ptr) 1083 declare sub glGetActiveUniformBlockName(byval program as GLuint, byval uniformBlockIndex as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval uniformBlockName as GLchar ptr) 1084 declare sub glUniformBlockBinding(byval program as GLuint, byval uniformBlockIndex as GLuint, byval uniformBlockBinding as GLuint) 1085 #endif 1086 1087 const GL_VERSION_3_2 = 1 1088 type GLsync as __GLsync ptr 1089 #define GLEXT_64_TYPES_DEFINED 1090 type GLuint64 as ulongint 1091 type GLint64 as longint 1092 const GL_CONTEXT_CORE_PROFILE_BIT = &h00000001 1093 const GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = &h00000002 1094 const GL_LINES_ADJACENCY = &h000A 1095 const GL_LINE_STRIP_ADJACENCY = &h000B 1096 const GL_TRIANGLES_ADJACENCY = &h000C 1097 const GL_TRIANGLE_STRIP_ADJACENCY = &h000D 1098 const GL_PROGRAM_POINT_SIZE = &h8642 1099 const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = &h8C29 1100 const GL_FRAMEBUFFER_ATTACHMENT_LAYERED = &h8DA7 1101 const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = &h8DA8 1102 const GL_GEOMETRY_SHADER = &h8DD9 1103 const GL_GEOMETRY_VERTICES_OUT = &h8916 1104 const GL_GEOMETRY_INPUT_TYPE = &h8917 1105 const GL_GEOMETRY_OUTPUT_TYPE = &h8918 1106 const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = &h8DDF 1107 const GL_MAX_GEOMETRY_OUTPUT_VERTICES = &h8DE0 1108 const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = &h8DE1 1109 const GL_MAX_VERTEX_OUTPUT_COMPONENTS = &h9122 1110 const GL_MAX_GEOMETRY_INPUT_COMPONENTS = &h9123 1111 const GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = &h9124 1112 const GL_MAX_FRAGMENT_INPUT_COMPONENTS = &h9125 1113 const GL_CONTEXT_PROFILE_MASK = &h9126 1114 const GL_DEPTH_CLAMP = &h864F 1115 const GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = &h8E4C 1116 const GL_FIRST_VERTEX_CONVENTION = &h8E4D 1117 const GL_LAST_VERTEX_CONVENTION = &h8E4E 1118 const GL_PROVOKING_VERTEX = &h8E4F 1119 const GL_TEXTURE_CUBE_MAP_SEAMLESS = &h884F 1120 const GL_MAX_SERVER_WAIT_TIMEOUT = &h9111 1121 const GL_OBJECT_TYPE = &h9112 1122 const GL_SYNC_CONDITION = &h9113 1123 const GL_SYNC_STATUS = &h9114 1124 const GL_SYNC_FLAGS = &h9115 1125 const GL_SYNC_FENCE = &h9116 1126 const GL_SYNC_GPU_COMMANDS_COMPLETE = &h9117 1127 const GL_UNSIGNALED = &h9118 1128 const GL_SIGNALED = &h9119 1129 const GL_ALREADY_SIGNALED = &h911A 1130 const GL_TIMEOUT_EXPIRED = &h911B 1131 const GL_CONDITION_SATISFIED = &h911C 1132 const GL_WAIT_FAILED = &h911D 1133 const GL_TIMEOUT_IGNORED = &hFFFFFFFFFFFFFFFFull 1134 const GL_SYNC_FLUSH_COMMANDS_BIT = &h00000001 1135 const GL_SAMPLE_POSITION = &h8E50 1136 const GL_SAMPLE_MASK = &h8E51 1137 const GL_SAMPLE_MASK_VALUE = &h8E52 1138 const GL_MAX_SAMPLE_MASK_WORDS = &h8E59 1139 const GL_TEXTURE_2D_MULTISAMPLE = &h9100 1140 const GL_PROXY_TEXTURE_2D_MULTISAMPLE = &h9101 1141 const GL_TEXTURE_2D_MULTISAMPLE_ARRAY = &h9102 1142 const GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = &h9103 1143 const GL_TEXTURE_BINDING_2D_MULTISAMPLE = &h9104 1144 const GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = &h9105 1145 const GL_TEXTURE_SAMPLES = &h9106 1146 const GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = &h9107 1147 const GL_SAMPLER_2D_MULTISAMPLE = &h9108 1148 const GL_INT_SAMPLER_2D_MULTISAMPLE = &h9109 1149 const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = &h910A 1150 const GL_SAMPLER_2D_MULTISAMPLE_ARRAY = &h910B 1151 const GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = &h910C 1152 const GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = &h910D 1153 const GL_MAX_COLOR_TEXTURE_SAMPLES = &h910E 1154 const GL_MAX_DEPTH_TEXTURE_SAMPLES = &h910F 1155 const GL_MAX_INTEGER_SAMPLES = &h9110 1156 1157 type PFNGLDRAWELEMENTSBASEVERTEXPROC as sub(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval basevertex as GLint) 1158 type PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC as sub(byval mode as GLenum, byval start as GLuint, byval end as GLuint, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval basevertex as GLint) 1159 type PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC as sub(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei, byval basevertex as GLint) 1160 type PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC as sub(byval mode as GLenum, byval count as const GLsizei ptr, byval type as GLenum, byval indices as const any const ptr ptr, byval drawcount as GLsizei, byval basevertex as const GLint ptr) 1161 type PFNGLPROVOKINGVERTEXPROC as sub(byval mode as GLenum) 1162 type PFNGLFENCESYNCPROC as function(byval condition as GLenum, byval flags as GLbitfield) as GLsync 1163 type PFNGLISSYNCPROC as function(byval sync as GLsync) as GLboolean 1164 type PFNGLDELETESYNCPROC as sub(byval sync as GLsync) 1165 type PFNGLCLIENTWAITSYNCPROC as function(byval sync as GLsync, byval flags as GLbitfield, byval timeout as GLuint64) as GLenum 1166 type PFNGLWAITSYNCPROC as sub(byval sync as GLsync, byval flags as GLbitfield, byval timeout as GLuint64) 1167 type PFNGLGETINTEGER64VPROC as sub(byval pname as GLenum, byval data as GLint64 ptr) 1168 type PFNGLGETSYNCIVPROC as sub(byval sync as GLsync, byval pname as GLenum, byval bufSize as GLsizei, byval length as GLsizei ptr, byval values as GLint ptr) 1169 type PFNGLGETINTEGER64I_VPROC as sub(byval target as GLenum, byval index as GLuint, byval data as GLint64 ptr) 1170 type PFNGLGETBUFFERPARAMETERI64VPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint64 ptr) 1171 type PFNGLFRAMEBUFFERTEXTUREPROC as sub(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint) 1172 type PFNGLTEXIMAGE2DMULTISAMPLEPROC as sub(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval fixedsamplelocations as GLboolean) 1173 type PFNGLTEXIMAGE3DMULTISAMPLEPROC as sub(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval fixedsamplelocations as GLboolean) 1174 type PFNGLGETMULTISAMPLEFVPROC as sub(byval pname as GLenum, byval index as GLuint, byval val as GLfloat ptr) 1175 type PFNGLSAMPLEMASKIPROC as sub(byval maskNumber as GLuint, byval mask as GLbitfield) 1176 1177 #ifdef GL_GLEXT_PROTOTYPES 1178 declare sub glDrawElementsBaseVertex(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval basevertex as GLint) 1179 declare sub glDrawRangeElementsBaseVertex(byval mode as GLenum, byval start as GLuint, byval end as GLuint, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval basevertex as GLint) 1180 declare sub glDrawElementsInstancedBaseVertex(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei, byval basevertex as GLint) 1181 declare sub glMultiDrawElementsBaseVertex(byval mode as GLenum, byval count as const GLsizei ptr, byval type as GLenum, byval indices as const any const ptr ptr, byval drawcount as GLsizei, byval basevertex as const GLint ptr) 1182 declare sub glProvokingVertex(byval mode as GLenum) 1183 declare function glFenceSync(byval condition as GLenum, byval flags as GLbitfield) as GLsync 1184 declare function glIsSync(byval sync as GLsync) as GLboolean 1185 declare sub glDeleteSync(byval sync as GLsync) 1186 declare function glClientWaitSync(byval sync as GLsync, byval flags as GLbitfield, byval timeout as GLuint64) as GLenum 1187 declare sub glWaitSync(byval sync as GLsync, byval flags as GLbitfield, byval timeout as GLuint64) 1188 declare sub glGetInteger64v(byval pname as GLenum, byval data as GLint64 ptr) 1189 declare sub glGetSynciv(byval sync as GLsync, byval pname as GLenum, byval bufSize as GLsizei, byval length as GLsizei ptr, byval values as GLint ptr) 1190 declare sub glGetInteger64i_v(byval target as GLenum, byval index as GLuint, byval data as GLint64 ptr) 1191 declare sub glGetBufferParameteri64v(byval target as GLenum, byval pname as GLenum, byval params as GLint64 ptr) 1192 declare sub glFramebufferTexture(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint) 1193 declare sub glTexImage2DMultisample(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval fixedsamplelocations as GLboolean) 1194 declare sub glTexImage3DMultisample(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval fixedsamplelocations as GLboolean) 1195 declare sub glGetMultisamplefv(byval pname as GLenum, byval index as GLuint, byval val as GLfloat ptr) 1196 declare sub glSampleMaski(byval maskNumber as GLuint, byval mask as GLbitfield) 1197 #endif 1198 1199 const GL_VERSION_3_3 = 1 1200 const GL_VERTEX_ATTRIB_ARRAY_DIVISOR = &h88FE 1201 const GL_SRC1_COLOR = &h88F9 1202 const GL_ONE_MINUS_SRC1_COLOR = &h88FA 1203 const GL_ONE_MINUS_SRC1_ALPHA = &h88FB 1204 const GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = &h88FC 1205 const GL_ANY_SAMPLES_PASSED = &h8C2F 1206 const GL_SAMPLER_BINDING = &h8919 1207 const GL_RGB10_A2UI = &h906F 1208 const GL_TEXTURE_SWIZZLE_R = &h8E42 1209 const GL_TEXTURE_SWIZZLE_G = &h8E43 1210 const GL_TEXTURE_SWIZZLE_B = &h8E44 1211 const GL_TEXTURE_SWIZZLE_A = &h8E45 1212 const GL_TEXTURE_SWIZZLE_RGBA = &h8E46 1213 const GL_TIME_ELAPSED = &h88BF 1214 const GL_TIMESTAMP = &h8E28 1215 const GL_INT_2_10_10_10_REV = &h8D9F 1216 1217 type PFNGLBINDFRAGDATALOCATIONINDEXEDPROC as sub(byval program as GLuint, byval colorNumber as GLuint, byval index as GLuint, byval name as const GLchar ptr) 1218 type PFNGLGETFRAGDATAINDEXPROC as function(byval program as GLuint, byval name as const GLchar ptr) as GLint 1219 type PFNGLGENSAMPLERSPROC as sub(byval count as GLsizei, byval samplers as GLuint ptr) 1220 type PFNGLDELETESAMPLERSPROC as sub(byval count as GLsizei, byval samplers as const GLuint ptr) 1221 type PFNGLISSAMPLERPROC as function(byval sampler as GLuint) as GLboolean 1222 type PFNGLBINDSAMPLERPROC as sub(byval unit as GLuint, byval sampler as GLuint) 1223 type PFNGLSAMPLERPARAMETERIPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval param as GLint) 1224 type PFNGLSAMPLERPARAMETERIVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval param as const GLint ptr) 1225 type PFNGLSAMPLERPARAMETERFPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval param as GLfloat) 1226 type PFNGLSAMPLERPARAMETERFVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval param as const GLfloat ptr) 1227 type PFNGLSAMPLERPARAMETERIIVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval param as const GLint ptr) 1228 type PFNGLSAMPLERPARAMETERIUIVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval param as const GLuint ptr) 1229 type PFNGLGETSAMPLERPARAMETERIVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval params as GLint ptr) 1230 type PFNGLGETSAMPLERPARAMETERIIVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval params as GLint ptr) 1231 type PFNGLGETSAMPLERPARAMETERFVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval params as GLfloat ptr) 1232 type PFNGLGETSAMPLERPARAMETERIUIVPROC as sub(byval sampler as GLuint, byval pname as GLenum, byval params as GLuint ptr) 1233 type PFNGLQUERYCOUNTERPROC as sub(byval id as GLuint, byval target as GLenum) 1234 type PFNGLGETQUERYOBJECTI64VPROC as sub(byval id as GLuint, byval pname as GLenum, byval params as GLint64 ptr) 1235 type PFNGLGETQUERYOBJECTUI64VPROC as sub(byval id as GLuint, byval pname as GLenum, byval params as GLuint64 ptr) 1236 type PFNGLVERTEXATTRIBDIVISORPROC as sub(byval index as GLuint, byval divisor as GLuint) 1237 type PFNGLVERTEXATTRIBP1UIPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1238 type PFNGLVERTEXATTRIBP1UIVPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1239 type PFNGLVERTEXATTRIBP2UIPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1240 type PFNGLVERTEXATTRIBP2UIVPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1241 type PFNGLVERTEXATTRIBP3UIPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1242 type PFNGLVERTEXATTRIBP3UIVPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1243 type PFNGLVERTEXATTRIBP4UIPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1244 type PFNGLVERTEXATTRIBP4UIVPROC as sub(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1245 type PFNGLVERTEXP2UIPROC as sub(byval type as GLenum, byval value as GLuint) 1246 type PFNGLVERTEXP2UIVPROC as sub(byval type as GLenum, byval value as const GLuint ptr) 1247 type PFNGLVERTEXP3UIPROC as sub(byval type as GLenum, byval value as GLuint) 1248 type PFNGLVERTEXP3UIVPROC as sub(byval type as GLenum, byval value as const GLuint ptr) 1249 type PFNGLVERTEXP4UIPROC as sub(byval type as GLenum, byval value as GLuint) 1250 type PFNGLVERTEXP4UIVPROC as sub(byval type as GLenum, byval value as const GLuint ptr) 1251 type PFNGLTEXCOORDP1UIPROC as sub(byval type as GLenum, byval coords as GLuint) 1252 type PFNGLTEXCOORDP1UIVPROC as sub(byval type as GLenum, byval coords as const GLuint ptr) 1253 type PFNGLTEXCOORDP2UIPROC as sub(byval type as GLenum, byval coords as GLuint) 1254 type PFNGLTEXCOORDP2UIVPROC as sub(byval type as GLenum, byval coords as const GLuint ptr) 1255 type PFNGLTEXCOORDP3UIPROC as sub(byval type as GLenum, byval coords as GLuint) 1256 type PFNGLTEXCOORDP3UIVPROC as sub(byval type as GLenum, byval coords as const GLuint ptr) 1257 type PFNGLTEXCOORDP4UIPROC as sub(byval type as GLenum, byval coords as GLuint) 1258 type PFNGLTEXCOORDP4UIVPROC as sub(byval type as GLenum, byval coords as const GLuint ptr) 1259 type PFNGLMULTITEXCOORDP1UIPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1260 type PFNGLMULTITEXCOORDP1UIVPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1261 type PFNGLMULTITEXCOORDP2UIPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1262 type PFNGLMULTITEXCOORDP2UIVPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1263 type PFNGLMULTITEXCOORDP3UIPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1264 type PFNGLMULTITEXCOORDP3UIVPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1265 type PFNGLMULTITEXCOORDP4UIPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1266 type PFNGLMULTITEXCOORDP4UIVPROC as sub(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1267 type PFNGLNORMALP3UIPROC as sub(byval type as GLenum, byval coords as GLuint) 1268 type PFNGLNORMALP3UIVPROC as sub(byval type as GLenum, byval coords as const GLuint ptr) 1269 type PFNGLCOLORP3UIPROC as sub(byval type as GLenum, byval color as GLuint) 1270 type PFNGLCOLORP3UIVPROC as sub(byval type as GLenum, byval color as const GLuint ptr) 1271 type PFNGLCOLORP4UIPROC as sub(byval type as GLenum, byval color as GLuint) 1272 type PFNGLCOLORP4UIVPROC as sub(byval type as GLenum, byval color as const GLuint ptr) 1273 type PFNGLSECONDARYCOLORP3UIPROC as sub(byval type as GLenum, byval color as GLuint) 1274 type PFNGLSECONDARYCOLORP3UIVPROC as sub(byval type as GLenum, byval color as const GLuint ptr) 1275 1276 #ifdef GL_GLEXT_PROTOTYPES 1277 declare sub glBindFragDataLocationIndexed(byval program as GLuint, byval colorNumber as GLuint, byval index as GLuint, byval name as const GLchar ptr) 1278 declare function glGetFragDataIndex(byval program as GLuint, byval name as const GLchar ptr) as GLint 1279 declare sub glGenSamplers(byval count as GLsizei, byval samplers as GLuint ptr) 1280 declare sub glDeleteSamplers(byval count as GLsizei, byval samplers as const GLuint ptr) 1281 declare function glIsSampler(byval sampler as GLuint) as GLboolean 1282 declare sub glBindSampler(byval unit as GLuint, byval sampler as GLuint) 1283 declare sub glSamplerParameteri(byval sampler as GLuint, byval pname as GLenum, byval param as GLint) 1284 declare sub glSamplerParameteriv(byval sampler as GLuint, byval pname as GLenum, byval param as const GLint ptr) 1285 declare sub glSamplerParameterf(byval sampler as GLuint, byval pname as GLenum, byval param as GLfloat) 1286 declare sub glSamplerParameterfv(byval sampler as GLuint, byval pname as GLenum, byval param as const GLfloat ptr) 1287 declare sub glSamplerParameterIiv(byval sampler as GLuint, byval pname as GLenum, byval param as const GLint ptr) 1288 declare sub glSamplerParameterIuiv(byval sampler as GLuint, byval pname as GLenum, byval param as const GLuint ptr) 1289 declare sub glGetSamplerParameteriv(byval sampler as GLuint, byval pname as GLenum, byval params as GLint ptr) 1290 declare sub glGetSamplerParameterIiv(byval sampler as GLuint, byval pname as GLenum, byval params as GLint ptr) 1291 declare sub glGetSamplerParameterfv(byval sampler as GLuint, byval pname as GLenum, byval params as GLfloat ptr) 1292 declare sub glGetSamplerParameterIuiv(byval sampler as GLuint, byval pname as GLenum, byval params as GLuint ptr) 1293 declare sub glQueryCounter(byval id as GLuint, byval target as GLenum) 1294 declare sub glGetQueryObjecti64v(byval id as GLuint, byval pname as GLenum, byval params as GLint64 ptr) 1295 declare sub glGetQueryObjectui64v(byval id as GLuint, byval pname as GLenum, byval params as GLuint64 ptr) 1296 declare sub glVertexAttribDivisor(byval index as GLuint, byval divisor as GLuint) 1297 declare sub glVertexAttribP1ui(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1298 declare sub glVertexAttribP1uiv(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1299 declare sub glVertexAttribP2ui(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1300 declare sub glVertexAttribP2uiv(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1301 declare sub glVertexAttribP3ui(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1302 declare sub glVertexAttribP3uiv(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1303 declare sub glVertexAttribP4ui(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as GLuint) 1304 declare sub glVertexAttribP4uiv(byval index as GLuint, byval type as GLenum, byval normalized as GLboolean, byval value as const GLuint ptr) 1305 declare sub glVertexP2ui(byval type as GLenum, byval value as GLuint) 1306 declare sub glVertexP2uiv(byval type as GLenum, byval value as const GLuint ptr) 1307 declare sub glVertexP3ui(byval type as GLenum, byval value as GLuint) 1308 declare sub glVertexP3uiv(byval type as GLenum, byval value as const GLuint ptr) 1309 declare sub glVertexP4ui(byval type as GLenum, byval value as GLuint) 1310 declare sub glVertexP4uiv(byval type as GLenum, byval value as const GLuint ptr) 1311 declare sub glTexCoordP1ui(byval type as GLenum, byval coords as GLuint) 1312 declare sub glTexCoordP1uiv(byval type as GLenum, byval coords as const GLuint ptr) 1313 declare sub glTexCoordP2ui(byval type as GLenum, byval coords as GLuint) 1314 declare sub glTexCoordP2uiv(byval type as GLenum, byval coords as const GLuint ptr) 1315 declare sub glTexCoordP3ui(byval type as GLenum, byval coords as GLuint) 1316 declare sub glTexCoordP3uiv(byval type as GLenum, byval coords as const GLuint ptr) 1317 declare sub glTexCoordP4ui(byval type as GLenum, byval coords as GLuint) 1318 declare sub glTexCoordP4uiv(byval type as GLenum, byval coords as const GLuint ptr) 1319 declare sub glMultiTexCoordP1ui(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1320 declare sub glMultiTexCoordP1uiv(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1321 declare sub glMultiTexCoordP2ui(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1322 declare sub glMultiTexCoordP2uiv(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1323 declare sub glMultiTexCoordP3ui(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1324 declare sub glMultiTexCoordP3uiv(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1325 declare sub glMultiTexCoordP4ui(byval texture as GLenum, byval type as GLenum, byval coords as GLuint) 1326 declare sub glMultiTexCoordP4uiv(byval texture as GLenum, byval type as GLenum, byval coords as const GLuint ptr) 1327 declare sub glNormalP3ui(byval type as GLenum, byval coords as GLuint) 1328 declare sub glNormalP3uiv(byval type as GLenum, byval coords as const GLuint ptr) 1329 declare sub glColorP3ui(byval type as GLenum, byval color as GLuint) 1330 declare sub glColorP3uiv(byval type as GLenum, byval color as const GLuint ptr) 1331 declare sub glColorP4ui(byval type as GLenum, byval color as GLuint) 1332 declare sub glColorP4uiv(byval type as GLenum, byval color as const GLuint ptr) 1333 declare sub glSecondaryColorP3ui(byval type as GLenum, byval color as GLuint) 1334 declare sub glSecondaryColorP3uiv(byval type as GLenum, byval color as const GLuint ptr) 1335 #endif 1336 1337 const GL_VERSION_4_0 = 1 1338 const GL_SAMPLE_SHADING = &h8C36 1339 const GL_MIN_SAMPLE_SHADING_VALUE = &h8C37 1340 const GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = &h8E5E 1341 const GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = &h8E5F 1342 const GL_TEXTURE_CUBE_MAP_ARRAY = &h9009 1343 const GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = &h900A 1344 const GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = &h900B 1345 const GL_SAMPLER_CUBE_MAP_ARRAY = &h900C 1346 const GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = &h900D 1347 const GL_INT_SAMPLER_CUBE_MAP_ARRAY = &h900E 1348 const GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = &h900F 1349 const GL_DRAW_INDIRECT_BUFFER = &h8F3F 1350 const GL_DRAW_INDIRECT_BUFFER_BINDING = &h8F43 1351 const GL_GEOMETRY_SHADER_INVOCATIONS = &h887F 1352 const GL_MAX_GEOMETRY_SHADER_INVOCATIONS = &h8E5A 1353 const GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = &h8E5B 1354 const GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = &h8E5C 1355 const GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = &h8E5D 1356 const GL_MAX_VERTEX_STREAMS = &h8E71 1357 const GL_DOUBLE_VEC2 = &h8FFC 1358 const GL_DOUBLE_VEC3 = &h8FFD 1359 const GL_DOUBLE_VEC4 = &h8FFE 1360 const GL_DOUBLE_MAT2 = &h8F46 1361 const GL_DOUBLE_MAT3 = &h8F47 1362 const GL_DOUBLE_MAT4 = &h8F48 1363 const GL_DOUBLE_MAT2x3 = &h8F49 1364 const GL_DOUBLE_MAT2x4 = &h8F4A 1365 const GL_DOUBLE_MAT3x2 = &h8F4B 1366 const GL_DOUBLE_MAT3x4 = &h8F4C 1367 const GL_DOUBLE_MAT4x2 = &h8F4D 1368 const GL_DOUBLE_MAT4x3 = &h8F4E 1369 const GL_ACTIVE_SUBROUTINES = &h8DE5 1370 const GL_ACTIVE_SUBROUTINE_UNIFORMS = &h8DE6 1371 const GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = &h8E47 1372 const GL_ACTIVE_SUBROUTINE_MAX_LENGTH = &h8E48 1373 const GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = &h8E49 1374 const GL_MAX_SUBROUTINES = &h8DE7 1375 const GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = &h8DE8 1376 const GL_NUM_COMPATIBLE_SUBROUTINES = &h8E4A 1377 const GL_COMPATIBLE_SUBROUTINES = &h8E4B 1378 const GL_PATCHES = &h000E 1379 const GL_PATCH_VERTICES = &h8E72 1380 const GL_PATCH_DEFAULT_INNER_LEVEL = &h8E73 1381 const GL_PATCH_DEFAULT_OUTER_LEVEL = &h8E74 1382 const GL_TESS_CONTROL_OUTPUT_VERTICES = &h8E75 1383 const GL_TESS_GEN_MODE = &h8E76 1384 const GL_TESS_GEN_SPACING = &h8E77 1385 const GL_TESS_GEN_VERTEX_ORDER = &h8E78 1386 const GL_TESS_GEN_POINT_MODE = &h8E79 1387 const GL_ISOLINES = &h8E7A 1388 const GL_FRACTIONAL_ODD = &h8E7B 1389 const GL_FRACTIONAL_EVEN = &h8E7C 1390 const GL_MAX_PATCH_VERTICES = &h8E7D 1391 const GL_MAX_TESS_GEN_LEVEL = &h8E7E 1392 const GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = &h8E7F 1393 const GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = &h8E80 1394 const GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = &h8E81 1395 const GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = &h8E82 1396 const GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = &h8E83 1397 const GL_MAX_TESS_PATCH_COMPONENTS = &h8E84 1398 const GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = &h8E85 1399 const GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = &h8E86 1400 const GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = &h8E89 1401 const GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = &h8E8A 1402 const GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = &h886C 1403 const GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = &h886D 1404 const GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = &h8E1E 1405 const GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = &h8E1F 1406 const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = &h84F0 1407 const GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = &h84F1 1408 const GL_TESS_EVALUATION_SHADER = &h8E87 1409 const GL_TESS_CONTROL_SHADER = &h8E88 1410 const GL_TRANSFORM_FEEDBACK = &h8E22 1411 const GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = &h8E23 1412 const GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = &h8E24 1413 const GL_TRANSFORM_FEEDBACK_BINDING = &h8E25 1414 const GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = &h8E70 1415 1416 type PFNGLMINSAMPLESHADINGPROC as sub(byval value as GLfloat) 1417 type PFNGLBLENDEQUATIONIPROC as sub(byval buf as GLuint, byval mode as GLenum) 1418 type PFNGLBLENDEQUATIONSEPARATEIPROC as sub(byval buf as GLuint, byval modeRGB as GLenum, byval modeAlpha as GLenum) 1419 type PFNGLBLENDFUNCIPROC as sub(byval buf as GLuint, byval src as GLenum, byval dst as GLenum) 1420 type PFNGLBLENDFUNCSEPARATEIPROC as sub(byval buf as GLuint, byval srcRGB as GLenum, byval dstRGB as GLenum, byval srcAlpha as GLenum, byval dstAlpha as GLenum) 1421 type PFNGLDRAWARRAYSINDIRECTPROC as sub(byval mode as GLenum, byval indirect as const any ptr) 1422 type PFNGLDRAWELEMENTSINDIRECTPROC as sub(byval mode as GLenum, byval type as GLenum, byval indirect as const any ptr) 1423 type PFNGLUNIFORM1DPROC as sub(byval location as GLint, byval x as GLdouble) 1424 type PFNGLUNIFORM2DPROC as sub(byval location as GLint, byval x as GLdouble, byval y as GLdouble) 1425 type PFNGLUNIFORM3DPROC as sub(byval location as GLint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 1426 type PFNGLUNIFORM4DPROC as sub(byval location as GLint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 1427 type PFNGLUNIFORM1DVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1428 type PFNGLUNIFORM2DVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1429 type PFNGLUNIFORM3DVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1430 type PFNGLUNIFORM4DVPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1431 type PFNGLUNIFORMMATRIX2DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1432 type PFNGLUNIFORMMATRIX3DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1433 type PFNGLUNIFORMMATRIX4DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1434 type PFNGLUNIFORMMATRIX2X3DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1435 type PFNGLUNIFORMMATRIX2X4DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1436 type PFNGLUNIFORMMATRIX3X2DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1437 type PFNGLUNIFORMMATRIX3X4DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1438 type PFNGLUNIFORMMATRIX4X2DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1439 type PFNGLUNIFORMMATRIX4X3DVPROC as sub(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1440 type PFNGLGETUNIFORMDVPROC as sub(byval program as GLuint, byval location as GLint, byval params as GLdouble ptr) 1441 type PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC as function(byval program as GLuint, byval shadertype as GLenum, byval name as const GLchar ptr) as GLint 1442 type PFNGLGETSUBROUTINEINDEXPROC as function(byval program as GLuint, byval shadertype as GLenum, byval name as const GLchar ptr) as GLuint 1443 type PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC as sub(byval program as GLuint, byval shadertype as GLenum, byval index as GLuint, byval pname as GLenum, byval values as GLint ptr) 1444 type PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC as sub(byval program as GLuint, byval shadertype as GLenum, byval index as GLuint, byval bufsize as GLsizei, byval length as GLsizei ptr, byval name as GLchar ptr) 1445 type PFNGLGETACTIVESUBROUTINENAMEPROC as sub(byval program as GLuint, byval shadertype as GLenum, byval index as GLuint, byval bufsize as GLsizei, byval length as GLsizei ptr, byval name as GLchar ptr) 1446 type PFNGLUNIFORMSUBROUTINESUIVPROC as sub(byval shadertype as GLenum, byval count as GLsizei, byval indices as const GLuint ptr) 1447 type PFNGLGETUNIFORMSUBROUTINEUIVPROC as sub(byval shadertype as GLenum, byval location as GLint, byval params as GLuint ptr) 1448 type PFNGLGETPROGRAMSTAGEIVPROC as sub(byval program as GLuint, byval shadertype as GLenum, byval pname as GLenum, byval values as GLint ptr) 1449 type PFNGLPATCHPARAMETERIPROC as sub(byval pname as GLenum, byval value as GLint) 1450 type PFNGLPATCHPARAMETERFVPROC as sub(byval pname as GLenum, byval values as const GLfloat ptr) 1451 type PFNGLBINDTRANSFORMFEEDBACKPROC as sub(byval target as GLenum, byval id as GLuint) 1452 type PFNGLDELETETRANSFORMFEEDBACKSPROC as sub(byval n as GLsizei, byval ids as const GLuint ptr) 1453 type PFNGLGENTRANSFORMFEEDBACKSPROC as sub(byval n as GLsizei, byval ids as GLuint ptr) 1454 type PFNGLISTRANSFORMFEEDBACKPROC as function(byval id as GLuint) as GLboolean 1455 type PFNGLPAUSETRANSFORMFEEDBACKPROC as sub() 1456 type PFNGLRESUMETRANSFORMFEEDBACKPROC as sub() 1457 type PFNGLDRAWTRANSFORMFEEDBACKPROC as sub(byval mode as GLenum, byval id as GLuint) 1458 type PFNGLDRAWTRANSFORMFEEDBACKSTREAMPROC as sub(byval mode as GLenum, byval id as GLuint, byval stream as GLuint) 1459 type PFNGLBEGINQUERYINDEXEDPROC as sub(byval target as GLenum, byval index as GLuint, byval id as GLuint) 1460 type PFNGLENDQUERYINDEXEDPROC as sub(byval target as GLenum, byval index as GLuint) 1461 type PFNGLGETQUERYINDEXEDIVPROC as sub(byval target as GLenum, byval index as GLuint, byval pname as GLenum, byval params as GLint ptr) 1462 1463 #ifdef GL_GLEXT_PROTOTYPES 1464 declare sub glMinSampleShading(byval value as GLfloat) 1465 declare sub glBlendEquationi(byval buf as GLuint, byval mode as GLenum) 1466 declare sub glBlendEquationSeparatei(byval buf as GLuint, byval modeRGB as GLenum, byval modeAlpha as GLenum) 1467 declare sub glBlendFunci(byval buf as GLuint, byval src as GLenum, byval dst as GLenum) 1468 declare sub glBlendFuncSeparatei(byval buf as GLuint, byval srcRGB as GLenum, byval dstRGB as GLenum, byval srcAlpha as GLenum, byval dstAlpha as GLenum) 1469 declare sub glDrawArraysIndirect(byval mode as GLenum, byval indirect as const any ptr) 1470 declare sub glDrawElementsIndirect(byval mode as GLenum, byval type as GLenum, byval indirect as const any ptr) 1471 declare sub glUniform1d(byval location as GLint, byval x as GLdouble) 1472 declare sub glUniform2d(byval location as GLint, byval x as GLdouble, byval y as GLdouble) 1473 declare sub glUniform3d(byval location as GLint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 1474 declare sub glUniform4d(byval location as GLint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 1475 declare sub glUniform1dv(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1476 declare sub glUniform2dv(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1477 declare sub glUniform3dv(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1478 declare sub glUniform4dv(byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1479 declare sub glUniformMatrix2dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1480 declare sub glUniformMatrix3dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1481 declare sub glUniformMatrix4dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1482 declare sub glUniformMatrix2x3dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1483 declare sub glUniformMatrix2x4dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1484 declare sub glUniformMatrix3x2dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1485 declare sub glUniformMatrix3x4dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1486 declare sub glUniformMatrix4x2dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1487 declare sub glUniformMatrix4x3dv(byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1488 declare sub glGetUniformdv(byval program as GLuint, byval location as GLint, byval params as GLdouble ptr) 1489 declare function glGetSubroutineUniformLocation(byval program as GLuint, byval shadertype as GLenum, byval name as const GLchar ptr) as GLint 1490 declare function glGetSubroutineIndex(byval program as GLuint, byval shadertype as GLenum, byval name as const GLchar ptr) as GLuint 1491 declare sub glGetActiveSubroutineUniformiv(byval program as GLuint, byval shadertype as GLenum, byval index as GLuint, byval pname as GLenum, byval values as GLint ptr) 1492 declare sub glGetActiveSubroutineUniformName(byval program as GLuint, byval shadertype as GLenum, byval index as GLuint, byval bufsize as GLsizei, byval length as GLsizei ptr, byval name as GLchar ptr) 1493 declare sub glGetActiveSubroutineName(byval program as GLuint, byval shadertype as GLenum, byval index as GLuint, byval bufsize as GLsizei, byval length as GLsizei ptr, byval name as GLchar ptr) 1494 declare sub glUniformSubroutinesuiv(byval shadertype as GLenum, byval count as GLsizei, byval indices as const GLuint ptr) 1495 declare sub glGetUniformSubroutineuiv(byval shadertype as GLenum, byval location as GLint, byval params as GLuint ptr) 1496 declare sub glGetProgramStageiv(byval program as GLuint, byval shadertype as GLenum, byval pname as GLenum, byval values as GLint ptr) 1497 declare sub glPatchParameteri(byval pname as GLenum, byval value as GLint) 1498 declare sub glPatchParameterfv(byval pname as GLenum, byval values as const GLfloat ptr) 1499 declare sub glBindTransformFeedback(byval target as GLenum, byval id as GLuint) 1500 declare sub glDeleteTransformFeedbacks(byval n as GLsizei, byval ids as const GLuint ptr) 1501 declare sub glGenTransformFeedbacks(byval n as GLsizei, byval ids as GLuint ptr) 1502 declare function glIsTransformFeedback(byval id as GLuint) as GLboolean 1503 declare sub glPauseTransformFeedback() 1504 declare sub glResumeTransformFeedback() 1505 declare sub glDrawTransformFeedback(byval mode as GLenum, byval id as GLuint) 1506 declare sub glDrawTransformFeedbackStream(byval mode as GLenum, byval id as GLuint, byval stream as GLuint) 1507 declare sub glBeginQueryIndexed(byval target as GLenum, byval index as GLuint, byval id as GLuint) 1508 declare sub glEndQueryIndexed(byval target as GLenum, byval index as GLuint) 1509 declare sub glGetQueryIndexediv(byval target as GLenum, byval index as GLuint, byval pname as GLenum, byval params as GLint ptr) 1510 #endif 1511 1512 const GL_VERSION_4_1 = 1 1513 const GL_FIXED = &h140C 1514 const GL_IMPLEMENTATION_COLOR_READ_TYPE = &h8B9A 1515 const GL_IMPLEMENTATION_COLOR_READ_FORMAT = &h8B9B 1516 const GL_LOW_FLOAT = &h8DF0 1517 const GL_MEDIUM_FLOAT = &h8DF1 1518 const GL_HIGH_FLOAT = &h8DF2 1519 const GL_LOW_INT = &h8DF3 1520 const GL_MEDIUM_INT = &h8DF4 1521 const GL_HIGH_INT = &h8DF5 1522 const GL_SHADER_COMPILER = &h8DFA 1523 const GL_SHADER_BINARY_FORMATS = &h8DF8 1524 const GL_NUM_SHADER_BINARY_FORMATS = &h8DF9 1525 const GL_MAX_VERTEX_UNIFORM_VECTORS = &h8DFB 1526 const GL_MAX_VARYING_VECTORS = &h8DFC 1527 const GL_MAX_FRAGMENT_UNIFORM_VECTORS = &h8DFD 1528 const GL_RGB565 = &h8D62 1529 const GL_PROGRAM_BINARY_RETRIEVABLE_HINT = &h8257 1530 const GL_PROGRAM_BINARY_LENGTH = &h8741 1531 const GL_NUM_PROGRAM_BINARY_FORMATS = &h87FE 1532 const GL_PROGRAM_BINARY_FORMATS = &h87FF 1533 const GL_VERTEX_SHADER_BIT = &h00000001 1534 const GL_FRAGMENT_SHADER_BIT = &h00000002 1535 const GL_GEOMETRY_SHADER_BIT = &h00000004 1536 const GL_TESS_CONTROL_SHADER_BIT = &h00000008 1537 const GL_TESS_EVALUATION_SHADER_BIT = &h00000010 1538 const GL_ALL_SHADER_BITS = &hFFFFFFFF 1539 const GL_PROGRAM_SEPARABLE = &h8258 1540 const GL_ACTIVE_PROGRAM = &h8259 1541 const GL_PROGRAM_PIPELINE_BINDING = &h825A 1542 const GL_MAX_VIEWPORTS = &h825B 1543 const GL_VIEWPORT_SUBPIXEL_BITS = &h825C 1544 const GL_VIEWPORT_BOUNDS_RANGE = &h825D 1545 const GL_LAYER_PROVOKING_VERTEX = &h825E 1546 const GL_VIEWPORT_INDEX_PROVOKING_VERTEX = &h825F 1547 const GL_UNDEFINED_VERTEX = &h8260 1548 1549 type PFNGLRELEASESHADERCOMPILERPROC as sub() 1550 type PFNGLSHADERBINARYPROC as sub(byval count as GLsizei, byval shaders as const GLuint ptr, byval binaryformat as GLenum, byval binary as const any ptr, byval length as GLsizei) 1551 type PFNGLGETSHADERPRECISIONFORMATPROC as sub(byval shadertype as GLenum, byval precisiontype as GLenum, byval range as GLint ptr, byval precision as GLint ptr) 1552 type PFNGLDEPTHRANGEFPROC as sub(byval n as GLfloat, byval f as GLfloat) 1553 type PFNGLCLEARDEPTHFPROC as sub(byval d as GLfloat) 1554 type PFNGLGETPROGRAMBINARYPROC as sub(byval program as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval binaryFormat as GLenum ptr, byval binary as any ptr) 1555 type PFNGLPROGRAMBINARYPROC as sub(byval program as GLuint, byval binaryFormat as GLenum, byval binary as const any ptr, byval length as GLsizei) 1556 type PFNGLPROGRAMPARAMETERIPROC as sub(byval program as GLuint, byval pname as GLenum, byval value as GLint) 1557 type PFNGLUSEPROGRAMSTAGESPROC as sub(byval pipeline as GLuint, byval stages as GLbitfield, byval program as GLuint) 1558 type PFNGLACTIVESHADERPROGRAMPROC as sub(byval pipeline as GLuint, byval program as GLuint) 1559 type PFNGLCREATESHADERPROGRAMVPROC as function(byval type as GLenum, byval count as GLsizei, byval strings as const GLchar const ptr ptr) as GLuint 1560 type PFNGLBINDPROGRAMPIPELINEPROC as sub(byval pipeline as GLuint) 1561 type PFNGLDELETEPROGRAMPIPELINESPROC as sub(byval n as GLsizei, byval pipelines as const GLuint ptr) 1562 type PFNGLGENPROGRAMPIPELINESPROC as sub(byval n as GLsizei, byval pipelines as GLuint ptr) 1563 type PFNGLISPROGRAMPIPELINEPROC as function(byval pipeline as GLuint) as GLboolean 1564 type PFNGLGETPROGRAMPIPELINEIVPROC as sub(byval pipeline as GLuint, byval pname as GLenum, byval params as GLint ptr) 1565 type PFNGLPROGRAMUNIFORM1IPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLint) 1566 type PFNGLPROGRAMUNIFORM1IVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1567 type PFNGLPROGRAMUNIFORM1FPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLfloat) 1568 type PFNGLPROGRAMUNIFORM1FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1569 type PFNGLPROGRAMUNIFORM1DPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLdouble) 1570 type PFNGLPROGRAMUNIFORM1DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1571 type PFNGLPROGRAMUNIFORM1UIPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLuint) 1572 type PFNGLPROGRAMUNIFORM1UIVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1573 type PFNGLPROGRAMUNIFORM2IPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLint, byval v1 as GLint) 1574 type PFNGLPROGRAMUNIFORM2IVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1575 type PFNGLPROGRAMUNIFORM2FPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat) 1576 type PFNGLPROGRAMUNIFORM2FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1577 type PFNGLPROGRAMUNIFORM2DPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLdouble, byval v1 as GLdouble) 1578 type PFNGLPROGRAMUNIFORM2DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1579 type PFNGLPROGRAMUNIFORM2UIPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLuint, byval v1 as GLuint) 1580 type PFNGLPROGRAMUNIFORM2UIVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1581 type PFNGLPROGRAMUNIFORM3IPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint) 1582 type PFNGLPROGRAMUNIFORM3IVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1583 type PFNGLPROGRAMUNIFORM3FPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat) 1584 type PFNGLPROGRAMUNIFORM3FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1585 type PFNGLPROGRAMUNIFORM3DPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLdouble, byval v1 as GLdouble, byval v2 as GLdouble) 1586 type PFNGLPROGRAMUNIFORM3DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1587 type PFNGLPROGRAMUNIFORM3UIPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint) 1588 type PFNGLPROGRAMUNIFORM3UIVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1589 type PFNGLPROGRAMUNIFORM4IPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint, byval v3 as GLint) 1590 type PFNGLPROGRAMUNIFORM4IVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1591 type PFNGLPROGRAMUNIFORM4FPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat, byval v3 as GLfloat) 1592 type PFNGLPROGRAMUNIFORM4FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1593 type PFNGLPROGRAMUNIFORM4DPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLdouble, byval v1 as GLdouble, byval v2 as GLdouble, byval v3 as GLdouble) 1594 type PFNGLPROGRAMUNIFORM4DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1595 type PFNGLPROGRAMUNIFORM4UIPROC as sub(byval program as GLuint, byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint, byval v3 as GLuint) 1596 type PFNGLPROGRAMUNIFORM4UIVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1597 type PFNGLPROGRAMUNIFORMMATRIX2FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1598 type PFNGLPROGRAMUNIFORMMATRIX3FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1599 type PFNGLPROGRAMUNIFORMMATRIX4FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1600 type PFNGLPROGRAMUNIFORMMATRIX2DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1601 type PFNGLPROGRAMUNIFORMMATRIX3DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1602 type PFNGLPROGRAMUNIFORMMATRIX4DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1603 type PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1604 type PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1605 type PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1606 type PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1607 type PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1608 type PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1609 type PFNGLPROGRAMUNIFORMMATRIX2X3DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1610 type PFNGLPROGRAMUNIFORMMATRIX3X2DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1611 type PFNGLPROGRAMUNIFORMMATRIX2X4DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1612 type PFNGLPROGRAMUNIFORMMATRIX4X2DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1613 type PFNGLPROGRAMUNIFORMMATRIX3X4DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1614 type PFNGLPROGRAMUNIFORMMATRIX4X3DVPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1615 type PFNGLVALIDATEPROGRAMPIPELINEPROC as sub(byval pipeline as GLuint) 1616 type PFNGLGETPROGRAMPIPELINEINFOLOGPROC as sub(byval pipeline as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval infoLog as GLchar ptr) 1617 type PFNGLVERTEXATTRIBL1DPROC as sub(byval index as GLuint, byval x as GLdouble) 1618 type PFNGLVERTEXATTRIBL2DPROC as sub(byval index as GLuint, byval x as GLdouble, byval y as GLdouble) 1619 type PFNGLVERTEXATTRIBL3DPROC as sub(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 1620 type PFNGLVERTEXATTRIBL4DPROC as sub(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 1621 type PFNGLVERTEXATTRIBL1DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 1622 type PFNGLVERTEXATTRIBL2DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 1623 type PFNGLVERTEXATTRIBL3DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 1624 type PFNGLVERTEXATTRIBL4DVPROC as sub(byval index as GLuint, byval v as const GLdouble ptr) 1625 type PFNGLVERTEXATTRIBLPOINTERPROC as sub(byval index as GLuint, byval size as GLint, byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 1626 type PFNGLGETVERTEXATTRIBLDVPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLdouble ptr) 1627 type PFNGLVIEWPORTARRAYVPROC as sub(byval first as GLuint, byval count as GLsizei, byval v as const GLfloat ptr) 1628 type PFNGLVIEWPORTINDEXEDFPROC as sub(byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval w as GLfloat, byval h as GLfloat) 1629 type PFNGLVIEWPORTINDEXEDFVPROC as sub(byval index as GLuint, byval v as const GLfloat ptr) 1630 type PFNGLSCISSORARRAYVPROC as sub(byval first as GLuint, byval count as GLsizei, byval v as const GLint ptr) 1631 type PFNGLSCISSORINDEXEDPROC as sub(byval index as GLuint, byval left as GLint, byval bottom as GLint, byval width as GLsizei, byval height as GLsizei) 1632 type PFNGLSCISSORINDEXEDVPROC as sub(byval index as GLuint, byval v as const GLint ptr) 1633 type PFNGLDEPTHRANGEARRAYVPROC as sub(byval first as GLuint, byval count as GLsizei, byval v as const GLdouble ptr) 1634 type PFNGLDEPTHRANGEINDEXEDPROC as sub(byval index as GLuint, byval n as GLdouble, byval f as GLdouble) 1635 type PFNGLGETFLOATI_VPROC as sub(byval target as GLenum, byval index as GLuint, byval data as GLfloat ptr) 1636 type PFNGLGETDOUBLEI_VPROC as sub(byval target as GLenum, byval index as GLuint, byval data as GLdouble ptr) 1637 1638 #ifdef GL_GLEXT_PROTOTYPES 1639 declare sub glReleaseShaderCompiler() 1640 declare sub glShaderBinary(byval count as GLsizei, byval shaders as const GLuint ptr, byval binaryformat as GLenum, byval binary as const any ptr, byval length as GLsizei) 1641 declare sub glGetShaderPrecisionFormat(byval shadertype as GLenum, byval precisiontype as GLenum, byval range as GLint ptr, byval precision as GLint ptr) 1642 declare sub glDepthRangef(byval n as GLfloat, byval f as GLfloat) 1643 declare sub glClearDepthf(byval d as GLfloat) 1644 declare sub glGetProgramBinary(byval program as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval binaryFormat as GLenum ptr, byval binary as any ptr) 1645 declare sub glProgramBinary(byval program as GLuint, byval binaryFormat as GLenum, byval binary as const any ptr, byval length as GLsizei) 1646 declare sub glProgramParameteri(byval program as GLuint, byval pname as GLenum, byval value as GLint) 1647 declare sub glUseProgramStages(byval pipeline as GLuint, byval stages as GLbitfield, byval program as GLuint) 1648 declare sub glActiveShaderProgram(byval pipeline as GLuint, byval program as GLuint) 1649 declare function glCreateShaderProgramv(byval type as GLenum, byval count as GLsizei, byval strings as const GLchar const ptr ptr) as GLuint 1650 declare sub glBindProgramPipeline(byval pipeline as GLuint) 1651 declare sub glDeleteProgramPipelines(byval n as GLsizei, byval pipelines as const GLuint ptr) 1652 declare sub glGenProgramPipelines(byval n as GLsizei, byval pipelines as GLuint ptr) 1653 declare function glIsProgramPipeline(byval pipeline as GLuint) as GLboolean 1654 declare sub glGetProgramPipelineiv(byval pipeline as GLuint, byval pname as GLenum, byval params as GLint ptr) 1655 declare sub glProgramUniform1i(byval program as GLuint, byval location as GLint, byval v0 as GLint) 1656 declare sub glProgramUniform1iv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1657 declare sub glProgramUniform1f(byval program as GLuint, byval location as GLint, byval v0 as GLfloat) 1658 declare sub glProgramUniform1fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1659 declare sub glProgramUniform1d(byval program as GLuint, byval location as GLint, byval v0 as GLdouble) 1660 declare sub glProgramUniform1dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1661 declare sub glProgramUniform1ui(byval program as GLuint, byval location as GLint, byval v0 as GLuint) 1662 declare sub glProgramUniform1uiv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1663 declare sub glProgramUniform2i(byval program as GLuint, byval location as GLint, byval v0 as GLint, byval v1 as GLint) 1664 declare sub glProgramUniform2iv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1665 declare sub glProgramUniform2f(byval program as GLuint, byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat) 1666 declare sub glProgramUniform2fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1667 declare sub glProgramUniform2d(byval program as GLuint, byval location as GLint, byval v0 as GLdouble, byval v1 as GLdouble) 1668 declare sub glProgramUniform2dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1669 declare sub glProgramUniform2ui(byval program as GLuint, byval location as GLint, byval v0 as GLuint, byval v1 as GLuint) 1670 declare sub glProgramUniform2uiv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1671 declare sub glProgramUniform3i(byval program as GLuint, byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint) 1672 declare sub glProgramUniform3iv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1673 declare sub glProgramUniform3f(byval program as GLuint, byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat) 1674 declare sub glProgramUniform3fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1675 declare sub glProgramUniform3d(byval program as GLuint, byval location as GLint, byval v0 as GLdouble, byval v1 as GLdouble, byval v2 as GLdouble) 1676 declare sub glProgramUniform3dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1677 declare sub glProgramUniform3ui(byval program as GLuint, byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint) 1678 declare sub glProgramUniform3uiv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1679 declare sub glProgramUniform4i(byval program as GLuint, byval location as GLint, byval v0 as GLint, byval v1 as GLint, byval v2 as GLint, byval v3 as GLint) 1680 declare sub glProgramUniform4iv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLint ptr) 1681 declare sub glProgramUniform4f(byval program as GLuint, byval location as GLint, byval v0 as GLfloat, byval v1 as GLfloat, byval v2 as GLfloat, byval v3 as GLfloat) 1682 declare sub glProgramUniform4fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLfloat ptr) 1683 declare sub glProgramUniform4d(byval program as GLuint, byval location as GLint, byval v0 as GLdouble, byval v1 as GLdouble, byval v2 as GLdouble, byval v3 as GLdouble) 1684 declare sub glProgramUniform4dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLdouble ptr) 1685 declare sub glProgramUniform4ui(byval program as GLuint, byval location as GLint, byval v0 as GLuint, byval v1 as GLuint, byval v2 as GLuint, byval v3 as GLuint) 1686 declare sub glProgramUniform4uiv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval value as const GLuint ptr) 1687 declare sub glProgramUniformMatrix2fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1688 declare sub glProgramUniformMatrix3fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1689 declare sub glProgramUniformMatrix4fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1690 declare sub glProgramUniformMatrix2dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1691 declare sub glProgramUniformMatrix3dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1692 declare sub glProgramUniformMatrix4dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1693 declare sub glProgramUniformMatrix2x3fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1694 declare sub glProgramUniformMatrix3x2fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1695 declare sub glProgramUniformMatrix2x4fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1696 declare sub glProgramUniformMatrix4x2fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1697 declare sub glProgramUniformMatrix3x4fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1698 declare sub glProgramUniformMatrix4x3fv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLfloat ptr) 1699 declare sub glProgramUniformMatrix2x3dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1700 declare sub glProgramUniformMatrix3x2dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1701 declare sub glProgramUniformMatrix2x4dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1702 declare sub glProgramUniformMatrix4x2dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1703 declare sub glProgramUniformMatrix3x4dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1704 declare sub glProgramUniformMatrix4x3dv(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval transpose as GLboolean, byval value as const GLdouble ptr) 1705 declare sub glValidateProgramPipeline(byval pipeline as GLuint) 1706 declare sub glGetProgramPipelineInfoLog(byval pipeline as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval infoLog as GLchar ptr) 1707 declare sub glVertexAttribL1d(byval index as GLuint, byval x as GLdouble) 1708 declare sub glVertexAttribL2d(byval index as GLuint, byval x as GLdouble, byval y as GLdouble) 1709 declare sub glVertexAttribL3d(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble) 1710 declare sub glVertexAttribL4d(byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 1711 declare sub glVertexAttribL1dv(byval index as GLuint, byval v as const GLdouble ptr) 1712 declare sub glVertexAttribL2dv(byval index as GLuint, byval v as const GLdouble ptr) 1713 declare sub glVertexAttribL3dv(byval index as GLuint, byval v as const GLdouble ptr) 1714 declare sub glVertexAttribL4dv(byval index as GLuint, byval v as const GLdouble ptr) 1715 declare sub glVertexAttribLPointer(byval index as GLuint, byval size as GLint, byval type as GLenum, byval stride as GLsizei, byval pointer as const any ptr) 1716 declare sub glGetVertexAttribLdv(byval index as GLuint, byval pname as GLenum, byval params as GLdouble ptr) 1717 declare sub glViewportArrayv(byval first as GLuint, byval count as GLsizei, byval v as const GLfloat ptr) 1718 declare sub glViewportIndexedf(byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval w as GLfloat, byval h as GLfloat) 1719 declare sub glViewportIndexedfv(byval index as GLuint, byval v as const GLfloat ptr) 1720 declare sub glScissorArrayv(byval first as GLuint, byval count as GLsizei, byval v as const GLint ptr) 1721 declare sub glScissorIndexed(byval index as GLuint, byval left as GLint, byval bottom as GLint, byval width as GLsizei, byval height as GLsizei) 1722 declare sub glScissorIndexedv(byval index as GLuint, byval v as const GLint ptr) 1723 declare sub glDepthRangeArrayv(byval first as GLuint, byval count as GLsizei, byval v as const GLdouble ptr) 1724 declare sub glDepthRangeIndexed(byval index as GLuint, byval n as GLdouble, byval f as GLdouble) 1725 declare sub glGetFloati_v(byval target as GLenum, byval index as GLuint, byval data as GLfloat ptr) 1726 declare sub glGetDoublei_v(byval target as GLenum, byval index as GLuint, byval data as GLdouble ptr) 1727 #endif 1728 1729 const GL_VERSION_4_2 = 1 1730 const GL_COPY_READ_BUFFER_BINDING = &h8F36 1731 const GL_COPY_WRITE_BUFFER_BINDING = &h8F37 1732 const GL_TRANSFORM_FEEDBACK_ACTIVE = &h8E24 1733 const GL_TRANSFORM_FEEDBACK_PAUSED = &h8E23 1734 const GL_UNPACK_COMPRESSED_BLOCK_WIDTH = &h9127 1735 const GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = &h9128 1736 const GL_UNPACK_COMPRESSED_BLOCK_DEPTH = &h9129 1737 const GL_UNPACK_COMPRESSED_BLOCK_SIZE = &h912A 1738 const GL_PACK_COMPRESSED_BLOCK_WIDTH = &h912B 1739 const GL_PACK_COMPRESSED_BLOCK_HEIGHT = &h912C 1740 const GL_PACK_COMPRESSED_BLOCK_DEPTH = &h912D 1741 const GL_PACK_COMPRESSED_BLOCK_SIZE = &h912E 1742 const GL_NUM_SAMPLE_COUNTS = &h9380 1743 const GL_MIN_MAP_BUFFER_ALIGNMENT = &h90BC 1744 const GL_ATOMIC_COUNTER_BUFFER = &h92C0 1745 const GL_ATOMIC_COUNTER_BUFFER_BINDING = &h92C1 1746 const GL_ATOMIC_COUNTER_BUFFER_START = &h92C2 1747 const GL_ATOMIC_COUNTER_BUFFER_SIZE = &h92C3 1748 const GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = &h92C4 1749 const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = &h92C5 1750 const GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = &h92C6 1751 const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = &h92C7 1752 const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = &h92C8 1753 const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = &h92C9 1754 const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = &h92CA 1755 const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = &h92CB 1756 const GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = &h92CC 1757 const GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = &h92CD 1758 const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = &h92CE 1759 const GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = &h92CF 1760 const GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = &h92D0 1761 const GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = &h92D1 1762 const GL_MAX_VERTEX_ATOMIC_COUNTERS = &h92D2 1763 const GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = &h92D3 1764 const GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = &h92D4 1765 const GL_MAX_GEOMETRY_ATOMIC_COUNTERS = &h92D5 1766 const GL_MAX_FRAGMENT_ATOMIC_COUNTERS = &h92D6 1767 const GL_MAX_COMBINED_ATOMIC_COUNTERS = &h92D7 1768 const GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = &h92D8 1769 const GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = &h92DC 1770 const GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = &h92D9 1771 const GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = &h92DA 1772 const GL_UNSIGNED_INT_ATOMIC_COUNTER = &h92DB 1773 const GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = &h00000001 1774 const GL_ELEMENT_ARRAY_BARRIER_BIT = &h00000002 1775 const GL_UNIFORM_BARRIER_BIT = &h00000004 1776 const GL_TEXTURE_FETCH_BARRIER_BIT = &h00000008 1777 const GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = &h00000020 1778 const GL_COMMAND_BARRIER_BIT = &h00000040 1779 const GL_PIXEL_BUFFER_BARRIER_BIT = &h00000080 1780 const GL_TEXTURE_UPDATE_BARRIER_BIT = &h00000100 1781 const GL_BUFFER_UPDATE_BARRIER_BIT = &h00000200 1782 const GL_FRAMEBUFFER_BARRIER_BIT = &h00000400 1783 const GL_TRANSFORM_FEEDBACK_BARRIER_BIT = &h00000800 1784 const GL_ATOMIC_COUNTER_BARRIER_BIT = &h00001000 1785 const GL_ALL_BARRIER_BITS = &hFFFFFFFF 1786 const GL_MAX_IMAGE_UNITS = &h8F38 1787 const GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = &h8F39 1788 const GL_IMAGE_BINDING_NAME = &h8F3A 1789 const GL_IMAGE_BINDING_LEVEL = &h8F3B 1790 const GL_IMAGE_BINDING_LAYERED = &h8F3C 1791 const GL_IMAGE_BINDING_LAYER = &h8F3D 1792 const GL_IMAGE_BINDING_ACCESS = &h8F3E 1793 const GL_IMAGE_1D = &h904C 1794 const GL_IMAGE_2D = &h904D 1795 const GL_IMAGE_3D = &h904E 1796 const GL_IMAGE_2D_RECT = &h904F 1797 const GL_IMAGE_CUBE = &h9050 1798 const GL_IMAGE_BUFFER = &h9051 1799 const GL_IMAGE_1D_ARRAY = &h9052 1800 const GL_IMAGE_2D_ARRAY = &h9053 1801 const GL_IMAGE_CUBE_MAP_ARRAY = &h9054 1802 const GL_IMAGE_2D_MULTISAMPLE = &h9055 1803 const GL_IMAGE_2D_MULTISAMPLE_ARRAY = &h9056 1804 const GL_INT_IMAGE_1D = &h9057 1805 const GL_INT_IMAGE_2D = &h9058 1806 const GL_INT_IMAGE_3D = &h9059 1807 const GL_INT_IMAGE_2D_RECT = &h905A 1808 const GL_INT_IMAGE_CUBE = &h905B 1809 const GL_INT_IMAGE_BUFFER = &h905C 1810 const GL_INT_IMAGE_1D_ARRAY = &h905D 1811 const GL_INT_IMAGE_2D_ARRAY = &h905E 1812 const GL_INT_IMAGE_CUBE_MAP_ARRAY = &h905F 1813 const GL_INT_IMAGE_2D_MULTISAMPLE = &h9060 1814 const GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = &h9061 1815 const GL_UNSIGNED_INT_IMAGE_1D = &h9062 1816 const GL_UNSIGNED_INT_IMAGE_2D = &h9063 1817 const GL_UNSIGNED_INT_IMAGE_3D = &h9064 1818 const GL_UNSIGNED_INT_IMAGE_2D_RECT = &h9065 1819 const GL_UNSIGNED_INT_IMAGE_CUBE = &h9066 1820 const GL_UNSIGNED_INT_IMAGE_BUFFER = &h9067 1821 const GL_UNSIGNED_INT_IMAGE_1D_ARRAY = &h9068 1822 const GL_UNSIGNED_INT_IMAGE_2D_ARRAY = &h9069 1823 const GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = &h906A 1824 const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = &h906B 1825 const GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = &h906C 1826 const GL_MAX_IMAGE_SAMPLES = &h906D 1827 const GL_IMAGE_BINDING_FORMAT = &h906E 1828 const GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = &h90C7 1829 const GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = &h90C8 1830 const GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = &h90C9 1831 const GL_MAX_VERTEX_IMAGE_UNIFORMS = &h90CA 1832 const GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = &h90CB 1833 const GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = &h90CC 1834 const GL_MAX_GEOMETRY_IMAGE_UNIFORMS = &h90CD 1835 const GL_MAX_FRAGMENT_IMAGE_UNIFORMS = &h90CE 1836 const GL_MAX_COMBINED_IMAGE_UNIFORMS = &h90CF 1837 const GL_COMPRESSED_RGBA_BPTC_UNORM = &h8E8C 1838 const GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = &h8E8D 1839 const GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = &h8E8E 1840 const GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = &h8E8F 1841 const GL_TEXTURE_IMMUTABLE_FORMAT = &h912F 1842 1843 type PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC as sub(byval mode as GLenum, byval first as GLint, byval count as GLsizei, byval instancecount as GLsizei, byval baseinstance as GLuint) 1844 type PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC as sub(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei, byval baseinstance as GLuint) 1845 type PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC as sub(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei, byval basevertex as GLint, byval baseinstance as GLuint) 1846 type PFNGLGETINTERNALFORMATIVPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval pname as GLenum, byval bufSize as GLsizei, byval params as GLint ptr) 1847 type PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC as sub(byval program as GLuint, byval bufferIndex as GLuint, byval pname as GLenum, byval params as GLint ptr) 1848 type PFNGLBINDIMAGETEXTUREPROC as sub(byval unit as GLuint, byval texture as GLuint, byval level as GLint, byval layered as GLboolean, byval layer as GLint, byval access as GLenum, byval format as GLenum) 1849 type PFNGLMEMORYBARRIERPROC as sub(byval barriers as GLbitfield) 1850 type PFNGLTEXSTORAGE1DPROC as sub(byval target as GLenum, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei) 1851 type PFNGLTEXSTORAGE2DPROC as sub(byval target as GLenum, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 1852 type PFNGLTEXSTORAGE3DPROC as sub(byval target as GLenum, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei) 1853 type PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDPROC as sub(byval mode as GLenum, byval id as GLuint, byval instancecount as GLsizei) 1854 type PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC as sub(byval mode as GLenum, byval id as GLuint, byval stream as GLuint, byval instancecount as GLsizei) 1855 1856 #ifdef GL_GLEXT_PROTOTYPES 1857 declare sub glDrawArraysInstancedBaseInstance(byval mode as GLenum, byval first as GLint, byval count as GLsizei, byval instancecount as GLsizei, byval baseinstance as GLuint) 1858 declare sub glDrawElementsInstancedBaseInstance(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei, byval baseinstance as GLuint) 1859 declare sub glDrawElementsInstancedBaseVertexBaseInstance(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval instancecount as GLsizei, byval basevertex as GLint, byval baseinstance as GLuint) 1860 declare sub glGetInternalformativ(byval target as GLenum, byval internalformat as GLenum, byval pname as GLenum, byval bufSize as GLsizei, byval params as GLint ptr) 1861 declare sub glGetActiveAtomicCounterBufferiv(byval program as GLuint, byval bufferIndex as GLuint, byval pname as GLenum, byval params as GLint ptr) 1862 declare sub glBindImageTexture(byval unit as GLuint, byval texture as GLuint, byval level as GLint, byval layered as GLboolean, byval layer as GLint, byval access as GLenum, byval format as GLenum) 1863 declare sub glMemoryBarrier(byval barriers as GLbitfield) 1864 declare sub glTexStorage1D(byval target as GLenum, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei) 1865 declare sub glTexStorage2D(byval target as GLenum, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 1866 declare sub glTexStorage3D(byval target as GLenum, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei) 1867 declare sub glDrawTransformFeedbackInstanced(byval mode as GLenum, byval id as GLuint, byval instancecount as GLsizei) 1868 declare sub glDrawTransformFeedbackStreamInstanced(byval mode as GLenum, byval id as GLuint, byval stream as GLuint, byval instancecount as GLsizei) 1869 #endif 1870 1871 const GL_VERSION_4_3 = 1 1872 type GLDEBUGPROC as sub(byval source as GLenum, byval type as GLenum, byval id as GLuint, byval severity as GLenum, byval length as GLsizei, byval message as const GLchar ptr, byval userParam as const any ptr) 1873 const GL_NUM_SHADING_LANGUAGE_VERSIONS = &h82E9 1874 const GL_VERTEX_ATTRIB_ARRAY_LONG = &h874E 1875 const GL_COMPRESSED_RGB8_ETC2 = &h9274 1876 const GL_COMPRESSED_SRGB8_ETC2 = &h9275 1877 const GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = &h9276 1878 const GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = &h9277 1879 const GL_COMPRESSED_RGBA8_ETC2_EAC = &h9278 1880 const GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = &h9279 1881 const GL_COMPRESSED_R11_EAC = &h9270 1882 const GL_COMPRESSED_SIGNED_R11_EAC = &h9271 1883 const GL_COMPRESSED_RG11_EAC = &h9272 1884 const GL_COMPRESSED_SIGNED_RG11_EAC = &h9273 1885 const GL_PRIMITIVE_RESTART_FIXED_INDEX = &h8D69 1886 const GL_ANY_SAMPLES_PASSED_CONSERVATIVE = &h8D6A 1887 const GL_MAX_ELEMENT_INDEX = &h8D6B 1888 const GL_COMPUTE_SHADER = &h91B9 1889 const GL_MAX_COMPUTE_UNIFORM_BLOCKS = &h91BB 1890 const GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = &h91BC 1891 const GL_MAX_COMPUTE_IMAGE_UNIFORMS = &h91BD 1892 const GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = &h8262 1893 const GL_MAX_COMPUTE_UNIFORM_COMPONENTS = &h8263 1894 const GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = &h8264 1895 const GL_MAX_COMPUTE_ATOMIC_COUNTERS = &h8265 1896 const GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = &h8266 1897 const GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = &h90EB 1898 const GL_MAX_COMPUTE_WORK_GROUP_COUNT = &h91BE 1899 const GL_MAX_COMPUTE_WORK_GROUP_SIZE = &h91BF 1900 const GL_COMPUTE_WORK_GROUP_SIZE = &h8267 1901 const GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = &h90EC 1902 const GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = &h90ED 1903 const GL_DISPATCH_INDIRECT_BUFFER = &h90EE 1904 const GL_DISPATCH_INDIRECT_BUFFER_BINDING = &h90EF 1905 const GL_COMPUTE_SHADER_BIT = &h00000020 1906 const GL_DEBUG_OUTPUT_SYNCHRONOUS = &h8242 1907 const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = &h8243 1908 const GL_DEBUG_CALLBACK_FUNCTION = &h8244 1909 const GL_DEBUG_CALLBACK_USER_PARAM = &h8245 1910 const GL_DEBUG_SOURCE_API = &h8246 1911 const GL_DEBUG_SOURCE_WINDOW_SYSTEM = &h8247 1912 const GL_DEBUG_SOURCE_SHADER_COMPILER = &h8248 1913 const GL_DEBUG_SOURCE_THIRD_PARTY = &h8249 1914 const GL_DEBUG_SOURCE_APPLICATION = &h824A 1915 const GL_DEBUG_SOURCE_OTHER = &h824B 1916 const GL_DEBUG_TYPE_ERROR = &h824C 1917 const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = &h824D 1918 const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = &h824E 1919 const GL_DEBUG_TYPE_PORTABILITY = &h824F 1920 const GL_DEBUG_TYPE_PERFORMANCE = &h8250 1921 const GL_DEBUG_TYPE_OTHER = &h8251 1922 const GL_MAX_DEBUG_MESSAGE_LENGTH = &h9143 1923 const GL_MAX_DEBUG_LOGGED_MESSAGES = &h9144 1924 const GL_DEBUG_LOGGED_MESSAGES = &h9145 1925 const GL_DEBUG_SEVERITY_HIGH = &h9146 1926 const GL_DEBUG_SEVERITY_MEDIUM = &h9147 1927 const GL_DEBUG_SEVERITY_LOW = &h9148 1928 const GL_DEBUG_TYPE_MARKER = &h8268 1929 const GL_DEBUG_TYPE_PUSH_GROUP = &h8269 1930 const GL_DEBUG_TYPE_POP_GROUP = &h826A 1931 const GL_DEBUG_SEVERITY_NOTIFICATION = &h826B 1932 const GL_MAX_DEBUG_GROUP_STACK_DEPTH = &h826C 1933 const GL_DEBUG_GROUP_STACK_DEPTH = &h826D 1934 const GL_BUFFER = &h82E0 1935 const GL_SHADER = &h82E1 1936 const GL_PROGRAM = &h82E2 1937 const GL_QUERY = &h82E3 1938 const GL_PROGRAM_PIPELINE = &h82E4 1939 const GL_SAMPLER = &h82E6 1940 const GL_MAX_LABEL_LENGTH = &h82E8 1941 const GL_DEBUG_OUTPUT = &h92E0 1942 const GL_CONTEXT_FLAG_DEBUG_BIT = &h00000002 1943 const GL_MAX_UNIFORM_LOCATIONS = &h826E 1944 const GL_FRAMEBUFFER_DEFAULT_WIDTH = &h9310 1945 const GL_FRAMEBUFFER_DEFAULT_HEIGHT = &h9311 1946 const GL_FRAMEBUFFER_DEFAULT_LAYERS = &h9312 1947 const GL_FRAMEBUFFER_DEFAULT_SAMPLES = &h9313 1948 const GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = &h9314 1949 const GL_MAX_FRAMEBUFFER_WIDTH = &h9315 1950 const GL_MAX_FRAMEBUFFER_HEIGHT = &h9316 1951 const GL_MAX_FRAMEBUFFER_LAYERS = &h9317 1952 const GL_MAX_FRAMEBUFFER_SAMPLES = &h9318 1953 const GL_INTERNALFORMAT_SUPPORTED = &h826F 1954 const GL_INTERNALFORMAT_PREFERRED = &h8270 1955 const GL_INTERNALFORMAT_RED_SIZE = &h8271 1956 const GL_INTERNALFORMAT_GREEN_SIZE = &h8272 1957 const GL_INTERNALFORMAT_BLUE_SIZE = &h8273 1958 const GL_INTERNALFORMAT_ALPHA_SIZE = &h8274 1959 const GL_INTERNALFORMAT_DEPTH_SIZE = &h8275 1960 const GL_INTERNALFORMAT_STENCIL_SIZE = &h8276 1961 const GL_INTERNALFORMAT_SHARED_SIZE = &h8277 1962 const GL_INTERNALFORMAT_RED_TYPE = &h8278 1963 const GL_INTERNALFORMAT_GREEN_TYPE = &h8279 1964 const GL_INTERNALFORMAT_BLUE_TYPE = &h827A 1965 const GL_INTERNALFORMAT_ALPHA_TYPE = &h827B 1966 const GL_INTERNALFORMAT_DEPTH_TYPE = &h827C 1967 const GL_INTERNALFORMAT_STENCIL_TYPE = &h827D 1968 const GL_MAX_WIDTH = &h827E 1969 const GL_MAX_HEIGHT = &h827F 1970 const GL_MAX_DEPTH = &h8280 1971 const GL_MAX_LAYERS = &h8281 1972 const GL_MAX_COMBINED_DIMENSIONS = &h8282 1973 const GL_COLOR_COMPONENTS = &h8283 1974 const GL_DEPTH_COMPONENTS = &h8284 1975 const GL_STENCIL_COMPONENTS = &h8285 1976 const GL_COLOR_RENDERABLE = &h8286 1977 const GL_DEPTH_RENDERABLE = &h8287 1978 const GL_STENCIL_RENDERABLE = &h8288 1979 const GL_FRAMEBUFFER_RENDERABLE = &h8289 1980 const GL_FRAMEBUFFER_RENDERABLE_LAYERED = &h828A 1981 const GL_FRAMEBUFFER_BLEND = &h828B 1982 const GL_READ_PIXELS = &h828C 1983 const GL_READ_PIXELS_FORMAT = &h828D 1984 const GL_READ_PIXELS_TYPE = &h828E 1985 const GL_TEXTURE_IMAGE_FORMAT = &h828F 1986 const GL_TEXTURE_IMAGE_TYPE = &h8290 1987 const GL_GET_TEXTURE_IMAGE_FORMAT = &h8291 1988 const GL_GET_TEXTURE_IMAGE_TYPE = &h8292 1989 const GL_MIPMAP = &h8293 1990 const GL_MANUAL_GENERATE_MIPMAP = &h8294 1991 const GL_AUTO_GENERATE_MIPMAP = &h8295 1992 const GL_COLOR_ENCODING = &h8296 1993 const GL_SRGB_READ = &h8297 1994 const GL_SRGB_WRITE = &h8298 1995 const GL_FILTER = &h829A 1996 const GL_VERTEX_TEXTURE = &h829B 1997 const GL_TESS_CONTROL_TEXTURE = &h829C 1998 const GL_TESS_EVALUATION_TEXTURE = &h829D 1999 const GL_GEOMETRY_TEXTURE = &h829E 2000 const GL_FRAGMENT_TEXTURE = &h829F 2001 const GL_COMPUTE_TEXTURE = &h82A0 2002 const GL_TEXTURE_SHADOW = &h82A1 2003 const GL_TEXTURE_GATHER = &h82A2 2004 const GL_TEXTURE_GATHER_SHADOW = &h82A3 2005 const GL_SHADER_IMAGE_LOAD = &h82A4 2006 const GL_SHADER_IMAGE_STORE = &h82A5 2007 const GL_SHADER_IMAGE_ATOMIC = &h82A6 2008 const GL_IMAGE_TEXEL_SIZE = &h82A7 2009 const GL_IMAGE_COMPATIBILITY_CLASS = &h82A8 2010 const GL_IMAGE_PIXEL_FORMAT = &h82A9 2011 const GL_IMAGE_PIXEL_TYPE = &h82AA 2012 const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = &h82AC 2013 const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = &h82AD 2014 const GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = &h82AE 2015 const GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = &h82AF 2016 const GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = &h82B1 2017 const GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = &h82B2 2018 const GL_TEXTURE_COMPRESSED_BLOCK_SIZE = &h82B3 2019 const GL_CLEAR_BUFFER = &h82B4 2020 const GL_TEXTURE_VIEW = &h82B5 2021 const GL_VIEW_COMPATIBILITY_CLASS = &h82B6 2022 const GL_FULL_SUPPORT = &h82B7 2023 const GL_CAVEAT_SUPPORT = &h82B8 2024 const GL_IMAGE_CLASS_4_X_32 = &h82B9 2025 const GL_IMAGE_CLASS_2_X_32 = &h82BA 2026 const GL_IMAGE_CLASS_1_X_32 = &h82BB 2027 const GL_IMAGE_CLASS_4_X_16 = &h82BC 2028 const GL_IMAGE_CLASS_2_X_16 = &h82BD 2029 const GL_IMAGE_CLASS_1_X_16 = &h82BE 2030 const GL_IMAGE_CLASS_4_X_8 = &h82BF 2031 const GL_IMAGE_CLASS_2_X_8 = &h82C0 2032 const GL_IMAGE_CLASS_1_X_8 = &h82C1 2033 const GL_IMAGE_CLASS_11_11_10 = &h82C2 2034 const GL_IMAGE_CLASS_10_10_10_2 = &h82C3 2035 const GL_VIEW_CLASS_128_BITS = &h82C4 2036 const GL_VIEW_CLASS_96_BITS = &h82C5 2037 const GL_VIEW_CLASS_64_BITS = &h82C6 2038 const GL_VIEW_CLASS_48_BITS = &h82C7 2039 const GL_VIEW_CLASS_32_BITS = &h82C8 2040 const GL_VIEW_CLASS_24_BITS = &h82C9 2041 const GL_VIEW_CLASS_16_BITS = &h82CA 2042 const GL_VIEW_CLASS_8_BITS = &h82CB 2043 const GL_VIEW_CLASS_S3TC_DXT1_RGB = &h82CC 2044 const GL_VIEW_CLASS_S3TC_DXT1_RGBA = &h82CD 2045 const GL_VIEW_CLASS_S3TC_DXT3_RGBA = &h82CE 2046 const GL_VIEW_CLASS_S3TC_DXT5_RGBA = &h82CF 2047 const GL_VIEW_CLASS_RGTC1_RED = &h82D0 2048 const GL_VIEW_CLASS_RGTC2_RG = &h82D1 2049 const GL_VIEW_CLASS_BPTC_UNORM = &h82D2 2050 const GL_VIEW_CLASS_BPTC_FLOAT = &h82D3 2051 const GL_UNIFORM = &h92E1 2052 const GL_UNIFORM_BLOCK = &h92E2 2053 const GL_PROGRAM_INPUT = &h92E3 2054 const GL_PROGRAM_OUTPUT = &h92E4 2055 const GL_BUFFER_VARIABLE = &h92E5 2056 const GL_SHADER_STORAGE_BLOCK = &h92E6 2057 const GL_VERTEX_SUBROUTINE = &h92E8 2058 const GL_TESS_CONTROL_SUBROUTINE = &h92E9 2059 const GL_TESS_EVALUATION_SUBROUTINE = &h92EA 2060 const GL_GEOMETRY_SUBROUTINE = &h92EB 2061 const GL_FRAGMENT_SUBROUTINE = &h92EC 2062 const GL_COMPUTE_SUBROUTINE = &h92ED 2063 const GL_VERTEX_SUBROUTINE_UNIFORM = &h92EE 2064 const GL_TESS_CONTROL_SUBROUTINE_UNIFORM = &h92EF 2065 const GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = &h92F0 2066 const GL_GEOMETRY_SUBROUTINE_UNIFORM = &h92F1 2067 const GL_FRAGMENT_SUBROUTINE_UNIFORM = &h92F2 2068 const GL_COMPUTE_SUBROUTINE_UNIFORM = &h92F3 2069 const GL_TRANSFORM_FEEDBACK_VARYING = &h92F4 2070 const GL_ACTIVE_RESOURCES = &h92F5 2071 const GL_MAX_NAME_LENGTH = &h92F6 2072 const GL_MAX_NUM_ACTIVE_VARIABLES = &h92F7 2073 const GL_MAX_NUM_COMPATIBLE_SUBROUTINES = &h92F8 2074 const GL_NAME_LENGTH = &h92F9 2075 const GL_TYPE = &h92FA 2076 const GL_ARRAY_SIZE = &h92FB 2077 const GL_OFFSET = &h92FC 2078 const GL_BLOCK_INDEX = &h92FD 2079 const GL_ARRAY_STRIDE = &h92FE 2080 const GL_MATRIX_STRIDE = &h92FF 2081 const GL_IS_ROW_MAJOR = &h9300 2082 const GL_ATOMIC_COUNTER_BUFFER_INDEX = &h9301 2083 const GL_BUFFER_BINDING = &h9302 2084 const GL_BUFFER_DATA_SIZE = &h9303 2085 const GL_NUM_ACTIVE_VARIABLES = &h9304 2086 const GL_ACTIVE_VARIABLES = &h9305 2087 const GL_REFERENCED_BY_VERTEX_SHADER = &h9306 2088 const GL_REFERENCED_BY_TESS_CONTROL_SHADER = &h9307 2089 const GL_REFERENCED_BY_TESS_EVALUATION_SHADER = &h9308 2090 const GL_REFERENCED_BY_GEOMETRY_SHADER = &h9309 2091 const GL_REFERENCED_BY_FRAGMENT_SHADER = &h930A 2092 const GL_REFERENCED_BY_COMPUTE_SHADER = &h930B 2093 const GL_TOP_LEVEL_ARRAY_SIZE = &h930C 2094 const GL_TOP_LEVEL_ARRAY_STRIDE = &h930D 2095 const GL_LOCATION = &h930E 2096 const GL_LOCATION_INDEX = &h930F 2097 const GL_IS_PER_PATCH = &h92E7 2098 const GL_SHADER_STORAGE_BUFFER = &h90D2 2099 const GL_SHADER_STORAGE_BUFFER_BINDING = &h90D3 2100 const GL_SHADER_STORAGE_BUFFER_START = &h90D4 2101 const GL_SHADER_STORAGE_BUFFER_SIZE = &h90D5 2102 const GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = &h90D6 2103 const GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = &h90D7 2104 const GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = &h90D8 2105 const GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = &h90D9 2106 const GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = &h90DA 2107 const GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = &h90DB 2108 const GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = &h90DC 2109 const GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = &h90DD 2110 const GL_MAX_SHADER_STORAGE_BLOCK_SIZE = &h90DE 2111 const GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = &h90DF 2112 const GL_SHADER_STORAGE_BARRIER_BIT = &h00002000 2113 const GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = &h8F39 2114 const GL_DEPTH_STENCIL_TEXTURE_MODE = &h90EA 2115 const GL_TEXTURE_BUFFER_OFFSET = &h919D 2116 const GL_TEXTURE_BUFFER_SIZE = &h919E 2117 const GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = &h919F 2118 const GL_TEXTURE_VIEW_MIN_LEVEL = &h82DB 2119 const GL_TEXTURE_VIEW_NUM_LEVELS = &h82DC 2120 const GL_TEXTURE_VIEW_MIN_LAYER = &h82DD 2121 const GL_TEXTURE_VIEW_NUM_LAYERS = &h82DE 2122 const GL_TEXTURE_IMMUTABLE_LEVELS = &h82DF 2123 const GL_VERTEX_ATTRIB_BINDING = &h82D4 2124 const GL_VERTEX_ATTRIB_RELATIVE_OFFSET = &h82D5 2125 const GL_VERTEX_BINDING_DIVISOR = &h82D6 2126 const GL_VERTEX_BINDING_OFFSET = &h82D7 2127 const GL_VERTEX_BINDING_STRIDE = &h82D8 2128 const GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = &h82D9 2129 const GL_MAX_VERTEX_ATTRIB_BINDINGS = &h82DA 2130 const GL_VERTEX_BINDING_BUFFER = &h8F4F 2131 const GL_DISPLAY_LIST = &h82E7 2132 2133 type PFNGLCLEARBUFFERDATAPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2134 type PFNGLCLEARBUFFERSUBDATAPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2135 type PFNGLDISPATCHCOMPUTEPROC as sub(byval num_groups_x as GLuint, byval num_groups_y as GLuint, byval num_groups_z as GLuint) 2136 type PFNGLDISPATCHCOMPUTEINDIRECTPROC as sub(byval indirect as GLintptr) 2137 type PFNGLCOPYIMAGESUBDATAPROC as sub(byval srcName as GLuint, byval srcTarget as GLenum, byval srcLevel as GLint, byval srcX as GLint, byval srcY as GLint, byval srcZ as GLint, byval dstName as GLuint, byval dstTarget as GLenum, byval dstLevel as GLint, byval dstX as GLint, byval dstY as GLint, byval dstZ as GLint, byval srcWidth as GLsizei, byval srcHeight as GLsizei, byval srcDepth as GLsizei) 2138 type PFNGLFRAMEBUFFERPARAMETERIPROC as sub(byval target as GLenum, byval pname as GLenum, byval param as GLint) 2139 type PFNGLGETFRAMEBUFFERPARAMETERIVPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 2140 type PFNGLGETINTERNALFORMATI64VPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval pname as GLenum, byval bufSize as GLsizei, byval params as GLint64 ptr) 2141 type PFNGLINVALIDATETEXSUBIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei) 2142 type PFNGLINVALIDATETEXIMAGEPROC as sub(byval texture as GLuint, byval level as GLint) 2143 type PFNGLINVALIDATEBUFFERSUBDATAPROC as sub(byval buffer as GLuint, byval offset as GLintptr, byval length as GLsizeiptr) 2144 type PFNGLINVALIDATEBUFFERDATAPROC as sub(byval buffer as GLuint) 2145 type PFNGLINVALIDATEFRAMEBUFFERPROC as sub(byval target as GLenum, byval numAttachments as GLsizei, byval attachments as const GLenum ptr) 2146 type PFNGLINVALIDATESUBFRAMEBUFFERPROC as sub(byval target as GLenum, byval numAttachments as GLsizei, byval attachments as const GLenum ptr, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2147 type PFNGLMULTIDRAWARRAYSINDIRECTPROC as sub(byval mode as GLenum, byval indirect as const any ptr, byval drawcount as GLsizei, byval stride as GLsizei) 2148 type PFNGLMULTIDRAWELEMENTSINDIRECTPROC as sub(byval mode as GLenum, byval type as GLenum, byval indirect as const any ptr, byval drawcount as GLsizei, byval stride as GLsizei) 2149 type PFNGLGETPROGRAMINTERFACEIVPROC as sub(byval program as GLuint, byval programInterface as GLenum, byval pname as GLenum, byval params as GLint ptr) 2150 type PFNGLGETPROGRAMRESOURCEINDEXPROC as function(byval program as GLuint, byval programInterface as GLenum, byval name as const GLchar ptr) as GLuint 2151 type PFNGLGETPROGRAMRESOURCENAMEPROC as sub(byval program as GLuint, byval programInterface as GLenum, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval name as GLchar ptr) 2152 type PFNGLGETPROGRAMRESOURCEIVPROC as sub(byval program as GLuint, byval programInterface as GLenum, byval index as GLuint, byval propCount as GLsizei, byval props as const GLenum ptr, byval bufSize as GLsizei, byval length as GLsizei ptr, byval params as GLint ptr) 2153 type PFNGLGETPROGRAMRESOURCELOCATIONPROC as function(byval program as GLuint, byval programInterface as GLenum, byval name as const GLchar ptr) as GLint 2154 type PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC as function(byval program as GLuint, byval programInterface as GLenum, byval name as const GLchar ptr) as GLint 2155 type PFNGLSHADERSTORAGEBLOCKBINDINGPROC as sub(byval program as GLuint, byval storageBlockIndex as GLuint, byval storageBlockBinding as GLuint) 2156 type PFNGLTEXBUFFERRANGEPROC as sub(byval target as GLenum, byval internalformat as GLenum, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 2157 type PFNGLTEXSTORAGE2DMULTISAMPLEPROC as sub(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval fixedsamplelocations as GLboolean) 2158 type PFNGLTEXSTORAGE3DMULTISAMPLEPROC as sub(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval fixedsamplelocations as GLboolean) 2159 type PFNGLTEXTUREVIEWPROC as sub(byval texture as GLuint, byval target as GLenum, byval origtexture as GLuint, byval internalformat as GLenum, byval minlevel as GLuint, byval numlevels as GLuint, byval minlayer as GLuint, byval numlayers as GLuint) 2160 type PFNGLBINDVERTEXBUFFERPROC as sub(byval bindingindex as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval stride as GLsizei) 2161 type PFNGLVERTEXATTRIBFORMATPROC as sub(byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval normalized as GLboolean, byval relativeoffset as GLuint) 2162 type PFNGLVERTEXATTRIBIFORMATPROC as sub(byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2163 type PFNGLVERTEXATTRIBLFORMATPROC as sub(byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2164 type PFNGLVERTEXATTRIBBINDINGPROC as sub(byval attribindex as GLuint, byval bindingindex as GLuint) 2165 type PFNGLVERTEXBINDINGDIVISORPROC as sub(byval bindingindex as GLuint, byval divisor as GLuint) 2166 type PFNGLDEBUGMESSAGECONTROLPROC as sub(byval source as GLenum, byval type as GLenum, byval severity as GLenum, byval count as GLsizei, byval ids as const GLuint ptr, byval enabled as GLboolean) 2167 type PFNGLDEBUGMESSAGEINSERTPROC as sub(byval source as GLenum, byval type as GLenum, byval id as GLuint, byval severity as GLenum, byval length as GLsizei, byval buf as const GLchar ptr) 2168 type PFNGLDEBUGMESSAGECALLBACKPROC as sub(byval callback as GLDEBUGPROC, byval userParam as const any ptr) 2169 type PFNGLGETDEBUGMESSAGELOGPROC as function(byval count as GLuint, byval bufSize as GLsizei, byval sources as GLenum ptr, byval types as GLenum ptr, byval ids as GLuint ptr, byval severities as GLenum ptr, byval lengths as GLsizei ptr, byval messageLog as GLchar ptr) as GLuint 2170 type PFNGLPUSHDEBUGGROUPPROC as sub(byval source as GLenum, byval id as GLuint, byval length as GLsizei, byval message as const GLchar ptr) 2171 type PFNGLPOPDEBUGGROUPPROC as sub() 2172 type PFNGLOBJECTLABELPROC as sub(byval identifier as GLenum, byval name as GLuint, byval length as GLsizei, byval label as const GLchar ptr) 2173 type PFNGLGETOBJECTLABELPROC as sub(byval identifier as GLenum, byval name as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval label as GLchar ptr) 2174 type PFNGLOBJECTPTRLABELPROC as sub(byval ptr as const any ptr, byval length as GLsizei, byval label as const GLchar ptr) 2175 type PFNGLGETOBJECTPTRLABELPROC as sub(byval ptr as const any ptr, byval bufSize as GLsizei, byval length as GLsizei ptr, byval label as GLchar ptr) 2176 2177 #ifdef GL_GLEXT_PROTOTYPES 2178 declare sub glClearBufferData(byval target as GLenum, byval internalformat as GLenum, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2179 declare sub glClearBufferSubData(byval target as GLenum, byval internalformat as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2180 declare sub glDispatchCompute(byval num_groups_x as GLuint, byval num_groups_y as GLuint, byval num_groups_z as GLuint) 2181 declare sub glDispatchComputeIndirect(byval indirect as GLintptr) 2182 declare sub glCopyImageSubData(byval srcName as GLuint, byval srcTarget as GLenum, byval srcLevel as GLint, byval srcX as GLint, byval srcY as GLint, byval srcZ as GLint, byval dstName as GLuint, byval dstTarget as GLenum, byval dstLevel as GLint, byval dstX as GLint, byval dstY as GLint, byval dstZ as GLint, byval srcWidth as GLsizei, byval srcHeight as GLsizei, byval srcDepth as GLsizei) 2183 declare sub glFramebufferParameteri(byval target as GLenum, byval pname as GLenum, byval param as GLint) 2184 declare sub glGetFramebufferParameteriv(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 2185 declare sub glGetInternalformati64v(byval target as GLenum, byval internalformat as GLenum, byval pname as GLenum, byval bufSize as GLsizei, byval params as GLint64 ptr) 2186 declare sub glInvalidateTexSubImage(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei) 2187 declare sub glInvalidateTexImage(byval texture as GLuint, byval level as GLint) 2188 declare sub glInvalidateBufferSubData(byval buffer as GLuint, byval offset as GLintptr, byval length as GLsizeiptr) 2189 declare sub glInvalidateBufferData(byval buffer as GLuint) 2190 declare sub glInvalidateFramebuffer(byval target as GLenum, byval numAttachments as GLsizei, byval attachments as const GLenum ptr) 2191 declare sub glInvalidateSubFramebuffer(byval target as GLenum, byval numAttachments as GLsizei, byval attachments as const GLenum ptr, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2192 declare sub glMultiDrawArraysIndirect(byval mode as GLenum, byval indirect as const any ptr, byval drawcount as GLsizei, byval stride as GLsizei) 2193 declare sub glMultiDrawElementsIndirect(byval mode as GLenum, byval type as GLenum, byval indirect as const any ptr, byval drawcount as GLsizei, byval stride as GLsizei) 2194 declare sub glGetProgramInterfaceiv(byval program as GLuint, byval programInterface as GLenum, byval pname as GLenum, byval params as GLint ptr) 2195 declare function glGetProgramResourceIndex(byval program as GLuint, byval programInterface as GLenum, byval name as const GLchar ptr) as GLuint 2196 declare sub glGetProgramResourceName(byval program as GLuint, byval programInterface as GLenum, byval index as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval name as GLchar ptr) 2197 declare sub glGetProgramResourceiv(byval program as GLuint, byval programInterface as GLenum, byval index as GLuint, byval propCount as GLsizei, byval props as const GLenum ptr, byval bufSize as GLsizei, byval length as GLsizei ptr, byval params as GLint ptr) 2198 declare function glGetProgramResourceLocation(byval program as GLuint, byval programInterface as GLenum, byval name as const GLchar ptr) as GLint 2199 declare function glGetProgramResourceLocationIndex(byval program as GLuint, byval programInterface as GLenum, byval name as const GLchar ptr) as GLint 2200 declare sub glShaderStorageBlockBinding(byval program as GLuint, byval storageBlockIndex as GLuint, byval storageBlockBinding as GLuint) 2201 declare sub glTexBufferRange(byval target as GLenum, byval internalformat as GLenum, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 2202 declare sub glTexStorage2DMultisample(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval fixedsamplelocations as GLboolean) 2203 declare sub glTexStorage3DMultisample(byval target as GLenum, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval fixedsamplelocations as GLboolean) 2204 declare sub glTextureView(byval texture as GLuint, byval target as GLenum, byval origtexture as GLuint, byval internalformat as GLenum, byval minlevel as GLuint, byval numlevels as GLuint, byval minlayer as GLuint, byval numlayers as GLuint) 2205 declare sub glBindVertexBuffer(byval bindingindex as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval stride as GLsizei) 2206 declare sub glVertexAttribFormat(byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval normalized as GLboolean, byval relativeoffset as GLuint) 2207 declare sub glVertexAttribIFormat(byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2208 declare sub glVertexAttribLFormat(byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2209 declare sub glVertexAttribBinding(byval attribindex as GLuint, byval bindingindex as GLuint) 2210 declare sub glVertexBindingDivisor(byval bindingindex as GLuint, byval divisor as GLuint) 2211 declare sub glDebugMessageControl(byval source as GLenum, byval type as GLenum, byval severity as GLenum, byval count as GLsizei, byval ids as const GLuint ptr, byval enabled as GLboolean) 2212 declare sub glDebugMessageInsert(byval source as GLenum, byval type as GLenum, byval id as GLuint, byval severity as GLenum, byval length as GLsizei, byval buf as const GLchar ptr) 2213 declare sub glDebugMessageCallback(byval callback as GLDEBUGPROC, byval userParam as const any ptr) 2214 declare function glGetDebugMessageLog(byval count as GLuint, byval bufSize as GLsizei, byval sources as GLenum ptr, byval types as GLenum ptr, byval ids as GLuint ptr, byval severities as GLenum ptr, byval lengths as GLsizei ptr, byval messageLog as GLchar ptr) as GLuint 2215 declare sub glPushDebugGroup(byval source as GLenum, byval id as GLuint, byval length as GLsizei, byval message as const GLchar ptr) 2216 declare sub glPopDebugGroup() 2217 declare sub glObjectLabel(byval identifier as GLenum, byval name as GLuint, byval length as GLsizei, byval label as const GLchar ptr) 2218 declare sub glGetObjectLabel(byval identifier as GLenum, byval name as GLuint, byval bufSize as GLsizei, byval length as GLsizei ptr, byval label as GLchar ptr) 2219 declare sub glObjectPtrLabel(byval ptr as const any ptr, byval length as GLsizei, byval label as const GLchar ptr) 2220 declare sub glGetObjectPtrLabel(byval ptr as const any ptr, byval bufSize as GLsizei, byval length as GLsizei ptr, byval label as GLchar ptr) 2221 #endif 2222 2223 const GL_VERSION_4_4 = 1 2224 const GL_MAX_VERTEX_ATTRIB_STRIDE = &h82E5 2225 const GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = &h8221 2226 const GL_TEXTURE_BUFFER_BINDING = &h8C2A 2227 const GL_MAP_PERSISTENT_BIT = &h0040 2228 const GL_MAP_COHERENT_BIT = &h0080 2229 const GL_DYNAMIC_STORAGE_BIT = &h0100 2230 const GL_CLIENT_STORAGE_BIT = &h0200 2231 const GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = &h00004000 2232 const GL_BUFFER_IMMUTABLE_STORAGE = &h821F 2233 const GL_BUFFER_STORAGE_FLAGS = &h8220 2234 const GL_CLEAR_TEXTURE = &h9365 2235 const GL_LOCATION_COMPONENT = &h934A 2236 const GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = &h934B 2237 const GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = &h934C 2238 const GL_QUERY_BUFFER = &h9192 2239 const GL_QUERY_BUFFER_BARRIER_BIT = &h00008000 2240 const GL_QUERY_BUFFER_BINDING = &h9193 2241 const GL_QUERY_RESULT_NO_WAIT = &h9194 2242 const GL_MIRROR_CLAMP_TO_EDGE = &h8743 2243 2244 type PFNGLBUFFERSTORAGEPROC as sub(byval target as GLenum, byval size as GLsizeiptr, byval data as const any ptr, byval flags as GLbitfield) 2245 type PFNGLCLEARTEXIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2246 type PFNGLCLEARTEXSUBIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2247 type PFNGLBINDBUFFERSBASEPROC as sub(byval target as GLenum, byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr) 2248 type PFNGLBINDBUFFERSRANGEPROC as sub(byval target as GLenum, byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr, byval offsets as const GLintptr ptr, byval sizes as const GLsizeiptr ptr) 2249 type PFNGLBINDTEXTURESPROC as sub(byval first as GLuint, byval count as GLsizei, byval textures as const GLuint ptr) 2250 type PFNGLBINDSAMPLERSPROC as sub(byval first as GLuint, byval count as GLsizei, byval samplers as const GLuint ptr) 2251 type PFNGLBINDIMAGETEXTURESPROC as sub(byval first as GLuint, byval count as GLsizei, byval textures as const GLuint ptr) 2252 type PFNGLBINDVERTEXBUFFERSPROC as sub(byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr, byval offsets as const GLintptr ptr, byval strides as const GLsizei ptr) 2253 2254 #ifdef GL_GLEXT_PROTOTYPES 2255 declare sub glBufferStorage(byval target as GLenum, byval size as GLsizeiptr, byval data as const any ptr, byval flags as GLbitfield) 2256 declare sub glClearTexImage(byval texture as GLuint, byval level as GLint, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2257 declare sub glClearTexSubImage(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2258 declare sub glBindBuffersBase(byval target as GLenum, byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr) 2259 declare sub glBindBuffersRange(byval target as GLenum, byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr, byval offsets as const GLintptr ptr, byval sizes as const GLsizeiptr ptr) 2260 declare sub glBindTextures(byval first as GLuint, byval count as GLsizei, byval textures as const GLuint ptr) 2261 declare sub glBindSamplers(byval first as GLuint, byval count as GLsizei, byval samplers as const GLuint ptr) 2262 declare sub glBindImageTextures(byval first as GLuint, byval count as GLsizei, byval textures as const GLuint ptr) 2263 declare sub glBindVertexBuffers(byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr, byval offsets as const GLintptr ptr, byval strides as const GLsizei ptr) 2264 #endif 2265 2266 const GL_VERSION_4_5 = 1 2267 const GL_CONTEXT_LOST = &h0507 2268 const GL_NEGATIVE_ONE_TO_ONE = &h935E 2269 const GL_ZERO_TO_ONE = &h935F 2270 const GL_CLIP_ORIGIN = &h935C 2271 const GL_CLIP_DEPTH_MODE = &h935D 2272 const GL_QUERY_WAIT_INVERTED = &h8E17 2273 const GL_QUERY_NO_WAIT_INVERTED = &h8E18 2274 const GL_QUERY_BY_REGION_WAIT_INVERTED = &h8E19 2275 const GL_QUERY_BY_REGION_NO_WAIT_INVERTED = &h8E1A 2276 const GL_MAX_CULL_DISTANCES = &h82F9 2277 const GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = &h82FA 2278 const GL_TEXTURE_TARGET = &h1006 2279 const GL_QUERY_TARGET = &h82EA 2280 const GL_GUILTY_CONTEXT_RESET = &h8253 2281 const GL_INNOCENT_CONTEXT_RESET = &h8254 2282 const GL_UNKNOWN_CONTEXT_RESET = &h8255 2283 const GL_RESET_NOTIFICATION_STRATEGY = &h8256 2284 const GL_LOSE_CONTEXT_ON_RESET = &h8252 2285 const GL_NO_RESET_NOTIFICATION = &h8261 2286 const GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = &h00000004 2287 const GL_CONTEXT_RELEASE_BEHAVIOR = &h82FB 2288 const GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = &h82FC 2289 2290 type PFNGLCLIPCONTROLPROC as sub(byval origin as GLenum, byval depth as GLenum) 2291 type PFNGLCREATETRANSFORMFEEDBACKSPROC as sub(byval n as GLsizei, byval ids as GLuint ptr) 2292 type PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC as sub(byval xfb as GLuint, byval index as GLuint, byval buffer as GLuint) 2293 type PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC as sub(byval xfb as GLuint, byval index as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 2294 type PFNGLGETTRANSFORMFEEDBACKIVPROC as sub(byval xfb as GLuint, byval pname as GLenum, byval param as GLint ptr) 2295 type PFNGLGETTRANSFORMFEEDBACKI_VPROC as sub(byval xfb as GLuint, byval pname as GLenum, byval index as GLuint, byval param as GLint ptr) 2296 type PFNGLGETTRANSFORMFEEDBACKI64_VPROC as sub(byval xfb as GLuint, byval pname as GLenum, byval index as GLuint, byval param as GLint64 ptr) 2297 type PFNGLCREATEBUFFERSPROC as sub(byval n as GLsizei, byval buffers as GLuint ptr) 2298 type PFNGLNAMEDBUFFERSTORAGEPROC as sub(byval buffer as GLuint, byval size as GLsizeiptr, byval data as const any ptr, byval flags as GLbitfield) 2299 type PFNGLNAMEDBUFFERDATAPROC as sub(byval buffer as GLuint, byval size as GLsizeiptr, byval data as const any ptr, byval usage as GLenum) 2300 type PFNGLNAMEDBUFFERSUBDATAPROC as sub(byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr, byval data as const any ptr) 2301 type PFNGLCOPYNAMEDBUFFERSUBDATAPROC as sub(byval readBuffer as GLuint, byval writeBuffer as GLuint, byval readOffset as GLintptr, byval writeOffset as GLintptr, byval size as GLsizeiptr) 2302 type PFNGLCLEARNAMEDBUFFERDATAPROC as sub(byval buffer as GLuint, byval internalformat as GLenum, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2303 type PFNGLCLEARNAMEDBUFFERSUBDATAPROC as sub(byval buffer as GLuint, byval internalformat as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2304 type PFNGLMAPNAMEDBUFFERPROC as function(byval buffer as GLuint, byval access as GLenum) as any ptr 2305 type PFNGLMAPNAMEDBUFFERRANGEPROC as function(byval buffer as GLuint, byval offset as GLintptr, byval length as GLsizeiptr, byval access as GLbitfield) as any ptr 2306 type PFNGLUNMAPNAMEDBUFFERPROC as function(byval buffer as GLuint) as GLboolean 2307 type PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC as sub(byval buffer as GLuint, byval offset as GLintptr, byval length as GLsizeiptr) 2308 type PFNGLGETNAMEDBUFFERPARAMETERIVPROC as sub(byval buffer as GLuint, byval pname as GLenum, byval params as GLint ptr) 2309 type PFNGLGETNAMEDBUFFERPARAMETERI64VPROC as sub(byval buffer as GLuint, byval pname as GLenum, byval params as GLint64 ptr) 2310 type PFNGLGETNAMEDBUFFERPOINTERVPROC as sub(byval buffer as GLuint, byval pname as GLenum, byval params as any ptr ptr) 2311 type PFNGLGETNAMEDBUFFERSUBDATAPROC as sub(byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr, byval data as any ptr) 2312 type PFNGLCREATEFRAMEBUFFERSPROC as sub(byval n as GLsizei, byval framebuffers as GLuint ptr) 2313 type PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC as sub(byval framebuffer as GLuint, byval attachment as GLenum, byval renderbuffertarget as GLenum, byval renderbuffer as GLuint) 2314 type PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC as sub(byval framebuffer as GLuint, byval pname as GLenum, byval param as GLint) 2315 type PFNGLNAMEDFRAMEBUFFERTEXTUREPROC as sub(byval framebuffer as GLuint, byval attachment as GLenum, byval texture as GLuint, byval level as GLint) 2316 type PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC as sub(byval framebuffer as GLuint, byval attachment as GLenum, byval texture as GLuint, byval level as GLint, byval layer as GLint) 2317 type PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC as sub(byval framebuffer as GLuint, byval buf as GLenum) 2318 type PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC as sub(byval framebuffer as GLuint, byval n as GLsizei, byval bufs as const GLenum ptr) 2319 type PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC as sub(byval framebuffer as GLuint, byval src as GLenum) 2320 type PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC as sub(byval framebuffer as GLuint, byval numAttachments as GLsizei, byval attachments as const GLenum ptr) 2321 type PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC as sub(byval framebuffer as GLuint, byval numAttachments as GLsizei, byval attachments as const GLenum ptr, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2322 type PFNGLCLEARNAMEDFRAMEBUFFERIVPROC as sub(byval framebuffer as GLuint, byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLint ptr) 2323 type PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC as sub(byval framebuffer as GLuint, byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLuint ptr) 2324 type PFNGLCLEARNAMEDFRAMEBUFFERFVPROC as sub(byval framebuffer as GLuint, byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLfloat ptr) 2325 type PFNGLCLEARNAMEDFRAMEBUFFERFIPROC as sub(byval framebuffer as GLuint, byval buffer as GLenum, byval depth as const GLfloat, byval stencil as GLint) 2326 type PFNGLBLITNAMEDFRAMEBUFFERPROC as sub(byval readFramebuffer as GLuint, byval drawFramebuffer as GLuint, byval srcX0 as GLint, byval srcY0 as GLint, byval srcX1 as GLint, byval srcY1 as GLint, byval dstX0 as GLint, byval dstY0 as GLint, byval dstX1 as GLint, byval dstY1 as GLint, byval mask as GLbitfield, byval filter as GLenum) 2327 type PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC as function(byval framebuffer as GLuint, byval target as GLenum) as GLenum 2328 type PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC as sub(byval framebuffer as GLuint, byval pname as GLenum, byval param as GLint ptr) 2329 type PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC as sub(byval framebuffer as GLuint, byval attachment as GLenum, byval pname as GLenum, byval params as GLint ptr) 2330 type PFNGLCREATERENDERBUFFERSPROC as sub(byval n as GLsizei, byval renderbuffers as GLuint ptr) 2331 type PFNGLNAMEDRENDERBUFFERSTORAGEPROC as sub(byval renderbuffer as GLuint, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 2332 type PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC as sub(byval renderbuffer as GLuint, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 2333 type PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC as sub(byval renderbuffer as GLuint, byval pname as GLenum, byval params as GLint ptr) 2334 type PFNGLCREATETEXTURESPROC as sub(byval target as GLenum, byval n as GLsizei, byval textures as GLuint ptr) 2335 type PFNGLTEXTUREBUFFERPROC as sub(byval texture as GLuint, byval internalformat as GLenum, byval buffer as GLuint) 2336 type PFNGLTEXTUREBUFFERRANGEPROC as sub(byval texture as GLuint, byval internalformat as GLenum, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 2337 type PFNGLTEXTURESTORAGE1DPROC as sub(byval texture as GLuint, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei) 2338 type PFNGLTEXTURESTORAGE2DPROC as sub(byval texture as GLuint, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 2339 type PFNGLTEXTURESTORAGE3DPROC as sub(byval texture as GLuint, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei) 2340 type PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC as sub(byval texture as GLuint, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval fixedsamplelocations as GLboolean) 2341 type PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC as sub(byval texture as GLuint, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval fixedsamplelocations as GLboolean) 2342 type PFNGLTEXTURESUBIMAGE1DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval width as GLsizei, byval format as GLenum, byval type as GLenum, byval pixels as const any ptr) 2343 type PFNGLTEXTURESUBIMAGE2DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval format as GLenum, byval type as GLenum, byval pixels as const any ptr) 2344 type PFNGLTEXTURESUBIMAGE3DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval type as GLenum, byval pixels as const any ptr) 2345 type PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval width as GLsizei, byval format as GLenum, byval imageSize as GLsizei, byval data as const any ptr) 2346 type PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval format as GLenum, byval imageSize as GLsizei, byval data as const any ptr) 2347 type PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval imageSize as GLsizei, byval data as const any ptr) 2348 type PFNGLCOPYTEXTURESUBIMAGE1DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval x as GLint, byval y as GLint, byval width as GLsizei) 2349 type PFNGLCOPYTEXTURESUBIMAGE2DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2350 type PFNGLCOPYTEXTURESUBIMAGE3DPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2351 type PFNGLTEXTUREPARAMETERFPROC as sub(byval texture as GLuint, byval pname as GLenum, byval param as GLfloat) 2352 type PFNGLTEXTUREPARAMETERFVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval param as const GLfloat ptr) 2353 type PFNGLTEXTUREPARAMETERIPROC as sub(byval texture as GLuint, byval pname as GLenum, byval param as GLint) 2354 type PFNGLTEXTUREPARAMETERIIVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval params as const GLint ptr) 2355 type PFNGLTEXTUREPARAMETERIUIVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval params as const GLuint ptr) 2356 type PFNGLTEXTUREPARAMETERIVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval param as const GLint ptr) 2357 type PFNGLGENERATETEXTUREMIPMAPPROC as sub(byval texture as GLuint) 2358 type PFNGLBINDTEXTUREUNITPROC as sub(byval unit as GLuint, byval texture as GLuint) 2359 type PFNGLGETTEXTUREIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval pixels as any ptr) 2360 type PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval bufSize as GLsizei, byval pixels as any ptr) 2361 type PFNGLGETTEXTURELEVELPARAMETERFVPROC as sub(byval texture as GLuint, byval level as GLint, byval pname as GLenum, byval params as GLfloat ptr) 2362 type PFNGLGETTEXTURELEVELPARAMETERIVPROC as sub(byval texture as GLuint, byval level as GLint, byval pname as GLenum, byval params as GLint ptr) 2363 type PFNGLGETTEXTUREPARAMETERFVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval params as GLfloat ptr) 2364 type PFNGLGETTEXTUREPARAMETERIIVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval params as GLint ptr) 2365 type PFNGLGETTEXTUREPARAMETERIUIVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval params as GLuint ptr) 2366 type PFNGLGETTEXTUREPARAMETERIVPROC as sub(byval texture as GLuint, byval pname as GLenum, byval params as GLint ptr) 2367 type PFNGLCREATEVERTEXARRAYSPROC as sub(byval n as GLsizei, byval arrays as GLuint ptr) 2368 type PFNGLDISABLEVERTEXARRAYATTRIBPROC as sub(byval vaobj as GLuint, byval index as GLuint) 2369 type PFNGLENABLEVERTEXARRAYATTRIBPROC as sub(byval vaobj as GLuint, byval index as GLuint) 2370 type PFNGLVERTEXARRAYELEMENTBUFFERPROC as sub(byval vaobj as GLuint, byval buffer as GLuint) 2371 type PFNGLVERTEXARRAYVERTEXBUFFERPROC as sub(byval vaobj as GLuint, byval bindingindex as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval stride as GLsizei) 2372 type PFNGLVERTEXARRAYVERTEXBUFFERSPROC as sub(byval vaobj as GLuint, byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr, byval offsets as const GLintptr ptr, byval strides as const GLsizei ptr) 2373 type PFNGLVERTEXARRAYATTRIBBINDINGPROC as sub(byval vaobj as GLuint, byval attribindex as GLuint, byval bindingindex as GLuint) 2374 type PFNGLVERTEXARRAYATTRIBFORMATPROC as sub(byval vaobj as GLuint, byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval normalized as GLboolean, byval relativeoffset as GLuint) 2375 type PFNGLVERTEXARRAYATTRIBIFORMATPROC as sub(byval vaobj as GLuint, byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2376 type PFNGLVERTEXARRAYATTRIBLFORMATPROC as sub(byval vaobj as GLuint, byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2377 type PFNGLVERTEXARRAYBINDINGDIVISORPROC as sub(byval vaobj as GLuint, byval bindingindex as GLuint, byval divisor as GLuint) 2378 type PFNGLGETVERTEXARRAYIVPROC as sub(byval vaobj as GLuint, byval pname as GLenum, byval param as GLint ptr) 2379 type PFNGLGETVERTEXARRAYINDEXEDIVPROC as sub(byval vaobj as GLuint, byval index as GLuint, byval pname as GLenum, byval param as GLint ptr) 2380 type PFNGLGETVERTEXARRAYINDEXED64IVPROC as sub(byval vaobj as GLuint, byval index as GLuint, byval pname as GLenum, byval param as GLint64 ptr) 2381 type PFNGLCREATESAMPLERSPROC as sub(byval n as GLsizei, byval samplers as GLuint ptr) 2382 type PFNGLCREATEPROGRAMPIPELINESPROC as sub(byval n as GLsizei, byval pipelines as GLuint ptr) 2383 type PFNGLCREATEQUERIESPROC as sub(byval target as GLenum, byval n as GLsizei, byval ids as GLuint ptr) 2384 type PFNGLGETQUERYBUFFEROBJECTI64VPROC as sub(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2385 type PFNGLGETQUERYBUFFEROBJECTIVPROC as sub(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2386 type PFNGLGETQUERYBUFFEROBJECTUI64VPROC as sub(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2387 type PFNGLGETQUERYBUFFEROBJECTUIVPROC as sub(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2388 type PFNGLMEMORYBARRIERBYREGIONPROC as sub(byval barriers as GLbitfield) 2389 type PFNGLGETTEXTURESUBIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval pixels as any ptr) 2390 type PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC as sub(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval bufSize as GLsizei, byval pixels as any ptr) 2391 type PFNGLGETGRAPHICSRESETSTATUSPROC as function() as GLenum 2392 type PFNGLGETNCOMPRESSEDTEXIMAGEPROC as sub(byval target as GLenum, byval lod as GLint, byval bufSize as GLsizei, byval pixels as any ptr) 2393 type PFNGLGETNTEXIMAGEPROC as sub(byval target as GLenum, byval level as GLint, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval pixels as any ptr) 2394 type PFNGLGETNUNIFORMDVPROC as sub(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLdouble ptr) 2395 type PFNGLGETNUNIFORMFVPROC as sub(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLfloat ptr) 2396 type PFNGLGETNUNIFORMIVPROC as sub(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLint ptr) 2397 type PFNGLGETNUNIFORMUIVPROC as sub(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLuint ptr) 2398 type PFNGLREADNPIXELSPROC as sub(byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval data as any ptr) 2399 type PFNGLGETNMAPDVPROC as sub(byval target as GLenum, byval query as GLenum, byval bufSize as GLsizei, byval v as GLdouble ptr) 2400 type PFNGLGETNMAPFVPROC as sub(byval target as GLenum, byval query as GLenum, byval bufSize as GLsizei, byval v as GLfloat ptr) 2401 type PFNGLGETNMAPIVPROC as sub(byval target as GLenum, byval query as GLenum, byval bufSize as GLsizei, byval v as GLint ptr) 2402 type PFNGLGETNPIXELMAPFVPROC as sub(byval map as GLenum, byval bufSize as GLsizei, byval values as GLfloat ptr) 2403 type PFNGLGETNPIXELMAPUIVPROC as sub(byval map as GLenum, byval bufSize as GLsizei, byval values as GLuint ptr) 2404 type PFNGLGETNPIXELMAPUSVPROC as sub(byval map as GLenum, byval bufSize as GLsizei, byval values as GLushort ptr) 2405 type PFNGLGETNPOLYGONSTIPPLEPROC as sub(byval bufSize as GLsizei, byval pattern as GLubyte ptr) 2406 type PFNGLGETNCOLORTABLEPROC as sub(byval target as GLenum, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval table as any ptr) 2407 type PFNGLGETNCONVOLUTIONFILTERPROC as sub(byval target as GLenum, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval image as any ptr) 2408 type PFNGLGETNSEPARABLEFILTERPROC as sub(byval target as GLenum, byval format as GLenum, byval type as GLenum, byval rowBufSize as GLsizei, byval row as any ptr, byval columnBufSize as GLsizei, byval column as any ptr, byval span as any ptr) 2409 type PFNGLGETNHISTOGRAMPROC as sub(byval target as GLenum, byval reset as GLboolean, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval values as any ptr) 2410 type PFNGLGETNMINMAXPROC as sub(byval target as GLenum, byval reset as GLboolean, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval values as any ptr) 2411 type PFNGLTEXTUREBARRIERPROC as sub() 2412 2413 #ifdef GL_GLEXT_PROTOTYPES 2414 declare sub glClipControl(byval origin as GLenum, byval depth as GLenum) 2415 declare sub glCreateTransformFeedbacks(byval n as GLsizei, byval ids as GLuint ptr) 2416 declare sub glTransformFeedbackBufferBase(byval xfb as GLuint, byval index as GLuint, byval buffer as GLuint) 2417 declare sub glTransformFeedbackBufferRange(byval xfb as GLuint, byval index as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 2418 declare sub glGetTransformFeedbackiv(byval xfb as GLuint, byval pname as GLenum, byval param as GLint ptr) 2419 declare sub glGetTransformFeedbacki_v(byval xfb as GLuint, byval pname as GLenum, byval index as GLuint, byval param as GLint ptr) 2420 declare sub glGetTransformFeedbacki64_v(byval xfb as GLuint, byval pname as GLenum, byval index as GLuint, byval param as GLint64 ptr) 2421 declare sub glCreateBuffers(byval n as GLsizei, byval buffers as GLuint ptr) 2422 declare sub glNamedBufferStorage(byval buffer as GLuint, byval size as GLsizeiptr, byval data as const any ptr, byval flags as GLbitfield) 2423 declare sub glNamedBufferData(byval buffer as GLuint, byval size as GLsizeiptr, byval data as const any ptr, byval usage as GLenum) 2424 declare sub glNamedBufferSubData(byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr, byval data as const any ptr) 2425 declare sub glCopyNamedBufferSubData(byval readBuffer as GLuint, byval writeBuffer as GLuint, byval readOffset as GLintptr, byval writeOffset as GLintptr, byval size as GLsizeiptr) 2426 declare sub glClearNamedBufferData(byval buffer as GLuint, byval internalformat as GLenum, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2427 declare sub glClearNamedBufferSubData(byval buffer as GLuint, byval internalformat as GLenum, byval offset as GLintptr, byval size as GLsizeiptr, byval format as GLenum, byval type as GLenum, byval data as const any ptr) 2428 declare function glMapNamedBuffer(byval buffer as GLuint, byval access as GLenum) as any ptr 2429 declare function glMapNamedBufferRange(byval buffer as GLuint, byval offset as GLintptr, byval length as GLsizeiptr, byval access as GLbitfield) as any ptr 2430 declare function glUnmapNamedBuffer(byval buffer as GLuint) as GLboolean 2431 declare sub glFlushMappedNamedBufferRange(byval buffer as GLuint, byval offset as GLintptr, byval length as GLsizeiptr) 2432 declare sub glGetNamedBufferParameteriv(byval buffer as GLuint, byval pname as GLenum, byval params as GLint ptr) 2433 declare sub glGetNamedBufferParameteri64v(byval buffer as GLuint, byval pname as GLenum, byval params as GLint64 ptr) 2434 declare sub glGetNamedBufferPointerv(byval buffer as GLuint, byval pname as GLenum, byval params as any ptr ptr) 2435 declare sub glGetNamedBufferSubData(byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr, byval data as any ptr) 2436 declare sub glCreateFramebuffers(byval n as GLsizei, byval framebuffers as GLuint ptr) 2437 declare sub glNamedFramebufferRenderbuffer(byval framebuffer as GLuint, byval attachment as GLenum, byval renderbuffertarget as GLenum, byval renderbuffer as GLuint) 2438 declare sub glNamedFramebufferParameteri(byval framebuffer as GLuint, byval pname as GLenum, byval param as GLint) 2439 declare sub glNamedFramebufferTexture(byval framebuffer as GLuint, byval attachment as GLenum, byval texture as GLuint, byval level as GLint) 2440 declare sub glNamedFramebufferTextureLayer(byval framebuffer as GLuint, byval attachment as GLenum, byval texture as GLuint, byval level as GLint, byval layer as GLint) 2441 declare sub glNamedFramebufferDrawBuffer(byval framebuffer as GLuint, byval buf as GLenum) 2442 declare sub glNamedFramebufferDrawBuffers(byval framebuffer as GLuint, byval n as GLsizei, byval bufs as const GLenum ptr) 2443 declare sub glNamedFramebufferReadBuffer(byval framebuffer as GLuint, byval src as GLenum) 2444 declare sub glInvalidateNamedFramebufferData(byval framebuffer as GLuint, byval numAttachments as GLsizei, byval attachments as const GLenum ptr) 2445 declare sub glInvalidateNamedFramebufferSubData(byval framebuffer as GLuint, byval numAttachments as GLsizei, byval attachments as const GLenum ptr, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2446 declare sub glClearNamedFramebufferiv(byval framebuffer as GLuint, byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLint ptr) 2447 declare sub glClearNamedFramebufferuiv(byval framebuffer as GLuint, byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLuint ptr) 2448 declare sub glClearNamedFramebufferfv(byval framebuffer as GLuint, byval buffer as GLenum, byval drawbuffer as GLint, byval value as const GLfloat ptr) 2449 declare sub glClearNamedFramebufferfi(byval framebuffer as GLuint, byval buffer as GLenum, byval depth as const GLfloat, byval stencil as GLint) 2450 declare sub glBlitNamedFramebuffer(byval readFramebuffer as GLuint, byval drawFramebuffer as GLuint, byval srcX0 as GLint, byval srcY0 as GLint, byval srcX1 as GLint, byval srcY1 as GLint, byval dstX0 as GLint, byval dstY0 as GLint, byval dstX1 as GLint, byval dstY1 as GLint, byval mask as GLbitfield, byval filter as GLenum) 2451 declare function glCheckNamedFramebufferStatus(byval framebuffer as GLuint, byval target as GLenum) as GLenum 2452 declare sub glGetNamedFramebufferParameteriv(byval framebuffer as GLuint, byval pname as GLenum, byval param as GLint ptr) 2453 declare sub glGetNamedFramebufferAttachmentParameteriv(byval framebuffer as GLuint, byval attachment as GLenum, byval pname as GLenum, byval params as GLint ptr) 2454 declare sub glCreateRenderbuffers(byval n as GLsizei, byval renderbuffers as GLuint ptr) 2455 declare sub glNamedRenderbufferStorage(byval renderbuffer as GLuint, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 2456 declare sub glNamedRenderbufferStorageMultisample(byval renderbuffer as GLuint, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 2457 declare sub glGetNamedRenderbufferParameteriv(byval renderbuffer as GLuint, byval pname as GLenum, byval params as GLint ptr) 2458 declare sub glCreateTextures(byval target as GLenum, byval n as GLsizei, byval textures as GLuint ptr) 2459 declare sub glTextureBuffer(byval texture as GLuint, byval internalformat as GLenum, byval buffer as GLuint) 2460 declare sub glTextureBufferRange(byval texture as GLuint, byval internalformat as GLenum, byval buffer as GLuint, byval offset as GLintptr, byval size as GLsizeiptr) 2461 declare sub glTextureStorage1D(byval texture as GLuint, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei) 2462 declare sub glTextureStorage2D(byval texture as GLuint, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei) 2463 declare sub glTextureStorage3D(byval texture as GLuint, byval levels as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei) 2464 declare sub glTextureStorage2DMultisample(byval texture as GLuint, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval fixedsamplelocations as GLboolean) 2465 declare sub glTextureStorage3DMultisample(byval texture as GLuint, byval samples as GLsizei, byval internalformat as GLenum, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval fixedsamplelocations as GLboolean) 2466 declare sub glTextureSubImage1D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval width as GLsizei, byval format as GLenum, byval type as GLenum, byval pixels as const any ptr) 2467 declare sub glTextureSubImage2D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval format as GLenum, byval type as GLenum, byval pixels as const any ptr) 2468 declare sub glTextureSubImage3D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval type as GLenum, byval pixels as const any ptr) 2469 declare sub glCompressedTextureSubImage1D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval width as GLsizei, byval format as GLenum, byval imageSize as GLsizei, byval data as const any ptr) 2470 declare sub glCompressedTextureSubImage2D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval format as GLenum, byval imageSize as GLsizei, byval data as const any ptr) 2471 declare sub glCompressedTextureSubImage3D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval imageSize as GLsizei, byval data as const any ptr) 2472 declare sub glCopyTextureSubImage1D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval x as GLint, byval y as GLint, byval width as GLsizei) 2473 declare sub glCopyTextureSubImage2D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2474 declare sub glCopyTextureSubImage3D(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei) 2475 declare sub glTextureParameterf(byval texture as GLuint, byval pname as GLenum, byval param as GLfloat) 2476 declare sub glTextureParameterfv(byval texture as GLuint, byval pname as GLenum, byval param as const GLfloat ptr) 2477 declare sub glTextureParameteri(byval texture as GLuint, byval pname as GLenum, byval param as GLint) 2478 declare sub glTextureParameterIiv(byval texture as GLuint, byval pname as GLenum, byval params as const GLint ptr) 2479 declare sub glTextureParameterIuiv(byval texture as GLuint, byval pname as GLenum, byval params as const GLuint ptr) 2480 declare sub glTextureParameteriv(byval texture as GLuint, byval pname as GLenum, byval param as const GLint ptr) 2481 declare sub glGenerateTextureMipmap(byval texture as GLuint) 2482 declare sub glBindTextureUnit(byval unit as GLuint, byval texture as GLuint) 2483 declare sub glGetTextureImage(byval texture as GLuint, byval level as GLint, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval pixels as any ptr) 2484 declare sub glGetCompressedTextureImage(byval texture as GLuint, byval level as GLint, byval bufSize as GLsizei, byval pixels as any ptr) 2485 declare sub glGetTextureLevelParameterfv(byval texture as GLuint, byval level as GLint, byval pname as GLenum, byval params as GLfloat ptr) 2486 declare sub glGetTextureLevelParameteriv(byval texture as GLuint, byval level as GLint, byval pname as GLenum, byval params as GLint ptr) 2487 declare sub glGetTextureParameterfv(byval texture as GLuint, byval pname as GLenum, byval params as GLfloat ptr) 2488 declare sub glGetTextureParameterIiv(byval texture as GLuint, byval pname as GLenum, byval params as GLint ptr) 2489 declare sub glGetTextureParameterIuiv(byval texture as GLuint, byval pname as GLenum, byval params as GLuint ptr) 2490 declare sub glGetTextureParameteriv(byval texture as GLuint, byval pname as GLenum, byval params as GLint ptr) 2491 declare sub glCreateVertexArrays(byval n as GLsizei, byval arrays as GLuint ptr) 2492 declare sub glDisableVertexArrayAttrib(byval vaobj as GLuint, byval index as GLuint) 2493 declare sub glEnableVertexArrayAttrib(byval vaobj as GLuint, byval index as GLuint) 2494 declare sub glVertexArrayElementBuffer(byval vaobj as GLuint, byval buffer as GLuint) 2495 declare sub glVertexArrayVertexBuffer(byval vaobj as GLuint, byval bindingindex as GLuint, byval buffer as GLuint, byval offset as GLintptr, byval stride as GLsizei) 2496 declare sub glVertexArrayVertexBuffers(byval vaobj as GLuint, byval first as GLuint, byval count as GLsizei, byval buffers as const GLuint ptr, byval offsets as const GLintptr ptr, byval strides as const GLsizei ptr) 2497 declare sub glVertexArrayAttribBinding(byval vaobj as GLuint, byval attribindex as GLuint, byval bindingindex as GLuint) 2498 declare sub glVertexArrayAttribFormat(byval vaobj as GLuint, byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval normalized as GLboolean, byval relativeoffset as GLuint) 2499 declare sub glVertexArrayAttribIFormat(byval vaobj as GLuint, byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2500 declare sub glVertexArrayAttribLFormat(byval vaobj as GLuint, byval attribindex as GLuint, byval size as GLint, byval type as GLenum, byval relativeoffset as GLuint) 2501 declare sub glVertexArrayBindingDivisor(byval vaobj as GLuint, byval bindingindex as GLuint, byval divisor as GLuint) 2502 declare sub glGetVertexArrayiv(byval vaobj as GLuint, byval pname as GLenum, byval param as GLint ptr) 2503 declare sub glGetVertexArrayIndexediv(byval vaobj as GLuint, byval index as GLuint, byval pname as GLenum, byval param as GLint ptr) 2504 declare sub glGetVertexArrayIndexed64iv(byval vaobj as GLuint, byval index as GLuint, byval pname as GLenum, byval param as GLint64 ptr) 2505 declare sub glCreateSamplers(byval n as GLsizei, byval samplers as GLuint ptr) 2506 declare sub glCreateProgramPipelines(byval n as GLsizei, byval pipelines as GLuint ptr) 2507 declare sub glCreateQueries(byval target as GLenum, byval n as GLsizei, byval ids as GLuint ptr) 2508 declare sub glGetQueryBufferObjecti64v(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2509 declare sub glGetQueryBufferObjectiv(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2510 declare sub glGetQueryBufferObjectui64v(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2511 declare sub glGetQueryBufferObjectuiv(byval id as GLuint, byval buffer as GLuint, byval pname as GLenum, byval offset as GLintptr) 2512 declare sub glMemoryBarrierByRegion(byval barriers as GLbitfield) 2513 declare sub glGetTextureSubImage(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval pixels as any ptr) 2514 declare sub glGetCompressedTextureSubImage(byval texture as GLuint, byval level as GLint, byval xoffset as GLint, byval yoffset as GLint, byval zoffset as GLint, byval width as GLsizei, byval height as GLsizei, byval depth as GLsizei, byval bufSize as GLsizei, byval pixels as any ptr) 2515 declare function glGetGraphicsResetStatus() as GLenum 2516 declare sub glGetnCompressedTexImage(byval target as GLenum, byval lod as GLint, byval bufSize as GLsizei, byval pixels as any ptr) 2517 declare sub glGetnTexImage(byval target as GLenum, byval level as GLint, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval pixels as any ptr) 2518 declare sub glGetnUniformdv(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLdouble ptr) 2519 declare sub glGetnUniformfv(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLfloat ptr) 2520 declare sub glGetnUniformiv(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLint ptr) 2521 declare sub glGetnUniformuiv(byval program as GLuint, byval location as GLint, byval bufSize as GLsizei, byval params as GLuint ptr) 2522 declare sub glReadnPixels(byval x as GLint, byval y as GLint, byval width as GLsizei, byval height as GLsizei, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval data as any ptr) 2523 declare sub glGetnMapdv(byval target as GLenum, byval query as GLenum, byval bufSize as GLsizei, byval v as GLdouble ptr) 2524 declare sub glGetnMapfv(byval target as GLenum, byval query as GLenum, byval bufSize as GLsizei, byval v as GLfloat ptr) 2525 declare sub glGetnMapiv(byval target as GLenum, byval query as GLenum, byval bufSize as GLsizei, byval v as GLint ptr) 2526 declare sub glGetnPixelMapfv(byval map as GLenum, byval bufSize as GLsizei, byval values as GLfloat ptr) 2527 declare sub glGetnPixelMapuiv(byval map as GLenum, byval bufSize as GLsizei, byval values as GLuint ptr) 2528 declare sub glGetnPixelMapusv(byval map as GLenum, byval bufSize as GLsizei, byval values as GLushort ptr) 2529 declare sub glGetnPolygonStipple(byval bufSize as GLsizei, byval pattern as GLubyte ptr) 2530 declare sub glGetnColorTable(byval target as GLenum, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval table as any ptr) 2531 declare sub glGetnConvolutionFilter(byval target as GLenum, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval image as any ptr) 2532 declare sub glGetnSeparableFilter(byval target as GLenum, byval format as GLenum, byval type as GLenum, byval rowBufSize as GLsizei, byval row as any ptr, byval columnBufSize as GLsizei, byval column as any ptr, byval span as any ptr) 2533 declare sub glGetnHistogram(byval target as GLenum, byval reset as GLboolean, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval values as any ptr) 2534 declare sub glGetnMinmax(byval target as GLenum, byval reset as GLboolean, byval format as GLenum, byval type as GLenum, byval bufSize as GLsizei, byval values as any ptr) 2535 declare sub glTextureBarrier() 2536 #endif 2537 2538 const GL_ARB_ES2_compatibility = 1 2539 const GL_ARB_ES3_1_compatibility = 1 2540 const GL_ARB_ES3_compatibility = 1 2541 const GL_ARB_arrays_of_arrays = 1 2542 const GL_ARB_base_instance = 1 2543 const GL_ARB_bindless_texture = 1 2544 type GLuint64EXT as ulongint 2545 const GL_UNSIGNED_INT64_ARB = &h140F 2546 2547 type PFNGLGETTEXTUREHANDLEARBPROC as function(byval texture as GLuint) as GLuint64 2548 type PFNGLGETTEXTURESAMPLERHANDLEARBPROC as function(byval texture as GLuint, byval sampler as GLuint) as GLuint64 2549 type PFNGLMAKETEXTUREHANDLERESIDENTARBPROC as sub(byval handle as GLuint64) 2550 type PFNGLMAKETEXTUREHANDLENONRESIDENTARBPROC as sub(byval handle as GLuint64) 2551 type PFNGLGETIMAGEHANDLEARBPROC as function(byval texture as GLuint, byval level as GLint, byval layered as GLboolean, byval layer as GLint, byval format as GLenum) as GLuint64 2552 type PFNGLMAKEIMAGEHANDLERESIDENTARBPROC as sub(byval handle as GLuint64, byval access as GLenum) 2553 type PFNGLMAKEIMAGEHANDLENONRESIDENTARBPROC as sub(byval handle as GLuint64) 2554 type PFNGLUNIFORMHANDLEUI64ARBPROC as sub(byval location as GLint, byval value as GLuint64) 2555 type PFNGLUNIFORMHANDLEUI64VARBPROC as sub(byval location as GLint, byval count as GLsizei, byval value as const GLuint64 ptr) 2556 type PFNGLPROGRAMUNIFORMHANDLEUI64ARBPROC as sub(byval program as GLuint, byval location as GLint, byval value as GLuint64) 2557 type PFNGLPROGRAMUNIFORMHANDLEUI64VARBPROC as sub(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval values as const GLuint64 ptr) 2558 type PFNGLISTEXTUREHANDLERESIDENTARBPROC as function(byval handle as GLuint64) as GLboolean 2559 type PFNGLISIMAGEHANDLERESIDENTARBPROC as function(byval handle as GLuint64) as GLboolean 2560 type PFNGLVERTEXATTRIBL1UI64ARBPROC as sub(byval index as GLuint, byval x as GLuint64EXT) 2561 type PFNGLVERTEXATTRIBL1UI64VARBPROC as sub(byval index as GLuint, byval v as const GLuint64EXT ptr) 2562 type PFNGLGETVERTEXATTRIBLUI64VARBPROC as sub(byval index as GLuint, byval pname as GLenum, byval params as GLuint64EXT ptr) 2563 2564 #ifdef GL_GLEXT_PROTOTYPES 2565 declare function glGetTextureHandleARB(byval texture as GLuint) as GLuint64 2566 declare function glGetTextureSamplerHandleARB(byval texture as GLuint, byval sampler as GLuint) as GLuint64 2567 declare sub glMakeTextureHandleResidentARB(byval handle as GLuint64) 2568 declare sub glMakeTextureHandleNonResidentARB(byval handle as GLuint64) 2569 declare function glGetImageHandleARB(byval texture as GLuint, byval level as GLint, byval layered as GLboolean, byval layer as GLint, byval format as GLenum) as GLuint64 2570 declare sub glMakeImageHandleResidentARB(byval handle as GLuint64, byval access as GLenum) 2571 declare sub glMakeImageHandleNonResidentARB(byval handle as GLuint64) 2572 declare sub glUniformHandleui64ARB(byval location as GLint, byval value as GLuint64) 2573 declare sub glUniformHandleui64vARB(byval location as GLint, byval count as GLsizei, byval value as const GLuint64 ptr) 2574 declare sub glProgramUniformHandleui64ARB(byval program as GLuint, byval location as GLint, byval value as GLuint64) 2575 declare sub glProgramUniformHandleui64vARB(byval program as GLuint, byval location as GLint, byval count as GLsizei, byval values as const GLuint64 ptr) 2576 declare function glIsTextureHandleResidentARB(byval handle as GLuint64) as GLboolean 2577 declare function glIsImageHandleResidentARB(byval handle as GLuint64) as GLboolean 2578 declare sub glVertexAttribL1ui64ARB(byval index as GLuint, byval x as GLuint64EXT) 2579 declare sub glVertexAttribL1ui64vARB(byval index as GLuint, byval v as const GLuint64EXT ptr) 2580 declare sub glGetVertexAttribLui64vARB(byval index as GLuint, byval pname as GLenum, byval params as GLuint64EXT ptr) 2581 #endif 2582 2583 const GL_ARB_blend_func_extended = 1 2584 const GL_ARB_buffer_storage = 1 2585 const GL_ARB_cl_event = 1 2586 const GL_SYNC_CL_EVENT_ARB = &h8240 2587 const GL_SYNC_CL_EVENT_COMPLETE_ARB = &h8241 2588 2589 type _cl_context as _cl_context_ 2590 type _cl_event as _cl_event_ 2591 type PFNGLCREATESYNCFROMCLEVENTARBPROC as function(byval context as _cl_context ptr, byval event as _cl_event ptr, byval flags as GLbitfield) as GLsync 2592 2593 #ifdef GL_GLEXT_PROTOTYPES 2594 declare function glCreateSyncFromCLeventARB(byval context as _cl_context ptr, byval event as _cl_event ptr, byval flags as GLbitfield) as GLsync 2595 #endif 2596 2597 const GL_ARB_clear_buffer_object = 1 2598 const GL_ARB_clear_texture = 1 2599 const GL_ARB_clip_control = 1 2600 const GL_ARB_color_buffer_float = 1 2601 const GL_RGBA_FLOAT_MODE_ARB = &h8820 2602 const GL_CLAMP_VERTEX_COLOR_ARB = &h891A 2603 const GL_CLAMP_FRAGMENT_COLOR_ARB = &h891B 2604 const GL_CLAMP_READ_COLOR_ARB = &h891C 2605 const GL_FIXED_ONLY_ARB = &h891D 2606 type PFNGLCLAMPCOLORARBPROC as sub(byval target as GLenum, byval clamp as GLenum) 2607 2608 #ifdef GL_GLEXT_PROTOTYPES 2609 declare sub glClampColorARB(byval target as GLenum, byval clamp as GLenum) 2610 #endif 2611 2612 const GL_ARB_compatibility = 1 2613 const GL_ARB_compressed_texture_pixel_storage = 1 2614 const GL_ARB_compute_shader = 1 2615 const GL_ARB_compute_variable_group_size = 1 2616 const GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = &h9344 2617 const GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = &h90EB 2618 const GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = &h9345 2619 const GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = &h91BF 2620 type PFNGLDISPATCHCOMPUTEGROUPSIZEARBPROC as sub(byval num_groups_x as GLuint, byval num_groups_y as GLuint, byval num_groups_z as GLuint, byval group_size_x as GLuint, byval group_size_y as GLuint, byval group_size_z as GLuint) 2621 2622 #ifdef GL_GLEXT_PROTOTYPES 2623 declare sub glDispatchComputeGroupSizeARB(byval num_groups_x as GLuint, byval num_groups_y as GLuint, byval num_groups_z as GLuint, byval group_size_x as GLuint, byval group_size_y as GLuint, byval group_size_z as GLuint) 2624 #endif 2625 2626 const GL_ARB_conditional_render_inverted = 1 2627 const GL_ARB_conservative_depth = 1 2628 const GL_ARB_copy_buffer = 1 2629 const GL_ARB_copy_image = 1 2630 const GL_ARB_cull_distance = 1 2631 const GL_ARB_debug_output = 1 2632 type GLDEBUGPROCARB as sub(byval source as GLenum, byval type as GLenum, byval id as GLuint, byval severity as GLenum, byval length as GLsizei, byval message as const GLchar ptr, byval userParam as const any ptr) 2633 const GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = &h8242 2634 const GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = &h8243 2635 const GL_DEBUG_CALLBACK_FUNCTION_ARB = &h8244 2636 const GL_DEBUG_CALLBACK_USER_PARAM_ARB = &h8245 2637 const GL_DEBUG_SOURCE_API_ARB = &h8246 2638 const GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = &h8247 2639 const GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = &h8248 2640 const GL_DEBUG_SOURCE_THIRD_PARTY_ARB = &h8249 2641 const GL_DEBUG_SOURCE_APPLICATION_ARB = &h824A 2642 const GL_DEBUG_SOURCE_OTHER_ARB = &h824B 2643 const GL_DEBUG_TYPE_ERROR_ARB = &h824C 2644 const GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = &h824D 2645 const GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = &h824E 2646 const GL_DEBUG_TYPE_PORTABILITY_ARB = &h824F 2647 const GL_DEBUG_TYPE_PERFORMANCE_ARB = &h8250 2648 const GL_DEBUG_TYPE_OTHER_ARB = &h8251 2649 const GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = &h9143 2650 const GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = &h9144 2651 const GL_DEBUG_LOGGED_MESSAGES_ARB = &h9145 2652 const GL_DEBUG_SEVERITY_HIGH_ARB = &h9146 2653 const GL_DEBUG_SEVERITY_MEDIUM_ARB = &h9147 2654 const GL_DEBUG_SEVERITY_LOW_ARB = &h9148 2655 2656 type PFNGLDEBUGMESSAGECONTROLARBPROC as sub(byval source as GLenum, byval type as GLenum, byval severity as GLenum, byval count as GLsizei, byval ids as const GLuint ptr, byval enabled as GLboolean) 2657 type PFNGLDEBUGMESSAGEINSERTARBPROC as sub(byval source as GLenum, byval type as GLenum, byval id as GLuint, byval severity as GLenum, byval length as GLsizei, byval buf as const GLchar ptr) 2658 type PFNGLDEBUGMESSAGECALLBACKARBPROC as sub(byval callback as GLDEBUGPROCARB, byval userParam as const any ptr) 2659 type PFNGLGETDEBUGMESSAGELOGARBPROC as function(byval count as GLuint, byval bufSize as GLsizei, byval sources as GLenum ptr, byval types as GLenum ptr, byval ids as GLuint ptr, byval severities as GLenum ptr, byval lengths as GLsizei ptr, byval messageLog as GLchar ptr) as GLuint 2660 2661 #ifdef GL_GLEXT_PROTOTYPES 2662 declare sub glDebugMessageControlARB(byval source as GLenum, byval type as GLenum, byval severity as GLenum, byval count as GLsizei, byval ids as const GLuint ptr, byval enabled as GLboolean) 2663 declare sub glDebugMessageInsertARB(byval source as GLenum, byval type as GLenum, byval id as GLuint, byval severity as GLenum, byval length as GLsizei, byval buf as const GLchar ptr) 2664 declare sub glDebugMessageCallbackARB(byval callback as GLDEBUGPROCARB, byval userParam as const any ptr) 2665 declare function glGetDebugMessageLogARB(byval count as GLuint, byval bufSize as GLsizei, byval sources as GLenum ptr, byval types as GLenum ptr, byval ids as GLuint ptr, byval severities as GLenum ptr, byval lengths as GLsizei ptr, byval messageLog as GLchar ptr) as GLuint 2666 #endif 2667 2668 const GL_ARB_depth_buffer_float = 1 2669 const GL_ARB_depth_clamp = 1 2670 const GL_ARB_depth_texture = 1 2671 const GL_DEPTH_COMPONENT16_ARB = &h81A5 2672 const GL_DEPTH_COMPONENT24_ARB = &h81A6 2673 const GL_DEPTH_COMPONENT32_ARB = &h81A7 2674 const GL_TEXTURE_DEPTH_SIZE_ARB = &h884A 2675 const GL_DEPTH_TEXTURE_MODE_ARB = &h884B 2676 const GL_ARB_derivative_control = 1 2677 const GL_ARB_direct_state_access = 1 2678 const GL_ARB_draw_buffers = 1 2679 const GL_MAX_DRAW_BUFFERS_ARB = &h8824 2680 const GL_DRAW_BUFFER0_ARB = &h8825 2681 const GL_DRAW_BUFFER1_ARB = &h8826 2682 const GL_DRAW_BUFFER2_ARB = &h8827 2683 const GL_DRAW_BUFFER3_ARB = &h8828 2684 const GL_DRAW_BUFFER4_ARB = &h8829 2685 const GL_DRAW_BUFFER5_ARB = &h882A 2686 const GL_DRAW_BUFFER6_ARB = &h882B 2687 const GL_DRAW_BUFFER7_ARB = &h882C 2688 const GL_DRAW_BUFFER8_ARB = &h882D 2689 const GL_DRAW_BUFFER9_ARB = &h882E 2690 const GL_DRAW_BUFFER10_ARB = &h882F 2691 const GL_DRAW_BUFFER11_ARB = &h8830 2692 const GL_DRAW_BUFFER12_ARB = &h8831 2693 const GL_DRAW_BUFFER13_ARB = &h8832 2694 const GL_DRAW_BUFFER14_ARB = &h8833 2695 const GL_DRAW_BUFFER15_ARB = &h8834 2696 type PFNGLDRAWBUFFERSARBPROC as sub(byval n as GLsizei, byval bufs as const GLenum ptr) 2697 2698 #ifdef GL_GLEXT_PROTOTYPES 2699 declare sub glDrawBuffersARB(byval n as GLsizei, byval bufs as const GLenum ptr) 2700 #endif 2701 2702 const GL_ARB_draw_buffers_blend = 1 2703 type PFNGLBLENDEQUATIONIARBPROC as sub(byval buf as GLuint, byval mode as GLenum) 2704 type PFNGLBLENDEQUATIONSEPARATEIARBPROC as sub(byval buf as GLuint, byval modeRGB as GLenum, byval modeAlpha as GLenum) 2705 type PFNGLBLENDFUNCIARBPROC as sub(byval buf as GLuint, byval src as GLenum, byval dst as GLenum) 2706 type PFNGLBLENDFUNCSEPARATEIARBPROC as sub(byval buf as GLuint, byval srcRGB as GLenum, byval dstRGB as GLenum, byval srcAlpha as GLenum, byval dstAlpha as GLenum) 2707 2708 #ifdef GL_GLEXT_PROTOTYPES 2709 declare sub glBlendEquationiARB(byval buf as GLuint, byval mode as GLenum) 2710 declare sub glBlendEquationSeparateiARB(byval buf as GLuint, byval modeRGB as GLenum, byval modeAlpha as GLenum) 2711 declare sub glBlendFunciARB(byval buf as GLuint, byval src as GLenum, byval dst as GLenum) 2712 declare sub glBlendFuncSeparateiARB(byval buf as GLuint, byval srcRGB as GLenum, byval dstRGB as GLenum, byval srcAlpha as GLenum, byval dstAlpha as GLenum) 2713 #endif 2714 2715 const GL_ARB_draw_elements_base_vertex = 1 2716 const GL_ARB_draw_indirect = 1 2717 const GL_ARB_draw_instanced = 1 2718 type PFNGLDRAWARRAYSINSTANCEDARBPROC as sub(byval mode as GLenum, byval first as GLint, byval count as GLsizei, byval primcount as GLsizei) 2719 type PFNGLDRAWELEMENTSINSTANCEDARBPROC as sub(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval primcount as GLsizei) 2720 2721 #ifdef GL_GLEXT_PROTOTYPES 2722 declare sub glDrawArraysInstancedARB(byval mode as GLenum, byval first as GLint, byval count as GLsizei, byval primcount as GLsizei) 2723 declare sub glDrawElementsInstancedARB(byval mode as GLenum, byval count as GLsizei, byval type as GLenum, byval indices as const any ptr, byval primcount as GLsizei) 2724 #endif 2725 2726 const GL_ARB_enhanced_layouts = 1 2727 const GL_ARB_explicit_attrib_location = 1 2728 const GL_ARB_explicit_uniform_location = 1 2729 const GL_ARB_fragment_coord_conventions = 1 2730 const GL_ARB_fragment_layer_viewport = 1 2731 const GL_ARB_fragment_program = 1 2732 const GL_FRAGMENT_PROGRAM_ARB = &h8804 2733 const GL_PROGRAM_FORMAT_ASCII_ARB = &h8875 2734 const GL_PROGRAM_LENGTH_ARB = &h8627 2735 const GL_PROGRAM_FORMAT_ARB = &h8876 2736 const GL_PROGRAM_BINDING_ARB = &h8677 2737 const GL_PROGRAM_INSTRUCTIONS_ARB = &h88A0 2738 const GL_MAX_PROGRAM_INSTRUCTIONS_ARB = &h88A1 2739 const GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = &h88A2 2740 const GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = &h88A3 2741 const GL_PROGRAM_TEMPORARIES_ARB = &h88A4 2742 const GL_MAX_PROGRAM_TEMPORARIES_ARB = &h88A5 2743 const GL_PROGRAM_NATIVE_TEMPORARIES_ARB = &h88A6 2744 const GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = &h88A7 2745 const GL_PROGRAM_PARAMETERS_ARB = &h88A8 2746 const GL_MAX_PROGRAM_PARAMETERS_ARB = &h88A9 2747 const GL_PROGRAM_NATIVE_PARAMETERS_ARB = &h88AA 2748 const GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = &h88AB 2749 const GL_PROGRAM_ATTRIBS_ARB = &h88AC 2750 const GL_MAX_PROGRAM_ATTRIBS_ARB = &h88AD 2751 const GL_PROGRAM_NATIVE_ATTRIBS_ARB = &h88AE 2752 const GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = &h88AF 2753 const GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = &h88B4 2754 const GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = &h88B5 2755 const GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = &h88B6 2756 const GL_PROGRAM_ALU_INSTRUCTIONS_ARB = &h8805 2757 const GL_PROGRAM_TEX_INSTRUCTIONS_ARB = &h8806 2758 const GL_PROGRAM_TEX_INDIRECTIONS_ARB = &h8807 2759 const GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = &h8808 2760 const GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = &h8809 2761 const GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = &h880A 2762 const GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = &h880B 2763 const GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = &h880C 2764 const GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = &h880D 2765 const GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = &h880E 2766 const GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = &h880F 2767 const GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = &h8810 2768 const GL_PROGRAM_STRING_ARB = &h8628 2769 const GL_PROGRAM_ERROR_POSITION_ARB = &h864B 2770 const GL_CURRENT_MATRIX_ARB = &h8641 2771 const GL_TRANSPOSE_CURRENT_MATRIX_ARB = &h88B7 2772 const GL_CURRENT_MATRIX_STACK_DEPTH_ARB = &h8640 2773 const GL_MAX_PROGRAM_MATRICES_ARB = &h862F 2774 const GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = &h862E 2775 const GL_MAX_TEXTURE_COORDS_ARB = &h8871 2776 const GL_MAX_TEXTURE_IMAGE_UNITS_ARB = &h8872 2777 const GL_PROGRAM_ERROR_STRING_ARB = &h8874 2778 const GL_MATRIX0_ARB = &h88C0 2779 const GL_MATRIX1_ARB = &h88C1 2780 const GL_MATRIX2_ARB = &h88C2 2781 const GL_MATRIX3_ARB = &h88C3 2782 const GL_MATRIX4_ARB = &h88C4 2783 const GL_MATRIX5_ARB = &h88C5 2784 const GL_MATRIX6_ARB = &h88C6 2785 const GL_MATRIX7_ARB = &h88C7 2786 const GL_MATRIX8_ARB = &h88C8 2787 const GL_MATRIX9_ARB = &h88C9 2788 const GL_MATRIX10_ARB = &h88CA 2789 const GL_MATRIX11_ARB = &h88CB 2790 const GL_MATRIX12_ARB = &h88CC 2791 const GL_MATRIX13_ARB = &h88CD 2792 const GL_MATRIX14_ARB = &h88CE 2793 const GL_MATRIX15_ARB = &h88CF 2794 const GL_MATRIX16_ARB = &h88D0 2795 const GL_MATRIX17_ARB = &h88D1 2796 const GL_MATRIX18_ARB = &h88D2 2797 const GL_MATRIX19_ARB = &h88D3 2798 const GL_MATRIX20_ARB = &h88D4 2799 const GL_MATRIX21_ARB = &h88D5 2800 const GL_MATRIX22_ARB = &h88D6 2801 const GL_MATRIX23_ARB = &h88D7 2802 const GL_MATRIX24_ARB = &h88D8 2803 const GL_MATRIX25_ARB = &h88D9 2804 const GL_MATRIX26_ARB = &h88DA 2805 const GL_MATRIX27_ARB = &h88DB 2806 const GL_MATRIX28_ARB = &h88DC 2807 const GL_MATRIX29_ARB = &h88DD 2808 const GL_MATRIX30_ARB = &h88DE 2809 const GL_MATRIX31_ARB = &h88DF 2810 2811 type PFNGLPROGRAMSTRINGARBPROC as sub(byval target as GLenum, byval format as GLenum, byval len as GLsizei, byval string as const any ptr) 2812 type PFNGLBINDPROGRAMARBPROC as sub(byval target as GLenum, byval program as GLuint) 2813 type PFNGLDELETEPROGRAMSARBPROC as sub(byval n as GLsizei, byval programs as const GLuint ptr) 2814 type PFNGLGENPROGRAMSARBPROC as sub(byval n as GLsizei, byval programs as GLuint ptr) 2815 type PFNGLPROGRAMENVPARAMETER4DARBPROC as sub(byval target as GLenum, byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 2816 type PFNGLPROGRAMENVPARAMETER4DVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as const GLdouble ptr) 2817 type PFNGLPROGRAMENVPARAMETER4FARBPROC as sub(byval target as GLenum, byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat, byval w as GLfloat) 2818 type PFNGLPROGRAMENVPARAMETER4FVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as const GLfloat ptr) 2819 type PFNGLPROGRAMLOCALPARAMETER4DARBPROC as sub(byval target as GLenum, byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 2820 type PFNGLPROGRAMLOCALPARAMETER4DVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as const GLdouble ptr) 2821 type PFNGLPROGRAMLOCALPARAMETER4FARBPROC as sub(byval target as GLenum, byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat, byval w as GLfloat) 2822 type PFNGLPROGRAMLOCALPARAMETER4FVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as const GLfloat ptr) 2823 type PFNGLGETPROGRAMENVPARAMETERDVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as GLdouble ptr) 2824 type PFNGLGETPROGRAMENVPARAMETERFVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as GLfloat ptr) 2825 type PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as GLdouble ptr) 2826 type PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC as sub(byval target as GLenum, byval index as GLuint, byval params as GLfloat ptr) 2827 type PFNGLGETPROGRAMIVARBPROC as sub(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 2828 type PFNGLGETPROGRAMSTRINGARBPROC as sub(byval target as GLenum, byval pname as GLenum, byval string as any ptr) 2829 type PFNGLISPROGRAMARBPROC as function(byval program as GLuint) as GLboolean 2830 2831 #ifdef GL_GLEXT_PROTOTYPES 2832 declare sub glProgramStringARB(byval target as GLenum, byval format as GLenum, byval len as GLsizei, byval string as const any ptr) 2833 declare sub glBindProgramARB(byval target as GLenum, byval program as GLuint) 2834 declare sub glDeleteProgramsARB(byval n as GLsizei, byval programs as const GLuint ptr) 2835 declare sub glGenProgramsARB(byval n as GLsizei, byval programs as GLuint ptr) 2836 declare sub glProgramEnvParameter4dARB(byval target as GLenum, byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 2837 declare sub glProgramEnvParameter4dvARB(byval target as GLenum, byval index as GLuint, byval params as const GLdouble ptr) 2838 declare sub glProgramEnvParameter4fARB(byval target as GLenum, byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat, byval w as GLfloat) 2839 declare sub glProgramEnvParameter4fvARB(byval target as GLenum, byval index as GLuint, byval params as const GLfloat ptr) 2840 declare sub glProgramLocalParameter4dARB(byval target as GLenum, byval index as GLuint, byval x as GLdouble, byval y as GLdouble, byval z as GLdouble, byval w as GLdouble) 2841 declare sub glProgramLocalParameter4dvARB(byval target as GLenum, byval index as GLuint, byval params as const GLdouble ptr) 2842 declare sub glProgramLocalParameter4fARB(byval target as GLenum, byval index as GLuint, byval x as GLfloat, byval y as GLfloat, byval z as GLfloat, byval w as GLfloat) 2843 declare sub glProgramLocalParameter4fvARB(byval target as GLenum, byval index as GLuint, byval params as const GLfloat ptr) 2844 declare sub glGetProgramEnvParameterdvARB(byval target as GLenum, byval index as GLuint, byval params as GLdouble ptr) 2845 declare sub glGetProgramEnvParameterfvARB(byval target as GLenum, byval index as GLuint, byval params as GLfloat ptr) 2846 declare sub glGetProgramLocalParameterdvARB(byval target as GLenum, byval index as GLuint, byval params as GLdouble ptr) 2847 declare sub glGetProgramLocalParameterfvARB(byval target as GLenum, byval index as GLuint, byval params as GLfloat ptr) 2848 declare sub glGetProgramivARB(byval target as GLenum, byval pname as GLenum, byval params as GLint ptr) 2849 declare sub glGetProgramStringARB(byval target as GLenum, byval pname as GLenum, byval string as any ptr) 2850 declare function glIsProgramARB(byval program as GLuint) as GLboolean 2851 #endif 2852 2853 const GL_ARB_fragment_program_shadow = 1 2854 const GL_ARB_fragment_shader = 1 2855 const GL_FRAGMENT_SHADER_ARB = &h8B30 2856 const GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = &h8B49 2857 const GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = &h8B8B 2858 const GL_ARB_framebuffer_no_attachments = 1 2859 const GL_ARB_framebuffer_object = 1 2860 const GL_ARB_framebuffer_sRGB = 1 2861 const GL_ARB_geometry_shader4 = 1 2862 const GL_LINES_ADJACENCY_ARB = &h000A 2863 const GL_LINE_STRIP_ADJACENCY_ARB = &h000B 2864 const GL_TRIANGLES_ADJACENCY_ARB = &h000C 2865 const GL_TRIANGLE_STRIP_ADJACENCY_ARB = &h000D 2866 const GL_PROGRAM_POINT_SIZE_ARB = &h8642 2867 const GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = &h8C29 2868 const GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = &h8DA7 2869 const GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = &h8DA8 2870 const GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = &h8DA9 2871 const GL_GEOMETRY_SHADER_ARB = &h8DD9 2872 const GL_GEOMETRY_VERTICES_OUT_ARB = &h8DDA 2873 const GL_GEOMETRY_INPUT_TYPE_ARB = &h8DDB 2874 const GL_GEOMETRY_OUTPUT_TYPE_ARB = &h8DDC 2875 const GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = &h8DDD 2876 const GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = &h8DDE 2877 const GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = &h8DDF 2878 const GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = &h8DE0 2879 const GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = &h8DE1 2880 2881 type PFNGLPROGRAMPARAMETERIARBPROC as sub(byval program as GLuint, byval pname as GLenum, byval value as GLint) 2882 type PFNGLFRAMEBUFFERTEXTUREARBPROC as sub(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint) 2883 type PFNGLFRAMEBUFFERTEXTURELAYERARBPROC as sub(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint, byval layer as GLint) 2884 type PFNGLFRAMEBUFFERTEXTUREFACEARBPROC as sub(byval target as GLenum, byval attachment as GLenum, byval texture as GLuint, byval level as GLint, byval face as GLenum) 2885 2886 #ifdef GL_GLEXT_PROTOTYPES 2887