summary refs log tree commit diff stats
path: root/lib/base/opengl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/base/opengl')
-rw-r--r--lib/base/opengl/gl.nim1432
-rw-r--r--lib/base/opengl/gl.pp1548
-rw-r--r--lib/base/opengl/glext.nim4175
-rw-r--r--lib/base/opengl/glext.pp3857
-rw-r--r--lib/base/opengl/glu.nim311
-rw-r--r--lib/base/opengl/glu.pp368
-rw-r--r--lib/base/opengl/glut.nim378
-rw-r--r--lib/base/opengl/glut.pp436
-rw-r--r--lib/base/opengl/glx.nim148
-rw-r--r--lib/base/opengl/glx.pp156
-rw-r--r--lib/base/opengl/wingl.nim348
-rw-r--r--lib/base/opengl/wingl.pp313
12 files changed, 0 insertions, 13470 deletions
diff --git a/lib/base/opengl/gl.nim b/lib/base/opengl/gl.nim
deleted file mode 100644
index 79f09b544..000000000
--- a/lib/base/opengl/gl.nim
+++ /dev/null
@@ -1,1432 +0,0 @@
-#
-#
-#  Adaption of the delphi3d.net OpenGL units to FreePascal
-#  Sebastian Guenther (sg@freepascal.org) in 2002
-#  These units are free to use
-#
-#******************************************************************************
-# Converted to Delphi by Tom Nuydens (tom@delphi3d.net)                        
-# For the latest updates, visit Delphi3D: http://www.delphi3d.net              
-#******************************************************************************
-
-when defined(windows):
-  {.push callconv: stdcall.}
-else:
-  {.push callconv: cdecl.}
-
-when defined(windows):
-  const dllname* = "opengl32.dll"
-elif defined(macosx):
-  const dllname* = "/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib"
-else:
-  const dllname* = "libGL.so.1"
-
-type 
-  PGLenum* = ptr TGLenum
-  PGLboolean* = ptr TGLboolean
-  PGLbitfield* = ptr TGLbitfield
-  TGLbyte* = int8
-  PGLbyte* = ptr TGlbyte
-  PGLshort* = ptr TGLshort
-  PGLint* = ptr TGLint
-  PGLsizei* = ptr TGLsizei
-  PGLubyte* = ptr TGLubyte
-  PGLushort* = ptr TGLushort
-  PGLuint* = ptr TGLuint
-  PGLfloat* = ptr TGLfloat
-  PGLclampf* = ptr TGLclampf
-  PGLdouble* = ptr TGLdouble
-  PGLclampd* = ptr TGLclampd
-  PGLvoid* = Pointer
-  PPGLvoid* = ptr PGLvoid
-  TGLenum* = cint
-  TGLboolean* = bool
-  TGLbitfield* = cint
-  TGLshort* = int16
-  TGLint* = cint
-  TGLsizei* = int
-  TGLubyte* = int8
-  TGLushort* = int16
-  TGLuint* = cint
-  TGLfloat* = float32
-  TGLclampf* = float32
-  TGLdouble* = float
-  TGLclampd* = float
-
-const                         # Version
-  GL_VERSION_1_1* = 1         # AccumOp
-  constGL_ACCUM* = 0x00000100
-  GL_LOAD* = 0x00000101
-  GL_RETURN* = 0x00000102
-  GL_MULT* = 0x00000103
-  GL_ADD* = 0x00000104        # AlphaFunction
-  GL_NEVER* = 0x00000200
-  GL_LESS* = 0x00000201
-  GL_EQUAL* = 0x00000202
-  GL_LEQUAL* = 0x00000203
-  GL_GREATER* = 0x00000204
-  GL_NOTEQUAL* = 0x00000205
-  GL_GEQUAL* = 0x00000206
-  GL_ALWAYS* = 0x00000207     # AttribMask
-  GL_CURRENT_BIT* = 0x00000001
-  GL_POINT_BIT* = 0x00000002
-  GL_LINE_BIT* = 0x00000004
-  GL_POLYGON_BIT* = 0x00000008
-  GL_POLYGON_STIPPLE_BIT* = 0x00000010
-  GL_PIXEL_MODE_BIT* = 0x00000020
-  GL_LIGHTING_BIT* = 0x00000040
-  GL_FOG_BIT* = 0x00000080
-  GL_DEPTH_BUFFER_BIT* = 0x00000100
-  GL_ACCUM_BUFFER_BIT* = 0x00000200
-  GL_STENCIL_BUFFER_BIT* = 0x00000400
-  GL_VIEWPORT_BIT* = 0x00000800
-  GL_TRANSFORM_BIT* = 0x00001000
-  GL_ENABLE_BIT* = 0x00002000
-  GL_COLOR_BUFFER_BIT* = 0x00004000
-  GL_HINT_BIT* = 0x00008000
-  GL_EVAL_BIT* = 0x00010000
-  GL_LIST_BIT* = 0x00020000
-  GL_TEXTURE_BIT* = 0x00040000
-  GL_SCISSOR_BIT* = 0x00080000
-  GL_ALL_ATTRIB_BITS* = 0x000FFFFF # BeginMode
-  GL_POINTS* = 0x00000000
-  GL_LINES* = 0x00000001
-  GL_LINE_LOOP* = 0x00000002
-  GL_LINE_STRIP* = 0x00000003
-  GL_TRIANGLES* = 0x00000004
-  GL_TRIANGLE_STRIP* = 0x00000005
-  GL_TRIANGLE_FAN* = 0x00000006
-  GL_QUADS* = 0x00000007
-  GL_QUAD_STRIP* = 0x00000008
-  GL_POLYGON* = 0x00000009    # BlendingFactorDest
-  GL_ZERO* = 0
-  GL_ONE* = 1
-  GL_SRC_COLOR* = 0x00000300
-  GL_ONE_MINUS_SRC_COLOR* = 0x00000301
-  GL_SRC_ALPHA* = 0x00000302
-  GL_ONE_MINUS_SRC_ALPHA* = 0x00000303
-  GL_DST_ALPHA* = 0x00000304
-  GL_ONE_MINUS_DST_ALPHA* = 0x00000305 # BlendingFactorSrc
-                                       #      GL_ZERO
-                                       #      GL_ONE
-  GL_DST_COLOR* = 0x00000306
-  GL_ONE_MINUS_DST_COLOR* = 0x00000307
-  GL_SRC_ALPHA_SATURATE* = 0x00000308 #      GL_SRC_ALPHA
-                                      #      GL_ONE_MINUS_SRC_ALPHA
-                                      #      GL_DST_ALPHA
-                                      #      GL_ONE_MINUS_DST_ALPHA
-                                      # Boolean
-  GL_TRUE* = 1
-  GL_FALSE* = 0               # ClearBufferMask
-                              #      GL_COLOR_BUFFER_BIT
-                              #      GL_ACCUM_BUFFER_BIT
-                              #      GL_STENCIL_BUFFER_BIT
-                              #      GL_DEPTH_BUFFER_BIT
-                              # ClientArrayType
-                              #      GL_VERTEX_ARRAY
-                              #      GL_NORMAL_ARRAY
-                              #      GL_COLOR_ARRAY
-                              #      GL_INDEX_ARRAY
-                              #      GL_TEXTURE_COORD_ARRAY
-                              #      GL_EDGE_FLAG_ARRAY
-                              # ClipPlaneName
-  GL_CLIP_PLANE0* = 0x00003000
-  GL_CLIP_PLANE1* = 0x00003001
-  GL_CLIP_PLANE2* = 0x00003002
-  GL_CLIP_PLANE3* = 0x00003003
-  GL_CLIP_PLANE4* = 0x00003004
-  GL_CLIP_PLANE5* = 0x00003005 # ColorMaterialFace
-                               #      GL_FRONT
-                               #      GL_BACK
-                               #      GL_FRONT_AND_BACK
-                               # ColorMaterialParameter
-                               #      GL_AMBIENT
-                               #      GL_DIFFUSE
-                               #      GL_SPECULAR
-                               #      GL_EMISSION
-                               #      GL_AMBIENT_AND_DIFFUSE
-                               # ColorPointerType
-                               #      GL_BYTE
-                               #      GL_UNSIGNED_BYTE
-                               #      GL_SHORT
-                               #      GL_UNSIGNED_SHORT
-                               #      GL_INT
-                               #      GL_UNSIGNED_INT
-                               #      GL_FLOAT
-                               #      GL_DOUBLE
-                               # CullFaceMode
-                               #      GL_FRONT
-                               #      GL_BACK
-                               #      GL_FRONT_AND_BACK
-                               # DataType
-  GL_BYTE* = 0x00001400
-  GL_UNSIGNED_BYTE* = 0x00001401
-  GL_SHORT* = 0x00001402
-  GL_UNSIGNED_SHORT* = 0x00001403
-  GL_INT* = 0x00001404
-  GL_UNSIGNED_INT* = 0x00001405
-  GL_FLOAT* = 0x00001406
-  GL_2_BYTES* = 0x00001407
-  GL_3_BYTES* = 0x00001408
-  GL_4_BYTES* = 0x00001409
-  GL_DOUBLE* = 0x0000140A     # DepthFunction
-                              #      GL_NEVER
-                              #      GL_LESS
-                              #      GL_EQUAL
-                              #      GL_LEQUAL
-                              #      GL_GREATER
-                              #      GL_NOTEQUAL
-                              #      GL_GEQUAL
-                              #      GL_ALWAYS
-                              # DrawBufferMode
-  GL_NONE* = 0
-  GL_FRONT_LEFT* = 0x00000400
-  GL_FRONT_RIGHT* = 0x00000401
-  GL_BACK_LEFT* = 0x00000402
-  GL_BACK_RIGHT* = 0x00000403
-  GL_FRONT* = 0x00000404
-  GL_BACK* = 0x00000405
-  GL_LEFT* = 0x00000406
-  GL_RIGHT* = 0x00000407
-  GL_FRONT_AND_BACK* = 0x00000408
-  GL_AUX0* = 0x00000409
-  GL_AUX1* = 0x0000040A
-  GL_AUX2* = 0x0000040B
-  GL_AUX3* = 0x0000040C       # Enable
-                              #      GL_FOG
-                              #      GL_LIGHTING
-                              #      GL_TEXTURE_1D
-                              #      GL_TEXTURE_2D
-                              #      GL_LINE_STIPPLE
-                              #      GL_POLYGON_STIPPLE
-                              #      GL_CULL_FACE
-                              #      GL_ALPHA_TEST
-                              #      GL_BLEND
-                              #      GL_INDEX_LOGIC_OP
-                              #      GL_COLOR_LOGIC_OP
-                              #      GL_DITHER
-                              #      GL_STENCIL_TEST
-                              #      GL_DEPTH_TEST
-                              #      GL_CLIP_PLANE0
-                              #      GL_CLIP_PLANE1
-                              #      GL_CLIP_PLANE2
-                              #      GL_CLIP_PLANE3
-                              #      GL_CLIP_PLANE4
-                              #      GL_CLIP_PLANE5
-                              #      GL_LIGHT0
-                              #      GL_LIGHT1
-                              #      GL_LIGHT2
-                              #      GL_LIGHT3
-                              #      GL_LIGHT4
-                              #      GL_LIGHT5
-                              #      GL_LIGHT6
-                              #      GL_LIGHT7
-                              #      GL_TEXTURE_GEN_S
-                              #      GL_TEXTURE_GEN_T
-                              #      GL_TEXTURE_GEN_R
-                              #      GL_TEXTURE_GEN_Q
-                              #      GL_MAP1_VERTEX_3
-                              #      GL_MAP1_VERTEX_4
-                              #      GL_MAP1_COLOR_4
-                              #      GL_MAP1_INDEX
-                              #      GL_MAP1_NORMAL
-                              #      GL_MAP1_TEXTURE_COORD_1
-                              #      GL_MAP1_TEXTURE_COORD_2
-                              #      GL_MAP1_TEXTURE_COORD_3
-                              #      GL_MAP1_TEXTURE_COORD_4
-                              #      GL_MAP2_VERTEX_3
-                              #      GL_MAP2_VERTEX_4
-                              #      GL_MAP2_COLOR_4
-                              #      GL_MAP2_INDEX
-                              #      GL_MAP2_NORMAL
-                              #      GL_MAP2_TEXTURE_COORD_1
-                              #      GL_MAP2_TEXTURE_COORD_2
-                              #      GL_MAP2_TEXTURE_COORD_3
-                              #      GL_MAP2_TEXTURE_COORD_4
-                              #      GL_POINT_SMOOTH
-                              #      GL_LINE_SMOOTH
-                              #      GL_POLYGON_SMOOTH
-                              #      GL_SCISSOR_TEST
-                              #      GL_COLOR_MATERIAL
-                              #      GL_NORMALIZE
-                              #      GL_AUTO_NORMAL
-                              #      GL_VERTEX_ARRAY
-                              #      GL_NORMAL_ARRAY
-                              #      GL_COLOR_ARRAY
-                              #      GL_INDEX_ARRAY
-                              #      GL_TEXTURE_COORD_ARRAY
-                              #      GL_EDGE_FLAG_ARRAY
-                              #      GL_POLYGON_OFFSET_POINT
-                              #      GL_POLYGON_OFFSET_LINE
-                              #      GL_POLYGON_OFFSET_FILL
-                              # ErrorCode
-  GL_NO_ERROR* = 0
-  GL_INVALID_ENUM* = 0x00000500
-  GL_INVALID_VALUE* = 0x00000501
-  GL_INVALID_OPERATION* = 0x00000502
-  GL_STACK_OVERFLOW* = 0x00000503
-  GL_STACK_UNDERFLOW* = 0x00000504
-  GL_OUT_OF_MEMORY* = 0x00000505 # FeedBackMode
-  GL_2D* = 0x00000600
-  GL_3D* = 0x00000601
-  GL_3D_COLOR* = 0x00000602
-  GL_3D_COLOR_TEXTURE* = 0x00000603
-  GL_4D_COLOR_TEXTURE* = 0x00000604 # FeedBackToken
-  GL_PASS_THROUGH_TOKEN* = 0x00000700
-  GL_POINT_TOKEN* = 0x00000701
-  GL_LINE_TOKEN* = 0x00000702
-  GL_POLYGON_TOKEN* = 0x00000703
-  GL_BITMAP_TOKEN* = 0x00000704
-  GL_DRAW_PIXEL_TOKEN* = 0x00000705
-  GL_COPY_PIXEL_TOKEN* = 0x00000706
-  GL_LINE_RESET_TOKEN* = 0x00000707 # FogMode
-                                    #      GL_LINEAR
-  GL_EXP* = 0x00000800
-  GL_EXP2* = 0x00000801       # FogParameter
-                              #      GL_FOG_COLOR
-                              #      GL_FOG_DENSITY
-                              #      GL_FOG_END
-                              #      GL_FOG_INDEX
-                              #      GL_FOG_MODE
-                              #      GL_FOG_START
-                              # FrontFaceDirection
-  GL_CW* = 0x00000900
-  GL_CCW* = 0x00000901        # GetMapTarget
-  GL_COEFF* = 0x00000A00
-  GL_ORDER* = 0x00000A01
-  GL_DOMAIN* = 0x00000A02     # GetPixelMap
-                              #      GL_PIXEL_MAP_I_TO_I
-                              #      GL_PIXEL_MAP_S_TO_S
-                              #      GL_PIXEL_MAP_I_TO_R
-                              #      GL_PIXEL_MAP_I_TO_G
-                              #      GL_PIXEL_MAP_I_TO_B
-                              #      GL_PIXEL_MAP_I_TO_A
-                              #      GL_PIXEL_MAP_R_TO_R
-                              #      GL_PIXEL_MAP_G_TO_G
-                              #      GL_PIXEL_MAP_B_TO_B
-                              #      GL_PIXEL_MAP_A_TO_A
-                              # GetPointerTarget
-                              #      GL_VERTEX_ARRAY_POINTER
-                              #      GL_NORMAL_ARRAY_POINTER
-                              #      GL_COLOR_ARRAY_POINTER
-                              #      GL_INDEX_ARRAY_POINTER
-                              #      GL_TEXTURE_COORD_ARRAY_POINTER
-                              #      GL_EDGE_FLAG_ARRAY_POINTER
-                              # GetTarget
-  GL_CURRENT_COLOR* = 0x00000B00
-  GL_CURRENT_INDEX* = 0x00000B01
-  GL_CURRENT_NORMAL* = 0x00000B02
-  GL_CURRENT_TEXTURE_COORDS* = 0x00000B03
-  GL_CURRENT_RASTER_COLOR* = 0x00000B04
-  GL_CURRENT_RASTER_INDEX* = 0x00000B05
-  GL_CURRENT_RASTER_TEXTURE_COORDS* = 0x00000B06
-  GL_CURRENT_RASTER_POSITION* = 0x00000B07
-  GL_CURRENT_RASTER_POSITION_VALID* = 0x00000B08
-  GL_CURRENT_RASTER_DISTANCE* = 0x00000B09
-  GL_POINT_SMOOTH* = 0x00000B10
-  constGL_POINT_SIZE* = 0x00000B11
-  GL_POINT_SIZE_RANGE* = 0x00000B12
-  GL_POINT_SIZE_GRANULARITY* = 0x00000B13
-  GL_LINE_SMOOTH* = 0x00000B20
-  constGL_LINE_WIDTH* = 0x00000B21
-  GL_LINE_WIDTH_RANGE* = 0x00000B22
-  GL_LINE_WIDTH_GRANULARITY* = 0x00000B23
-  constGL_LINE_STIPPLE* = 0x00000B24
-  GL_LINE_STIPPLE_PATTERN* = 0x00000B25
-  GL_LINE_STIPPLE_REPEAT* = 0x00000B26
-  GL_LIST_MODE* = 0x00000B30
-  GL_MAX_LIST_NESTING* = 0x00000B31
-  constGL_LIST_BASE* = 0x00000B32
-  GL_LIST_INDEX* = 0x00000B33
-  constGL_POLYGON_MODE* = 0x00000B40
-  GL_POLYGON_SMOOTH* = 0x00000B41
-  constGL_POLYGON_STIPPLE* = 0x00000B42
-  constGL_EDGE_FLAG* = 0x00000B43
-  constGL_CULL_FACE* = 0x00000B44
-  GL_CULL_FACE_MODE* = 0x00000B45
-  constGL_FRONT_FACE* = 0x00000B46
-  GL_LIGHTING* = 0x00000B50
-  GL_LIGHT_MODEL_LOCAL_VIEWER* = 0x00000B51
-  GL_LIGHT_MODEL_TWO_SIDE* = 0x00000B52
-  GL_LIGHT_MODEL_AMBIENT* = 0x00000B53
-  constGL_SHADE_MODEL* = 0x00000B54
-  GL_COLOR_MATERIAL_FACE* = 0x00000B55
-  GL_COLOR_MATERIAL_PARAMETER* = 0x00000B56
-  constGL_COLOR_MATERIAL* = 0x00000B57
-  GL_FOG* = 0x00000B60
-  GL_FOG_INDEX* = 0x00000B61
-  GL_FOG_DENSITY* = 0x00000B62
-  GL_FOG_START* = 0x00000B63
-  GL_FOG_END* = 0x00000B64
-  GL_FOG_MODE* = 0x00000B65
-  GL_FOG_COLOR* = 0x00000B66
-  constGL_DEPTH_RANGE* = 0x00000B70
-  GL_DEPTH_TEST* = 0x00000B71
-  GL_DEPTH_WRITEMASK* = 0x00000B72
-  GL_DEPTH_CLEAR_VALUE* = 0x00000B73
-  constGL_DEPTH_FUNC* = 0x00000B74
-  GL_ACCUM_CLEAR_VALUE* = 0x00000B80
-  GL_STENCIL_TEST* = 0x00000B90
-  GL_STENCIL_CLEAR_VALUE* = 0x00000B91
-  constGL_STENCIL_FUNC* = 0x00000B92
-  GL_STENCIL_VALUE_MASK* = 0x00000B93
-  GL_STENCIL_FAIL* = 0x00000B94
-  GL_STENCIL_PASS_DEPTH_FAIL* = 0x00000B95
-  GL_STENCIL_PASS_DEPTH_PASS* = 0x00000B96
-  GL_STENCIL_REF* = 0x00000B97
-  GL_STENCIL_WRITEMASK* = 0x00000B98
-  constGL_MATRIX_MODE* = 0x00000BA0
-  GL_NORMALIZE* = 0x00000BA1
-  constGL_VIEWPORT* = 0x00000BA2
-  GL_MODELVIEW_STACK_DEPTH* = 0x00000BA3
-  GL_PROJECTION_STACK_DEPTH* = 0x00000BA4
-  GL_TEXTURE_STACK_DEPTH* = 0x00000BA5
-  GL_MODELVIEW_MATRIX* = 0x00000BA6
-  GL_PROJECTION_MATRIX* = 0x00000BA7
-  GL_TEXTURE_MATRIX* = 0x00000BA8
-  GL_ATTRIB_STACK_DEPTH* = 0x00000BB0
-  GL_CLIENT_ATTRIB_STACK_DEPTH* = 0x00000BB1
-  GL_ALPHA_TEST* = 0x00000BC0
-  GL_ALPHA_TEST_FUNC* = 0x00000BC1
-  GL_ALPHA_TEST_REF* = 0x00000BC2
-  GL_DITHER* = 0x00000BD0
-  GL_BLEND_DST* = 0x00000BE0
-  GL_BLEND_SRC* = 0x00000BE1
-  GL_BLEND* = 0x00000BE2
-  GL_LOGIC_OP_MODE* = 0x00000BF0
-  GL_INDEX_LOGIC_OP* = 0x00000BF1
-  GL_COLOR_LOGIC_OP* = 0x00000BF2
-  GL_AUX_BUFFERS* = 0x00000C00
-  constGL_DRAW_BUFFER* = 0x00000C01
-  constGL_READ_BUFFER* = 0x00000C02
-  GL_SCISSOR_BOX* = 0x00000C10
-  GL_SCISSOR_TEST* = 0x00000C11
-  GL_INDEX_CLEAR_VALUE* = 0x00000C20
-  GL_INDEX_WRITEMASK* = 0x00000C21
-  GL_COLOR_CLEAR_VALUE* = 0x00000C22
-  GL_COLOR_WRITEMASK* = 0x00000C23
-  GL_INDEX_MODE* = 0x00000C30
-  GL_RGBA_MODE* = 0x00000C31
-  GL_DOUBLEBUFFER* = 0x00000C32
-  GL_STEREO* = 0x00000C33
-  constGL_RENDER_MODE* = 0x00000C40
-  GL_PERSPECTIVE_CORRECTION_HINT* = 0x00000C50
-  GL_POINT_SMOOTH_HINT* = 0x00000C51
-  GL_LINE_SMOOTH_HINT* = 0x00000C52
-  GL_POLYGON_SMOOTH_HINT* = 0x00000C53
-  GL_FOG_HINT* = 0x00000C54
-  GL_TEXTURE_GEN_S* = 0x00000C60
-  GL_TEXTURE_GEN_T* = 0x00000C61
-  GL_TEXTURE_GEN_R* = 0x00000C62
-  GL_TEXTURE_GEN_Q* = 0x00000C63
-  GL_PIXEL_MAP_I_TO_I* = 0x00000C70
-  GL_PIXEL_MAP_S_TO_S* = 0x00000C71
-  GL_PIXEL_MAP_I_TO_R* = 0x00000C72
-  GL_PIXEL_MAP_I_TO_G* = 0x00000C73
-  GL_PIXEL_MAP_I_TO_B* = 0x00000C74
-  GL_PIXEL_MAP_I_TO_A* = 0x00000C75
-  GL_PIXEL_MAP_R_TO_R* = 0x00000C76
-  GL_PIXEL_MAP_G_TO_G* = 0x00000C77
-  GL_PIXEL_MAP_B_TO_B* = 0x00000C78
-  GL_PIXEL_MAP_A_TO_A* = 0x00000C79
-  GL_PIXEL_MAP_I_TO_I_SIZE* = 0x00000CB0
-  GL_PIXEL_MAP_S_TO_S_SIZE* = 0x00000CB1
-  GL_PIXEL_MAP_I_TO_R_SIZE* = 0x00000CB2
-  GL_PIXEL_MAP_I_TO_G_SIZE* = 0x00000CB3
-  GL_PIXEL_MAP_I_TO_B_SIZE* = 0x00000CB4
-  GL_PIXEL_MAP_I_TO_A_SIZE* = 0x00000CB5
-  GL_PIXEL_MAP_R_TO_R_SIZE* = 0x00000CB6
-  GL_PIXEL_MAP_G_TO_G_SIZE* = 0x00000CB7
-  GL_PIXEL_MAP_B_TO_B_SIZE* = 0x00000CB8
-  GL_PIXEL_MAP_A_TO_A_SIZE* = 0x00000CB9
-  GL_UNPACK_SWAP_BYTES* = 0x00000CF0
-  GL_UNPACK_LSB_FIRST* = 0x00000CF1
-  GL_UNPACK_ROW_LENGTH* = 0x00000CF2
-  GL_UNPACK_SKIP_ROWS* = 0x00000CF3
-  GL_UNPACK_SKIP_PIXELS* = 0x00000CF4
-  GL_UNPACK_ALIGNMENT* = 0x00000CF5
-  GL_PACK_SWAP_BYTES* = 0x00000D00
-  GL_PACK_LSB_FIRST* = 0x00000D01
-  GL_PACK_ROW_LENGTH* = 0x00000D02
-  GL_PACK_SKIP_ROWS* = 0x00000D03
-  GL_PACK_SKIP_PIXELS* = 0x00000D04
-  GL_PACK_ALIGNMENT* = 0x00000D05
-  GL_MAP_COLOR* = 0x00000D10
-  GL_MAP_STENCIL* = 0x00000D11
-  GL_INDEX_SHIFT* = 0x00000D12
-  GL_INDEX_OFFSET* = 0x00000D13
-  GL_RED_SCALE* = 0x00000D14
-  GL_RED_BIAS* = 0x00000D15
-  GL_ZOOM_X* = 0x00000D16
-  GL_ZOOM_Y* = 0x00000D17
-  GL_GREEN_SCALE* = 0x00000D18
-  GL_GREEN_BIAS* = 0x00000D19
-  GL_BLUE_SCALE* = 0x00000D1A
-  GL_BLUE_BIAS* = 0x00000D1B
-  GL_ALPHA_SCALE* = 0x00000D1C
-  GL_ALPHA_BIAS* = 0x00000D1D
-  GL_DEPTH_SCALE* = 0x00000D1E
-  GL_DEPTH_BIAS* = 0x00000D1F
-  GL_MAX_EVAL_ORDER* = 0x00000D30
-  GL_MAX_LIGHTS* = 0x00000D31
-  GL_MAX_CLIP_PLANES* = 0x00000D32
-  GL_MAX_TEXTURE_SIZE* = 0x00000D33
-  GL_MAX_PIXEL_MAP_TABLE* = 0x00000D34
-  GL_MAX_ATTRIB_STACK_DEPTH* = 0x00000D35
-  GL_MAX_MODELVIEW_STACK_DEPTH* = 0x00000D36
-  GL_MAX_NAME_STACK_DEPTH* = 0x00000D37
-  GL_MAX_PROJECTION_STACK_DEPTH* = 0x00000D38
-  GL_MAX_TEXTURE_STACK_DEPTH* = 0x00000D39
-  GL_MAX_VIEWPORT_DIMS* = 0x00000D3A
-  GL_MAX_CLIENT_ATTRIB_STACK_DEPTH* = 0x00000D3B
-  GL_SUBPIXEL_BITS* = 0x00000D50
-  GL_INDEX_BITS* = 0x00000D51
-  GL_RED_BITS* = 0x00000D52
-  GL_GREEN_BITS* = 0x00000D53
-  GL_BLUE_BITS* = 0x00000D54
-  GL_ALPHA_BITS* = 0x00000D55
-  GL_DEPTH_BITS* = 0x00000D56
-  GL_STENCIL_BITS* = 0x00000D57
-  GL_ACCUM_RED_BITS* = 0x00000D58
-  GL_ACCUM_GREEN_BITS* = 0x00000D59
-  GL_ACCUM_BLUE_BITS* = 0x00000D5A
-  GL_ACCUM_ALPHA_BITS* = 0x00000D5B
-  GL_NAME_STACK_DEPTH* = 0x00000D70
-  GL_AUTO_NORMAL* = 0x00000D80
-  GL_MAP1_COLOR_4* = 0x00000D90
-  GL_MAP1_INDEX* = 0x00000D91
-  GL_MAP1_NORMAL* = 0x00000D92
-  GL_MAP1_TEXTURE_COORD_1* = 0x00000D93
-  GL_MAP1_TEXTURE_COORD_2* = 0x00000D94
-  GL_MAP1_TEXTURE_COORD_3* = 0x00000D95
-  GL_MAP1_TEXTURE_COORD_4* = 0x00000D96
-  GL_MAP1_VERTEX_3* = 0x00000D97
-  GL_MAP1_VERTEX_4* = 0x00000D98
-  GL_MAP2_COLOR_4* = 0x00000DB0
-  GL_MAP2_INDEX* = 0x00000DB1
-  GL_MAP2_NORMAL* = 0x00000DB2
-  GL_MAP2_TEXTURE_COORD_1* = 0x00000DB3
-  GL_MAP2_TEXTURE_COORD_2* = 0x00000DB4
-  GL_MAP2_TEXTURE_COORD_3* = 0x00000DB5
-  GL_MAP2_TEXTURE_COORD_4* = 0x00000DB6
-  GL_MAP2_VERTEX_3* = 0x00000DB7
-  GL_MAP2_VERTEX_4* = 0x00000DB8
-  GL_MAP1_GRID_DOMAIN* = 0x00000DD0
-  GL_MAP1_GRID_SEGMENTS* = 0x00000DD1
-  GL_MAP2_GRID_DOMAIN* = 0x00000DD2
-  GL_MAP2_GRID_SEGMENTS* = 0x00000DD3
-  GL_TEXTURE_1D* = 0x00000DE0
-  GL_TEXTURE_2D* = 0x00000DE1
-  GL_FEEDBACK_BUFFER_POINTER* = 0x00000DF0
-  GL_FEEDBACK_BUFFER_SIZE* = 0x00000DF1
-  GL_FEEDBACK_BUFFER_TYPE* = 0x00000DF2
-  GL_SELECTION_BUFFER_POINTER* = 0x00000DF3
-  GL_SELECTION_BUFFER_SIZE* = 0x00000DF4 #      GL_TEXTURE_BINDING_1D
-                                         #      GL_TEXTURE_BINDING_2D
-                                         #      GL_VERTEX_ARRAY
-                                         #      GL_NORMAL_ARRAY
-                                         #      GL_COLOR_ARRAY
-                                         #      GL_INDEX_ARRAY
-                                         #      GL_TEXTURE_COORD_ARRAY
-                                         #      GL_EDGE_FLAG_ARRAY
-                                         #      GL_VERTEX_ARRAY_SIZE
-                                         #      GL_VERTEX_ARRAY_TYPE
-                                         #      GL_VERTEX_ARRAY_STRIDE
-                                         #      GL_NORMAL_ARRAY_TYPE
-                                         #      GL_NORMAL_ARRAY_STRIDE
-                                         #      GL_COLOR_ARRAY_SIZE
-                                         #      GL_COLOR_ARRAY_TYPE
-                                         #      GL_COLOR_ARRAY_STRIDE
-                                         #      GL_INDEX_ARRAY_TYPE
-                                         #      GL_INDEX_ARRAY_STRIDE
-                                         #      GL_TEXTURE_COORD_ARRAY_SIZE
-                                         #      GL_TEXTURE_COORD_ARRAY_TYPE
-                                         #      GL_TEXTURE_COORD_ARRAY_STRIDE
-                                         #      GL_EDGE_FLAG_ARRAY_STRIDE
-                                         #      GL_POLYGON_OFFSET_FACTOR
-                                         #      GL_POLYGON_OFFSET_UNITS
-                                         # GetTextureParameter
-                                         #      GL_TEXTURE_MAG_FILTER
-                                         #      GL_TEXTURE_MIN_FILTER
-                                         #      GL_TEXTURE_WRAP_S
-                                         #      GL_TEXTURE_WRAP_T
-  GL_TEXTURE_WIDTH* = 0x00001000
-  GL_TEXTURE_HEIGHT* = 0x00001001
-  GL_TEXTURE_INTERNAL_FORMAT* = 0x00001003
-  GL_TEXTURE_BORDER_COLOR* = 0x00001004
-  GL_TEXTURE_BORDER* = 0x00001005 #      GL_TEXTURE_RED_SIZE
-                                  #      GL_TEXTURE_GREEN_SIZE
-                                  #      GL_TEXTURE_BLUE_SIZE
-                                  #      GL_TEXTURE_ALPHA_SIZE
-                                  #      GL_TEXTURE_LUMINANCE_SIZE
-                                  #      GL_TEXTURE_INTENSITY_SIZE
-                                  #      GL_TEXTURE_PRIORITY
-                                  #      GL_TEXTURE_RESIDENT
-                                  # HintMode
-  GL_DONT_CARE* = 0x00001100
-  GL_FASTEST* = 0x00001101
-  GL_NICEST* = 0x00001102     # HintTarget
-                              #      GL_PERSPECTIVE_CORRECTION_HINT
-                              #      GL_POINT_SMOOTH_HINT
-                              #      GL_LINE_SMOOTH_HINT
-                              #      GL_POLYGON_SMOOTH_HINT
-                              #      GL_FOG_HINT
-                              # IndexPointerType
-                              #      GL_SHORT
-                              #      GL_INT
-                              #      GL_FLOAT
-                              #      GL_DOUBLE
-                              # LightModelParameter
-                              #      GL_LIGHT_MODEL_AMBIENT
-                              #      GL_LIGHT_MODEL_LOCAL_VIEWER
-                              #      GL_LIGHT_MODEL_TWO_SIDE
-                              # LightName
-  GL_LIGHT0* = 0x00004000
-  GL_LIGHT1* = 0x00004001
-  GL_LIGHT2* = 0x00004002
-  GL_LIGHT3* = 0x00004003
-  GL_LIGHT4* = 0x00004004
-  GL_LIGHT5* = 0x00004005
-  GL_LIGHT6* = 0x00004006
-  GL_LIGHT7* = 0x00004007     # LightParameter
-  GL_AMBIENT* = 0x00001200
-  GL_DIFFUSE* = 0x00001201
-  GL_SPECULAR* = 0x00001202
-  GL_POSITION* = 0x00001203
-  GL_SPOT_DIRECTION* = 0x00001204
-  GL_SPOT_EXPONENT* = 0x00001205
-  GL_SPOT_CUTOFF* = 0x00001206
-  GL_CONSTANT_ATTENUATION* = 0x00001207
-  GL_LINEAR_ATTENUATION* = 0x00001208
-  GL_QUADRATIC_ATTENUATION* = 0x00001209 # InterleavedArrays
-                                         #      GL_V2F
-                                         #      GL_V3F
-                                         #      GL_C4UB_V2F
-                                         #      GL_C4UB_V3F
-                                         #      GL_C3F_V3F
-                                         #      GL_N3F_V3F
-                                         #      GL_C4F_N3F_V3F
-                                         #      GL_T2F_V3F
-                                         #      GL_T4F_V4F
-                                         #      GL_T2F_C4UB_V3F
-                                         #      GL_T2F_C3F_V3F
-                                         #      GL_T2F_N3F_V3F
-                                         #      GL_T2F_C4F_N3F_V3F
-                                         #      GL_T4F_C4F_N3F_V4F
-                                         # ListMode
-  GL_COMPILE* = 0x00001300
-  GL_COMPILE_AND_EXECUTE* = 0x00001301 # ListNameType
-                                       #      GL_BYTE
-                                       #      GL_UNSIGNED_BYTE
-                                       #      GL_SHORT
-                                       #      GL_UNSIGNED_SHORT
-                                       #      GL_INT
-                                       #      GL_UNSIGNED_INT
-                                       #      GL_FLOAT
-                                       #      GL_2_BYTES
-                                       #      GL_3_BYTES
-                                       #      GL_4_BYTES
-                                       # LogicOp
-  constGL_CLEAR* = 0x00001500
-  GL_AND* = 0x00001501
-  GL_AND_REVERSE* = 0x00001502
-  GL_COPY* = 0x00001503
-  GL_AND_INVERTED* = 0x00001504
-  GL_NOOP* = 0x00001505
-  GL_XOR* = 0x00001506
-  GL_OR* = 0x00001507
-  GL_NOR* = 0x00001508
-  GL_EQUIV* = 0x00001509
-  GL_INVERT* = 0x0000150A
-  GL_OR_REVERSE* = 0x0000150B
-  GL_COPY_INVERTED* = 0x0000150C
-  GL_OR_INVERTED* = 0x0000150D
-  GL_NAND* = 0x0000150E
-  GL_SET* = 0x0000150F        # MapTarget
-                              #      GL_MAP1_COLOR_4
-                              #      GL_MAP1_INDEX
-                              #      GL_MAP1_NORMAL
-                              #      GL_MAP1_TEXTURE_COORD_1
-                              #      GL_MAP1_TEXTURE_COORD_2
-                              #      GL_MAP1_TEXTURE_COORD_3
-                              #      GL_MAP1_TEXTURE_COORD_4
-                              #      GL_MAP1_VERTEX_3
-                              #      GL_MAP1_VERTEX_4
-                              #      GL_MAP2_COLOR_4
-                              #      GL_MAP2_INDEX
-                              #      GL_MAP2_NORMAL
-                              #      GL_MAP2_TEXTURE_COORD_1
-                              #      GL_MAP2_TEXTURE_COORD_2
-                              #      GL_MAP2_TEXTURE_COORD_3
-                              #      GL_MAP2_TEXTURE_COORD_4
-                              #      GL_MAP2_VERTEX_3
-                              #      GL_MAP2_VERTEX_4
-                              # MaterialFace
-                              #      GL_FRONT
-                              #      GL_BACK
-                              #      GL_FRONT_AND_BACK
-                              # MaterialParameter
-  GL_EMISSION* = 0x00001600
-  GL_SHININESS* = 0x00001601
-  GL_AMBIENT_AND_DIFFUSE* = 0x00001602
-  GL_COLOR_INDEXES* = 0x00001603 #      GL_AMBIENT
-                                 #      GL_DIFFUSE
-                                 #      GL_SPECULAR
-                                 # MatrixMode
-  GL_MODELVIEW* = 0x00001700
-  GL_PROJECTION* = 0x00001701
-  GL_TEXTURE* = 0x00001702    # MeshMode1
-                              #      GL_POINT
-                              #      GL_LINE
-                              # MeshMode2
-                              #      GL_POINT
-                              #      GL_LINE
-                              #      GL_FILL
-                              # NormalPointerType
-                              #      GL_BYTE
-                              #      GL_SHORT
-                              #      GL_INT
-                              #      GL_FLOAT
-                              #      GL_DOUBLE
-                              # PixelCopyType
-  GL_COLOR* = 0x00001800
-  GL_DEPTH* = 0x00001801
-  GL_STENCIL* = 0x00001802    # PixelFormat
-  GL_COLOR_INDEX* = 0x00001900
-  GL_STENCIL_INDEX* = 0x00001901
-  GL_DEPTH_COMPONENT* = 0x00001902
-  GL_RED* = 0x00001903
-  GL_GREEN* = 0x00001904
-  GL_BLUE* = 0x00001905
-  GL_ALPHA* = 0x00001906
-  GL_RGB* = 0x00001907
-  GL_RGBA* = 0x00001908
-  GL_LUMINANCE* = 0x00001909
-  GL_LUMINANCE_ALPHA* = 0x0000190A # PixelMap
-                                   #      GL_PIXEL_MAP_I_TO_I
-                                   #      GL_PIXEL_MAP_S_TO_S
-                                   #      GL_PIXEL_MAP_I_TO_R
-                                   #      GL_PIXEL_MAP_I_TO_G
-                                   #      GL_PIXEL_MAP_I_TO_B
-                                   #      GL_PIXEL_MAP_I_TO_A
-                                   #      GL_PIXEL_MAP_R_TO_R
-                                   #      GL_PIXEL_MAP_G_TO_G
-                                   #      GL_PIXEL_MAP_B_TO_B
-                                   #      GL_PIXEL_MAP_A_TO_A
-                                   # PixelStore
-                                   #      GL_UNPACK_SWAP_BYTES
-                                   #      GL_UNPACK_LSB_FIRST
-                                   #      GL_UNPACK_ROW_LENGTH
-                                   #      GL_UNPACK_SKIP_ROWS
-                                   #      GL_UNPACK_SKIP_PIXELS
-                                   #      GL_UNPACK_ALIGNMENT
-                                   #      GL_PACK_SWAP_BYTES
-                                   #      GL_PACK_LSB_FIRST
-                                   #      GL_PACK_ROW_LENGTH
-                                   #      GL_PACK_SKIP_ROWS
-                                   #      GL_PACK_SKIP_PIXELS
-                                   #      GL_PACK_ALIGNMENT
-                                   # PixelTransfer
-                                   #      GL_MAP_COLOR
-                                   #      GL_MAP_STENCIL
-                                   #      GL_INDEX_SHIFT
-                                   #      GL_INDEX_OFFSET
-                                   #      GL_RED_SCALE
-                                   #      GL_RED_BIAS
-                                   #      GL_GREEN_SCALE
-                                   #      GL_GREEN_BIAS
-                                   #      GL_BLUE_SCALE
-                                   #      GL_BLUE_BIAS
-                                   #      GL_ALPHA_SCALE
-                                   #      GL_ALPHA_BIAS
-                                   #      GL_DEPTH_SCALE
-                                   #      GL_DEPTH_BIAS
-                                   # PixelType
-  constGL_BITMAP* = 0x00001A00     
-  GL_POINT* = 0x00001B00
-  GL_LINE* = 0x00001B01
-  GL_FILL* = 0x00001B02       # ReadBufferMode
-                              #      GL_FRONT_LEFT
-                              #      GL_FRONT_RIGHT
-                              #      GL_BACK_LEFT
-                              #      GL_BACK_RIGHT
-                              #      GL_FRONT
-                              #      GL_BACK
-                              #      GL_LEFT
-                              #      GL_RIGHT
-                              #      GL_AUX0
-                              #      GL_AUX1
-                              #      GL_AUX2
-                              #      GL_AUX3
-                              # RenderingMode
-  GL_RENDER* = 0x00001C00
-  GL_FEEDBACK* = 0x00001C01
-  GL_SELECT* = 0x00001C02     # ShadingModel
-  GL_FLAT* = 0x00001D00
-  GL_SMOOTH* = 0x00001D01     # StencilFunction
-                              #      GL_NEVER
-                              #      GL_LESS
-                              #      GL_EQUAL
-                              #      GL_LEQUAL
-                              #      GL_GREATER
-                              #      GL_NOTEQUAL
-                              #      GL_GEQUAL
-                              #      GL_ALWAYS
-                              # StencilOp
-                              #      GL_ZERO
-  GL_KEEP* = 0x00001E00
-  GL_REPLACE* = 0x00001E01
-  GL_INCR* = 0x00001E02
-  GL_DECR* = 0x00001E03       #      GL_INVERT
-                              # StringName
-  GL_VENDOR* = 0x00001F00
-  GL_RENDERER* = 0x00001F01
-  GL_VERSION* = 0x00001F02
-  GL_EXTENSIONS* = 0x00001F03 # TextureCoordName
-  GL_S* = 0x00002000
-  GL_T* = 0x00002001
-  GL_R* = 0x00002002
-  GL_Q* = 0x00002003          # TexCoordPointerType
-                              #      GL_SHORT
-                              #      GL_INT
-                              #      GL_FLOAT
-                              #      GL_DOUBLE
-                              # TextureEnvMode
-  GL_MODULATE* = 0x00002100
-  GL_DECAL* = 0x00002101      #      GL_BLEND
-                              #      GL_REPLACE
-                              # TextureEnvParameter
-  GL_TEXTURE_ENV_MODE* = 0x00002200
-  GL_TEXTURE_ENV_COLOR* = 0x00002201 # TextureEnvTarget
-  GL_TEXTURE_ENV* = 0x00002300 # TextureGenMode
-  GL_EYE_LINEAR* = 0x00002400
-  GL_OBJECT_LINEAR* = 0x00002401
-  GL_SPHERE_MAP* = 0x00002402 # TextureGenParameter
-  GL_TEXTURE_GEN_MODE* = 0x00002500
-  GL_OBJECT_PLANE* = 0x00002501
-  GL_EYE_PLANE* = 0x00002502  # TextureMagFilter
-  GL_NEAREST* = 0x00002600
-  GL_LINEAR* = 0x00002601     # TextureMinFilter
-                              #      GL_NEAREST
-                              #      GL_LINEAR
-  GL_NEAREST_MIPMAP_NEAREST* = 0x00002700
-  GL_LINEAR_MIPMAP_NEAREST* = 0x00002701
-  GL_NEAREST_MIPMAP_LINEAR* = 0x00002702
-  GL_LINEAR_MIPMAP_LINEAR* = 0x00002703 # TextureParameterName
-  GL_TEXTURE_MAG_FILTER* = 0x00002800
-  GL_TEXTURE_MIN_FILTER* = 0x00002801
-  GL_TEXTURE_WRAP_S* = 0x00002802
-  GL_TEXTURE_WRAP_T* = 0x00002803 #      GL_TEXTURE_BORDER_COLOR
-                                  #      GL_TEXTURE_PRIORITY
-                                  # TextureTarget
-                                  #      GL_TEXTURE_1D
-                                  #      GL_TEXTURE_2D
-                                  #      GL_PROXY_TEXTURE_1D
-                                  #      GL_PROXY_TEXTURE_2D
-                                  # TextureWrapMode
-  GL_CLAMP* = 0x00002900
-  GL_REPEAT* = 0x00002901     # VertexPointerType
-                              #      GL_SHORT
-                              #      GL_INT
-                              #      GL_FLOAT
-                              #      GL_DOUBLE
-                              # ClientAttribMask
-  GL_CLIENT_PIXEL_STORE_BIT* = 0x00000001
-  GL_CLIENT_VERTEX_ARRAY_BIT* = 0x00000002
-  GL_CLIENT_ALL_ATTRIB_BITS* = 0xFFFFFFFF # polygon_offset
-  GL_POLYGON_OFFSET_FACTOR* = 0x00008038
-  GL_POLYGON_OFFSET_UNITS* = 0x00002A00
-  GL_POLYGON_OFFSET_POINT* = 0x00002A01
-  GL_POLYGON_OFFSET_LINE* = 0x00002A02
-  GL_POLYGON_OFFSET_FILL* = 0x00008037 # texture
-  GL_ALPHA4* = 0x0000803B
-  GL_ALPHA8* = 0x0000803C
-  GL_ALPHA12* = 0x0000803D
-  GL_ALPHA16* = 0x0000803E
-  GL_LUMINANCE4* = 0x0000803F
-  GL_LUMINANCE8* = 0x00008040
-  GL_LUMINANCE12* = 0x00008041
-  GL_LUMINANCE16* = 0x00008042
-  GL_LUMINANCE4_ALPHA4* = 0x00008043
-  GL_LUMINANCE6_ALPHA2* = 0x00008044
-  GL_LUMINANCE8_ALPHA8* = 0x00008045
-  GL_LUMINANCE12_ALPHA4* = 0x00008046
-  GL_LUMINANCE12_ALPHA12* = 0x00008047
-  GL_LUMINANCE16_ALPHA16* = 0x00008048
-  GL_INTENSITY* = 0x00008049
-  GL_INTENSITY4* = 0x0000804A
-  GL_INTENSITY8* = 0x0000804B
-  GL_INTENSITY12* = 0x0000804C
-  GL_INTENSITY16* = 0x0000804D
-  GL_R3_G3_B2* = 0x00002A10
-  GL_RGB4* = 0x0000804F
-  GL_RGB5* = 0x00008050
-  GL_RGB8* = 0x00008051
-  GL_RGB10* = 0x00008052
-  GL_RGB12* = 0x00008053
-  GL_RGB16* = 0x00008054
-  GL_RGBA2* = 0x00008055
-  GL_RGBA4* = 0x00008056
-  GL_RGB5_A1* = 0x00008057
-  GL_RGBA8* = 0x00008058
-  GL_RGB10_A2* = 0x00008059
-  GL_RGBA12* = 0x0000805A
-  GL_RGBA16* = 0x0000805B
-  GL_TEXTURE_RED_SIZE* = 0x0000805C
-  GL_TEXTURE_GREEN_SIZE* = 0x0000805D
-  GL_TEXTURE_BLUE_SIZE* = 0x0000805E
-  GL_TEXTURE_ALPHA_SIZE* = 0x0000805F
-  GL_TEXTURE_LUMINANCE_SIZE* = 0x00008060
-  GL_TEXTURE_INTENSITY_SIZE* = 0x00008061
-  GL_PROXY_TEXTURE_1D* = 0x00008063
-  GL_PROXY_TEXTURE_2D* = 0x00008064 # texture_object
-  GL_TEXTURE_PRIORITY* = 0x00008066
-  GL_TEXTURE_RESIDENT* = 0x00008067
-  GL_TEXTURE_BINDING_1D* = 0x00008068
-  GL_TEXTURE_BINDING_2D* = 0x00008069 # vertex_array
-  GL_VERTEX_ARRAY* = 0x00008074
-  GL_NORMAL_ARRAY* = 0x00008075
-  GL_COLOR_ARRAY* = 0x00008076
-  GL_INDEX_ARRAY* = 0x00008077
-  GL_TEXTURE_COORD_ARRAY* = 0x00008078
-  GL_EDGE_FLAG_ARRAY* = 0x00008079
-  GL_VERTEX_ARRAY_SIZE* = 0x0000807A
-  GL_VERTEX_ARRAY_TYPE* = 0x0000807B
-  GL_VERTEX_ARRAY_STRIDE* = 0x0000807C
-  GL_NORMAL_ARRAY_TYPE* = 0x0000807E
-  GL_NORMAL_ARRAY_STRIDE* = 0x0000807F
-  GL_COLOR_ARRAY_SIZE* = 0x00008081
-  GL_COLOR_ARRAY_TYPE* = 0x00008082
-  GL_COLOR_ARRAY_STRIDE* = 0x00008083
-  GL_INDEX_ARRAY_TYPE* = 0x00008085
-  GL_INDEX_ARRAY_STRIDE* = 0x00008086
-  GL_TEXTURE_COORD_ARRAY_SIZE* = 0x00008088
-  GL_TEXTURE_COORD_ARRAY_TYPE* = 0x00008089
-  GL_TEXTURE_COORD_ARRAY_STRIDE* = 0x0000808A
-  GL_EDGE_FLAG_ARRAY_STRIDE* = 0x0000808C
-  GL_VERTEX_ARRAY_POINTER* = 0x0000808E
-  GL_NORMAL_ARRAY_POINTER* = 0x0000808F
-  GL_COLOR_ARRAY_POINTER* = 0x00008090
-  GL_INDEX_ARRAY_POINTER* = 0x00008091
-  GL_TEXTURE_COORD_ARRAY_POINTER* = 0x00008092
-  GL_EDGE_FLAG_ARRAY_POINTER* = 0x00008093
-  GL_V2F* = 0x00002A20
-  GL_V3F* = 0x00002A21
-  GL_C4UB_V2F* = 0x00002A22
-  GL_C4UB_V3F* = 0x00002A23
-  GL_C3F_V3F* = 0x00002A24
-  GL_N3F_V3F* = 0x00002A25
-  GL_C4F_N3F_V3F* = 0x00002A26
-  GL_T2F_V3F* = 0x00002A27
-  GL_T4F_V4F* = 0x00002A28
-  GL_T2F_C4UB_V3F* = 0x00002A29
-  GL_T2F_C3F_V3F* = 0x00002A2A
-  GL_T2F_N3F_V3F* = 0x00002A2B
-  GL_T2F_C4F_N3F_V3F* = 0x00002A2C
-  GL_T4F_C4F_N3F_V4F* = 0x00002A2D # Extensions
-  GL_EXT_vertex_array* = 1
-  GL_WIN_swap_hint* = 1
-  GL_EXT_bgra* = 1
-  GL_EXT_paletted_texture* = 1 # EXT_vertex_array
-  GL_VERTEX_ARRAY_EXT* = 0x00008074
-  GL_NORMAL_ARRAY_EXT* = 0x00008075
-  GL_COLOR_ARRAY_EXT* = 0x00008076
-  GL_INDEX_ARRAY_EXT* = 0x00008077
-  GL_TEXTURE_COORD_ARRAY_EXT* = 0x00008078
-  GL_EDGE_FLAG_ARRAY_EXT* = 0x00008079
-  GL_VERTEX_ARRAY_SIZE_EXT* = 0x0000807A
-  GL_VERTEX_ARRAY_TYPE_EXT* = 0x0000807B
-  GL_VERTEX_ARRAY_STRIDE_EXT* = 0x0000807C
-  GL_VERTEX_ARRAY_COUNT_EXT* = 0x0000807D
-  GL_NORMAL_ARRAY_TYPE_EXT* = 0x0000807E
-  GL_NORMAL_ARRAY_STRIDE_EXT* = 0x0000807F
-  GL_NORMAL_ARRAY_COUNT_EXT* = 0x00008080
-  GL_COLOR_ARRAY_SIZE_EXT* = 0x00008081
-  GL_COLOR_ARRAY_TYPE_EXT* = 0x00008082
-  GL_COLOR_ARRAY_STRIDE_EXT* = 0x00008083
-  GL_COLOR_ARRAY_COUNT_EXT* = 0x00008084
-  GL_INDEX_ARRAY_TYPE_EXT* = 0x00008085
-  GL_INDEX_ARRAY_STRIDE_EXT* = 0x00008086
-  GL_INDEX_ARRAY_COUNT_EXT* = 0x00008087
-  GL_TEXTURE_COORD_ARRAY_SIZE_EXT* = 0x00008088
-  GL_TEXTURE_COORD_ARRAY_TYPE_EXT* = 0x00008089
-  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT* = 0x0000808A
-  GL_TEXTURE_COORD_ARRAY_COUNT_EXT* = 0x0000808B
-  GL_EDGE_FLAG_ARRAY_STRIDE_EXT* = 0x0000808C
-  GL_EDGE_FLAG_ARRAY_COUNT_EXT* = 0x0000808D
-  GL_VERTEX_ARRAY_POINTER_EXT* = 0x0000808E
-  GL_NORMAL_ARRAY_POINTER_EXT* = 0x0000808F
-  GL_COLOR_ARRAY_POINTER_EXT* = 0x00008090
-  GL_INDEX_ARRAY_POINTER_EXT* = 0x00008091
-  GL_TEXTURE_COORD_ARRAY_POINTER_EXT* = 0x00008092
-  GL_EDGE_FLAG_ARRAY_POINTER_EXT* = 0x00008093
-  GL_DOUBLE_EXT* = GL_DOUBLE  # EXT_bgra
-  GL_BGR_EXT* = 0x000080E0
-  GL_BGRA_EXT* = 0x000080E1   # EXT_paletted_texture
-                              # These must match the GL_COLOR_TABLE_*_SGI enumerants
-  GL_COLOR_TABLE_FORMAT_EXT* = 0x000080D8
-  GL_COLOR_TABLE_WIDTH_EXT* = 0x000080D9
-  GL_COLOR_TABLE_RED_SIZE_EXT* = 0x000080DA
-  GL_COLOR_TABLE_GREEN_SIZE_EXT* = 0x000080DB
-  GL_COLOR_TABLE_BLUE_SIZE_EXT* = 0x000080DC
-  GL_COLOR_TABLE_ALPHA_SIZE_EXT* = 0x000080DD
-  GL_COLOR_TABLE_LUMINANCE_SIZE_EXT* = 0x000080DE
-  GL_COLOR_TABLE_INTENSITY_SIZE_EXT* = 0x000080DF
-  GL_COLOR_INDEX1_EXT* = 0x000080E2
-  GL_COLOR_INDEX2_EXT* = 0x000080E3
-  GL_COLOR_INDEX4_EXT* = 0x000080E4
-  GL_COLOR_INDEX8_EXT* = 0x000080E5
-  GL_COLOR_INDEX12_EXT* = 0x000080E6
-  GL_COLOR_INDEX16_EXT* = 0x000080E7 # For compatibility with OpenGL v1.0
-  constGL_LOGIC_OP* = GL_INDEX_LOGIC_OP
-  GL_TEXTURE_COMPONENTS* = GL_TEXTURE_INTERNAL_FORMAT 
-
-proc glAccum*(op: TGLenum, value: TGLfloat){.dynlib: dllname, importc.}
-proc glAlphaFunc*(func: TGLenum, theref: TGLclampf){.dynlib: dllname, importc.}
-proc glAreTexturesResident*(n: TGLsizei, textures: PGLuint, 
-                            residences: PGLboolean): TGLboolean{.dynlib: dllname, 
-    importc.}
-proc glArrayElement*(i: TGLint){.dynlib: dllname, importc.}
-proc glBegin*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glBindTexture*(target: TGLenum, texture: TGLuint){.dynlib: dllname, importc.}
-proc glBitmap*(width, height: TGLsizei, xorig, yorig: TGLfloat, 
-               xmove, ymove: TGLfloat, bitmap: PGLubyte){.dynlib: dllname, 
-    importc.}
-proc glBlendFunc*(sfactor, dfactor: TGLenum){.dynlib: dllname, importc.}
-proc glCallList*(list: TGLuint){.dynlib: dllname, importc.}
-proc glCallLists*(n: TGLsizei, atype: TGLenum, lists: Pointer){.dynlib: dllname, 
-    importc.}
-proc glClear*(mask: TGLbitfield){.dynlib: dllname, importc.}
-proc glClearAccum*(red, green, blue, alpha: TGLfloat){.dynlib: dllname, importc.}
-proc glClearColor*(red, green, blue, alpha: TGLclampf){.dynlib: dllname, importc.}
-proc glClearDepth*(depth: TGLclampd){.dynlib: dllname, importc.}
-proc glClearIndex*(c: TGLfloat){.dynlib: dllname, importc.}
-proc glClearStencil*(s: TGLint){.dynlib: dllname, importc.}
-proc glClipPlane*(plane: TGLenum, equation: PGLdouble){.dynlib: dllname, importc.}
-proc glColor3b*(red, green, blue: TGlbyte){.dynlib: dllname, importc.}
-proc glColor3bv*(v: PGLbyte){.dynlib: dllname, importc.}
-proc glColor3d*(red, green, blue: TGLdouble){.dynlib: dllname, importc.}
-proc glColor3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glColor3f*(red, green, blue: TGLfloat){.dynlib: dllname, importc.}
-proc glColor3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glColor3i*(red, green, blue: TGLint){.dynlib: dllname, importc.}
-proc glColor3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glColor3s*(red, green, blue: TGLshort){.dynlib: dllname, importc.}
-proc glColor3sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glColor3ub*(red, green, blue: TGLubyte){.dynlib: dllname, importc.}
-proc glColor3ubv*(v: PGLubyte){.dynlib: dllname, importc.}
-proc glColor3ui*(red, green, blue: TGLuint){.dynlib: dllname, importc.}
-proc glColor3uiv*(v: PGLuint){.dynlib: dllname, importc.}
-proc glColor3us*(red, green, blue: TGLushort){.dynlib: dllname, importc.}
-proc glColor3usv*(v: PGLushort){.dynlib: dllname, importc.}
-proc glColor4b*(red, green, blue, alpha: TGlbyte){.dynlib: dllname, importc.}
-proc glColor4bv*(v: PGLbyte){.dynlib: dllname, importc.}
-proc glColor4d*(red, green, blue, alpha: TGLdouble){.dynlib: dllname, importc.}
-proc glColor4dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glColor4f*(red, green, blue, alpha: TGLfloat){.dynlib: dllname, importc.}
-proc glColor4fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glColor4i*(red, green, blue, alpha: TGLint){.dynlib: dllname, importc.}
-proc glColor4iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glColor4s*(red, green, blue, alpha: TGLshort){.dynlib: dllname, importc.}
-proc glColor4sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glColor4ub*(red, green, blue, alpha: TGLubyte){.dynlib: dllname, importc.}
-proc glColor4ubv*(v: PGLubyte){.dynlib: dllname, importc.}
-proc glColor4ui*(red, green, blue, alpha: TGLuint){.dynlib: dllname, importc.}
-proc glColor4uiv*(v: PGLuint){.dynlib: dllname, importc.}
-proc glColor4us*(red, green, blue, alpha: TGLushort){.dynlib: dllname, importc.}
-proc glColor4usv*(v: PGLushort){.dynlib: dllname, importc.}
-proc glColorMask*(red, green, blue, alpha: TGLboolean){.dynlib: dllname, importc.}
-proc glColorMaterial*(face, mode: TGLenum){.dynlib: dllname, importc.}
-proc glColorPointer*(size: TGLint, atype: TGLenum, stride: TGLsizei, 
-                     pointer: Pointer){.dynlib: dllname, importc.}
-proc glCopyPixels*(x, y: TGLint, width, height: TGLsizei, atype: TGLenum){.
-    dynlib: dllname, importc.}
-proc glCopyTexImage1D*(target: TGLenum, level: TGLint, internalFormat: TGLenum, 
-                       x, y: TGLint, width: TGLsizei, border: TGLint){.
-    dynlib: dllname, importc.}
-proc glCopyTexImage2D*(target: TGLenum, level: TGLint, internalFormat: TGLenum, 
-                       x, y: TGLint, width, height: TGLsizei, border: TGLint){.
-    dynlib: dllname, importc.}
-proc glCopyTexSubImage1D*(target: TGLenum, level, xoffset, x, y: TGLint, 
-                          width: TGLsizei){.dynlib: dllname, importc.}
-proc glCopyTexSubImage2D*(target: TGLenum, level, xoffset, yoffset, x, y: TGLint, 
-                          width, height: TGLsizei){.dynlib: dllname, importc.}
-proc glCullFace*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glDeleteLists*(list: TGLuint, range: TGLsizei){.dynlib: dllname, importc.}
-proc glDeleteTextures*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, importc.}
-proc glDepthFunc*(func: TGLenum){.dynlib: dllname, importc.}
-proc glDepthMask*(flag: TGLboolean){.dynlib: dllname, importc.}
-proc glDepthRange*(zNear, zFar: TGLclampd){.dynlib: dllname, importc.}
-proc glDisable*(cap: TGLenum){.dynlib: dllname, importc.}
-proc glDisableClientState*(aarray: TGLenum){.dynlib: dllname, importc.}
-proc glDrawArrays*(mode: TGLenum, first: TGLint, count: TGLsizei){.dynlib: dllname, 
-    importc.}
-proc glDrawBuffer*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glDrawElements*(mode: TGLenum, count: TGLsizei, atype: TGLenum, 
-                     indices: Pointer){.dynlib: dllname, importc.}
-proc glDrawPixels*(width, height: TGLsizei, format, atype: TGLenum, 
-                   pixels: Pointer){.dynlib: dllname, importc.}
-proc glEdgeFlag*(flag: TGLboolean){.dynlib: dllname, importc.}
-proc glEdgeFlagPointer*(stride: TGLsizei, pointer: Pointer){.dynlib: dllname, 
-    importc.}
-proc glEdgeFlagv*(flag: PGLboolean){.dynlib: dllname, importc.}
-proc glEnable*(cap: TGLenum){.dynlib: dllname, importc.}
-proc glEnableClientState*(aarray: TGLenum){.dynlib: dllname, importc.}
-proc glEnd*(){.dynlib: dllname, importc.}
-proc glEndList*(){.dynlib: dllname, importc.}
-proc glEvalCoord1d*(u: TGLdouble){.dynlib: dllname, importc.}
-proc glEvalCoord1dv*(u: PGLdouble){.dynlib: dllname, importc.}
-proc glEvalCoord1f*(u: TGLfloat){.dynlib: dllname, importc.}
-proc glEvalCoord1fv*(u: PGLfloat){.dynlib: dllname, importc.}
-proc glEvalCoord2d*(u, v: TGLdouble){.dynlib: dllname, importc.}
-proc glEvalCoord2dv*(u: PGLdouble){.dynlib: dllname, importc.}
-proc glEvalCoord2f*(u, v: TGLfloat){.dynlib: dllname, importc.}
-proc glEvalCoord2fv*(u: PGLfloat){.dynlib: dllname, importc.}
-proc glEvalMesh1*(mode: TGLenum, i1, i2: TGLint){.dynlib: dllname, importc.}
-proc glEvalMesh2*(mode: TGLenum, i1, i2, j1, j2: TGLint){.dynlib: dllname, importc.}
-proc glEvalPoint1*(i: TGLint){.dynlib: dllname, importc.}
-proc glEvalPoint2*(i, j: TGLint){.dynlib: dllname, importc.}
-proc glFeedbackBuffer*(size: TGLsizei, atype: TGLenum, buffer: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glFinish*(){.dynlib: dllname, importc.}
-proc glFlush*(){.dynlib: dllname, importc.}
-proc glFogf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glFogfv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, importc.}
-proc glFogi*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glFogiv*(pname: TGLenum, params: PGLint){.dynlib: dllname, importc.}
-proc glFrontFace*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glFrustum*(left, right, bottom, top, zNear, zFar: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glGenLists*(range: TGLsizei): TGLuint{.dynlib: dllname, importc.}
-proc glGenTextures*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, importc.}
-proc glGetBooleanv*(pname: TGLenum, params: PGLboolean){.dynlib: dllname, importc.}
-proc glGetClipPlane*(plane: TGLenum, equation: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glGetDoublev*(pname: TGLenum, params: PGLdouble){.dynlib: dllname, importc.}
-proc glGetError*(): TGLenum{.dynlib: dllname, importc.}
-proc glGetFloatv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetIntegerv*(pname: TGLenum, params: PGLint){.dynlib: dllname, importc.}
-proc glGetLightfv*(light, pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetLightiv*(light, pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glGetMapdv*(target, query: TGLenum, v: PGLdouble){.dynlib: dllname, importc.}
-proc glGetMapfv*(target, query: TGLenum, v: PGLfloat){.dynlib: dllname, importc.}
-proc glGetMapiv*(target, query: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glGetMaterialfv*(face, pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetMaterialiv*(face, pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glGetPixelMapfv*(map: TGLenum, values: PGLfloat){.dynlib: dllname, importc.}
-proc glGetPixelMapuiv*(map: TGLenum, values: PGLuint){.dynlib: dllname, importc.}
-proc glGetPixelMapusv*(map: TGLenum, values: PGLushort){.dynlib: dllname, importc.}
-proc glGetPointerv*(pname: TGLenum, params: Pointer){.dynlib: dllname, importc.}
-proc glGetPolygonStipple*(mask: PGLubyte){.dynlib: dllname, importc.}
-proc glGetString*(name: TGLenum): cstring{.dynlib: dllname, importc.}
-proc glGetTexEnvfv*(target, pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetTexEnviv*(target, pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glGetTexGendv*(coord, pname: TGLenum, params: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glGetTexGenfv*(coord, pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetTexGeniv*(coord, pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glGetTexImage*(target: TGLenum, level: TGLint, format: TGLenum, atype: TGLenum, 
-                    pixels: Pointer){.dynlib: dllname, importc.}
-proc glGetTexLevelParameterfv*(target: TGLenum, level: TGLint, pname: TGLenum, 
-                               params: Pointer){.dynlib: dllname, importc.}
-proc glGetTexLevelParameteriv*(target: TGLenum, level: TGLint, pname: TGLenum, 
-                               params: PGLint){.dynlib: dllname, importc.}
-proc glGetTexParameterfv*(target, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetTexParameteriv*(target, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glHint*(target, mode: TGLenum){.dynlib: dllname, importc.}
-proc glIndexMask*(mask: TGLuint){.dynlib: dllname, importc.}
-proc glIndexPointer*(atype: TGLenum, stride: TGLsizei, pointer: Pointer){.
-    dynlib: dllname, importc.}
-proc glIndexd*(c: TGLdouble){.dynlib: dllname, importc.}
-proc glIndexdv*(c: PGLdouble){.dynlib: dllname, importc.}
-proc glIndexf*(c: TGLfloat){.dynlib: dllname, importc.}
-proc glIndexfv*(c: PGLfloat){.dynlib: dllname, importc.}
-proc glIndexi*(c: TGLint){.dynlib: dllname, importc.}
-proc glIndexiv*(c: PGLint){.dynlib: dllname, importc.}
-proc glIndexs*(c: TGLshort){.dynlib: dllname, importc.}
-proc glIndexsv*(c: PGLshort){.dynlib: dllname, importc.}
-proc glIndexub*(c: TGLubyte){.dynlib: dllname, importc.}
-proc glIndexubv*(c: PGLubyte){.dynlib: dllname, importc.}
-proc glInitNames*(){.dynlib: dllname, importc.}
-proc glInterleavedArrays*(format: TGLenum, stride: TGLsizei, pointer: Pointer){.
-    dynlib: dllname, importc.}
-proc glIsEnabled*(cap: TGLenum): TGLboolean{.dynlib: dllname, importc.}
-proc glIsList*(list: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glIsTexture*(texture: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glLightModelf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glLightModelfv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, importc.}
-proc glLightModeli*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glLightModeliv*(pname: TGLenum, params: PGLint){.dynlib: dllname, importc.}
-proc glLightf*(light, pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glLightfv*(light, pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glLighti*(light, pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glLightiv*(light, pname: TGLenum, params: PGLint){.dynlib: dllname, importc.}
-proc glLineStipple*(factor: TGLint, pattern: TGLushort){.dynlib: dllname, importc.}
-proc glLineWidth*(width: TGLfloat){.dynlib: dllname, importc.}
-proc glListBase*(base: TGLuint){.dynlib: dllname, importc.}
-proc glLoadIdentity*(){.dynlib: dllname, importc.}
-proc glLoadMatrixd*(m: PGLdouble){.dynlib: dllname, importc.}
-proc glLoadMatrixf*(m: PGLfloat){.dynlib: dllname, importc.}
-proc glLoadName*(name: TGLuint){.dynlib: dllname, importc.}
-proc glLogicOp*(opcode: TGLenum){.dynlib: dllname, importc.}
-proc glMap1d*(target: TGLenum, u1, u2: TGLdouble, stride, order: TGLint, 
-              points: PGLdouble){.dynlib: dllname, importc.}
-proc glMap1f*(target: TGLenum, u1, u2: TGLfloat, stride, order: TGLint, 
-              points: PGLfloat){.dynlib: dllname, importc.}
-proc glMap2d*(target: TGLenum, u1, u2: TGLdouble, ustride, uorder: TGLint, 
-              v1, v2: TGLdouble, vstride, vorder: TGLint, points: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glMap2f*(target: TGLenum, u1, u2: TGLfloat, ustride, uorder: TGLint, 
-              v1, v2: TGLfloat, vstride, vorder: TGLint, points: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glMapGrid1d*(un: TGLint, u1, u2: TGLdouble){.dynlib: dllname, importc.}
-proc glMapGrid1f*(un: TGLint, u1, u2: TGLfloat){.dynlib: dllname, importc.}
-proc glMapGrid2d*(un: TGLint, u1, u2: TGLdouble, vn: TGLint, v1, v2: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glMapGrid2f*(un: TGLint, u1, u2: TGLfloat, vn: TGLint, v1, v2: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glMaterialf*(face, pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glMaterialfv*(face, pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glMateriali*(face, pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glMaterialiv*(face, pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glMatrixMode*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glMultMatrixd*(m: PGLdouble){.dynlib: dllname, importc.}
-proc glMultMatrixf*(m: PGLfloat){.dynlib: dllname, importc.}
-proc glNewList*(list: TGLuint, mode: TGLenum){.dynlib: dllname, importc.}
-proc glNormal3b*(nx, ny, nz: TGlbyte){.dynlib: dllname, importc.}
-proc glNormal3bv*(v: PGLbyte){.dynlib: dllname, importc.}
-proc glNormal3d*(nx, ny, nz: TGLdouble){.dynlib: dllname, importc.}
-proc glNormal3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glNormal3f*(nx, ny, nz: TGLfloat){.dynlib: dllname, importc.}
-proc glNormal3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glNormal3i*(nx, ny, nz: TGLint){.dynlib: dllname, importc.}
-proc glNormal3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glNormal3s*(nx, ny, nz: TGLshort){.dynlib: dllname, importc.}
-proc glNormal3sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glNormalPointer*(atype: TGLenum, stride: TGLsizei, pointer: Pointer){.
-    dynlib: dllname, importc.}
-proc glOrtho*(left, right, bottom, top, zNear, zFar: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glPassThrough*(token: TGLfloat){.dynlib: dllname, importc.}
-proc glPixelMapfv*(map: TGLenum, mapsize: TGLsizei, values: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glPixelMapuiv*(map: TGLenum, mapsize: TGLsizei, values: PGLuint){.
-    dynlib: dllname, importc.}
-proc glPixelMapusv*(map: TGLenum, mapsize: TGLsizei, values: PGLushort){.
-    dynlib: dllname, importc.}
-proc glPixelStoref*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glPixelStorei*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glPixelTransferf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glPixelTransferi*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glPixelZoom*(xfactor, yfactor: TGLfloat){.dynlib: dllname, importc.}
-proc glPointSize*(size: TGLfloat){.dynlib: dllname, importc.}
-proc glPolygonMode*(face, mode: TGLenum){.dynlib: dllname, importc.}
-proc glPolygonOffset*(factor, units: TGLfloat){.dynlib: dllname, importc.}
-proc glPolygonStipple*(mask: PGLubyte){.dynlib: dllname, importc.}
-proc glPopAttrib*(){.dynlib: dllname, importc.}
-proc glPopClientAttrib*(){.dynlib: dllname, importc.}
-proc glPopMatrix*(){.dynlib: dllname, importc.}
-proc glPopName*(){.dynlib: dllname, importc.}
-proc glPrioritizeTextures*(n: TGLsizei, textures: PGLuint, priorities: PGLclampf){.
-    dynlib: dllname, importc.}
-proc glPushAttrib*(mask: TGLbitfield){.dynlib: dllname, importc.}
-proc glPushClientAttrib*(mask: TGLbitfield){.dynlib: dllname, importc.}
-proc glPushMatrix*(){.dynlib: dllname, importc.}
-proc glPushName*(name: TGLuint){.dynlib: dllname, importc.}
-proc glRasterPos2d*(x, y: TGLdouble){.dynlib: dllname, importc.}
-proc glRasterPos2dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glRasterPos2f*(x, y: TGLfloat){.dynlib: dllname, importc.}
-proc glRasterPos2fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glRasterPos2i*(x, y: TGLint){.dynlib: dllname, importc.}
-proc glRasterPos2iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glRasterPos2s*(x, y: TGLshort){.dynlib: dllname, importc.}
-proc glRasterPos2sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glRasterPos3d*(x, y, z: TGLdouble){.dynlib: dllname, importc.}
-proc glRasterPos3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glRasterPos3f*(x, y, z: TGLfloat){.dynlib: dllname, importc.}
-proc glRasterPos3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glRasterPos3i*(x, y, z: TGLint){.dynlib: dllname, importc.}
-proc glRasterPos3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glRasterPos3s*(x, y, z: TGLshort){.dynlib: dllname, importc.}
-proc glRasterPos3sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glRasterPos4d*(x, y, z, w: TGLdouble){.dynlib: dllname, importc.}
-proc glRasterPos4dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glRasterPos4f*(x, y, z, w: TGLfloat){.dynlib: dllname, importc.}
-proc glRasterPos4fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glRasterPos4i*(x, y, z, w: TGLint){.dynlib: dllname, importc.}
-proc glRasterPos4iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glRasterPos4s*(x, y, z, w: TGLshort){.dynlib: dllname, importc.}
-proc glRasterPos4sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glReadBuffer*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glReadPixels*(x, y: TGLint, width, height: TGLsizei, format, atype: TGLenum, 
-                   pixels: Pointer){.dynlib: dllname, importc.}
-proc glRectd*(x1, y1, x2, y2: TGLdouble){.dynlib: dllname, importc.}
-proc glRectdv*(v1: PGLdouble, v2: PGLdouble){.dynlib: dllname, importc.}
-proc glRectf*(x1, y1, x2, y2: TGLfloat){.dynlib: dllname, importc.}
-proc glRectfv*(v1: PGLfloat, v2: PGLfloat){.dynlib: dllname, importc.}
-proc glRecti*(x1, y1, x2, y2: TGLint){.dynlib: dllname, importc.}
-proc glRectiv*(v1: PGLint, v2: PGLint){.dynlib: dllname, importc.}
-proc glRects*(x1, y1, x2, y2: TGLshort){.dynlib: dllname, importc.}
-proc glRectsv*(v1: PGLshort, v2: PGLshort){.dynlib: dllname, importc.}
-proc glRenderMode*(mode: TGLint): TGLint{.dynlib: dllname, importc.}
-proc glRotated*(angle, x, y, z: TGLdouble){.dynlib: dllname, importc.}
-proc glRotatef*(angle, x, y, z: TGLfloat){.dynlib: dllname, importc.}
-proc glScaled*(x, y, z: TGLdouble){.dynlib: dllname, importc.}
-proc glScalef*(x, y, z: TGLfloat){.dynlib: dllname, importc.}
-proc glScissor*(x, y: TGLint, width, height: TGLsizei){.dynlib: dllname, importc.}
-proc glSelectBuffer*(size: TGLsizei, buffer: PGLuint){.dynlib: dllname, importc.}
-proc glShadeModel*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glStencilFunc*(func: TGLenum, theref: TGLint, mask: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glStencilMask*(mask: TGLuint){.dynlib: dllname, importc.}
-proc glStencilOp*(fail, zfail, zpass: TGLenum){.dynlib: dllname, importc.}
-proc glTexCoord1d*(s: TGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord1dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord1f*(s: TGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord1fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord1i*(s: TGLint){.dynlib: dllname, importc.}
-proc glTexCoord1iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glTexCoord1s*(s: TGLshort){.dynlib: dllname, importc.}
-proc glTexCoord1sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glTexCoord2d*(s, t: TGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord2dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord2f*(s, t: TGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord2fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord2i*(s, t: TGLint){.dynlib: dllname, importc.}
-proc glTexCoord2iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glTexCoord2s*(s, t: TGLshort){.dynlib: dllname, importc.}
-proc glTexCoord2sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glTexCoord3d*(s, t, r: TGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord3f*(s, t, r: TGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord3i*(s, t, r: TGLint){.dynlib: dllname, importc.}
-proc glTexCoord3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glTexCoord3s*(s, t, r: TGLshort){.dynlib: dllname, importc.}
-proc glTexCoord3sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glTexCoord4d*(s, t, r, q: TGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord4dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glTexCoord4f*(s, t, r, q: TGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord4fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord4i*(s, t, r, q: TGLint){.dynlib: dllname, importc.}
-proc glTexCoord4iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glTexCoord4s*(s, t, r, q: TGLshort){.dynlib: dllname, importc.}
-proc glTexCoord4sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glTexCoordPointer*(size: TGLint, atype: TGLenum, stride: TGLsizei, 
-                        pointer: Pointer){.dynlib: dllname, importc.}
-proc glTexEnvf*(target: TGLenum, pname: TGLenum, param: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glTexEnvfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexEnvi*(target: TGLenum, pname: TGLenum, param: TGLint){.dynlib: dllname, 
-    importc.}
-proc glTexEnviv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glTexGend*(coord: TGLenum, pname: TGLenum, param: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glTexGendv*(coord: TGLenum, pname: TGLenum, params: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glTexGenf*(coord: TGLenum, pname: TGLenum, param: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glTexGenfv*(coord: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexGeni*(coord: TGLenum, pname: TGLenum, param: TGLint){.dynlib: dllname, 
-    importc.}
-proc glTexGeniv*(coord: TGLenum, pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glTexImage1D*(target: TGLenum, level, internalformat: TGLint, width: TGLsizei, 
-                   border: TGLint, format, atype: TGLenum, pixels: Pointer){.
-    dynlib: dllname, importc.}
-proc glTexImage2D*(target: TGLenum, level, internalformat: TGLint, 
-                   width, height: TGLsizei, border: TGLint, format, atype: TGLenum, 
-                   pixels: Pointer){.dynlib: dllname, importc.}
-proc glTexParameterf*(target: TGLenum, pname: TGLenum, param: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexParameteri*(target: TGLenum, pname: TGLenum, param: TGLint){.
-    dynlib: dllname, importc.}
-proc glTexParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glTexSubImage1D*(target: TGLenum, level, xoffset: TGLint, width: TGLsizei, 
-                      format, atype: TGLenum, pixels: Pointer){.dynlib: dllname, 
-    importc.}
-proc glTexSubImage2D*(target: TGLenum, level, xoffset, yoffset: TGLint, 
-                      width, height: TGLsizei, format, atype: TGLenum, 
-                      pixels: Pointer){.dynlib: dllname, importc.}
-proc glTranslated*(x, y, z: TGLdouble){.dynlib: dllname, importc.}
-proc glTranslatef*(x, y, z: TGLfloat){.dynlib: dllname, importc.}
-proc glVertex2d*(x, y: TGLdouble){.dynlib: dllname, importc.}
-proc glVertex2dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertex2f*(x, y: TGLfloat){.dynlib: dllname, importc.}
-proc glVertex2fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertex2i*(x, y: TGLint){.dynlib: dllname, importc.}
-proc glVertex2iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glVertex2s*(x, y: TGLshort){.dynlib: dllname, importc.}
-proc glVertex2sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glVertex3d*(x, y, z: TGLdouble){.dynlib: dllname, importc.}
-proc glVertex3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertex3f*(x, y, z: TGLfloat){.dynlib: dllname, importc.}
-proc glVertex3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertex3i*(x, y, z: TGLint){.dynlib: dllname, importc.}
-proc glVertex3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glVertex3s*(x, y, z: TGLshort){.dynlib: dllname, importc.}
-proc glVertex3sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glVertex4d*(x, y, z, w: TGLdouble){.dynlib: dllname, importc.}
-proc glVertex4dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertex4f*(x, y, z, w: TGLfloat){.dynlib: dllname, importc.}
-proc glVertex4fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertex4i*(x, y, z, w: TGLint){.dynlib: dllname, importc.}
-proc glVertex4iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glVertex4s*(x, y, z, w: TGLshort){.dynlib: dllname, importc.}
-proc glVertex4sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexPointer*(size: TGLint, atype: TGLenum, stride: TGLsizei, 
-                      pointer: Pointer){.dynlib: dllname, importc.}
-proc glViewport*(x, y: TGLint, width, height: TGLsizei){.dynlib: dllname, importc.}
-type
-  PFN_GLARRAY_ELEMENT_EXTPROC* = proc (i: TGLint)
-  PFN_GLDRAW_ARRAYS_EXTPROC* = proc (mode: TGLenum, first: TGLint, count: TGLsizei)
-  PFN_GLVERTEX_POINTER_EXTPROC* = proc (size: TGLint, atype: TGLenum, 
-                                     stride, count: TGLsizei, pointer: Pointer)
-  PFN_GLNORMAL_POINTER_EXTPROC* = proc (atype: TGLenum, stride, count: TGLsizei, 
-                                     pointer: Pointer)
-  PFN_GLCOLOR_POINTER_EXTPROC* = proc (size: TGLint, atype: TGLenum, 
-                                    stride, count: TGLsizei, pointer: Pointer)
-  PFN_GLINDEX_POINTER_EXTPROC* = proc (atype: TGLenum, stride, count: TGLsizei, 
-                                    pointer: Pointer)
-  PFN_GLTEXCOORD_POINTER_EXTPROC* = proc (size: TGLint, atype: TGLenum, 
-                                       stride, count: TGLsizei, pointer: Pointer)
-  PFN_GLEDGEFLAG_POINTER_EXTPROC* = proc (stride, count: TGLsizei, 
-                                       pointer: PGLboolean)
-  PFN_GLGET_POINTER_VEXT_PROC* = proc (pname: TGLenum, params: Pointer)
-  PFN_GLARRAY_ELEMENT_ARRAY_EXTPROC* = proc (mode: TGLenum, count: TGLsizei, 
-      pi: Pointer)            # WIN_swap_hint
-  PFN_GLADDSWAPHINT_RECT_WINPROC* = proc (x, y: TGLint, width, height: TGLsizei)
-  PFN_GLCOLOR_TABLE_EXTPROC* = proc (target, internalFormat: TGLenum, 
-                                  width: TGLsizei, format, atype: TGLenum, 
-                                  data: Pointer)
-  PFN_GLCOLOR_SUBTABLE_EXTPROC* = proc (target: TGLenum, start, count: TGLsizei, 
-                                     format, atype: TGLenum, data: Pointer)
-  PFN_GLGETCOLOR_TABLE_EXTPROC* = proc (target, format, atype: TGLenum, 
-                                     data: Pointer)
-  PFN_GLGETCOLOR_TABLE_PARAMETER_IVEXTPROC* = proc (target, pname: TGLenum, 
-      params: PGLint)
-  PFN_GLGETCOLOR_TABLE_PARAMETER_FVEXTPROC* = proc (target, pname: TGLenum, 
-      params: PGLfloat)
-
-{.pop.}
-
-# implementation
diff --git a/lib/base/opengl/gl.pp b/lib/base/opengl/gl.pp
deleted file mode 100644
index f6e0ddc39..000000000
--- a/lib/base/opengl/gl.pp
+++ /dev/null
@@ -1,1548 +0,0 @@
-{
-
-  Adaption of the delphi3d.net OpenGL units to FreePascal
-  Sebastian Guenther (sg@freepascal.org) in 2002
-  These units are free to use
-}
-
-(*++ BUILD Version: 0004    // Increment this if a change has global effects
-
-Copyright (c) 1985-96, Microsoft Corporation
-
-Module Name:
-
-    gl.h
-
-Abstract:
-
-    Procedure declarations, constant definitions and macros for the OpenGL
-    component.
-
---*)
-
-{*
-** Copyright 1996 Silicon Graphics, Inc.
-** All Rights Reserved.
-**
-** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
-** the contents of this file may not be disclosed to third parties, copied or
-** duplicated in any form, in whole or in part, without the prior written
-** permission of Silicon Graphics, Inc.
-**
-** RESTRICTED RIGHTS LEGEND:
-** Use, duplication or disclosure by the Government is subject to restrictions
-** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
-** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
-** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
-** rights reserved under the Copyright Laws of the United States.
-*}
-
-{******************************************************************************}
-{ Converted to Delphi by Tom Nuydens (tom@delphi3d.net)                        }
-{ For the latest updates, visit Delphi3D: http://www.delphi3d.net              }
-{******************************************************************************}
-(*
-{$MODE Delphi}
-{$MACRO ON}
-{$IFDEF Windows}
-  {$DEFINE extdecl := stdcall}
-{$ELSE}
-  {$DEFINE extdecl := cdecl}
-  {$IFDEF MorphOS}
-    {$INLINE ON}
-    {$DEFINE GL_UNIT}
-  {$ELSE}
-    {$LINKLIB c}
-  {$ENDIF}
-{$ENDIF} *)
-
-unit GL;
-
-interface
-
-const
-  dllname = 'opengl32.dll';
-  dylibname = '/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib';
-  posixname = 'libGL.so.1';
-
-type
-  GLenum     = Cardinal;      PGLenum     = ^GLenum;
-  GLboolean  = Byte;          PGLboolean  = ^GLboolean;
-  GLbitfield = Cardinal;      PGLbitfield = ^GLbitfield;
-  GLbyte     = ShortInt;      PGLbyte     = ^GLbyte;
-  GLshort    = SmallInt;      PGLshort    = ^GLshort;
-  GLint      = Integer;       PGLint      = ^GLint;
-  GLsizei    = Integer;       PGLsizei    = ^GLsizei;
-  GLubyte    = Byte;          PGLubyte    = ^GLubyte;
-  GLushort   = Word;          PGLushort   = ^GLushort;
-  GLuint     = Cardinal;      PGLuint     = ^GLuint;
-  GLfloat    = Single;        PGLfloat    = ^GLfloat;
-  GLclampf   = Single;        PGLclampf   = ^GLclampf;
-  GLdouble   = Double;        PGLdouble   = ^GLdouble;
-  GLclampd   = Double;        PGLclampd   = ^GLclampd;
-{ GLvoid     = void; }        PGLvoid     = Pointer;
-                              PPGLvoid    = ^PGLvoid;
-
-  TGLenum     = GLenum;
-  TGLboolean  = GLboolean;
-  TGLbitfield = GLbitfield;
-  TGLbyte     = GLbyte;
-  TGLshort    = GLshort;
-  TGLint      = GLint;
-  TGLsizei    = GLsizei;
-  TGLubyte    = GLubyte;
-  TGLushort   = GLushort;
-  TGLuint     = GLuint;
-  TGLfloat    = GLfloat;
-  TGLclampf   = GLclampf;
-  TGLdouble   = GLdouble;
-  TGLclampd   = GLclampd;
-
-{******************************************************************************}
-
-const
-  // Version
-  GL_VERSION_1_1                    = 1;
-
-  // AccumOp
-  GL_ACCUM                          = $0100;
-  GL_LOAD                           = $0101;
-  GL_RETURN                         = $0102;
-  GL_MULT                           = $0103;
-  GL_ADD                            = $0104;
-
-  // AlphaFunction
-  GL_NEVER                          = $0200;
-  GL_LESS                           = $0201;
-  GL_EQUAL                          = $0202;
-  GL_LEQUAL                         = $0203;
-  GL_GREATER                        = $0204;
-  GL_NOTEQUAL                       = $0205;
-  GL_GEQUAL                         = $0206;
-  GL_ALWAYS                         = $0207;
-
-  // AttribMask
-  GL_CURRENT_BIT                    = $00000001;
-  GL_POINT_BIT                      = $00000002;
-  GL_LINE_BIT                       = $00000004;
-  GL_POLYGON_BIT                    = $00000008;
-  GL_POLYGON_STIPPLE_BIT            = $00000010;
-  GL_PIXEL_MODE_BIT                 = $00000020;
-  GL_LIGHTING_BIT                   = $00000040;
-  GL_FOG_BIT                        = $00000080;
-  GL_DEPTH_BUFFER_BIT               = $00000100;
-  GL_ACCUM_BUFFER_BIT               = $00000200;
-  GL_STENCIL_BUFFER_BIT             = $00000400;
-  GL_VIEWPORT_BIT                   = $00000800;
-  GL_TRANSFORM_BIT                  = $00001000;
-  GL_ENABLE_BIT                     = $00002000;
-  GL_COLOR_BUFFER_BIT               = $00004000;
-  GL_HINT_BIT                       = $00008000;
-  GL_EVAL_BIT                       = $00010000;
-  GL_LIST_BIT                       = $00020000;
-  GL_TEXTURE_BIT                    = $00040000;
-  GL_SCISSOR_BIT                    = $00080000;
-  GL_ALL_ATTRIB_BITS                = $000FFFFF;
-
-  // BeginMode
-  GL_POINTS                         = $0000;
-  GL_LINES                          = $0001;
-  GL_LINE_LOOP                      = $0002;
-  GL_LINE_STRIP                     = $0003;
-  GL_TRIANGLES                      = $0004;
-  GL_TRIANGLE_STRIP                 = $0005;
-  GL_TRIANGLE_FAN                   = $0006;
-  GL_QUADS                          = $0007;
-  GL_QUAD_STRIP                     = $0008;
-  GL_POLYGON                        = $0009;
-
-  // BlendingFactorDest
-  GL_ZERO                           = 0;
-  GL_ONE                            = 1;
-  GL_SRC_COLOR                      = $0300;
-  GL_ONE_MINUS_SRC_COLOR            = $0301;
-  GL_SRC_ALPHA                      = $0302;
-  GL_ONE_MINUS_SRC_ALPHA            = $0303;
-  GL_DST_ALPHA                      = $0304;
-  GL_ONE_MINUS_DST_ALPHA            = $0305;
-
-  // BlendingFactorSrc
-  //      GL_ZERO
-  //      GL_ONE
-  GL_DST_COLOR                      = $0306;
-  GL_ONE_MINUS_DST_COLOR            = $0307;
-  GL_SRC_ALPHA_SATURATE             = $0308;
-  //      GL_SRC_ALPHA
-  //      GL_ONE_MINUS_SRC_ALPHA
-  //      GL_DST_ALPHA
-  //      GL_ONE_MINUS_DST_ALPHA
-
-  // Boolean
-  GL_TRUE                           = 1;
-  GL_FALSE                          = 0;
-
-  // ClearBufferMask
-  //      GL_COLOR_BUFFER_BIT
-  //      GL_ACCUM_BUFFER_BIT
-  //      GL_STENCIL_BUFFER_BIT
-  //      GL_DEPTH_BUFFER_BIT
-
-  // ClientArrayType
-  //      GL_VERTEX_ARRAY
-  //      GL_NORMAL_ARRAY
-  //      GL_COLOR_ARRAY
-  //      GL_INDEX_ARRAY
-  //      GL_TEXTURE_COORD_ARRAY
-  //      GL_EDGE_FLAG_ARRAY
-
-  // ClipPlaneName
-  GL_CLIP_PLANE0                    = $3000;
-  GL_CLIP_PLANE1                    = $3001;
-  GL_CLIP_PLANE2                    = $3002;
-  GL_CLIP_PLANE3                    = $3003;
-  GL_CLIP_PLANE4                    = $3004;
-  GL_CLIP_PLANE5                    = $3005;
-
-  // ColorMaterialFace
-  //      GL_FRONT
-  //      GL_BACK
-  //      GL_FRONT_AND_BACK
-
-  // ColorMaterialParameter
-  //      GL_AMBIENT
-  //      GL_DIFFUSE
-  //      GL_SPECULAR
-  //      GL_EMISSION
-  //      GL_AMBIENT_AND_DIFFUSE
-
-  // ColorPointerType
-  //      GL_BYTE
-  //      GL_UNSIGNED_BYTE
-  //      GL_SHORT
-  //      GL_UNSIGNED_SHORT
-  //      GL_INT
-  //      GL_UNSIGNED_INT
-  //      GL_FLOAT
-  //      GL_DOUBLE
-
-  // CullFaceMode
-  //      GL_FRONT
-  //      GL_BACK
-  //      GL_FRONT_AND_BACK
-
-  // DataType
-  GL_BYTE                           = $1400;
-  GL_UNSIGNED_BYTE                  = $1401;
-  GL_SHORT                          = $1402;
-  GL_UNSIGNED_SHORT                 = $1403;
-  GL_INT                            = $1404;
-  GL_UNSIGNED_INT                   = $1405;
-  GL_FLOAT                          = $1406;
-  GL_2_BYTES                        = $1407;
-  GL_3_BYTES                        = $1408;
-  GL_4_BYTES                        = $1409;
-  GL_DOUBLE                         = $140A;
-
-  // DepthFunction
-  //      GL_NEVER
-  //      GL_LESS
-  //      GL_EQUAL
-  //      GL_LEQUAL
-  //      GL_GREATER
-  //      GL_NOTEQUAL
-  //      GL_GEQUAL
-  //      GL_ALWAYS
-
-  // DrawBufferMode
-  GL_NONE                           = 0;
-  GL_FRONT_LEFT                     = $0400;
-  GL_FRONT_RIGHT                    = $0401;
-  GL_BACK_LEFT                      = $0402;
-  GL_BACK_RIGHT                     = $0403;
-  GL_FRONT                          = $0404;
-  GL_BACK                           = $0405;
-  GL_LEFT                           = $0406;
-  GL_RIGHT                          = $0407;
-  GL_FRONT_AND_BACK                 = $0408;
-  GL_AUX0                           = $0409;
-  GL_AUX1                           = $040A;
-  GL_AUX2                           = $040B;
-  GL_AUX3                           = $040C;
-
-  // Enable
-  //      GL_FOG
-  //      GL_LIGHTING
-  //      GL_TEXTURE_1D
-  //      GL_TEXTURE_2D
-  //      GL_LINE_STIPPLE
-  //      GL_POLYGON_STIPPLE
-  //      GL_CULL_FACE
-  //      GL_ALPHA_TEST
-  //      GL_BLEND
-  //      GL_INDEX_LOGIC_OP
-  //      GL_COLOR_LOGIC_OP
-  //      GL_DITHER
-  //      GL_STENCIL_TEST
-  //      GL_DEPTH_TEST
-  //      GL_CLIP_PLANE0
-  //      GL_CLIP_PLANE1
-  //      GL_CLIP_PLANE2
-  //      GL_CLIP_PLANE3
-  //      GL_CLIP_PLANE4
-  //      GL_CLIP_PLANE5
-  //      GL_LIGHT0
-  //      GL_LIGHT1
-  //      GL_LIGHT2
-  //      GL_LIGHT3
-  //      GL_LIGHT4
-  //      GL_LIGHT5
-  //      GL_LIGHT6
-  //      GL_LIGHT7
-  //      GL_TEXTURE_GEN_S
-  //      GL_TEXTURE_GEN_T
-  //      GL_TEXTURE_GEN_R
-  //      GL_TEXTURE_GEN_Q
-  //      GL_MAP1_VERTEX_3
-  //      GL_MAP1_VERTEX_4
-  //      GL_MAP1_COLOR_4
-  //      GL_MAP1_INDEX
-  //      GL_MAP1_NORMAL
-  //      GL_MAP1_TEXTURE_COORD_1
-  //      GL_MAP1_TEXTURE_COORD_2
-  //      GL_MAP1_TEXTURE_COORD_3
-  //      GL_MAP1_TEXTURE_COORD_4
-  //      GL_MAP2_VERTEX_3
-  //      GL_MAP2_VERTEX_4
-  //      GL_MAP2_COLOR_4
-  //      GL_MAP2_INDEX
-  //      GL_MAP2_NORMAL
-  //      GL_MAP2_TEXTURE_COORD_1
-  //      GL_MAP2_TEXTURE_COORD_2
-  //      GL_MAP2_TEXTURE_COORD_3
-  //      GL_MAP2_TEXTURE_COORD_4
-  //      GL_POINT_SMOOTH
-  //      GL_LINE_SMOOTH
-  //      GL_POLYGON_SMOOTH
-  //      GL_SCISSOR_TEST
-  //      GL_COLOR_MATERIAL
-  //      GL_NORMALIZE
-  //      GL_AUTO_NORMAL
-  //      GL_VERTEX_ARRAY
-  //      GL_NORMAL_ARRAY
-  //      GL_COLOR_ARRAY
-  //      GL_INDEX_ARRAY
-  //      GL_TEXTURE_COORD_ARRAY
-  //      GL_EDGE_FLAG_ARRAY
-  //      GL_POLYGON_OFFSET_POINT
-  //      GL_POLYGON_OFFSET_LINE
-  //      GL_POLYGON_OFFSET_FILL
-
-  // ErrorCode
-  GL_NO_ERROR                       = 0;
-  GL_INVALID_ENUM                   = $0500;
-  GL_INVALID_VALUE                  = $0501;
-  GL_INVALID_OPERATION              = $0502;
-  GL_STACK_OVERFLOW                 = $0503;
-  GL_STACK_UNDERFLOW                = $0504;
-  GL_OUT_OF_MEMORY                  = $0505;
-
-  // FeedBackMode
-  GL_2D                             = $0600;
-  GL_3D                             = $0601;
-  GL_3D_COLOR                       = $0602;
-  GL_3D_COLOR_TEXTURE               = $0603;
-  GL_4D_COLOR_TEXTURE               = $0604;
-
-  // FeedBackToken
-  GL_PASS_THROUGH_TOKEN             = $0700;
-  GL_POINT_TOKEN                    = $0701;
-  GL_LINE_TOKEN                     = $0702;
-  GL_POLYGON_TOKEN                  = $0703;
-  GL_BITMAP_TOKEN                   = $0704;
-  GL_DRAW_PIXEL_TOKEN               = $0705;
-  GL_COPY_PIXEL_TOKEN               = $0706;
-  GL_LINE_RESET_TOKEN               = $0707;
-
-  // FogMode
-  //      GL_LINEAR
-  GL_EXP                            = $0800;
-  GL_EXP2                           = $0801;
-
-  // FogParameter
-  //      GL_FOG_COLOR
-  //      GL_FOG_DENSITY
-  //      GL_FOG_END
-  //      GL_FOG_INDEX
-  //      GL_FOG_MODE
-  //      GL_FOG_START
-
-  // FrontFaceDirection
-  GL_CW                             = $0900;
-  GL_CCW                            = $0901;
-
-  // GetMapTarget
-  GL_COEFF                          = $0A00;
-  GL_ORDER                          = $0A01;
-  GL_DOMAIN                         = $0A02;
-
-  // GetPixelMap
-  //      GL_PIXEL_MAP_I_TO_I
-  //      GL_PIXEL_MAP_S_TO_S
-  //      GL_PIXEL_MAP_I_TO_R
-  //      GL_PIXEL_MAP_I_TO_G
-  //      GL_PIXEL_MAP_I_TO_B
-  //      GL_PIXEL_MAP_I_TO_A
-  //      GL_PIXEL_MAP_R_TO_R
-  //      GL_PIXEL_MAP_G_TO_G
-  //      GL_PIXEL_MAP_B_TO_B
-  //      GL_PIXEL_MAP_A_TO_A
-
-  // GetPointerTarget
-  //      GL_VERTEX_ARRAY_POINTER
-  //      GL_NORMAL_ARRAY_POINTER
-  //      GL_COLOR_ARRAY_POINTER
-  //      GL_INDEX_ARRAY_POINTER
-  //      GL_TEXTURE_COORD_ARRAY_POINTER
-  //      GL_EDGE_FLAG_ARRAY_POINTER
-
-  // GetTarget
-  GL_CURRENT_COLOR                  = $0B00;
-  GL_CURRENT_INDEX                  = $0B01;
-  GL_CURRENT_NORMAL                 = $0B02;
-  GL_CURRENT_TEXTURE_COORDS         = $0B03;
-  GL_CURRENT_RASTER_COLOR           = $0B04;
-  GL_CURRENT_RASTER_INDEX           = $0B05;
-  GL_CURRENT_RASTER_TEXTURE_COORDS  = $0B06;
-  GL_CURRENT_RASTER_POSITION        = $0B07;
-  GL_CURRENT_RASTER_POSITION_VALID  = $0B08;
-  GL_CURRENT_RASTER_DISTANCE        = $0B09;
-  GL_POINT_SMOOTH                   = $0B10;
-  GL_POINT_SIZE                     = $0B11;
-  GL_POINT_SIZE_RANGE               = $0B12;
-  GL_POINT_SIZE_GRANULARITY         = $0B13;
-  GL_LINE_SMOOTH                    = $0B20;
-  GL_LINE_WIDTH                     = $0B21;
-  GL_LINE_WIDTH_RANGE               = $0B22;
-  GL_LINE_WIDTH_GRANULARITY         = $0B23;
-  GL_LINE_STIPPLE                   = $0B24;
-  GL_LINE_STIPPLE_PATTERN           = $0B25;
-  GL_LINE_STIPPLE_REPEAT            = $0B26;
-  GL_LIST_MODE                      = $0B30;
-  GL_MAX_LIST_NESTING               = $0B31;
-  GL_LIST_BASE                      = $0B32;
-  GL_LIST_INDEX                     = $0B33;
-  GL_POLYGON_MODE                   = $0B40;
-  GL_POLYGON_SMOOTH                 = $0B41;
-  GL_POLYGON_STIPPLE                = $0B42;
-  GL_EDGE_FLAG                      = $0B43;
-  GL_CULL_FACE                      = $0B44;
-  GL_CULL_FACE_MODE                 = $0B45;
-  GL_FRONT_FACE                     = $0B46;
-  GL_LIGHTING                       = $0B50;
-  GL_LIGHT_MODEL_LOCAL_VIEWER       = $0B51;
-  GL_LIGHT_MODEL_TWO_SIDE           = $0B52;
-  GL_LIGHT_MODEL_AMBIENT            = $0B53;
-  GL_SHADE_MODEL                    = $0B54;
-  GL_COLOR_MATERIAL_FACE            = $0B55;
-  GL_COLOR_MATERIAL_PARAMETER       = $0B56;
-  GL_COLOR_MATERIAL                 = $0B57;
-  GL_FOG                            = $0B60;
-  GL_FOG_INDEX                      = $0B61;
-  GL_FOG_DENSITY                    = $0B62;
-  GL_FOG_START                      = $0B63;
-  GL_FOG_END                        = $0B64;
-  GL_FOG_MODE                       = $0B65;
-  GL_FOG_COLOR                      = $0B66;
-  GL_DEPTH_RANGE                    = $0B70;
-  GL_DEPTH_TEST                     = $0B71;
-  GL_DEPTH_WRITEMASK                = $0B72;
-  GL_DEPTH_CLEAR_VALUE              = $0B73;
-  GL_DEPTH_FUNC                     = $0B74;
-  GL_ACCUM_CLEAR_VALUE              = $0B80;
-  GL_STENCIL_TEST                   = $0B90;
-  GL_STENCIL_CLEAR_VALUE            = $0B91;
-  GL_STENCIL_FUNC                   = $0B92;
-  GL_STENCIL_VALUE_MASK             = $0B93;
-  GL_STENCIL_FAIL                   = $0B94;
-  GL_STENCIL_PASS_DEPTH_FAIL        = $0B95;
-  GL_STENCIL_PASS_DEPTH_PASS        = $0B96;
-  GL_STENCIL_REF                    = $0B97;
-  GL_STENCIL_WRITEMASK              = $0B98;
-  GL_MATRIX_MODE                    = $0BA0;
-  GL_NORMALIZE                      = $0BA1;
-  GL_VIEWPORT                       = $0BA2;
-  GL_MODELVIEW_STACK_DEPTH          = $0BA3;
-  GL_PROJECTION_STACK_DEPTH         = $0BA4;
-  GL_TEXTURE_STACK_DEPTH            = $0BA5;
-  GL_MODELVIEW_MATRIX               = $0BA6;
-  GL_PROJECTION_MATRIX              = $0BA7;
-  GL_TEXTURE_MATRIX                 = $0BA8;
-  GL_ATTRIB_STACK_DEPTH             = $0BB0;
-  GL_CLIENT_ATTRIB_STACK_DEPTH      = $0BB1;
-  GL_ALPHA_TEST                     = $0BC0;
-  GL_ALPHA_TEST_FUNC                = $0BC1;
-  GL_ALPHA_TEST_REF                 = $0BC2;
-  GL_DITHER                         = $0BD0;
-  GL_BLEND_DST                      = $0BE0;
-  GL_BLEND_SRC                      = $0BE1;
-  GL_BLEND                          = $0BE2;
-  GL_LOGIC_OP_MODE                  = $0BF0;
-  GL_INDEX_LOGIC_OP                 = $0BF1;
-  GL_COLOR_LOGIC_OP                 = $0BF2;
-  GL_AUX_BUFFERS                    = $0C00;
-  GL_DRAW_BUFFER                    = $0C01;
-  GL_READ_BUFFER                    = $0C02;
-  GL_SCISSOR_BOX                    = $0C10;
-  GL_SCISSOR_TEST                   = $0C11;
-  GL_INDEX_CLEAR_VALUE              = $0C20;
-  GL_INDEX_WRITEMASK                = $0C21;
-  GL_COLOR_CLEAR_VALUE              = $0C22;
-  GL_COLOR_WRITEMASK                = $0C23;
-  GL_INDEX_MODE                     = $0C30;
-  GL_RGBA_MODE                      = $0C31;
-  GL_DOUBLEBUFFER                   = $0C32;
-  GL_STEREO                         = $0C33;
-  GL_RENDER_MODE                    = $0C40;
-  GL_PERSPECTIVE_CORRECTION_HINT    = $0C50;
-  GL_POINT_SMOOTH_HINT              = $0C51;
-  GL_LINE_SMOOTH_HINT               = $0C52;
-  GL_POLYGON_SMOOTH_HINT            = $0C53;
-  GL_FOG_HINT                       = $0C54;
-  GL_TEXTURE_GEN_S                  = $0C60;
-  GL_TEXTURE_GEN_T                  = $0C61;
-  GL_TEXTURE_GEN_R                  = $0C62;
-  GL_TEXTURE_GEN_Q                  = $0C63;
-  GL_PIXEL_MAP_I_TO_I               = $0C70;
-  GL_PIXEL_MAP_S_TO_S               = $0C71;
-  GL_PIXEL_MAP_I_TO_R               = $0C72;
-  GL_PIXEL_MAP_I_TO_G               = $0C73;
-  GL_PIXEL_MAP_I_TO_B               = $0C74;
-  GL_PIXEL_MAP_I_TO_A               = $0C75;
-  GL_PIXEL_MAP_R_TO_R               = $0C76;
-  GL_PIXEL_MAP_G_TO_G               = $0C77;
-  GL_PIXEL_MAP_B_TO_B               = $0C78;
-  GL_PIXEL_MAP_A_TO_A               = $0C79;
-  GL_PIXEL_MAP_I_TO_I_SIZE          = $0CB0;
-  GL_PIXEL_MAP_S_TO_S_SIZE          = $0CB1;
-  GL_PIXEL_MAP_I_TO_R_SIZE          = $0CB2;
-  GL_PIXEL_MAP_I_TO_G_SIZE          = $0CB3;
-  GL_PIXEL_MAP_I_TO_B_SIZE          = $0CB4;
-  GL_PIXEL_MAP_I_TO_A_SIZE          = $0CB5;
-  GL_PIXEL_MAP_R_TO_R_SIZE          = $0CB6;
-  GL_PIXEL_MAP_G_TO_G_SIZE          = $0CB7;
-  GL_PIXEL_MAP_B_TO_B_SIZE          = $0CB8;
-  GL_PIXEL_MAP_A_TO_A_SIZE          = $0CB9;
-  GL_UNPACK_SWAP_BYTES              = $0CF0;
-  GL_UNPACK_LSB_FIRST               = $0CF1;
-  GL_UNPACK_ROW_LENGTH              = $0CF2;
-  GL_UNPACK_SKIP_ROWS               = $0CF3;
-  GL_UNPACK_SKIP_PIXELS             = $0CF4;
-  GL_UNPACK_ALIGNMENT               = $0CF5;
-  GL_PACK_SWAP_BYTES                = $0D00;
-  GL_PACK_LSB_FIRST                 = $0D01;
-  GL_PACK_ROW_LENGTH                = $0D02;
-  GL_PACK_SKIP_ROWS                 = $0D03;
-  GL_PACK_SKIP_PIXELS               = $0D04;
-  GL_PACK_ALIGNMENT                 = $0D05;
-  GL_MAP_COLOR                      = $0D10;
-  GL_MAP_STENCIL                    = $0D11;
-  GL_INDEX_SHIFT                    = $0D12;
-  GL_INDEX_OFFSET                   = $0D13;
-  GL_RED_SCALE                      = $0D14;
-  GL_RED_BIAS                       = $0D15;
-  GL_ZOOM_X                         = $0D16;
-  GL_ZOOM_Y                         = $0D17;
-  GL_GREEN_SCALE                    = $0D18;
-  GL_GREEN_BIAS                     = $0D19;
-  GL_BLUE_SCALE                     = $0D1A;
-  GL_BLUE_BIAS                      = $0D1B;
-  GL_ALPHA_SCALE                    = $0D1C;
-  GL_ALPHA_BIAS                     = $0D1D;
-  GL_DEPTH_SCALE                    = $0D1E;
-  GL_DEPTH_BIAS                     = $0D1F;
-  GL_MAX_EVAL_ORDER                 = $0D30;
-  GL_MAX_LIGHTS                     = $0D31;
-  GL_MAX_CLIP_PLANES                = $0D32;
-  GL_MAX_TEXTURE_SIZE               = $0D33;
-  GL_MAX_PIXEL_MAP_TABLE            = $0D34;
-  GL_MAX_ATTRIB_STACK_DEPTH         = $0D35;
-  GL_MAX_MODELVIEW_STACK_DEPTH      = $0D36;
-  GL_MAX_NAME_STACK_DEPTH           = $0D37;
-  GL_MAX_PROJECTION_STACK_DEPTH     = $0D38;
-  GL_MAX_TEXTURE_STACK_DEPTH        = $0D39;
-  GL_MAX_VIEWPORT_DIMS              = $0D3A;
-  GL_MAX_CLIENT_ATTRIB_STACK_DEPTH  = $0D3B;
-  GL_SUBPIXEL_BITS                  = $0D50;
-  GL_INDEX_BITS                     = $0D51;
-  GL_RED_BITS                       = $0D52;
-  GL_GREEN_BITS                     = $0D53;
-  GL_BLUE_BITS                      = $0D54;
-  GL_ALPHA_BITS                     = $0D55;
-  GL_DEPTH_BITS                     = $0D56;
-  GL_STENCIL_BITS                   = $0D57;
-  GL_ACCUM_RED_BITS                 = $0D58;
-  GL_ACCUM_GREEN_BITS               = $0D59;
-  GL_ACCUM_BLUE_BITS                = $0D5A;
-  GL_ACCUM_ALPHA_BITS               = $0D5B;
-  GL_NAME_STACK_DEPTH               = $0D70;
-  GL_AUTO_NORMAL                    = $0D80;
-  GL_MAP1_COLOR_4                   = $0D90;
-  GL_MAP1_INDEX                     = $0D91;
-  GL_MAP1_NORMAL                    = $0D92;
-  GL_MAP1_TEXTURE_COORD_1           = $0D93;
-  GL_MAP1_TEXTURE_COORD_2           = $0D94;
-  GL_MAP1_TEXTURE_COORD_3           = $0D95;
-  GL_MAP1_TEXTURE_COORD_4           = $0D96;
-  GL_MAP1_VERTEX_3                  = $0D97;
-  GL_MAP1_VERTEX_4                  = $0D98;
-  GL_MAP2_COLOR_4                   = $0DB0;
-  GL_MAP2_INDEX                     = $0DB1;
-  GL_MAP2_NORMAL                    = $0DB2;
-  GL_MAP2_TEXTURE_COORD_1           = $0DB3;
-  GL_MAP2_TEXTURE_COORD_2           = $0DB4;
-  GL_MAP2_TEXTURE_COORD_3           = $0DB5;
-  GL_MAP2_TEXTURE_COORD_4           = $0DB6;
-  GL_MAP2_VERTEX_3                  = $0DB7;
-  GL_MAP2_VERTEX_4                  = $0DB8;
-  GL_MAP1_GRID_DOMAIN               = $0DD0;
-  GL_MAP1_GRID_SEGMENTS             = $0DD1;
-  GL_MAP2_GRID_DOMAIN               = $0DD2;
-  GL_MAP2_GRID_SEGMENTS             = $0DD3;
-  GL_TEXTURE_1D                     = $0DE0;
-  GL_TEXTURE_2D                     = $0DE1;
-  GL_FEEDBACK_BUFFER_POINTER        = $0DF0;
-  GL_FEEDBACK_BUFFER_SIZE           = $0DF1;
-  GL_FEEDBACK_BUFFER_TYPE           = $0DF2;
-  GL_SELECTION_BUFFER_POINTER       = $0DF3;
-  GL_SELECTION_BUFFER_SIZE          = $0DF4;
-  //      GL_TEXTURE_BINDING_1D
-  //      GL_TEXTURE_BINDING_2D
-  //      GL_VERTEX_ARRAY
-  //      GL_NORMAL_ARRAY
-  //      GL_COLOR_ARRAY
-  //      GL_INDEX_ARRAY
-  //      GL_TEXTURE_COORD_ARRAY
-  //      GL_EDGE_FLAG_ARRAY
-  //      GL_VERTEX_ARRAY_SIZE
-  //      GL_VERTEX_ARRAY_TYPE
-  //      GL_VERTEX_ARRAY_STRIDE
-  //      GL_NORMAL_ARRAY_TYPE
-  //      GL_NORMAL_ARRAY_STRIDE
-  //      GL_COLOR_ARRAY_SIZE
-  //      GL_COLOR_ARRAY_TYPE
-  //      GL_COLOR_ARRAY_STRIDE
-  //      GL_INDEX_ARRAY_TYPE
-  //      GL_INDEX_ARRAY_STRIDE
-  //      GL_TEXTURE_COORD_ARRAY_SIZE
-  //      GL_TEXTURE_COORD_ARRAY_TYPE
-  //      GL_TEXTURE_COORD_ARRAY_STRIDE
-  //      GL_EDGE_FLAG_ARRAY_STRIDE
-  //      GL_POLYGON_OFFSET_FACTOR
-  //      GL_POLYGON_OFFSET_UNITS
-
-  // GetTextureParameter
-  //      GL_TEXTURE_MAG_FILTER
-  //      GL_TEXTURE_MIN_FILTER
-  //      GL_TEXTURE_WRAP_S
-  //      GL_TEXTURE_WRAP_T
-  GL_TEXTURE_WIDTH                  = $1000;
-  GL_TEXTURE_HEIGHT                 = $1001;
-  GL_TEXTURE_INTERNAL_FORMAT        = $1003;
-  GL_TEXTURE_BORDER_COLOR           = $1004;
-  GL_TEXTURE_BORDER                 = $1005;
-  //      GL_TEXTURE_RED_SIZE
-  //      GL_TEXTURE_GREEN_SIZE
-  //      GL_TEXTURE_BLUE_SIZE
-  //      GL_TEXTURE_ALPHA_SIZE
-  //      GL_TEXTURE_LUMINANCE_SIZE
-  //      GL_TEXTURE_INTENSITY_SIZE
-  //      GL_TEXTURE_PRIORITY
-  //      GL_TEXTURE_RESIDENT
-
-  // HintMode
-  GL_DONT_CARE                      = $1100;
-  GL_FASTEST                        = $1101;
-  GL_NICEST                         = $1102;
-
-  // HintTarget
-  //      GL_PERSPECTIVE_CORRECTION_HINT
-  //      GL_POINT_SMOOTH_HINT
-  //      GL_LINE_SMOOTH_HINT
-  //      GL_POLYGON_SMOOTH_HINT
-  //      GL_FOG_HINT
-
-  // IndexPointerType
-  //      GL_SHORT
-  //      GL_INT
-  //      GL_FLOAT
-  //      GL_DOUBLE
-
-  // LightModelParameter
-  //      GL_LIGHT_MODEL_AMBIENT
-  //      GL_LIGHT_MODEL_LOCAL_VIEWER
-  //      GL_LIGHT_MODEL_TWO_SIDE
-
-  // LightName
-  GL_LIGHT0                         = $4000;
-  GL_LIGHT1                         = $4001;
-  GL_LIGHT2                         = $4002;
-  GL_LIGHT3                         = $4003;
-  GL_LIGHT4                         = $4004;
-  GL_LIGHT5                         = $4005;
-  GL_LIGHT6                         = $4006;
-  GL_LIGHT7                         = $4007;
-
-  // LightParameter
-  GL_AMBIENT                        = $1200;
-  GL_DIFFUSE                        = $1201;
-  GL_SPECULAR                       = $1202;
-  GL_POSITION                       = $1203;
-  GL_SPOT_DIRECTION                 = $1204;
-  GL_SPOT_EXPONENT                  = $1205;
-  GL_SPOT_CUTOFF                    = $1206;
-  GL_CONSTANT_ATTENUATION           = $1207;
-  GL_LINEAR_ATTENUATION             = $1208;
-  GL_QUADRATIC_ATTENUATION          = $1209;
-
-  // InterleavedArrays
-  //      GL_V2F
-  //      GL_V3F
-  //      GL_C4UB_V2F
-  //      GL_C4UB_V3F
-  //      GL_C3F_V3F
-  //      GL_N3F_V3F
-  //      GL_C4F_N3F_V3F
-  //      GL_T2F_V3F
-  //      GL_T4F_V4F
-  //      GL_T2F_C4UB_V3F
-  //      GL_T2F_C3F_V3F
-  //      GL_T2F_N3F_V3F
-  //      GL_T2F_C4F_N3F_V3F
-  //      GL_T4F_C4F_N3F_V4F
-
-  // ListMode
-  GL_COMPILE                        = $1300;
-  GL_COMPILE_AND_EXECUTE            = $1301;
-
-  // ListNameType
-  //      GL_BYTE
-  //      GL_UNSIGNED_BYTE
-  //      GL_SHORT
-  //      GL_UNSIGNED_SHORT
-  //      GL_INT
-  //      GL_UNSIGNED_INT
-  //      GL_FLOAT
-  //      GL_2_BYTES
-  //      GL_3_BYTES
-  //      GL_4_BYTES
-
-  // LogicOp
-  GL_CLEAR                          = $1500;
-  GL_AND                            = $1501;
-  GL_AND_REVERSE                    = $1502;
-  GL_COPY                           = $1503;
-  GL_AND_INVERTED                   = $1504;
-  GL_NOOP                           = $1505;
-  GL_XOR                            = $1506;
-  GL_OR                             = $1507;
-  GL_NOR                            = $1508;
-  GL_EQUIV                          = $1509;
-  GL_INVERT                         = $150A;
-  GL_OR_REVERSE                     = $150B;
-  GL_COPY_INVERTED                  = $150C;
-  GL_OR_INVERTED                    = $150D;
-  GL_NAND                           = $150E;
-  GL_SET                            = $150F;
-
-  // MapTarget
-  //      GL_MAP1_COLOR_4
-  //      GL_MAP1_INDEX
-  //      GL_MAP1_NORMAL
-  //      GL_MAP1_TEXTURE_COORD_1
-  //      GL_MAP1_TEXTURE_COORD_2
-  //      GL_MAP1_TEXTURE_COORD_3
-  //      GL_MAP1_TEXTURE_COORD_4
-  //      GL_MAP1_VERTEX_3
-  //      GL_MAP1_VERTEX_4
-  //      GL_MAP2_COLOR_4
-  //      GL_MAP2_INDEX
-  //      GL_MAP2_NORMAL
-  //      GL_MAP2_TEXTURE_COORD_1
-  //      GL_MAP2_TEXTURE_COORD_2
-  //      GL_MAP2_TEXTURE_COORD_3
-  //      GL_MAP2_TEXTURE_COORD_4
-  //      GL_MAP2_VERTEX_3
-  //      GL_MAP2_VERTEX_4
-
-  // MaterialFace
-  //      GL_FRONT
-  //      GL_BACK
-  //      GL_FRONT_AND_BACK
-
-  // MaterialParameter
-  GL_EMISSION                       = $1600;
-  GL_SHININESS                      = $1601;
-  GL_AMBIENT_AND_DIFFUSE            = $1602;
-  GL_COLOR_INDEXES                  = $1603;
-  //      GL_AMBIENT
-  //      GL_DIFFUSE
-  //      GL_SPECULAR
-
-  // MatrixMode
-  GL_MODELVIEW                      = $1700;
-  GL_PROJECTION                     = $1701;
-  GL_TEXTURE                        = $1702;
-
-  // MeshMode1
-  //      GL_POINT
-  //      GL_LINE
-
-  // MeshMode2
-  //      GL_POINT
-  //      GL_LINE
-  //      GL_FILL
-
-  // NormalPointerType
-  //      GL_BYTE
-  //      GL_SHORT
-  //      GL_INT
-  //      GL_FLOAT
-  //      GL_DOUBLE
-
-  // PixelCopyType
-  GL_COLOR                          = $1800;
-  GL_DEPTH                          = $1801;
-  GL_STENCIL                        = $1802;
-
-  // PixelFormat
-  GL_COLOR_INDEX                    = $1900;
-  GL_STENCIL_INDEX                  = $1901;
-  GL_DEPTH_COMPONENT                = $1902;
-  GL_RED                            = $1903;
-  GL_GREEN                          = $1904;
-  GL_BLUE                           = $1905;
-  GL_ALPHA                          = $1906;
-  GL_RGB                            = $1907;
-  GL_RGBA                           = $1908;
-  GL_LUMINANCE                      = $1909;
-  GL_LUMINANCE_ALPHA                = $190A;
-
-  // PixelMap
-  //      GL_PIXEL_MAP_I_TO_I
-  //      GL_PIXEL_MAP_S_TO_S
-  //      GL_PIXEL_MAP_I_TO_R
-  //      GL_PIXEL_MAP_I_TO_G
-  //      GL_PIXEL_MAP_I_TO_B
-  //      GL_PIXEL_MAP_I_TO_A
-  //      GL_PIXEL_MAP_R_TO_R
-  //      GL_PIXEL_MAP_G_TO_G
-  //      GL_PIXEL_MAP_B_TO_B
-  //      GL_PIXEL_MAP_A_TO_A
-
-  // PixelStore
-  //      GL_UNPACK_SWAP_BYTES
-  //      GL_UNPACK_LSB_FIRST
-  //      GL_UNPACK_ROW_LENGTH
-  //      GL_UNPACK_SKIP_ROWS
-  //      GL_UNPACK_SKIP_PIXELS
-  //      GL_UNPACK_ALIGNMENT
-  //      GL_PACK_SWAP_BYTES
-  //      GL_PACK_LSB_FIRST
-  //      GL_PACK_ROW_LENGTH
-  //      GL_PACK_SKIP_ROWS
-  //      GL_PACK_SKIP_PIXELS
-  //      GL_PACK_ALIGNMENT
-
-  // PixelTransfer
-  //      GL_MAP_COLOR
-  //      GL_MAP_STENCIL
-  //      GL_INDEX_SHIFT
-  //      GL_INDEX_OFFSET
-  //      GL_RED_SCALE
-  //      GL_RED_BIAS
-  //      GL_GREEN_SCALE
-  //      GL_GREEN_BIAS
-  //      GL_BLUE_SCALE
-  //      GL_BLUE_BIAS
-  //      GL_ALPHA_SCALE
-  //      GL_ALPHA_BIAS
-  //      GL_DEPTH_SCALE
-  //      GL_DEPTH_BIAS
-
-  // PixelType
-  GL_BITMAP                         = $1A00;
-  //      GL_BYTE
-  //      GL_UNSIGNED_BYTE
-  //      GL_SHORT
-  //      GL_UNSIGNED_SHORT
-  //      GL_INT
-  //      GL_UNSIGNED_INT
-  //      GL_FLOAT
-
-  // PolygonMode
-  GL_POINT                          = $1B00;
-  GL_LINE                           = $1B01;
-  GL_FILL                           = $1B02;
-
-  // ReadBufferMode
-  //      GL_FRONT_LEFT
-  //      GL_FRONT_RIGHT
-  //      GL_BACK_LEFT
-  //      GL_BACK_RIGHT
-  //      GL_FRONT
-  //      GL_BACK
-  //      GL_LEFT
-  //      GL_RIGHT
-  //      GL_AUX0
-  //      GL_AUX1
-  //      GL_AUX2
-  //      GL_AUX3
-
-  // RenderingMode
-  GL_RENDER                         = $1C00;
-  GL_FEEDBACK                       = $1C01;
-  GL_SELECT                         = $1C02;
-
-  // ShadingModel
-  GL_FLAT                           = $1D00;
-  GL_SMOOTH                         = $1D01;
-
-  // StencilFunction
-  //      GL_NEVER
-  //      GL_LESS
-  //      GL_EQUAL
-  //      GL_LEQUAL
-  //      GL_GREATER
-  //      GL_NOTEQUAL
-  //      GL_GEQUAL
-  //      GL_ALWAYS
-
-  // StencilOp
-  //      GL_ZERO
-  GL_KEEP                           = $1E00;
-  GL_REPLACE                        = $1E01;
-  GL_INCR                           = $1E02;
-  GL_DECR                           = $1E03;
-  //      GL_INVERT
-
-  // StringName
-  GL_VENDOR                         = $1F00;
-  GL_RENDERER                       = $1F01;
-  GL_VERSION                        = $1F02;
-  GL_EXTENSIONS                     = $1F03;
-
-  // TextureCoordName
-  GL_S                              = $2000;
-  GL_T                              = $2001;
-  GL_R                              = $2002;
-  GL_Q                              = $2003;
-
-  // TexCoordPointerType
-  //      GL_SHORT
-  //      GL_INT
-  //      GL_FLOAT
-  //      GL_DOUBLE
-
-  // TextureEnvMode
-  GL_MODULATE                       = $2100;
-  GL_DECAL                          = $2101;
-  //      GL_BLEND
-  //      GL_REPLACE
-
-  // TextureEnvParameter
-  GL_TEXTURE_ENV_MODE               = $2200;
-  GL_TEXTURE_ENV_COLOR              = $2201;
-
-  // TextureEnvTarget
-  GL_TEXTURE_ENV                    = $2300;
-
-  // TextureGenMode
-  GL_EYE_LINEAR                     = $2400;
-  GL_OBJECT_LINEAR                  = $2401;
-  GL_SPHERE_MAP                     = $2402;
-
-  // TextureGenParameter
-  GL_TEXTURE_GEN_MODE               = $2500;
-  GL_OBJECT_PLANE                   = $2501;
-  GL_EYE_PLANE                      = $2502;
-
-  // TextureMagFilter
-  GL_NEAREST                        = $2600;
-  GL_LINEAR                         = $2601;
-
-  // TextureMinFilter
-  //      GL_NEAREST
-  //      GL_LINEAR
-  GL_NEAREST_MIPMAP_NEAREST         = $2700;
-  GL_LINEAR_MIPMAP_NEAREST          = $2701;
-  GL_NEAREST_MIPMAP_LINEAR          = $2702;
-  GL_LINEAR_MIPMAP_LINEAR           = $2703;
-
-  // TextureParameterName
-  GL_TEXTURE_MAG_FILTER             = $2800;
-  GL_TEXTURE_MIN_FILTER             = $2801;
-  GL_TEXTURE_WRAP_S                 = $2802;
-  GL_TEXTURE_WRAP_T                 = $2803;
-  //      GL_TEXTURE_BORDER_COLOR
-  //      GL_TEXTURE_PRIORITY
-
-  // TextureTarget
-  //      GL_TEXTURE_1D
-  //      GL_TEXTURE_2D
-  //      GL_PROXY_TEXTURE_1D
-  //      GL_PROXY_TEXTURE_2D
-
-  // TextureWrapMode
-  GL_CLAMP                          = $2900;
-  GL_REPEAT                         = $2901;
-
-  // VertexPointerType
-  //      GL_SHORT
-  //      GL_INT
-  //      GL_FLOAT
-  //      GL_DOUBLE
-
-  // ClientAttribMask
-  GL_CLIENT_PIXEL_STORE_BIT         = $00000001;
-  GL_CLIENT_VERTEX_ARRAY_BIT        = $00000002;
-  GL_CLIENT_ALL_ATTRIB_BITS         = $FFFFFFFF;
-
-  // polygon_offset
-  GL_POLYGON_OFFSET_FACTOR          = $8038;
-  GL_POLYGON_OFFSET_UNITS           = $2A00;
-  GL_POLYGON_OFFSET_POINT           = $2A01;
-  GL_POLYGON_OFFSET_LINE            = $2A02;
-  GL_POLYGON_OFFSET_FILL            = $8037;
-
-  // texture
-  GL_ALPHA4                         = $803B;
-  GL_ALPHA8                         = $803C;
-  GL_ALPHA12                        = $803D;
-  GL_ALPHA16                        = $803E;
-  GL_LUMINANCE4                     = $803F;
-  GL_LUMINANCE8                     = $8040;
-  GL_LUMINANCE12                    = $8041;
-  GL_LUMINANCE16                    = $8042;
-  GL_LUMINANCE4_ALPHA4              = $8043;
-  GL_LUMINANCE6_ALPHA2              = $8044;
-  GL_LUMINANCE8_ALPHA8              = $8045;
-  GL_LUMINANCE12_ALPHA4             = $8046;
-  GL_LUMINANCE12_ALPHA12            = $8047;
-  GL_LUMINANCE16_ALPHA16            = $8048;
-  GL_INTENSITY                      = $8049;
-  GL_INTENSITY4                     = $804A;
-  GL_INTENSITY8                     = $804B;
-  GL_INTENSITY12                    = $804C;
-  GL_INTENSITY16                    = $804D;
-  GL_R3_G3_B2                       = $2A10;
-  GL_RGB4                           = $804F;
-  GL_RGB5                           = $8050;
-  GL_RGB8                           = $8051;
-  GL_RGB10                          = $8052;
-  GL_RGB12                          = $8053;
-  GL_RGB16                          = $8054;
-  GL_RGBA2                          = $8055;
-  GL_RGBA4                          = $8056;
-  GL_RGB5_A1                        = $8057;
-  GL_RGBA8                          = $8058;
-  GL_RGB10_A2                       = $8059;
-  GL_RGBA12                         = $805A;
-  GL_RGBA16                         = $805B;
-  GL_TEXTURE_RED_SIZE               = $805C;
-  GL_TEXTURE_GREEN_SIZE             = $805D;
-  GL_TEXTURE_BLUE_SIZE              = $805E;
-  GL_TEXTURE_ALPHA_SIZE             = $805F;
-  GL_TEXTURE_LUMINANCE_SIZE         = $8060;
-  GL_TEXTURE_INTENSITY_SIZE         = $8061;
-  GL_PROXY_TEXTURE_1D               = $8063;
-  GL_PROXY_TEXTURE_2D               = $8064;
-
-  // texture_object
-  GL_TEXTURE_PRIORITY               = $8066;
-  GL_TEXTURE_RESIDENT               = $8067;
-  GL_TEXTURE_BINDING_1D             = $8068;
-  GL_TEXTURE_BINDING_2D             = $8069;
-
-  // vertex_array
-  GL_VERTEX_ARRAY                   = $8074;
-  GL_NORMAL_ARRAY                   = $8075;
-  GL_COLOR_ARRAY                    = $8076;
-  GL_INDEX_ARRAY                    = $8077;
-  GL_TEXTURE_COORD_ARRAY            = $8078;
-  GL_EDGE_FLAG_ARRAY                = $8079;
-  GL_VERTEX_ARRAY_SIZE              = $807A;
-  GL_VERTEX_ARRAY_TYPE              = $807B;
-  GL_VERTEX_ARRAY_STRIDE            = $807C;
-  GL_NORMAL_ARRAY_TYPE              = $807E;
-  GL_NORMAL_ARRAY_STRIDE            = $807F;
-  GL_COLOR_ARRAY_SIZE               = $8081;
-  GL_COLOR_ARRAY_TYPE               = $8082;
-  GL_COLOR_ARRAY_STRIDE             = $8083;
-  GL_INDEX_ARRAY_TYPE               = $8085;
-  GL_INDEX_ARRAY_STRIDE             = $8086;
-  GL_TEXTURE_COORD_ARRAY_SIZE       = $8088;
-  GL_TEXTURE_COORD_ARRAY_TYPE       = $8089;
-  GL_TEXTURE_COORD_ARRAY_STRIDE     = $808A;
-  GL_EDGE_FLAG_ARRAY_STRIDE         = $808C;
-  GL_VERTEX_ARRAY_POINTER           = $808E;
-  GL_NORMAL_ARRAY_POINTER           = $808F;
-  GL_COLOR_ARRAY_POINTER            = $8090;
-  GL_INDEX_ARRAY_POINTER            = $8091;
-  GL_TEXTURE_COORD_ARRAY_POINTER    = $8092;
-  GL_EDGE_FLAG_ARRAY_POINTER        = $8093;
-  GL_V2F                            = $2A20;
-  GL_V3F                            = $2A21;
-  GL_C4UB_V2F                       = $2A22;
-  GL_C4UB_V3F                       = $2A23;
-  GL_C3F_V3F                        = $2A24;
-  GL_N3F_V3F                        = $2A25;
-  GL_C4F_N3F_V3F                    = $2A26;
-  GL_T2F_V3F                        = $2A27;
-  GL_T4F_V4F                        = $2A28;
-  GL_T2F_C4UB_V3F                   = $2A29;
-  GL_T2F_C3F_V3F                    = $2A2A;
-  GL_T2F_N3F_V3F                    = $2A2B;
-  GL_T2F_C4F_N3F_V3F                = $2A2C;
-  GL_T4F_C4F_N3F_V4F                = $2A2D;
-
-  // Extensions
-  GL_EXT_vertex_array               = 1;
-  GL_WIN_swap_hint                  = 1;
-  GL_EXT_bgra                       = 1;
-  GL_EXT_paletted_texture           = 1;
-
-  // EXT_vertex_array
-  GL_VERTEX_ARRAY_EXT               = $8074;
-  GL_NORMAL_ARRAY_EXT               = $8075;
-  GL_COLOR_ARRAY_EXT                = $8076;
-  GL_INDEX_ARRAY_EXT                = $8077;
-  GL_TEXTURE_COORD_ARRAY_EXT        = $8078;
-  GL_EDGE_FLAG_ARRAY_EXT            = $8079;
-  GL_VERTEX_ARRAY_SIZE_EXT          = $807A;
-  GL_VERTEX_ARRAY_TYPE_EXT          = $807B;
-  GL_VERTEX_ARRAY_STRIDE_EXT        = $807C;
-  GL_VERTEX_ARRAY_COUNT_EXT         = $807D;
-  GL_NORMAL_ARRAY_TYPE_EXT          = $807E;
-  GL_NORMAL_ARRAY_STRIDE_EXT        = $807F;
-  GL_NORMAL_ARRAY_COUNT_EXT         = $8080;
-  GL_COLOR_ARRAY_SIZE_EXT           = $8081;
-  GL_COLOR_ARRAY_TYPE_EXT           = $8082;
-  GL_COLOR_ARRAY_STRIDE_EXT         = $8083;
-  GL_COLOR_ARRAY_COUNT_EXT          = $8084;
-  GL_INDEX_ARRAY_TYPE_EXT           = $8085;
-  GL_INDEX_ARRAY_STRIDE_EXT         = $8086;
-  GL_INDEX_ARRAY_COUNT_EXT          = $8087;
-  GL_TEXTURE_COORD_ARRAY_SIZE_EXT   = $8088;
-  GL_TEXTURE_COORD_ARRAY_TYPE_EXT   = $8089;
-  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
-  GL_TEXTURE_COORD_ARRAY_COUNT_EXT  = $808B;
-  GL_EDGE_FLAG_ARRAY_STRIDE_EXT     = $808C;
-  GL_EDGE_FLAG_ARRAY_COUNT_EXT      = $808D;
-  GL_VERTEX_ARRAY_POINTER_EXT       = $808E;
-  GL_NORMAL_ARRAY_POINTER_EXT       = $808F;
-  GL_COLOR_ARRAY_POINTER_EXT        = $8090;
-  GL_INDEX_ARRAY_POINTER_EXT        = $8091;
-  GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
-  GL_EDGE_FLAG_ARRAY_POINTER_EXT    = $8093;
-  GL_DOUBLE_EXT                     = GL_DOUBLE;
-
-  // EXT_bgra
-  GL_BGR_EXT                        = $80E0;
-  GL_BGRA_EXT                       = $80E1;
-
-  // EXT_paletted_texture
-
-  // These must match the GL_COLOR_TABLE_*_SGI enumerants
-  GL_COLOR_TABLE_FORMAT_EXT         = $80D8;
-  GL_COLOR_TABLE_WIDTH_EXT          = $80D9;
-  GL_COLOR_TABLE_RED_SIZE_EXT       = $80DA;
-  GL_COLOR_TABLE_GREEN_SIZE_EXT     = $80DB;
-  GL_COLOR_TABLE_BLUE_SIZE_EXT      = $80DC;
-  GL_COLOR_TABLE_ALPHA_SIZE_EXT     = $80DD;
-  GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
-  GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
-
-  GL_COLOR_INDEX1_EXT               = $80E2;
-  GL_COLOR_INDEX2_EXT               = $80E3;
-  GL_COLOR_INDEX4_EXT               = $80E4;
-  GL_COLOR_INDEX8_EXT               = $80E5;
-  GL_COLOR_INDEX12_EXT              = $80E6;
-  GL_COLOR_INDEX16_EXT              = $80E7;
-
-  // For compatibility with OpenGL v1.0
-  GL_LOGIC_OP                       = GL_INDEX_LOGIC_OP;
-  GL_TEXTURE_COMPONENTS             = GL_TEXTURE_INTERNAL_FORMAT;
-
-{******************************************************************************}
-
-procedure glAccum(op: GLenum; value: GLfloat); external dllname;
-procedure glAlphaFunc(func: GLenum; ref: GLclampf); external dllname;
-function glAreTexturesResident (n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; external dllname;
-procedure glArrayElement(i: GLint); external dllname;
-procedure glBegin(mode: GLenum); external dllname;
-procedure glBindTexture(target: GLenum; texture: GLuint); external dllname;
-procedure glBitmap (width, height: GLsizei; xorig, yorig: GLfloat; xmove, ymove: GLfloat; const bitmap: PGLubyte); external dllname;
-procedure glBlendFunc(sfactor, dfactor: GLenum); external dllname;
-procedure glCallList(list: GLuint); external dllname;
-procedure glCallLists(n: GLsizei; atype: GLenum; const lists: Pointer); external dllname;
-procedure glClear(mask: GLbitfield); external dllname;
-procedure glClearAccum(red, green, blue, alpha: GLfloat); external dllname;
-procedure glClearColor(red, green, blue, alpha: GLclampf); external dllname;
-procedure glClearDepth(depth: GLclampd); external dllname;
-procedure glClearIndex(c: GLfloat); external dllname;
-procedure glClearStencil(s: GLint); external dllname;
-procedure glClipPlane(plane: GLenum; const equation: PGLdouble); external dllname;
-procedure glColor3b(red, green, blue: GLbyte); external dllname;
-procedure glColor3bv(const v: PGLbyte); external dllname;
-procedure glColor3d(red, green, blue: GLdouble); external dllname;
-procedure glColor3dv(const v: PGLdouble); external dllname;
-procedure glColor3f(red, green, blue: GLfloat); external dllname;
-procedure glColor3fv(const v: PGLfloat); external dllname;
-procedure glColor3i(red, green, blue: GLint); external dllname;
-procedure glColor3iv(const v: PGLint); external dllname;
-procedure glColor3s(red, green, blue: GLshort); external dllname;
-procedure glColor3sv(const v: PGLshort); external dllname;
-procedure glColor3ub(red, green, blue: GLubyte); external dllname;
-procedure glColor3ubv(const v: PGLubyte); external dllname;
-procedure glColor3ui(red, green, blue: GLuint); external dllname;
-procedure glColor3uiv(const v: PGLuint); external dllname;
-procedure glColor3us(red, green, blue: GLushort); external dllname;
-procedure glColor3usv(const v: PGLushort); external dllname;
-procedure glColor4b(red, green, blue, alpha: GLbyte); external dllname;
-procedure glColor4bv(const v: PGLbyte); external dllname;
-procedure glColor4d(red, green, blue, alpha: GLdouble); external dllname;
-procedure glColor4dv(const v: PGLdouble); external dllname;
-procedure glColor4f(red, green, blue, alpha: GLfloat); external dllname;
-procedure glColor4fv(const v: PGLfloat); external dllname;
-procedure glColor4i(red, green, blue, alpha: GLint); external dllname;
-procedure glColor4iv(const v: PGLint); external dllname;
-procedure glColor4s(red, green, blue, alpha: GLshort); external dllname;
-procedure glColor4sv(const v: PGLshort); external dllname;
-procedure glColor4ub(red, green, blue, alpha: GLubyte); external dllname;
-procedure glColor4ubv(const v: PGLubyte); external dllname;
-procedure glColor4ui(red, green, blue, alpha: GLuint); external dllname;
-procedure glColor4uiv(const v: PGLuint); external dllname;
-procedure glColor4us(red, green, blue, alpha: GLushort); external dllname;
-procedure glColor4usv(const v: PGLushort); external dllname;
-procedure glColorMask(red, green, blue, alpha: GLboolean); external dllname;
-procedure glColorMaterial(face, mode: GLenum); external dllname;
-procedure glColorPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); external dllname;
-procedure glCopyPixels(x, y: GLint; width, height: GLsizei; atype: GLenum); external dllname;
-procedure glCopyTexImage1D (target: GLenum; level: GLint; internalFormat: GLenum; x, y: GLint; width: GLsizei; border: GLint); external dllname;
-procedure glCopyTexImage2D(target: GLenum; level: GLint; internalFormat: GLenum; x, y: GLint; width, height: GLsizei; border: GLint); external dllname;
-procedure glCopyTexSubImage1D(target: GLenum; level, xoffset, x, y: GLint; width: GLsizei); external dllname;
-procedure glCopyTexSubImage2D(target: GLenum; level, xoffset, yoffset, x, y: GLint; width, height: GLsizei); external dllname;
-procedure glCullFace(mode: GLenum); external dllname;
-procedure glDeleteLists(list: GLuint; range: GLsizei); external dllname;
-procedure glDeleteTextures(n: GLsizei; const textures: PGLuint); external dllname;
-procedure glDepthFunc(func: GLenum); external dllname;
-procedure glDepthMask(flag: GLboolean); external dllname;
-procedure glDepthRange(zNear, zFar: GLclampd); external dllname;
-procedure glDisable(cap: GLenum); external dllname;
-procedure glDisableClientState(aarray: GLenum); external dllname;
-procedure glDrawArrays(mode: GLenum; first: GLint; count: GLsizei); external dllname;
-procedure glDrawBuffer(mode: GLenum); external dllname;
-procedure glDrawElements(mode: GLenum; count: GLsizei; atype: GLenum; const indices: Pointer); external dllname;
-procedure glDrawPixels(width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); external dllname;
-procedure glEdgeFlag(flag: GLboolean); external dllname;
-procedure glEdgeFlagPointer(stride: GLsizei; const pointer: Pointer); external dllname;
-procedure glEdgeFlagv(const flag: PGLboolean); external dllname;
-procedure glEnable(cap: GLenum); external dllname;
-procedure glEnableClientState(aarray: GLenum); external dllname;
-procedure glEnd; external dllname;
-procedure glEndList; external dllname;
-procedure glEvalCoord1d(u: GLdouble); external dllname;
-procedure glEvalCoord1dv(const u: PGLdouble); external dllname;
-procedure glEvalCoord1f(u: GLfloat); external dllname;
-procedure glEvalCoord1fv(const u: PGLfloat); external dllname;
-procedure glEvalCoord2d(u, v: GLdouble); external dllname;
-procedure glEvalCoord2dv(const u: PGLdouble); external dllname;
-procedure glEvalCoord2f(u, v: GLfloat); external dllname;
-procedure glEvalCoord2fv(const u: PGLfloat); external dllname;
-procedure glEvalMesh1(mode: GLenum; i1, i2: GLint); external dllname;
-procedure glEvalMesh2(mode: GLenum; i1, i2, j1, j2: GLint); external dllname;
-procedure glEvalPoint1(i: GLint); external dllname;
-procedure glEvalPoint2(i, j: GLint); external dllname;
-procedure glFeedbackBuffer(size: GLsizei; atype: GLenum; buffer: PGLfloat); external dllname;
-procedure glFinish; external dllname;
-procedure glFlush; external dllname;
-procedure glFogf(pname: GLenum; param: GLfloat); external dllname;
-procedure glFogfv(pname: GLenum; const params: PGLfloat); external dllname;
-procedure glFogi(pname: GLenum; param: GLint); external dllname;
-procedure glFogiv(pname: GLenum; const params: PGLint); external dllname;
-procedure glFrontFace(mode: GLenum); external dllname;
-procedure glFrustum(left, right, bottom, top, zNear, zFar: GLdouble); external dllname;
-function glGenLists(range: GLsizei): GLuint; external dllname;
-procedure glGenTextures(n: GLsizei; textures: PGLuint); external dllname;
-procedure glGetBooleanv(pname: GLenum; params: PGLboolean); external dllname;
-procedure glGetClipPlane(plane: GLenum; equation: PGLdouble); external dllname;
-procedure glGetDoublev(pname: GLenum; params: PGLdouble); external dllname;
-function glGetError: GLenum; external dllname;
-procedure glGetFloatv(pname: GLenum; params: PGLfloat); external dllname;
-procedure glGetIntegerv(pname: GLenum; params: PGLint); external dllname;
-procedure glGetLightfv(light, pname: GLenum; params: PGLfloat); external dllname;
-procedure glGetLightiv(light, pname: GLenum; params: PGLint); external dllname;
-procedure glGetMapdv(target, query: GLenum; v: PGLdouble); external dllname;
-procedure glGetMapfv(target, query: GLenum; v: PGLfloat); external dllname;
-procedure glGetMapiv(target, query: GLenum; v: PGLint); external dllname;
-procedure glGetMaterialfv(face, pname: GLenum; params: PGLfloat); external dllname;
-procedure glGetMaterialiv(face, pname: GLenum; params: PGLint); external dllname;
-procedure glGetPixelMapfv(map: GLenum; values: PGLfloat); external dllname;
-procedure glGetPixelMapuiv(map: GLenum; values: PGLuint); external dllname;
-procedure glGetPixelMapusv(map: GLenum; values: PGLushort); external dllname;
-procedure glGetPointerv(pname: GLenum; params: Pointer); external dllname;
-procedure glGetPolygonStipple(mask: PGLubyte); external dllname;
-function glGetString(name: GLenum): PChar; external dllname;
-procedure glGetTexEnvfv(target, pname: GLenum; params: PGLfloat); external dllname;
-procedure glGetTexEnviv(target, pname: GLenum; params: PGLint); external dllname;
-procedure glGetTexGendv(coord, pname: GLenum; params: PGLdouble); external dllname;
-procedure glGetTexGenfv(coord, pname: GLenum; params: PGLfloat); external dllname;
-procedure glGetTexGeniv(coord, pname: GLenum; params: PGLint); external dllname;
-procedure glGetTexImage(target: GLenum; level: GLint; format: GLenum; atype: GLenum; pixels: Pointer); external dllname;
-procedure glGetTexLevelParameterfv(target: GLenum; level: GLint; pname: GLenum; params: Pointer); external dllname;
-procedure glGetTexLevelParameteriv(target: GLenum; level: GLint; pname: GLenum; params: PGLint); external dllname;
-procedure glGetTexParameterfv(target, pname: GLenum; params: PGLfloat); external dllname;
-procedure glGetTexParameteriv(target, pname: GLenum; params: PGLint); external dllname;
-procedure glHint(target, mode: GLenum); external dllname;
-procedure glIndexMask(mask: GLuint); external dllname;
-procedure glIndexPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); external dllname;
-procedure glIndexd(c: GLdouble); external dllname;
-procedure glIndexdv(const c: PGLdouble); external dllname;
-procedure glIndexf(c: GLfloat); external dllname;
-procedure glIndexfv(const c: PGLfloat); external dllname;
-procedure glIndexi(c: GLint); external dllname;
-procedure glIndexiv(const c: PGLint); external dllname;
-procedure glIndexs(c: GLshort); external dllname;
-procedure glIndexsv(const c: PGLshort); external dllname;
-procedure glIndexub(c: GLubyte); external dllname;
-procedure glIndexubv(const c: PGLubyte); external dllname;
-procedure glInitNames; external dllname;
-procedure glInterleavedArrays(format: GLenum; stride: GLsizei; const pointer: Pointer); external dllname;
-function glIsEnabled(cap: GLenum): GLboolean; external dllname;
-function glIsList(list: GLuint): GLboolean; external dllname;
-function glIsTexture(texture: GLuint): GLboolean; external dllname;
-procedure glLightModelf(pname: GLenum; param: GLfloat); external dllname;
-procedure glLightModelfv(pname: GLenum; const params: PGLfloat); external dllname;
-procedure glLightModeli(pname: GLenum; param: GLint); external dllname;
-procedure glLightModeliv(pname: GLenum; const params: PGLint); external dllname;
-procedure glLightf(light, pname: GLenum; param: GLfloat); external dllname;
-procedure glLightfv(light, pname: GLenum; const params: PGLfloat); external dllname;
-procedure glLighti(light, pname: GLenum; param: GLint); external dllname;
-procedure glLightiv(light, pname: GLenum; const params: PGLint); external dllname;
-procedure glLineStipple(factor: GLint; pattern: GLushort); external dllname;
-procedure glLineWidth(width: GLfloat); external dllname;
-procedure glListBase(base: GLuint); external dllname;
-procedure glLoadIdentity; external dllname;
-procedure glLoadMatrixd(const m: PGLdouble); external dllname;
-procedure glLoadMatrixf(const m: PGLfloat); external dllname;
-procedure glLoadName(name: GLuint); external dllname;
-procedure glLogicOp(opcode: GLenum); external dllname;
-procedure glMap1d(target: GLenum; u1, u2: GLdouble; stride, order: GLint; const points: PGLdouble); external dllname;
-procedure glMap1f(target: GLenum; u1, u2: GLfloat; stride, order: GLint; const points: PGLfloat); external dllname;
-procedure glMap2d(target: GLenum; u1, u2: GLdouble; ustride, uorder: GLint; v1, v2: GLdouble; vstride, vorder: GLint; const points: PGLdouble); external dllname;
-procedure glMap2f(target: GLenum; u1, u2: GLfloat; ustride, uorder: GLint; v1, v2: GLfloat; vstride, vorder: GLint; const points: PGLfloat); external dllname;
-procedure glMapGrid1d(un: GLint; u1, u2: GLdouble); external dllname;
-procedure glMapGrid1f(un: GLint; u1, u2: GLfloat); external dllname;
-procedure glMapGrid2d(un: GLint; u1, u2: GLdouble; vn: GLint; v1, v2: GLdouble); external dllname;
-procedure glMapGrid2f(un: GLint; u1, u2: GLfloat; vn: GLint; v1, v2: GLfloat); external dllname;
-procedure glMaterialf(face, pname: GLenum; param: GLfloat); external dllname;
-procedure glMaterialfv(face, pname: GLenum; const params: PGLfloat); external dllname;
-procedure glMateriali(face, pname: GLenum; param: GLint); external dllname;
-procedure glMaterialiv(face, pname: GLenum; const params: PGLint); external dllname;
-procedure glMatrixMode(mode: GLenum); external dllname;
-procedure glMultMatrixd(const m: PGLdouble); external dllname;
-procedure glMultMatrixf(const m: PGLfloat); external dllname;
-procedure glNewList(list: GLuint; mode: GLenum); external dllname;
-procedure glNormal3b(nx, ny, nz: GLbyte); external dllname;
-procedure glNormal3bv(const v: PGLbyte); external dllname;
-procedure glNormal3d(nx, ny, nz: GLdouble); external dllname;
-procedure glNormal3dv(const v: PGLdouble); external dllname;
-procedure glNormal3f(nx, ny, nz: GLfloat); external dllname;
-procedure glNormal3fv(const v: PGLfloat); external dllname;
-procedure glNormal3i(nx, ny, nz: GLint); external dllname;
-procedure glNormal3iv(const v: PGLint); external dllname;
-procedure glNormal3s(nx, ny, nz: GLshort); external dllname;
-procedure glNormal3sv(const v: PGLshort); external dllname;
-procedure glNormalPointer(atype: GLenum; stride: GLsizei; const pointer: Pointer); external dllname;
-procedure glOrtho(left, right, bottom, top, zNear, zFar: GLdouble); external dllname;
-procedure glPassThrough(token: GLfloat); external dllname;
-procedure glPixelMapfv(map: GLenum; mapsize: GLsizei; const values: PGLfloat); external dllname;
-procedure glPixelMapuiv(map: GLenum; mapsize: GLsizei; const values: PGLuint); external dllname;
-procedure glPixelMapusv(map: GLenum; mapsize: GLsizei; const values: PGLushort); external dllname;
-procedure glPixelStoref(pname: GLenum; param: GLfloat); external dllname;
-procedure glPixelStorei(pname: GLenum; param: GLint); external dllname;
-procedure glPixelTransferf(pname: GLenum; param: GLfloat); external dllname;
-procedure glPixelTransferi(pname: GLenum; param: GLint); external dllname;
-procedure glPixelZoom(xfactor, yfactor: GLfloat); external dllname;
-procedure glPointSize(size: GLfloat); external dllname;
-procedure glPolygonMode(face, mode: GLenum); external dllname;
-procedure glPolygonOffset(factor, units: GLfloat); external dllname;
-procedure glPolygonStipple(const mask: PGLubyte); external dllname;
-procedure glPopAttrib; external dllname;
-procedure glPopClientAttrib; external dllname;
-procedure glPopMatrix; external dllname;
-procedure glPopName; external dllname;
-procedure glPrioritizeTextures(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); external dllname;
-procedure glPushAttrib(mask: GLbitfield); external dllname;
-procedure glPushClientAttrib(mask: GLbitfield); external dllname;
-procedure glPushMatrix; external dllname;
-procedure glPushName(name: GLuint); external dllname;
-procedure glRasterPos2d(x, y: GLdouble); external dllname;
-procedure glRasterPos2dv(const v: PGLdouble); external dllname;
-procedure glRasterPos2f(x, y: GLfloat); external dllname;
-procedure glRasterPos2fv(const v: PGLfloat); external dllname;
-procedure glRasterPos2i(x, y: GLint); external dllname;
-procedure glRasterPos2iv(const v: PGLint); external dllname;
-procedure glRasterPos2s(x, y: GLshort); external dllname;
-procedure glRasterPos2sv(const v: PGLshort); external dllname;
-procedure glRasterPos3d(x, y, z: GLdouble); external dllname;
-procedure glRasterPos3dv(const v: PGLdouble); external dllname;
-procedure glRasterPos3f(x, y, z: GLfloat); external dllname;
-procedure glRasterPos3fv(const v: PGLfloat); external dllname;
-procedure glRasterPos3i(x, y, z: GLint); external dllname;
-procedure glRasterPos3iv(const v: PGLint); external dllname;
-procedure glRasterPos3s(x, y, z: GLshort); external dllname;
-procedure glRasterPos3sv(const v: PGLshort); external dllname;
-procedure glRasterPos4d(x, y, z, w: GLdouble); external dllname;
-procedure glRasterPos4dv(const v: PGLdouble); external dllname;
-procedure glRasterPos4f(x, y, z, w: GLfloat); external dllname;
-procedure glRasterPos4fv(const v: PGLfloat); external dllname;
-procedure glRasterPos4i(x, y, z, w: GLint); external dllname;
-procedure glRasterPos4iv(const v: PGLint); external dllname;
-procedure glRasterPos4s(x, y, z, w: GLshort); external dllname;
-procedure glRasterPos4sv(const v: PGLshort); external dllname;
-procedure glReadBuffer(mode: GLenum); external dllname;
-procedure glReadPixels(x, y: GLint; width, height: GLsizei; format, atype: GLenum; pixels: Pointer); external dllname;
-procedure glRectd(x1, y1, x2, y2: GLdouble); external dllname;
-procedure glRectdv(const v1: PGLdouble; const v2: PGLdouble); external dllname;
-procedure glRectf(x1, y1, x2, y2: GLfloat); external dllname;
-procedure glRectfv(const v1: PGLfloat; const v2: PGLfloat); external dllname;
-procedure glRecti(x1, y1, x2, y2: GLint); external dllname;
-procedure glRectiv(const v1: PGLint; const v2: PGLint); external dllname;
-procedure glRects(x1, y1, x2, y2: GLshort); external dllname;
-procedure glRectsv(const v1: PGLshort; const v2: PGLshort); external dllname;
-function glRenderMode(mode: GLint): GLint; external dllname;
-procedure glRotated(angle, x, y, z: GLdouble); external dllname;
-procedure glRotatef(angle, x, y, z: GLfloat); external dllname;
-procedure glScaled(x, y, z: GLdouble); external dllname;
-procedure glScalef(x, y, z: GLfloat); external dllname;
-procedure glScissor(x, y: GLint; width, height: GLsizei); external dllname;
-procedure glSelectBuffer(size: GLsizei; buffer: PGLuint); external dllname;
-procedure glShadeModel(mode: GLenum); external dllname;
-procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); external dllname;
-procedure glStencilMask(mask: GLuint); external dllname;
-procedure glStencilOp(fail, zfail, zpass: GLenum); external dllname;
-procedure glTexCoord1d(s: GLdouble); external dllname;
-procedure glTexCoord1dv(const v: PGLdouble); external dllname;
-procedure glTexCoord1f(s: GLfloat); external dllname;
-procedure glTexCoord1fv(const v: PGLfloat); external dllname;
-procedure glTexCoord1i(s: GLint); external dllname;
-procedure glTexCoord1iv(const v: PGLint); external dllname;
-procedure glTexCoord1s(s: GLshort); external dllname;
-procedure glTexCoord1sv(const v: PGLshort); external dllname;
-procedure glTexCoord2d(s, t: GLdouble); external dllname;
-procedure glTexCoord2dv(const v: PGLdouble); external dllname;
-procedure glTexCoord2f(s, t: GLfloat); external dllname;
-procedure glTexCoord2fv(const v: PGLfloat); external dllname;
-procedure glTexCoord2i(s, t: GLint); external dllname;
-procedure glTexCoord2iv(const v: PGLint); external dllname;
-procedure glTexCoord2s(s, t: GLshort); external dllname;
-procedure glTexCoord2sv(const v: PGLshort); external dllname;
-procedure glTexCoord3d(s, t, r: GLdouble); external dllname;
-procedure glTexCoord3dv(const v: PGLdouble); external dllname;
-procedure glTexCoord3f(s, t, r: GLfloat); external dllname;
-procedure glTexCoord3fv(const v: PGLfloat); external dllname;
-procedure glTexCoord3i(s, t, r: GLint); external dllname;
-procedure glTexCoord3iv(const v: PGLint); external dllname;
-procedure glTexCoord3s(s, t, r: GLshort); external dllname;
-procedure glTexCoord3sv(const v: PGLshort); external dllname;
-procedure glTexCoord4d(s, t, r, q: GLdouble); external dllname;
-procedure glTexCoord4dv(const v: PGLdouble); external dllname;
-procedure glTexCoord4f(s, t, r, q: GLfloat); external dllname;
-procedure glTexCoord4fv(const v: PGLfloat); external dllname;
-procedure glTexCoord4i(s, t, r, q: GLint); external dllname;
-procedure glTexCoord4iv(const v: PGLint); external dllname;
-procedure glTexCoord4s(s, t, r, q: GLshort); external dllname;
-procedure glTexCoord4sv(const v: PGLshort); external dllname;
-procedure glTexCoordPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); external dllname;
-procedure glTexEnvf(target: GLenum; pname: GLenum; param: GLfloat); external dllname;
-procedure glTexEnvfv(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-procedure glTexEnvi(target: GLenum; pname: GLenum; param: GLint); external dllname;
-procedure glTexEnviv(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-procedure glTexGend(coord: GLenum; pname: GLenum; param: GLdouble); external dllname;
-procedure glTexGendv(coord: GLenum; pname: GLenum; const params: PGLdouble); external dllname;
-procedure glTexGenf(coord: GLenum; pname: GLenum; param: GLfloat); external dllname;
-procedure glTexGenfv(coord: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-procedure glTexGeni(coord: GLenum; pname: GLenum; param: GLint); external dllname;
-procedure glTexGeniv(coord: GLenum; pname: GLenum; const params: PGLint); external dllname;
-procedure glTexImage1D(target: GLenum; level, internalformat: GLint; width: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer); external dllname;
-procedure glTexImage2D(target: GLenum; level, internalformat: GLint; width, height: GLsizei; border: GLint; format, atype: GLenum; const pixels: Pointer); external dllname;
-procedure glTexParameterf(target: GLenum; pname: GLenum; param: GLfloat); external dllname;
-procedure glTexParameterfv(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-procedure glTexParameteri(target: GLenum; pname: GLenum; param: GLint); external dllname;
-procedure glTexParameteriv(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-procedure glTexSubImage1D(target: GLenum; level, xoffset: GLint; width: GLsizei; format, atype: GLenum; const pixels: Pointer); external dllname;
-procedure glTexSubImage2D(target: GLenum; level, xoffset, yoffset: GLint; width, height: GLsizei; format, atype: GLenum; const pixels: Pointer); external dllname;
-procedure glTranslated(x, y, z: GLdouble); external dllname;
-procedure glTranslatef(x, y, z: GLfloat); external dllname;
-procedure glVertex2d(x, y: GLdouble); external dllname;
-procedure glVertex2dv(const v: PGLdouble); external dllname;
-procedure glVertex2f(x, y: GLfloat); external dllname;
-procedure glVertex2fv(const v: PGLfloat); external dllname;
-procedure glVertex2i(x, y: GLint); external dllname;
-procedure glVertex2iv(const v: PGLint); external dllname;
-procedure glVertex2s(x, y: GLshort); external dllname;
-procedure glVertex2sv(const v: PGLshort); external dllname;
-procedure glVertex3d(x, y, z: GLdouble); external dllname;
-procedure glVertex3dv(const v: PGLdouble); external dllname;
-procedure glVertex3f(x, y, z: GLfloat); external dllname;
-procedure glVertex3fv(const v: PGLfloat); external dllname;
-procedure glVertex3i(x, y, z: GLint); external dllname;
-procedure glVertex3iv(const v: PGLint); external dllname;
-procedure glVertex3s(x, y, z: GLshort); external dllname;
-procedure glVertex3sv(const v: PGLshort); external dllname;
-procedure glVertex4d(x, y, z, w: GLdouble); external dllname;
-procedure glVertex4dv(const v: PGLdouble); external dllname;
-procedure glVertex4f(x, y, z, w: GLfloat); external dllname;
-procedure glVertex4fv(const v: PGLfloat); external dllname;
-procedure glVertex4i(x, y, z, w: GLint); external dllname;
-procedure glVertex4iv(const v: PGLint); external dllname;
-procedure glVertex4s(x, y, z, w: GLshort); external dllname;
-procedure glVertex4sv(const v: PGLshort); external dllname;
-procedure glVertexPointer(size: GLint; atype: GLenum; stride: GLsizei; const pointer: Pointer); external dllname;
-procedure glViewport(x, y: GLint; width, height: GLsizei); external dllname;
-
-type
-  // EXT_vertex_array
-  PFNGLARRAYELEMENTEXTPROC = procedure(i: GLint); 
-  PFNGLDRAWARRAYSEXTPROC = procedure(mode: GLenum; first: GLint; count: GLsizei); 
-  PFNGLVERTEXPOINTEREXTPROC = procedure(size: GLint; atype: GLenum;
-                                        stride, count: GLsizei; const pointer: Pointer); 
-  PFNGLNORMALPOINTEREXTPROC = procedure(atype: GLenum; stride, count: GLsizei;
-                                        const pointer: Pointer); 
-  PFNGLCOLORPOINTEREXTPROC = procedure(size: GLint; atype: GLenum; stride, count: GLsizei;
-                                       const pointer: Pointer); 
-  PFNGLINDEXPOINTEREXTPROC = procedure(atype: GLenum; stride, count: GLsizei;
-                                       const pointer: Pointer); 
-  PFNGLTEXCOORDPOINTEREXTPROC = procedure(size: GLint; atype: GLenum;
-                                          stride, count: GLsizei; const pointer: Pointer); 
-  PFNGLEDGEFLAGPOINTEREXTPROC = procedure(stride, count: GLsizei;
-                                          const pointer: PGLboolean); 
-  PFNGLGETPOINTERVEXTPROC = procedure(pname: GLenum; params: Pointer); 
-  PFNGLARRAYELEMENTARRAYEXTPROC = procedure(mode: GLenum; count: GLsizei;
-                                            const pi: Pointer); 
-  // WIN_swap_hint
-  PFNGLADDSWAPHINTRECTWINPROC = procedure(x, y: GLint; width, height: GLsizei); 
-
-  // EXT_paletted_texture
-  PFNGLCOLORTABLEEXTPROC = procedure(target, internalFormat: GLenum; width: GLsizei;
-                                     format, atype: GLenum; const data: Pointer); 
-  PFNGLCOLORSUBTABLEEXTPROC = procedure(target: GLenum; start, count: GLsizei;
-                                        format, atype: GLenum; const data: Pointer); 
-  PFNGLGETCOLORTABLEEXTPROC = procedure(target, format, atype: GLenum; data: Pointer); 
-  PFNGLGETCOLORTABLEPARAMETERIVEXTPROC = procedure(target, pname: GLenum; params: PGLint);
-  PFNGLGETCOLORTABLEPARAMETERFVEXTPROC = procedure(target, pname: GLenum; params: PGLfloat);
-
-implementation
-
-end.
diff --git a/lib/base/opengl/glext.nim b/lib/base/opengl/glext.nim
deleted file mode 100644
index 0a2138584..000000000
--- a/lib/base/opengl/glext.nim
+++ /dev/null
@@ -1,4175 +0,0 @@
-#
-#
-#  Adaption of the delphi3d.net OpenGL units to FreePascal
-#  Sebastian Guenther (sg@freepascal.org) in 2002
-#  These units are free to use
-#
-#
-
-#*************************************************
-# *        OpenGL extension loading library        *
-# * Generated by MetaGLext, written by Tom Nuydens *
-# *  (tom@delphi3d.net -- http://www.delphi3d.net  *
-# *************************************************
-#*** Generated on 10/11/2002
-
-when defined(windows):
-  {.push callconv: stdcall.}
-else:
-  {.push callconv: cdecl.}
-
-import
-  gl
-
-type 
-  GLcharARB* = Char
-  TGLcharARB* = GLcharARB
-  PGLcharARB* = ptr GLcharARB
-  GLhandleARB* = int
-  TGLhandleARB* = GLhandleARB
-  PGLhandleARB* = ptr GLhandleARB
-  GLintptr* = int
-  TGLintptr* = GLintptr
-  PGLintptr* = ptr GLintptr
-  GLsizeiptr* = int
-  TGLsizeiptr* = GLsizeiptr
-  PGLsizeiptr* = ptr GLsizeiptr
-  GLchar* = Char
-  TGLchar* = GLchar
-  PGLchar* = cstring          #***** GL_version_1_2 *****//
-
-const 
-  GL_UNSIGNED_BYTE_3_3_2* = 0x00008032
-  GL_UNSIGNED_SHORT_4_4_4_4* = 0x00008033
-  GL_UNSIGNED_SHORT_5_5_5_1* = 0x00008034
-  GL_UNSIGNED_INT_8_8_8_8* = 0x00008035
-  GL_UNSIGNED_INT_10_10_10_2* = 0x00008036
-  GL_RESCALE_NORMAL* = 0x0000803A
-  GL_UNSIGNED_BYTE_2_3_3_REV* = 0x00008362
-  GL_UNSIGNED_SHORT_5_6_5* = 0x00008363
-  GL_UNSIGNED_SHORT_5_6_5_REV* = 0x00008364
-  GL_UNSIGNED_SHORT_4_4_4_4_REV* = 0x00008365
-  GL_UNSIGNED_SHORT_1_5_5_5_REV* = 0x00008366
-  GL_UNSIGNED_INT_8_8_8_8_REV* = 0x00008367
-  GL_UNSIGNED_INT_2_10_10_10_REV* = 0x00008368
-  GL_BGR* = 0x000080E0
-  GL_BGRA* = 0x000080E1
-  GL_MAX_ELEMENTS_VERTICES* = 0x000080E8
-  GL_MAX_ELEMENTS_INDICES* = 0x000080E9
-  GL_CLAMP_TO_EDGE* = 0x0000812F
-  GL_TEXTURE_MIN_LOD* = 0x0000813A
-  GL_TEXTURE_MAX_LOD* = 0x0000813B
-  GL_TEXTURE_BASE_LEVEL* = 0x0000813C
-  GL_TEXTURE_MAX_LEVEL* = 0x0000813D
-  GL_LIGHT_MODEL_COLOR_CONTROL* = 0x000081F8
-  GL_SINGLE_COLOR* = 0x000081F9
-  GL_SEPARATE_SPECULAR_COLOR* = 0x000081FA
-  GL_SMOOTH_POINT_SIZE_RANGE* = 0x00000B12
-  GL_SMOOTH_POINT_SIZE_GRANULARITY* = 0x00000B13
-  GL_SMOOTH_LINE_WIDTH_RANGE* = 0x00000B22
-  GL_SMOOTH_LINE_WIDTH_GRANULARITY* = 0x00000B23
-  GL_ALIASED_POINT_SIZE_RANGE* = 0x0000846D
-  GL_ALIASED_LINE_WIDTH_RANGE* = 0x0000846E
-  GL_PACK_SKIP_IMAGES* = 0x0000806B
-  GL_PACK_IMAGE_HEIGHT* = 0x0000806C
-  GL_UNPACK_SKIP_IMAGES* = 0x0000806D
-  GL_UNPACK_IMAGE_HEIGHT* = 0x0000806E
-  GL_TEXTURE_3D* = 0x0000806F
-  GL_PROXY_TEXTURE_3D* = 0x00008070
-  GL_TEXTURE_DEPTH* = 0x00008071
-  GL_TEXTURE_WRAP_R* = 0x00008072
-  GL_MAX_3D_TEXTURE_SIZE* = 0x00008073
-
-proc glBlendColor*(red: TGLclampf, green: TGLclampf, blue: TGLclampf, 
-                   alpha: TGLclampf){.dynlib: dllname, importc.}
-proc glBlendEquation*(mode: TGLenum){.dynlib: dllname, importc.}
-proc glDrawRangeElements*(mode: TGLenum, start: TGLuint, theend: TGLuint, 
-                          count: TGLsizei, thetype: TGLenum, indices: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glColorTable*(target: TGLenum, internalformat: TGLenum, width: TGLsizei, 
-                   format: TGLenum, thetype: TGLenum, table: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glColorTableParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glColorTableParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glCopyColorTable*(target: TGLenum, internalformat: TGLenum, x: TGLint, 
-                       y: TGLint, width: TGLsizei){.dynlib: dllname, importc.}
-proc glGetColorTable*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                      table: PGLvoid){.dynlib: dllname, importc.}
-proc glGetColorTableParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetColorTableParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glColorSubTable*(target: TGLenum, start: TGLsizei, count: TGLsizei, 
-                      format: TGLenum, thetype: TGLenum, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCopyColorSubTable*(target: TGLenum, start: TGLsizei, x: TGLint, y: TGLint, 
-                          width: TGLsizei){.dynlib: dllname, importc.}
-proc glConvolutionFilter1D*(target: TGLenum, internalformat: TGLenum, 
-                            width: TGLsizei, format: TGLenum, thetype: TGLenum, 
-                            image: PGLvoid){.dynlib: dllname, importc.}
-proc glConvolutionFilter2D*(target: TGLenum, internalformat: TGLenum, 
-                            width: TGLsizei, height: TGLsizei, format: TGLenum, 
-                            thetype: TGLenum, image: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glConvolutionParameterf*(target: TGLenum, pname: TGLenum, params: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameteri*(target: TGLenum, pname: TGLenum, params: TGLint){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glCopyConvolutionFilter1D*(target: TGLenum, internalformat: TGLenum, 
-                                x: TGLint, y: TGLint, width: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glCopyConvolutionFilter2D*(target: TGLenum, internalformat: TGLenum, 
-                                x: TGLint, y: TGLint, width: TGLsizei, 
-                                height: TGLsizei){.dynlib: dllname, importc.}
-proc glGetConvolutionFilter*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                             image: PGLvoid){.dynlib: dllname, importc.}
-proc glGetConvolutionParameterfv*(target: TGLenum, pname: TGLenum, 
-                                  params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetConvolutionParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetSeparableFilter*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                           row: PGLvoid, column: PGLvoid, span: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glSeparableFilter2D*(target: TGLenum, internalformat: TGLenum, 
-                          width: TGLsizei, height: TGLsizei, format: TGLenum, 
-                          thetype: TGLenum, row: PGLvoid, column: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetHistogram*(target: TGLenum, reset: TGLboolean, format: TGLenum, 
-                     thetype: TGLenum, values: PGLvoid){.dynlib: dllname, importc.}
-proc glGetHistogramParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetHistogramParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetMinmax*(target: TGLenum, reset: TGLboolean, format: TGLenum, 
-                  thetype: TGLenum, values: PGLvoid){.dynlib: dllname, importc.}
-proc glGetMinmaxParameterfv*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetMinmaxParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glHistogram*(target: TGLenum, width: TGLsizei, internalformat: TGLenum, 
-                  sink: TGLboolean){.dynlib: dllname, importc.}
-proc glMinmax*(target: TGLenum, internalformat: TGLenum, sink: TGLboolean){.
-    dynlib: dllname, importc.}
-proc glResetHistogram*(target: TGLenum){.dynlib: dllname, importc.}
-proc glResetMinmax*(target: TGLenum){.dynlib: dllname, importc.}
-proc glTexImage3D*(target: TGLenum, level: TGLint, internalformat: TGLint, 
-                   width: TGLsizei, height: TGLsizei, depth: TGLsizei, 
-                   border: TGLint, format: TGLenum, thetype: TGLenum, 
-                   pixels: PGLvoid){.dynlib: dllname, importc.}
-proc glTexSubImage3D*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                      yoffset: TGLint, zoffset: TGLint, width: TGLsizei, 
-                      height: TGLsizei, depth: TGLsizei, format: TGLenum, 
-                      thetype: TGLenum, pixels: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glCopyTexSubImage3D*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                          yoffset: TGLint, zoffset: TGLint, x: TGLint, y: TGLint, 
-                          width: TGLsizei, height: TGLsizei){.dynlib: dllname, 
-    importc.}
-
-
-proc glActiveTextureARB*(texture: TGLenum){.dynlib: dllname, importc.}
-proc glClientActiveTextureARB*(texture: TGLenum){.dynlib: dllname, importc.}
-proc glMultiTexCoord1dARB*(target: TGLenum, s: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord1dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord1fARB*(target: TGLenum, s: TGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord1fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord1iARB*(target: TGLenum, s: TGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord1ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord1sARB*(target: TGLenum, s: TGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord1svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord2dARB*(target: TGLenum, s: TGLdouble, t: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord2fARB*(target: TGLenum, s: TGLfloat, t: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord2iARB*(target: TGLenum, s: TGLint, t: TGLint){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord2ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord2sARB*(target: TGLenum, s: TGLshort, t: TGLshort){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord3dARB*(target: TGLenum, s: TGLdouble, t: TGLdouble, r: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord3fARB*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord3iARB*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord3sARB*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord4dARB*(target: TGLenum, s: TGLdouble, t: TGLdouble, 
-                           r: TGLdouble, q: TGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord4dvARB*(target: TGLenum, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord4fARB*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat, 
-                           q: TGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord4fvARB*(target: TGLenum, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord4iARB*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint, 
-                           q: TGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord4ivARB*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord4sARB*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort, 
-                           q: TGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord4svARB*(target: TGLenum, v: PGLshort){.dynlib: dllname, 
-    importc.}
-
-proc glSampleCoverageARB*(value: TGLclampf, invert: TGLboolean){.dynlib: dllname, 
-    importc.}
-  #***** GL_ARB_texture_env_add *****//
-
-
-proc glWeightbvARB*(size: TGLint, weights: PGLbyte){.dynlib: dllname, importc.}
-proc glWeightsvARB*(size: TGLint, weights: PGLshort){.dynlib: dllname, importc.}
-proc glWeightivARB*(size: TGLint, weights: PGLint){.dynlib: dllname, importc.}
-proc glWeightfvARB*(size: TGLint, weights: PGLfloat){.dynlib: dllname, importc.}
-proc glWeightdvARB*(size: TGLint, weights: PGLdouble){.dynlib: dllname, importc.}
-proc glWeightvARB*(size: TGLint, weights: PGLdouble){.dynlib: dllname, importc.}
-proc glWeightubvARB*(size: TGLint, weights: PGLubyte){.dynlib: dllname, importc.}
-proc glWeightusvARB*(size: TGLint, weights: PGLushort){.dynlib: dllname, importc.}
-proc glWeightuivARB*(size: TGLint, weights: PGLuint){.dynlib: dllname, importc.}
-proc glWeightPointerARB*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                         pointer: PGLvoid){.dynlib: dllname, importc.}
-proc glVertexBlendARB*(count: TGLint){.dynlib: dllname, importc.}
-
-
-
-proc glVertexAttrib1sARB*(index: TGLuint, x: TGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib1fARB*(index: TGLuint, x: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib1dARB*(index: TGLuint, x: TGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib2sARB*(index: TGLuint, x: TGLshort, y: TGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib2fARB*(index: TGLuint, x: TGLfloat, y: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib2dARB*(index: TGLuint, x: TGLdouble, y: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3sARB*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3fARB*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3dARB*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib4sARB*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort, 
-                          w: TGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4fARB*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat, 
-                          w: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib4dARB*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble, 
-                          w: TGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib4NubARB*(index: TGLuint, x: TGLubyte, y: TGLubyte, z: TGLubyte, 
-                            w: TGLubyte){.dynlib: dllname, importc.}
-proc glVertexAttrib1svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib1fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib1dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib2svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib2fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib2dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib3svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib3fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib3dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4bvARB*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4svARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4ivARB*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.}
-proc glVertexAttrib4ubvARB*(index: TGLuint, v: PGLubyte){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4usvARB*(index: TGLuint, v: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4uivARB*(index: TGLuint, v: PGLuint){.dynlib: dllname, importc.}
-proc glVertexAttrib4fvARB*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib4dvARB*(index: TGLuint, v: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4NbvARB*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4NsvARB*(index: TGLuint, v: PGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4NivARB*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.}
-proc glVertexAttrib4NubvARB*(index: TGLuint, v: PGLubyte){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4NusvARB*(index: TGLuint, v: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib4NuivARB*(index: TGLuint, v: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glVertexAttribPointerARB*(index: TGLuint, size: TGLint, thetype: TGLenum, 
-                               normalized: TGLboolean, stride: TGLsizei, 
-                               pointer: PGLvoid){.dynlib: dllname, importc.}
-proc glEnableVertexAttribArrayARB*(index: TGLuint){.dynlib: dllname, importc.}
-proc glDisableVertexAttribArrayARB*(index: TGLuint){.dynlib: dllname, importc.}
-proc glProgramStringARB*(target: TGLenum, format: TGLenum, length: TGLsizei, 
-                         str: PGLvoid){.dynlib: dllname, importc.}
-proc glBindProgramARB*(target: TGLenum, theProgram: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glDeleteProgramsARB*(n: TGLsizei, programs: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glGenProgramsARB*(n: TGLsizei, programs: PGLuint){.dynlib: dllname, importc.}
-proc glProgramEnvParameter4dARB*(target: TGLenum, index: TGLuint, x: TGLdouble, 
-                                 y: TGLdouble, z: TGLdouble, w: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glProgramEnvParameter4dvARB*(target: TGLenum, index: TGLuint, 
-                                  params: PGLdouble){.dynlib: dllname, importc.}
-proc glProgramEnvParameter4fARB*(target: TGLenum, index: TGLuint, x: TGLfloat, 
-                                 y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glProgramEnvParameter4fvARB*(target: TGLenum, index: TGLuint, 
-                                  params: PGLfloat){.dynlib: dllname, importc.}
-proc glProgramLocalParameter4dARB*(target: TGLenum, index: TGLuint, x: TGLdouble, 
-                                   y: TGLdouble, z: TGLdouble, w: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glProgramLocalParameter4dvARB*(target: TGLenum, index: TGLuint, 
-                                    params: PGLdouble){.dynlib: dllname, importc.}
-proc glProgramLocalParameter4fARB*(target: TGLenum, index: TGLuint, x: TGLfloat, 
-                                   y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glProgramLocalParameter4fvARB*(target: TGLenum, index: TGLuint, 
-                                    params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetProgramEnvParameterdvARB*(target: TGLenum, index: TGLuint, 
-                                    params: PGLdouble){.dynlib: dllname, importc.}
-proc glGetProgramEnvParameterfvARB*(target: TGLenum, index: TGLuint, 
-                                    params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetProgramLocalParameterdvARB*(target: TGLenum, index: TGLuint, 
-                                      params: PGLdouble){.dynlib: dllname, 
-    importc.}
-proc glGetProgramLocalParameterfvARB*(target: TGLenum, index: TGLuint, 
-                                      params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetProgramivARB*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetProgramStringARB*(target: TGLenum, pname: TGLenum, str: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribdvARB*(index: TGLuint, pname: TGLenum, params: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribfvARB*(index: TGLuint, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribivARB*(index: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribPointervARB*(index: TGLuint, pname: TGLenum, 
-                                   pointer: PGLvoid){.dynlib: dllname, importc.}
-proc glIsProgramARB*(theProgram: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-  #***** GL_ARB_window_pos *****//
-proc glWindowPos2dARB*(x: TGLdouble, y: TGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos2fARB*(x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos2iARB*(x: TGLint, y: TGLint){.dynlib: dllname, importc.}
-proc glWindowPos2sARB*(x: TGLshort, y: TGLshort){.dynlib: dllname, importc.}
-proc glWindowPos2dvARB*(p: PGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos2fvARB*(p: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos2ivARB*(p: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos2svARB*(p: PGLshort){.dynlib: dllname, importc.}
-proc glWindowPos3dARB*(x: TGLdouble, y: TGLdouble, z: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3fARB*(x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3iARB*(x: TGLint, y: TGLint, z: TGLint){.dynlib: dllname, importc.}
-proc glWindowPos3sARB*(x: TGLshort, y: TGLshort, z: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3dvARB*(p: PGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos3fvARB*(p: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos3ivARB*(p: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos3svARB*(p: PGLshort){.dynlib: dllname, importc.}
-
-
-
-proc glBlendEquationSeparate*(modeRGB: TGLenum, modeAlpha: TGLenum){.
-    dynlib: dllname, importc.}
-proc glDrawBuffers*(n: TGLsizei, bufs: PGLenum){.dynlib: dllname, importc.}
-proc glStencilOpSeparate*(face: TGLenum, sfail: TGLenum, dpfail: TGLenum, 
-                          dppass: TGLenum){.dynlib: dllname, importc.}
-proc glStencilFuncSeparate*(frontfunc: TGLenum, backfunc: TGLenum, theRef: TGLint, 
-                            mask: TGLuint){.dynlib: dllname, importc.}
-proc glStencilMaskSeparate*(face: TGLenum, mask: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glAttachShader*(theProgram: TGLuint, shader: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glBindAttribLocation*(theProgram: TGLuint, index: TGLuint, name: PGLchar){.
-    dynlib: dllname, importc.}
-proc glCompileShader*(shader: TGLuint){.dynlib: dllname, importc.}
-proc glCreateProgram*(): TGLuint{.dynlib: dllname, importc.}
-proc glCreateShader*(thetype: TGLenum): TGLuint{.dynlib: dllname, importc.}
-proc glDeleteProgram*(theProgram: TGLuint){.dynlib: dllname, importc.}
-proc glDeleteShader*(shader: TGLuint){.dynlib: dllname, importc.}
-proc glDetachShader*(theProgram: TGLuint, shader: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glDisableVertexAttribArray*(index: TGLuint){.dynlib: dllname, importc.}
-proc glEnableVertexAttribArray*(index: TGLuint){.dynlib: dllname, importc.}
-proc glGetActiveAttrib*(theProgram: TGLuint, index: TGLuint, bufSize: TGLsizei, 
-                        len: PGLsizei, size: PGLint, thetype: PGLenum, 
-                        name: PGLchar){.dynlib: dllname, importc.}
-proc glGetActiveUniform*(theProgram: TGLuint, index: TGLuint, bufSize: TGLsizei, 
-                         len: PGLsizei, size: PGLint, thetype: PGLenum, 
-                         name: PGLchar){.dynlib: dllname, importc.}
-proc glGetAttachedShaders*(theProgram: TGLuint, maxCount: TGLsizei, 
-                           count: PGLsizei, obj: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glGetAttribLocation*(theProgram: TGLuint, name: PGLchar): TGLint{.
-    dynlib: dllname, importc.}
-proc glGetProgramiv*(theProgram: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetProgramInfoLog*(theProgram: TGLuint, bufSize: TGLsizei, len: PGLsizei, 
-                          infoLog: PGLchar){.dynlib: dllname, importc.}
-proc glGetShaderiv*(shader: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetShaderInfoLog*(shader: TGLuint, bufSize: TGLsizei, len: PGLsizei, 
-                         infoLog: PGLchar){.dynlib: dllname, importc.}
-proc glGetShaderSource*(shader: TGLuint, bufSize: TGLsizei, len: PGLsizei, 
-                        source: PGLchar){.dynlib: dllname, importc.}
-proc glGetUniformLocation*(theProgram: TGLuint, name: PGLchar): TGLint{.
-    dynlib: dllname, importc.}
-proc glGetUniformfv*(theProgram: TGLuint, location: TGLint, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetUniformiv*(theProgram: TGLuint, location: TGLint, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribdv*(index: TGLuint, pname: TGLenum, params: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribfv*(index: TGLuint, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribiv*(index: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribPointerv*(index: TGLuint, pname: TGLenum, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glIsProgram*(theProgram: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glIsShader*(shader: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glLinkProgram*(theProgram: TGLuint){.dynlib: dllname, importc.}
-proc glShaderSource*(shader: TGLuint, count: TGLsizei, str: PGLchar, len: PGLint){.
-    dynlib: dllname, importc.}
-proc glUseProgram*(theProgram: TGLuint){.dynlib: dllname, importc.}
-proc glUniform1f*(location: TGLint, v0: TGLfloat){.dynlib: dllname, importc.}
-proc glUniform2f*(location: TGLint, v0: TGLfloat, v1: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glUniform3f*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform4f*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat, 
-                  v3: TGLfloat){.dynlib: dllname, importc.}
-proc glUniform1i*(location: TGLint, v0: TGLint){.dynlib: dllname, importc.}
-proc glUniform2i*(location: TGLint, v0: TGLint, v1: TGLint){.dynlib: dllname, 
-    importc.}
-proc glUniform3i*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint){.
-    dynlib: dllname, importc.}
-proc glUniform4i*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint, v3: TGLint){.
-    dynlib: dllname, importc.}
-proc glUniform1fv*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform2fv*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform3fv*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform4fv*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform1iv*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniform2iv*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniform3iv*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniform4iv*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniformMatrix2fv*(location: TGLint, count: TGLsizei, transpose: TGLboolean, 
-                         value: PGLfloat){.dynlib: dllname, importc.}
-proc glUniformMatrix3fv*(location: TGLint, count: TGLsizei, transpose: TGLboolean, 
-                         value: PGLfloat){.dynlib: dllname, importc.}
-proc glUniformMatrix4fv*(location: TGLint, count: TGLsizei, transpose: TGLboolean, 
-                         value: PGLfloat){.dynlib: dllname, importc.}
-proc glValidateProgram*(theProgram: TGLuint){.dynlib: dllname, importc.}
-proc glVertexAttrib1d*(index: TGLuint, x: TGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib1dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib1f*(index: TGLuint, x: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib1fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib1s*(index: TGLuint, x: TGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib1sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib2d*(index: TGLuint, x: TGLdouble, y: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib2dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib2f*(index: TGLuint, x: TGLfloat, y: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib2fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib2s*(index: TGLuint, x: TGLshort, y: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexAttrib2sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib3d*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib3f*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib3s*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4Nbv*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4Niv*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.}
-proc glVertexAttrib4Nsv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4Nub*(index: TGLuint, x: TGLubyte, y: TGLubyte, z: TGLubyte, 
-                         w: TGLubyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4Nubv*(index: TGLuint, v: PGLubyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4Nuiv*(index: TGLuint, v: PGLuint){.dynlib: dllname, importc.}
-proc glVertexAttrib4Nusv*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib4bv*(index: TGLuint, v: PGLbyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4d*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble, 
-                       w: TGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib4dv*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib4f*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat, 
-                       w: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib4fv*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib4iv*(index: TGLuint, v: PGLint){.dynlib: dllname, importc.}
-proc glVertexAttrib4s*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort, 
-                       w: TGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4sv*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4ubv*(index: TGLuint, v: PGLubyte){.dynlib: dllname, importc.}
-proc glVertexAttrib4uiv*(index: TGLuint, v: PGLuint){.dynlib: dllname, importc.}
-proc glVertexAttrib4usv*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttribPointer*(index: TGLuint, size: TGLint, thetype: TGLenum, 
-                            normalized: TGLboolean, stride: TGLsizei, 
-                            pointer: PGLvoid){.dynlib: dllname, importc.}
-
-const 
-  GL_CONSTANT_COLOR* = 0x00008001
-  GL_ONE_MINUS_CONSTANT_COLOR* = 0x00008002
-  GL_CONSTANT_ALPHA* = 0x00008003
-  GL_ONE_MINUS_CONSTANT_ALPHA* = 0x00008004
-  constGL_BLEND_COLOR* = 0x00008005
-  GL_FUNC_ADD* = 0x00008006
-  GL_MIN* = 0x00008007
-  GL_MAX* = 0x00008008
-  constGL_BLEND_EQUATION* = 0x00008009
-  GL_FUNC_SUBTRACT* = 0x0000800A
-  GL_FUNC_REVERSE_SUBTRACT* = 0x0000800B
-  GL_CONVOLUTION_1D* = 0x00008010
-  GL_CONVOLUTION_2D* = 0x00008011
-  GL_SEPARABLE_2D* = 0x00008012
-  GL_CONVOLUTION_BORDER_MODE* = 0x00008013
-  GL_CONVOLUTION_FILTER_SCALE* = 0x00008014
-  GL_CONVOLUTION_FILTER_BIAS* = 0x00008015
-  GL_REDUCE* = 0x00008016
-  GL_CONVOLUTION_FORMAT* = 0x00008017
-  GL_CONVOLUTION_WIDTH* = 0x00008018
-  GL_CONVOLUTION_HEIGHT* = 0x00008019
-  GL_MAX_CONVOLUTION_WIDTH* = 0x0000801A
-  GL_MAX_CONVOLUTION_HEIGHT* = 0x0000801B
-  GL_POST_CONVOLUTION_RED_SCALE* = 0x0000801C
-  GL_POST_CONVOLUTION_GREEN_SCALE* = 0x0000801D
-  GL_POST_CONVOLUTION_BLUE_SCALE* = 0x0000801E
-  GL_POST_CONVOLUTION_ALPHA_SCALE* = 0x0000801F
-  GL_POST_CONVOLUTION_RED_BIAS* = 0x00008020
-  GL_POST_CONVOLUTION_GREEN_BIAS* = 0x00008021
-  GL_POST_CONVOLUTION_BLUE_BIAS* = 0x00008022
-  GL_POST_CONVOLUTION_ALPHA_BIAS* = 0x00008023
-  constGL_HISTOGRAM* = 0x00008024
-  GL_PROXY_HISTOGRAM* = 0x00008025
-  GL_HISTOGRAM_WIDTH* = 0x00008026
-  GL_HISTOGRAM_FORMAT* = 0x00008027
-  GL_HISTOGRAM_RED_SIZE* = 0x00008028
-  GL_HISTOGRAM_GREEN_SIZE* = 0x00008029
-  GL_HISTOGRAM_BLUE_SIZE* = 0x0000802A
-  GL_HISTOGRAM_ALPHA_SIZE* = 0x0000802B
-  GL_HISTOGRAM_LUMINANCE_SIZE* = 0x0000802C
-  GL_HISTOGRAM_SINK* = 0x0000802D
-  constGL_MINMAX* = 0x0000802E
-  GL_MINMAX_FORMAT* = 0x0000802F
-  GL_MINMAX_SINK* = 0x00008030
-  GL_TABLE_TOO_LARGE* = 0x00008031
-  GL_COLOR_MATRIX* = 0x000080B1
-  GL_COLOR_MATRIX_STACK_DEPTH* = 0x000080B2
-  GL_MAX_COLOR_MATRIX_STACK_DEPTH* = 0x000080B3
-  GL_POST_COLOR_MATRIX_RED_SCALE* = 0x000080B4
-  GL_POST_COLOR_MATRIX_GREEN_SCALE* = 0x000080B5
-  GL_POST_COLOR_MATRIX_BLUE_SCALE* = 0x000080B6
-  GL_POST_COLOR_MATRIX_ALPHA_SCALE* = 0x000080B7
-  GL_POST_COLOR_MATRIX_RED_BIAS* = 0x000080B8
-  GL_POST_COLOR_MATRIX_GREEN_BIAS* = 0x000080B9
-  GL_POST_COLOR_MATRIX_BLUE_BIAS* = 0x000080BA
-  GL_POST_COLOR_MATIX_ALPHA_BIAS* = 0x000080BB
-  constGL_COLOR_TABLE* = 0x000080D0
-  GL_POST_CONVOLUTION_COLOR_TABLE* = 0x000080D1
-  GL_POST_COLOR_MATRIX_COLOR_TABLE* = 0x000080D2
-  GL_PROXY_COLOR_TABLE* = 0x000080D3
-  GL_PROXY_POST_CONVOLUTION_COLOR_TABLE* = 0x000080D4
-  GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE* = 0x000080D5
-  GL_COLOR_TABLE_SCALE* = 0x000080D6
-  GL_COLOR_TABLE_BIAS* = 0x000080D7
-  GL_COLOR_TABLE_FORMAT* = 0x000080D8
-  GL_COLOR_TABLE_WIDTH* = 0x000080D9
-  GL_COLOR_TABLE_RED_SIZE* = 0x000080DA
-  GL_COLOR_TABLE_GREEN_SIZE* = 0x000080DB
-  GL_COLOR_TABLE_BLUE_SIZE* = 0x000080DC
-  GL_COLOR_TABLE_ALPHA_SIZE* = 0x000080DD
-  GL_COLOR_TABLE_LUMINANCE_SIZE* = 0x000080DE
-  GL_COLOR_TABLE_INTENSITY_SIZE* = 0x000080DF
-  GL_IGNORE_BORDER* = 0x00008150
-  GL_CONSTANT_BORDER* = 0x00008151
-  GL_WRAP_BORDER* = 0x00008152
-  GL_REPLICATE_BORDER* = 0x00008153
-  GL_CONVOLUTION_BORDER_COLOR* = 0x00008154
-
-proc glActiveTexture*(texture: TGLenum){.dynlib: dllname, importc.}
-proc glClientActiveTexture*(texture: TGLenum){.dynlib: dllname, importc.}
-proc glMultiTexCoord1d*(target: TGLenum, s: TGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord1dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord1f*(target: TGLenum, s: TGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord1fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord1i*(target: TGLenum, s: TGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord1iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord1s*(target: TGLenum, s: TGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord1sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord2d*(target: TGLenum, s: TGLdouble, t: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord2f*(target: TGLenum, s: TGLfloat, t: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord2i*(target: TGLenum, s: TGLint, t: TGLint){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord2iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord2s*(target: TGLenum, s: TGLshort, t: TGLshort){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord3d*(target: TGLenum, s: TGLdouble, t: TGLdouble, r: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord3f*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord3i*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord3s*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord4d*(target: TGLenum, s: TGLdouble, t: TGLdouble, r: TGLdouble, 
-                        q: TGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord4dv*(target: TGLenum, v: PGLdouble){.dynlib: dllname, importc.}
-proc glMultiTexCoord4f*(target: TGLenum, s: TGLfloat, t: TGLfloat, r: TGLfloat, 
-                        q: TGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord4fv*(target: TGLenum, v: PGLfloat){.dynlib: dllname, importc.}
-proc glMultiTexCoord4i*(target: TGLenum, s: TGLint, t: TGLint, r: TGLint, q: TGLint){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord4iv*(target: TGLenum, v: PGLint){.dynlib: dllname, importc.}
-proc glMultiTexCoord4s*(target: TGLenum, s: TGLshort, t: TGLshort, r: TGLshort, 
-                        q: TGLshort){.dynlib: dllname, importc.}
-proc glMultiTexCoord4sv*(target: TGLenum, v: PGLshort){.dynlib: dllname, importc.}
-proc glLoadTransposeMatrixf*(m: PGLfloat){.dynlib: dllname, importc.}
-proc glLoadTransposeMatrixd*(m: PGLdouble){.dynlib: dllname, importc.}
-proc glMultTransposeMatrixf*(m: PGLfloat){.dynlib: dllname, importc.}
-proc glMultTransposeMatrixd*(m: PGLdouble){.dynlib: dllname, importc.}
-proc glSampleCoverage*(value: TGLclampf, invert: TGLboolean){.dynlib: dllname, 
-    importc.}
-proc glCompressedTexImage3D*(target: TGLenum, level: TGLint, 
-                             internalformat: TGLenum, width: TGLsizei, 
-                             height: TGLsizei, depth: TGLsizei, border: TGLint, 
-                             imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexImage2D*(target: TGLenum, level: TGLint, 
-                             internalformat: TGLenum, width: TGLsizei, 
-                             height: TGLsizei, border: TGLint, imageSize: TGLsizei, 
-                             data: PGLvoid){.dynlib: dllname, importc.}
-proc glCompressedTexImage1D*(target: TGLenum, level: TGLint, 
-                             internalformat: TGLenum, width: TGLsizei, 
-                             border: TGLint, imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexSubImage3D*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                                yoffset: TGLint, zoffset: TGLint, width: TGLsizei, 
-                                height: TGLsizei, depth: TGLsizei, format: TGLenum, 
-                                imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexSubImage2D*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                                yoffset: TGLint, width: TGLsizei, height: TGLsizei, 
-                                format: TGLenum, imageSize: TGLsizei, 
-                                data: PGLvoid){.dynlib: dllname, importc.}
-proc glCompressedTexSubImage1D*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                                width: TGLsizei, format: TGLenum, 
-                                imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetCompressedTexImage*(target: TGLenum, level: TGLint, img: PGLvoid){.
-    dynlib: dllname, importc.}
-
-  #***** GL_version_1_3 *****//
-const 
-  GL_TEXTURE0* = 0x000084C0
-  GL_TEXTURE1* = 0x000084C1
-  GL_TEXTURE2* = 0x000084C2
-  GL_TEXTURE3* = 0x000084C3
-  GL_TEXTURE4* = 0x000084C4
-  GL_TEXTURE5* = 0x000084C5
-  GL_TEXTURE6* = 0x000084C6
-  GL_TEXTURE7* = 0x000084C7
-  GL_TEXTURE8* = 0x000084C8
-  GL_TEXTURE9* = 0x000084C9
-  GL_TEXTURE10* = 0x000084CA
-  GL_TEXTURE11* = 0x000084CB
-  GL_TEXTURE12* = 0x000084CC
-  GL_TEXTURE13* = 0x000084CD
-  GL_TEXTURE14* = 0x000084CE
-  GL_TEXTURE15* = 0x000084CF
-  GL_TEXTURE16* = 0x000084D0
-  GL_TEXTURE17* = 0x000084D1
-  GL_TEXTURE18* = 0x000084D2
-  GL_TEXTURE19* = 0x000084D3
-  GL_TEXTURE20* = 0x000084D4
-  GL_TEXTURE21* = 0x000084D5
-  GL_TEXTURE22* = 0x000084D6
-  GL_TEXTURE23* = 0x000084D7
-  GL_TEXTURE24* = 0x000084D8
-  GL_TEXTURE25* = 0x000084D9
-  GL_TEXTURE26* = 0x000084DA
-  GL_TEXTURE27* = 0x000084DB
-  GL_TEXTURE28* = 0x000084DC
-  GL_TEXTURE29* = 0x000084DD
-  GL_TEXTURE30* = 0x000084DE
-  GL_TEXTURE31* = 0x000084DF
-  constGL_ACTIVE_TEXTURE* = 0x000084E0
-  constGL_CLIENT_ACTIVE_TEXTURE* = 0x000084E1
-  GL_MAX_TEXTURE_UNITS* = 0x000084E2
-  GL_TRANSPOSE_MODELVIEW_MATRIX* = 0x000084E3
-  GL_TRANSPOSE_PROJECTION_MATRIX* = 0x000084E4
-  GL_TRANSPOSE_TEXTURE_MATRIX* = 0x000084E5
-  GL_TRANSPOSE_COLOR_MATRIX* = 0x000084E6
-  GL_MULTISAMPLE* = 0x0000809D
-  GL_SAMPLE_ALPHA_TO_COVERAGE* = 0x0000809E
-  GL_SAMPLE_ALPHA_TO_ONE* = 0x0000809F
-  constGL_SAMPLE_COVERAGE* = 0x000080A0
-  GL_SAMPLE_BUFFERS* = 0x000080A8
-  GL_SAMPLES* = 0x000080A9
-  GL_SAMPLE_COVERAGE_VALUE* = 0x000080AA
-  GL_SAMPLE_COVERAGE_INVERT* = 0x000080AB
-  GL_MULTISAMPLE_BIT* = 0x20000000
-  GL_NORMAL_MAP* = 0x00008511
-  GL_REFLECTION_MAP* = 0x00008512
-  GL_TEXTURE_CUBE_MAP* = 0x00008513
-  GL_TEXTURE_BINDING_CUBE_MAP* = 0x00008514
-  GL_TEXTURE_CUBE_MAP_POSITIVE_X* = 0x00008515
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_X* = 0x00008516
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Y* = 0x00008517
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Y* = 0x00008518
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Z* = 0x00008519
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Z* = 0x0000851A
-  GL_PROXY_TEXTURE_CUBE_MAP* = 0x0000851B
-  GL_MAX_CUBE_MAP_TEXTURE_SIZE* = 0x0000851C
-  GL_COMPRESSED_ALPHA* = 0x000084E9
-  GL_COMPRESSED_LUMINANCE* = 0x000084EA
-  GL_COMPRESSED_LUMINANCE_ALPHA* = 0x000084EB
-  GL_COMPRESSED_INTENSITY* = 0x000084EC
-  GL_COMPRESSED_RGB* = 0x000084ED
-  GL_COMPRESSED_RGBA* = 0x000084EE
-  GL_TEXTURE_COMPRESSION_HINT* = 0x000084EF
-  GL_TEXTURE_COMPRESSED_IMAGE_SIZE* = 0x000086A0
-  GL_TEXTURE_COMPRESSED* = 0x000086A1
-  GL_NUM_COMPRESSED_TEXTURE_FORMATS* = 0x000086A2
-  GL_COMPRESSED_TEXTURE_FORMATS* = 0x000086A3
-  GL_CLAMP_TO_BORDER* = 0x0000812D
-  GL_CLAMP_TO_BORDER_SGIS* = 0x0000812D
-  GL_COMBINE* = 0x00008570
-  GL_COMBINE_RGB* = 0x00008571
-  GL_COMBINE_ALPHA* = 0x00008572
-  GL_SOURCE0_RGB* = 0x00008580
-  GL_SOURCE1_RGB* = 0x00008581
-  GL_SOURCE2_RGB* = 0x00008582
-  GL_SOURCE0_ALPHA* = 0x00008588
-  GL_SOURCE1_ALPHA* = 0x00008589
-  GL_SOURCE2_ALPHA* = 0x0000858A
-  GL_OPERAND0_RGB* = 0x00008590
-  GL_OPERAND1_RGB* = 0x00008591
-  GL_OPERAND2_RGB* = 0x00008592
-  GL_OPERAND0_ALPHA* = 0x00008598
-  GL_OPERAND1_ALPHA* = 0x00008599
-  GL_OPERAND2_ALPHA* = 0x0000859A
-  GL_RGB_SCALE* = 0x00008573
-  GL_ADD_SIGNED* = 0x00008574
-  GL_INTERPOLATE* = 0x00008575
-  GL_SUBTRACT* = 0x000084E7
-  GL_CONSTANT* = 0x00008576
-  GL_PRIMARY_COLOR* = 0x00008577
-  GL_PREVIOUS* = 0x00008578
-  GL_DOT3_RGB* = 0x000086AE
-  GL_DOT3_RGBA* = 0x000086AF
-
-const 
-  GL_TEXTURE0_ARB* = 0x000084C0
-  GL_TEXTURE1_ARB* = 0x000084C1
-  GL_TEXTURE2_ARB* = 0x000084C2
-  GL_TEXTURE3_ARB* = 0x000084C3
-  GL_TEXTURE4_ARB* = 0x000084C4
-  GL_TEXTURE5_ARB* = 0x000084C5
-  GL_TEXTURE6_ARB* = 0x000084C6
-  GL_TEXTURE7_ARB* = 0x000084C7
-  GL_TEXTURE8_ARB* = 0x000084C8
-  GL_TEXTURE9_ARB* = 0x000084C9
-  GL_TEXTURE10_ARB* = 0x000084CA
-  GL_TEXTURE11_ARB* = 0x000084CB
-  GL_TEXTURE12_ARB* = 0x000084CC
-  GL_TEXTURE13_ARB* = 0x000084CD
-  GL_TEXTURE14_ARB* = 0x000084CE
-  GL_TEXTURE15_ARB* = 0x000084CF
-  GL_TEXTURE16_ARB* = 0x000084D0
-  GL_TEXTURE17_ARB* = 0x000084D1
-  GL_TEXTURE18_ARB* = 0x000084D2
-  GL_TEXTURE19_ARB* = 0x000084D3
-  GL_TEXTURE20_ARB* = 0x000084D4
-  GL_TEXTURE21_ARB* = 0x000084D5
-  GL_TEXTURE22_ARB* = 0x000084D6
-  GL_TEXTURE23_ARB* = 0x000084D7
-  GL_TEXTURE24_ARB* = 0x000084D8
-  GL_TEXTURE25_ARB* = 0x000084D9
-  GL_TEXTURE26_ARB* = 0x000084DA
-  GL_TEXTURE27_ARB* = 0x000084DB
-  GL_TEXTURE28_ARB* = 0x000084DC
-  GL_TEXTURE29_ARB* = 0x000084DD
-  GL_TEXTURE30_ARB* = 0x000084DE
-  GL_TEXTURE31_ARB* = 0x000084DF
-  constGL_ACTIVE_TEXTURE_ARB* = 0x000084E0
-  constGL_CLIENT_ACTIVE_TEXTURE_ARB* = 0x000084E1
-  GL_MAX_TEXTURE_UNITS_ARB* = 0x000084E2
-
-  #***** GL_ARB_transpose_matrix *****//
-const 
-  GL_TRANSPOSE_MODELVIEW_MATRIX_ARB* = 0x000084E3
-  GL_TRANSPOSE_PROJECTION_MATRIX_ARB* = 0x000084E4
-  GL_TRANSPOSE_TEXTURE_MATRIX_ARB* = 0x000084E5
-  GL_TRANSPOSE_COLOR_MATRIX_ARB* = 0x000084E6
-
-proc glLoadTransposeMatrixfARB*(m: PGLfloat){.dynlib: dllname, importc.}
-proc glLoadTransposeMatrixdARB*(m: PGLdouble){.dynlib: dllname, importc.}
-proc glMultTransposeMatrixfARB*(m: PGLfloat){.dynlib: dllname, importc.}
-proc glMultTransposeMatrixdARB*(m: PGLdouble){.dynlib: dllname, importc.}
-
-const 
-  WGL_SAMPLE_BUFFERS_ARB* = 0x00002041
-  WGL_SAMPLES_ARB* = 0x00002042
-  GL_MULTISAMPLE_ARB* = 0x0000809D
-  GL_SAMPLE_ALPHA_TO_COVERAGE_ARB* = 0x0000809E
-  GL_SAMPLE_ALPHA_TO_ONE_ARB* = 0x0000809F
-  constGL_SAMPLE_COVERAGE_ARB* = 0x000080A0
-  GL_MULTISAMPLE_BIT_ARB* = 0x20000000
-  GL_SAMPLE_BUFFERS_ARB* = 0x000080A8
-  GL_SAMPLES_ARB* = 0x000080A9
-  GL_SAMPLE_COVERAGE_VALUE_ARB* = 0x000080AA
-  GL_SAMPLE_COVERAGE_INVERT_ARB* = 0x000080AB
-
-const 
-  GL_NORMAL_MAP_ARB* = 0x00008511
-  GL_REFLECTION_MAP_ARB* = 0x00008512
-  GL_TEXTURE_CUBE_MAP_ARB* = 0x00008513
-  GL_TEXTURE_BINDING_CUBE_MAP_ARB* = 0x00008514
-  GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB* = 0x00008515
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB* = 0x00008516
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB* = 0x00008517
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB* = 0x00008518
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB* = 0x00008519
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB* = 0x0000851A
-  GL_PROXY_TEXTURE_CUBE_MAP_ARB* = 0x0000851B
-  GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB* = 0x0000851C
-
-const 
-  GL_DEPTH_COMPONENT16_ARB* = 0x000081A5
-  GL_DEPTH_COMPONENT24_ARB* = 0x000081A6
-  GL_DEPTH_COMPONENT32_ARB* = 0x000081A7
-  GL_TEXTURE_DEPTH_SIZE_ARB* = 0x0000884A
-  GL_DEPTH_TEXTURE_MODE_ARB* = 0x0000884B
-
-  #***** GL_ARB_point_parameters *****//
-const 
-  GL_POINT_SIZE_MIN_ARB* = 0x00008126
-  GL_POINT_SIZE_MAX_ARB* = 0x00008127
-  GL_POINT_FADE_THRESHOLD_SIZE_ARB* = 0x00008128
-  GL_POINT_DISTANCE_ATTENUATION_ARB* = 0x00008129
-
-proc glPointParameterfARB*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glPointParameterfvARB*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-const 
-  GL_TEXTURE_COMPARE_MODE_ARB* = 0x0000884C
-  GL_TEXTURE_COMPARE_FUNC_ARB* = 0x0000884D
-  GL_COMPARE_R_TO_TEXTURE_ARB* = 0x0000884E
-
-const 
-  GL_TEXTURE_COMPARE_FAIL_VALUE_ARB* = 0x000080BF
-  GL_CLAMP_TO_BORDER_ARB* = 0x0000812D
-
-const 
-  GL_COMPRESSED_ALPHA_ARB* = 0x000084E9
-  GL_COMPRESSED_LUMINANCE_ARB* = 0x000084EA
-  GL_COMPRESSED_LUMINANCE_ALPHA_ARB* = 0x000084EB
-  GL_COMPRESSED_INTENSITY_ARB* = 0x000084EC
-  GL_COMPRESSED_RGB_ARB* = 0x000084ED
-  GL_COMPRESSED_RGBA_ARB* = 0x000084EE
-  GL_TEXTURE_COMPRESSION_HINT_ARB* = 0x000084EF
-  GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB* = 0x000086A0
-  GL_TEXTURE_COMPRESSED_ARB* = 0x000086A1
-  GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB* = 0x000086A2
-  GL_COMPRESSED_TEXTURE_FORMATS_ARB* = 0x000086A3
-
-proc glCompressedTexImage3DARB*(target: TGLenum, level: TGLint, 
-                                internalformat: TGLenum, width: TGLsizei, 
-                                height: TGLsizei, depth: TGLsizei, border: TGLint, 
-                                imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexImage2DARB*(target: TGLenum, level: TGLint, 
-                                internalformat: TGLenum, width: TGLsizei, 
-                                height: TGLsizei, border: TGLint, 
-                                imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexImage1DARB*(target: TGLenum, level: TGLint, 
-                                internalformat: TGLenum, width: TGLsizei, 
-                                border: TGLint, imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexSubImage3DARB*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                                   yoffset: TGLint, zoffset: TGLint, 
-                                   width: TGLsizei, height: TGLsizei, 
-                                   depth: TGLsizei, format: TGLenum, 
-                                   imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexSubImage2DARB*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                                   yoffset: TGLint, width: TGLsizei, 
-                                   height: TGLsizei, format: TGLenum, 
-                                   imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCompressedTexSubImage1DARB*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                                   width: TGLsizei, format: TGLenum, 
-                                   imageSize: TGLsizei, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetCompressedTexImageARB*(target: TGLenum, lod: TGLint, img: PGLvoid){.
-    dynlib: dllname, importc.}
-  #***** GL_ARB_texture_env_combine *****//
-const 
-  GL_COMBINE_ARB* = 0x00008570
-  GL_COMBINE_RGB_ARB* = 0x00008571
-  GL_COMBINE_ALPHA_ARB* = 0x00008572
-  GL_SOURCE0_RGB_ARB* = 0x00008580
-  GL_SOURCE1_RGB_ARB* = 0x00008581
-  GL_SOURCE2_RGB_ARB* = 0x00008582
-  GL_SOURCE0_ALPHA_ARB* = 0x00008588
-  GL_SOURCE1_ALPHA_ARB* = 0x00008589
-  GL_SOURCE2_ALPHA_ARB* = 0x0000858A
-  GL_OPERAND0_RGB_ARB* = 0x00008590
-  GL_OPERAND1_RGB_ARB* = 0x00008591
-  GL_OPERAND2_RGB_ARB* = 0x00008592
-  GL_OPERAND0_ALPHA_ARB* = 0x00008598
-  GL_OPERAND1_ALPHA_ARB* = 0x00008599
-  GL_OPERAND2_ALPHA_ARB* = 0x0000859A
-  GL_RGB_SCALE_ARB* = 0x00008573
-  GL_ADD_SIGNED_ARB* = 0x00008574
-  GL_INTERPOLATE_ARB* = 0x00008575
-  GL_SUBTRACT_ARB* = 0x000084E7
-  GL_CONSTANT_ARB* = 0x00008576
-  GL_PRIMARY_COLOR_ARB* = 0x00008577
-  GL_PREVIOUS_ARB* = 0x00008578
-
-  #***** GL_ARB_texture_env_crossbar *****//
-  #***** GL_ARB_texture_env_dot3 *****//
-const 
-  GL_DOT3_RGB_ARB* = 0x000086AE
-  GL_DOT3_RGBA_ARB* = 0x000086AF
-
-  #***** GL_ARB_texture_mirrored_repeat *****//
-const 
-  GL_MIRRORED_REPEAT_ARB* = 0x00008370
-
-  #***** GL_ARB_vertex_blend *****//
-const 
-  GL_MAX_VERTEX_UNITS_ARB* = 0x000086A4
-  GL_ACTIVE_VERTEX_UNITS_ARB* = 0x000086A5
-  GL_WEIGHT_SUM_UNITY_ARB* = 0x000086A6
-  constGL_VERTEX_BLEND_ARB* = 0x000086A7
-  GL_MODELVIEW0_ARB* = 0x00001700
-  GL_MODELVIEW1_ARB* = 0x0000850A
-  GL_MODELVIEW2_ARB* = 0x00008722
-  GL_MODELVIEW3_ARB* = 0x00008723
-  GL_MODELVIEW4_ARB* = 0x00008724
-  GL_MODELVIEW5_ARB* = 0x00008725
-  GL_MODELVIEW6_ARB* = 0x00008726
-  GL_MODELVIEW7_ARB* = 0x00008727
-  GL_MODELVIEW8_ARB* = 0x00008728
-  GL_MODELVIEW9_ARB* = 0x00008729
-  GL_MODELVIEW10_ARB* = 0x0000872A
-  GL_MODELVIEW11_ARB* = 0x0000872B
-  GL_MODELVIEW12_ARB* = 0x0000872C
-  GL_MODELVIEW13_ARB* = 0x0000872D
-  GL_MODELVIEW14_ARB* = 0x0000872E
-  GL_MODELVIEW15_ARB* = 0x0000872F
-  GL_MODELVIEW16_ARB* = 0x00008730
-  GL_MODELVIEW17_ARB* = 0x00008731
-  GL_MODELVIEW18_ARB* = 0x00008732
-  GL_MODELVIEW19_ARB* = 0x00008733
-  GL_MODELVIEW20_ARB* = 0x00008734
-  GL_MODELVIEW21_ARB* = 0x00008735
-  GL_MODELVIEW22_ARB* = 0x00008736
-  GL_MODELVIEW23_ARB* = 0x00008737
-  GL_MODELVIEW24_ARB* = 0x00008738
-  GL_MODELVIEW25_ARB* = 0x00008739
-  GL_MODELVIEW26_ARB* = 0x0000873A
-  GL_MODELVIEW27_ARB* = 0x0000873B
-  GL_MODELVIEW28_ARB* = 0x0000873C
-  GL_MODELVIEW29_ARB* = 0x0000873D
-  GL_MODELVIEW30_ARB* = 0x0000873E
-  GL_MODELVIEW31_ARB* = 0x0000873F
-  GL_CURRENT_WEIGHT_ARB* = 0x000086A8
-  GL_WEIGHT_ARRAY_TYPE_ARB* = 0x000086A9
-  GL_WEIGHT_ARRAY_STRIDE_ARB* = 0x000086AA
-  GL_WEIGHT_ARRAY_SIZE_ARB* = 0x000086AB
-  GL_WEIGHT_ARRAY_POINTER_ARB* = 0x000086AC
-  GL_WEIGHT_ARRAY_ARB* = 0x000086AD
-
-const 
-  GL_VERTEX_PROGRAM_ARB* = 0x00008620
-  GL_VERTEX_PROGRAM_POINT_SIZE_ARB* = 0x00008642
-  GL_VERTEX_PROGRAM_TWO_SIDE_ARB* = 0x00008643
-  GL_COLOR_SUM_ARB* = 0x00008458
-  GL_PROGRAM_FORMAT_ASCII_ARB* = 0x00008875
-  GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB* = 0x00008622
-  GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB* = 0x00008623
-  GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB* = 0x00008624
-  GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB* = 0x00008625
-  GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB* = 0x0000886A
-  GL_CURRENT_VERTEX_ATTRIB_ARB* = 0x00008626
-  GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB* = 0x00008645
-  GL_PROGRAM_LENGTH_ARB* = 0x00008627
-  GL_PROGRAM_FORMAT_ARB* = 0x00008876
-  GL_PROGRAM_BINDING_ARB* = 0x00008677
-  GL_PROGRAM_INSTRUCTIONS_ARB* = 0x000088A0
-  GL_MAX_PROGRAM_INSTRUCTIONS_ARB* = 0x000088A1
-  GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB* = 0x000088A2
-  GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB* = 0x000088A3
-  GL_PROGRAM_TEMPORARIES_ARB* = 0x000088A4
-  GL_MAX_PROGRAM_TEMPORARIES_ARB* = 0x000088A5
-  GL_PROGRAM_NATIVE_TEMPORARIES_ARB* = 0x000088A6
-  GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB* = 0x000088A7
-  GL_PROGRAM_PARAMETERS_ARB* = 0x000088A8
-  GL_MAX_PROGRAM_PARAMETERS_ARB* = 0x000088A9
-  GL_PROGRAM_NATIVE_PARAMETERS_ARB* = 0x000088AA
-  GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB* = 0x000088AB
-  GL_PROGRAM_ATTRIBS_ARB* = 0x000088AC
-  GL_MAX_PROGRAM_ATTRIBS_ARB* = 0x000088AD
-  GL_PROGRAM_NATIVE_ATTRIBS_ARB* = 0x000088AE
-  GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB* = 0x000088AF
-  GL_PROGRAM_ADDRESS_REGISTERS_ARB* = 0x000088B0
-  GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB* = 0x000088B1
-  GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB* = 0x000088B2
-  GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB* = 0x000088B3
-  GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB* = 0x000088B4
-  GL_MAX_PROGRAM_ENV_PARAMETERS_ARB* = 0x000088B5
-  GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB* = 0x000088B6
-  constGL_PROGRAM_STRING_ARB* = 0x00008628
-  GL_PROGRAM_ERROR_POSITION_ARB* = 0x0000864B
-  GL_CURRENT_MATRIX_ARB* = 0x00008641
-  GL_TRANSPOSE_CURRENT_MATRIX_ARB* = 0x000088B7
-  GL_CURRENT_MATRIX_STACK_DEPTH_ARB* = 0x00008640
-  GL_MAX_VERTEX_ATTRIBS_ARB* = 0x00008869
-  GL_MAX_PROGRAM_MATRICES_ARB* = 0x0000862F
-  GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB* = 0x0000862E
-  GL_PROGRAM_ERROR_STRING_ARB* = 0x00008874
-  GL_MATRIX0_ARB* = 0x000088C0
-  GL_MATRIX1_ARB* = 0x000088C1
-  GL_MATRIX2_ARB* = 0x000088C2
-  GL_MATRIX3_ARB* = 0x000088C3
-  GL_MATRIX4_ARB* = 0x000088C4
-  GL_MATRIX5_ARB* = 0x000088C5
-  GL_MATRIX6_ARB* = 0x000088C6
-  GL_MATRIX7_ARB* = 0x000088C7
-  GL_MATRIX8_ARB* = 0x000088C8
-  GL_MATRIX9_ARB* = 0x000088C9
-  GL_MATRIX10_ARB* = 0x000088CA
-  GL_MATRIX11_ARB* = 0x000088CB
-  GL_MATRIX12_ARB* = 0x000088CC
-  GL_MATRIX13_ARB* = 0x000088CD
-  GL_MATRIX14_ARB* = 0x000088CE
-  GL_MATRIX15_ARB* = 0x000088CF
-  GL_MATRIX16_ARB* = 0x000088D0
-  GL_MATRIX17_ARB* = 0x000088D1
-  GL_MATRIX18_ARB* = 0x000088D2
-  GL_MATRIX19_ARB* = 0x000088D3
-  GL_MATRIX20_ARB* = 0x000088D4
-  GL_MATRIX21_ARB* = 0x000088D5
-  GL_MATRIX22_ARB* = 0x000088D6
-  GL_MATRIX23_ARB* = 0x000088D7
-  GL_MATRIX24_ARB* = 0x000088D8
-  GL_MATRIX25_ARB* = 0x000088D9
-  GL_MATRIX26_ARB* = 0x000088DA
-  GL_MATRIX27_ARB* = 0x000088DB
-  GL_MATRIX28_ARB* = 0x000088DC
-  GL_MATRIX29_ARB* = 0x000088DD
-  GL_MATRIX30_ARB* = 0x000088DE
-  GL_MATRIX31_ARB* = 0x000088DF
-
-const 
-  GL_422_EXT* = 0x000080CC
-  GL_422_REV_EXT* = 0x000080CD
-  GL_422_AVERAGE_EXT* = 0x000080CE
-  GL_422_REV_AVERAGE_EXT* = 0x000080CF
-
-  #***** GL_EXT_abgr *****//
-const 
-  GL_ABGR_EXT* = 0x00008000
-
-  #***** GL_EXT_bgra *****//
-const 
-  GL_BGR_EXT* = 0x000080E0
-  GL_BGRA_EXT* = 0x000080E1
-
-  #***** GL_EXT_blend_color *****//
-const 
-  GL_CONSTANT_COLOR_EXT* = 0x00008001
-  GL_ONE_MINUS_CONSTANT_COLOR_EXT* = 0x00008002
-  GL_CONSTANT_ALPHA_EXT* = 0x00008003
-  GL_ONE_MINUS_CONSTANT_ALPHA_EXT* = 0x00008004
-  constGL_BLEND_COLOR_EXT* = 0x00008005
-
-proc glBlendColorEXT*(red: TGLclampf, green: TGLclampf, blue: TGLclampf, 
-                      alpha: TGLclampf){.dynlib: dllname, importc.}
-  #***** GL_EXT_blend_func_separate *****//
-const 
-  GL_BLEND_DST_RGB_EXT* = 0x000080C8
-  GL_BLEND_SRC_RGB_EXT* = 0x000080C9
-  GL_BLEND_DST_ALPHA_EXT* = 0x000080CA
-  GL_BLEND_SRC_ALPHA_EXT* = 0x000080CB
-
-proc glBlendFuncSeparateEXT*(sfactorRGB: TGLenum, dfactorRGB: TGLenum, 
-                             sfactorAlpha: TGLenum, dfactorAlpha: TGLenum){.
-    dynlib: dllname, importc.}
-  #***** GL_EXT_blend_logic_op *****//
-  #***** GL_EXT_blend_minmax *****//
-const 
-  GL_FUNC_ADD_EXT* = 0x00008006
-  GL_MIN_EXT* = 0x00008007
-  GL_MAX_EXT* = 0x00008008
-  constGL_BLEND_EQUATION_EXT* = 0x00008009
-
-proc glBlendEquationEXT*(mode: TGLenum){.dynlib: dllname, importc.}
-  #***** GL_EXT_blend_subtract *****//
-const 
-  GL_FUNC_SUBTRACT_EXT* = 0x0000800A
-  GL_FUNC_REVERSE_SUBTRACT_EXT* = 0x0000800B
-
-  #***** GL_EXT_clip_volume_hint *****//
-const 
-  GL_CLIP_VOLUME_CLIPPING_HINT_EXT* = 0x000080F0
-
-  #***** GL_EXT_color_subtable *****//
-proc glColorSubTableEXT*(target: TGLenum, start: TGLsizei, count: TGLsizei, 
-                         format: TGLenum, thetype: TGLenum, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCopyColorSubTableEXT*(target: TGLenum, start: TGLsizei, x: TGLint, y: TGLint, 
-                             width: TGLsizei){.dynlib: dllname, importc.}
-  #***** GL_EXT_compiled_vertex_array *****//
-const 
-  GL_ARRAY_ELEMENT_LOCK_FIRST_EXT* = 0x000081A8
-  GL_ARRAY_ELEMENT_LOCK_COUNT_EXT* = 0x000081A9
-
-proc glLockArraysEXT*(first: TGLint, count: TGLsizei){.dynlib: dllname, importc.}
-proc glUnlockArraysEXT*(){.dynlib: dllname, importc.}
-  #***** GL_EXT_convolution *****//
-const 
-  GL_CONVOLUTION_1D_EXT* = 0x00008010
-  GL_CONVOLUTION_2D_EXT* = 0x00008011
-  GL_SEPARABLE_2D_EXT* = 0x00008012
-  GL_CONVOLUTION_BORDER_MODE_EXT* = 0x00008013
-  GL_CONVOLUTION_FILTER_SCALE_EXT* = 0x00008014
-  GL_CONVOLUTION_FILTER_BIAS_EXT* = 0x00008015
-  GL_REDUCE_EXT* = 0x00008016
-  GL_CONVOLUTION_FORMAT_EXT* = 0x00008017
-  GL_CONVOLUTION_WIDTH_EXT* = 0x00008018
-  GL_CONVOLUTION_HEIGHT_EXT* = 0x00008019
-  GL_MAX_CONVOLUTION_WIDTH_EXT* = 0x0000801A
-  GL_MAX_CONVOLUTION_HEIGHT_EXT* = 0x0000801B
-  GL_POST_CONVOLUTION_RED_SCALE_EXT* = 0x0000801C
-  GL_POST_CONVOLUTION_GREEN_SCALE_EXT* = 0x0000801D
-  GL_POST_CONVOLUTION_BLUE_SCALE_EXT* = 0x0000801E
-  GL_POST_CONVOLUTION_ALPHA_SCALE_EXT* = 0x0000801F
-  GL_POST_CONVOLUTION_RED_BIAS_EXT* = 0x00008020
-  GL_POST_CONVOLUTION_GREEN_BIAS_EXT* = 0x00008021
-  GL_POST_CONVOLUTION_BLUE_BIAS_EXT* = 0x00008022
-  GL_POST_CONVOLUTION_ALPHA_BIAS_EXT* = 0x00008023
-
-proc glConvolutionFilter1DEXT*(target: TGLenum, internalformat: TGLenum, 
-                               width: TGLsizei, format: TGLenum, thetype: TGLenum, 
-                               image: PGLvoid){.dynlib: dllname, importc.}
-proc glConvolutionFilter2DEXT*(target: TGLenum, internalformat: TGLenum, 
-                               width: TGLsizei, height: TGLsizei, format: TGLenum, 
-                               thetype: TGLenum, image: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCopyConvolutionFilter1DEXT*(target: TGLenum, internalformat: TGLenum, 
-                                   x: TGLint, y: TGLint, width: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glCopyConvolutionFilter2DEXT*(target: TGLenum, internalformat: TGLenum, 
-                                   x: TGLint, y: TGLint, width: TGLsizei, 
-                                   height: TGLsizei){.dynlib: dllname, importc.}
-proc glGetConvolutionFilterEXT*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                                image: PGLvoid){.dynlib: dllname, importc.}
-proc glSeparableFilter2DEXT*(target: TGLenum, internalformat: TGLenum, 
-                             width: TGLsizei, height: TGLsizei, format: TGLenum, 
-                             thetype: TGLenum, row: PGLvoid, column: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetSeparableFilterEXT*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                              row: PGLvoid, column: PGLvoid, span: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameteriEXT*(target: TGLenum, pname: TGLenum, param: TGLint){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameterivEXT*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameterfEXT*(target: TGLenum, pname: TGLenum, param: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glConvolutionParameterfvEXT*(target: TGLenum, pname: TGLenum, 
-                                  params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetConvolutionParameterivEXT*(target: TGLenum, pname: TGLenum, 
-                                     params: PGLint){.dynlib: dllname, importc.}
-proc glGetConvolutionParameterfvEXT*(target: TGLenum, pname: TGLenum, 
-                                     params: PGLfloat){.dynlib: dllname, importc.}
-  #***** GL_EXT_fog_coord *****//
-const 
-  GL_FOG_COORDINATE_SOURCE_EXT* = 0x00008450
-  GL_FOG_COORDINATE_EXT* = 0x00008451
-  GL_FRAGMENT_DEPTH_EXT* = 0x00008452
-  GL_CURRENT_FOG_COORDINATE_EXT* = 0x00008453
-  GL_FOG_COORDINATE_ARRAY_TYPE_EXT* = 0x00008454
-  GL_FOG_COORDINATE_ARRAY_STRIDE_EXT* = 0x00008455
-  GL_FOG_COORDINATE_ARRAY_POINTER_EXT* = 0x00008456
-  GL_FOG_COORDINATE_ARRAY_EXT* = 0x00008457
-
-proc glFogCoordfEXfloat*(coord: TGLfloat){.dynlib: dllname, importc.}
-proc glFogCoorddEXdouble*(coord: TGLdouble){.dynlib: dllname, importc.}
-proc glFogCoordfvEXfloat*(coord: TGLfloat){.dynlib: dllname, importc.}
-proc glFogCoorddvEXdouble*(coord: TGLdouble){.dynlib: dllname, importc.}
-proc glFogCoordPointerEXT*(thetype: TGLenum, stride: TGLsizei, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-  #***** GL_EXT_histogram *****//
-const 
-  constGL_HISTOGRAM_EXT* = 0x00008024
-  GL_PROXY_HISTOGRAM_EXT* = 0x00008025
-  GL_HISTOGRAM_WIDTH_EXT* = 0x00008026
-  GL_HISTOGRAM_FORMAT_EXT* = 0x00008027
-  GL_HISTOGRAM_RED_SIZE_EXT* = 0x00008028
-  GL_HISTOGRAM_GREEN_SIZE_EXT* = 0x00008029
-  GL_HISTOGRAM_BLUE_SIZE_EXT* = 0x0000802A
-  GL_HISTOGRAM_ALPHA_SIZE_EXT* = 0x0000802B
-  GL_HISTOGRAM_LUMINANCE_SIZE_EXT* = 0x0000802C
-  GL_HISTOGRAM_SINK_EXT* = 0x0000802D
-  constGL_MINMAX_EXT* = 0x0000802E
-  GL_MINMAX_FORMAT_EXT* = 0x0000802F
-  GL_MINMAX_SINK_EXT* = 0x00008030
-
-proc glHistogramEXT*(target: TGLenum, width: TGLsizei, internalformat: TGLenum, 
-                     sink: TGLboolean){.dynlib: dllname, importc.}
-proc glResetHistogramEXT*(target: TGLenum){.dynlib: dllname, importc.}
-proc glGetHistogramEXT*(target: TGLenum, reset: TGLboolean, format: TGLenum, 
-                        thetype: TGLenum, values: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glGetHistogramParameterivEXT*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetHistogramParameterfvEXT*(target: TGLenum, pname: TGLenum, 
-                                   params: PGLfloat){.dynlib: dllname, importc.}
-proc glMinmaxEXT*(target: TGLenum, internalformat: TGLenum, sink: TGLboolean){.
-    dynlib: dllname, importc.}
-proc glResetMinmaxEXT*(target: TGLenum){.dynlib: dllname, importc.}
-proc glGetMinmaxEXT*(target: TGLenum, reset: TGLboolean, format: TGLenum, 
-                     thetype: TGLenum, values: PGLvoid){.dynlib: dllname, importc.}
-proc glGetMinmaxParameterivEXT*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetMinmaxParameterfvEXT*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-  #***** GL_EXT_multi_draw_arrays *****//
-proc glMultiDrawArraysEXT*(mode: TGLenum, first: PGLint, count: PGLsizei, 
-                           primcount: TGLsizei){.dynlib: dllname, importc.}
-proc glMultiDrawElementsEXT*(mode: TGLenum, count: PGLsizei, thetype: TGLenum, 
-                             indices: PGLvoid, primcount: TGLsizei){.
-    dynlib: dllname, importc.}
-  #***** GL_EXT_packed_pixels *****//
-const 
-  GL_UNSIGNED_BYTE_3_3_2_EXT* = 0x00008032
-  GL_UNSIGNED_SHORT_4_4_4_4_EXT* = 0x00008033
-  GL_UNSIGNED_SHORT_5_5_5_1_EXT* = 0x00008034
-  GL_UNSIGNED_INT_8_8_8_8_EXT* = 0x00008035
-  GL_UNSIGNED_INT_10_10_10_2_EXT* = 0x00008036
-
-  #***** GL_EXT_paletted_texture *****//
-const 
-  GL_COLOR_INDEX1_EXT* = 0x000080E2
-  GL_COLOR_INDEX2_EXT* = 0x000080E3
-  GL_COLOR_INDEX4_EXT* = 0x000080E4
-  GL_COLOR_INDEX8_EXT* = 0x000080E5
-  GL_COLOR_INDEX12_EXT* = 0x000080E6
-  GL_COLOR_INDEX16_EXT* = 0x000080E7
-  GL_COLOR_TABLE_FORMAT_EXT* = 0x000080D8
-  GL_COLOR_TABLE_WIDTH_EXT* = 0x000080D9
-  GL_COLOR_TABLE_RED_SIZE_EXT* = 0x000080DA
-  GL_COLOR_TABLE_GREEN_SIZE_EXT* = 0x000080DB
-  GL_COLOR_TABLE_BLUE_SIZE_EXT* = 0x000080DC
-  GL_COLOR_TABLE_ALPHA_SIZE_EXT* = 0x000080DD
-  GL_COLOR_TABLE_LUMINANCE_SIZE_EXT* = 0x000080DE
-  GL_COLOR_TABLE_INTENSITY_SIZE_EXT* = 0x000080DF
-  GL_TEXTURE_INDEX_SIZE_EXT* = 0x000080ED
-  GL_TEXTURE_1D* = 0x00000DE0
-  GL_TEXTURE_2D* = 0x00000DE1
-  GL_TEXTURE_3D_EXT* = 0x0000806F # GL_TEXTURE_CUBE_MAP_ARB  { already defined }
-  GL_PROXY_TEXTURE_1D* = 0x00008063
-  GL_PROXY_TEXTURE_2D* = 0x00008064
-  GL_PROXY_TEXTURE_3D_EXT* = 0x00008070 # GL_PROXY_TEXTURE_CUBE_MAP_ARB  { already defined }
-                                        # GL_TEXTURE_1D  { already defined }
-                                        # GL_TEXTURE_2D  { already defined }
-                                        # GL_TEXTURE_3D_EXT  { already defined }
-                                        # GL_TEXTURE_CUBE_MAP_ARB  { already defined }
-
-proc glColorTableEXT*(target: TGLenum, internalFormat: TGLenum, width: TGLsizei, 
-                      format: TGLenum, thetype: TGLenum, data: PGLvoid){.
-    dynlib: dllname, importc.}
-  # glColorSubTableEXT  { already defined }
-proc glGetColorTableEXT*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                         data: PGLvoid){.dynlib: dllname, importc.}
-proc glGetColorTableParameterivEXT*(target: TGLenum, pname: TGLenum, 
-                                    params: PGLint){.dynlib: dllname, importc.}
-proc glGetColorTableParameterfvEXT*(target: TGLenum, pname: TGLenum, 
-                                    params: PGLfloat){.dynlib: dllname, importc.}
-  #***** GL_EXT_point_parameters *****//
-const 
-  GL_POINT_SIZE_MIN_EXT* = 0x00008126
-  GL_POINT_SIZE_MAX_EXT* = 0x00008127
-  GL_POINT_FADE_THRESHOLD_SIZE_EXT* = 0x00008128
-  GL_DISTANCE_ATTENUATION_EXT* = 0x00008129
-
-proc glPointParameterfEXT*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glPointParameterfvEXT*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-  #***** GL_EXT_polygon_offset *****//
-const 
-  constGL_POLYGON_OFFSET_EXT* = 0x00008037
-  GL_POLYGON_OFFSET_FACTOR_EXT* = 0x00008038
-  GL_POLYGON_OFFSET_BIAS_EXT* = 0x00008039
-
-proc glPolygonOffsetEXT*(factor: TGLfloat, bias: TGLfloat){.dynlib: dllname, 
-    importc.}
-  #***** GL_EXT_secondary_color *****//
-const 
-  GL_COLOR_SUM_EXT* = 0x00008458
-  GL_CURRENT_SECONDARY_COLOR_EXT* = 0x00008459
-  GL_SECONDARY_COLOR_ARRAY_SIZE_EXT* = 0x0000845A
-  GL_SECONDARY_COLOR_ARRAY_TYPE_EXT* = 0x0000845B
-  GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT* = 0x0000845C
-  GL_SECONDARY_COLOR_ARRAY_POINTER_EXT* = 0x0000845D
-  GL_SECONDARY_COLOR_ARRAY_EXT* = 0x0000845E
-
-proc glSecondaryColor3bEXT*(components: TGLbyte){.dynlib: dllname, importc.}
-proc glSecondaryColor3sEXT*(components: TGLshort){.dynlib: dllname, importc.}
-proc glSecondaryColor3iEXT*(components: TGLint){.dynlib: dllname, importc.}
-proc glSecondaryColor3fEXT*(components: TGLfloat){.dynlib: dllname, importc.}
-proc glSecondaryColor3dEXT*(components: TGLdouble){.dynlib: dllname, importc.}
-proc glSecondaryColor3ubEXT*(components: TGLubyte){.dynlib: dllname, importc.}
-proc glSecondaryColor3usEXT*(components: TGLushort){.dynlib: dllname, importc.}
-proc glSecondaryColor3uiEXT*(components: TGLuint){.dynlib: dllname, importc.}
-proc glSecondaryColor3bvEXT*(components: TGLbyte){.dynlib: dllname, importc.}
-proc glSecondaryColor3svEXT*(components: TGLshort){.dynlib: dllname, importc.}
-proc glSecondaryColor3ivEXT*(components: TGLint){.dynlib: dllname, importc.}
-proc glSecondaryColor3fvEXT*(components: TGLfloat){.dynlib: dllname, importc.}
-proc glSecondaryColor3dvEXT*(components: TGLdouble){.dynlib: dllname, importc.}
-proc glSecondaryColor3ubvEXT*(components: TGLubyte){.dynlib: dllname, importc.}
-proc glSecondaryColor3usvEXT*(components: TGLushort){.dynlib: dllname, importc.}
-proc glSecondaryColor3uivEXT*(components: TGLuint){.dynlib: dllname, importc.}
-proc glSecondaryColorPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                                 pointer: PGLvoid){.dynlib: dllname, importc.}
-  #***** GL_EXT_separate_specular_color *****//
-const 
-  GL_LIGHT_MODEL_COLOR_CONTROL_EXT* = 0x000081F8
-  GL_SINGLE_COLOR_EXT* = 0x000081F9
-  GL_SEPARATE_SPECULAR_COLOR_EXT* = 0x000081FA
-
-  #***** GL_EXT_shadow_funcs *****//
-  #***** GL_EXT_shared_texture_palette *****//
-const 
-  GL_SHARED_TEXTURE_PALETTE_EXT* = 0x000081FB
-
-  #***** GL_EXT_stencil_two_side *****//
-const 
-  GL_STENCIL_TEST_TWO_SIDE_EXT* = 0x00008910
-  constGL_ACTIVE_STENCIL_FACE_EXT* = 0x00008911
-
-proc glActiveStencilFaceEXT*(face: TGLenum){.dynlib: dllname, importc.}
-  #***** GL_EXT_stencil_wrap *****//
-const 
-  GL_INCR_WRAP_EXT* = 0x00008507
-  GL_DECR_WRAP_EXT* = 0x00008508
-
-  #***** GL_EXT_subtexture *****//
-proc glTexSubImage1DEXT*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                         width: TGLsizei, format: TGLenum, thetype: TGLenum, 
-                         pixels: PGLvoid){.dynlib: dllname, importc.}
-proc glTexSubImage2DEXT*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                         yoffset: TGLint, width: TGLsizei, height: TGLsizei, 
-                         format: TGLenum, thetype: TGLenum, pixels: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glTexSubImage3DEXT*(target: TGLenum, level: TGLint, xoffset: TGLint, 
-                         yoffset: TGLint, zoffset: TGLint, width: TGLsizei, 
-                         height: TGLsizei, depth: TGLsizei, format: TGLenum, 
-                         thetype: TGLenum, pixels: PGLvoid){.dynlib: dllname, 
-    importc.}
-  #***** GL_EXT_texture3D *****//
-const 
-  GL_PACK_SKIP_IMAGES_EXT* = 0x0000806B
-  GL_PACK_IMAGE_HEIGHT_EXT* = 0x0000806C
-  GL_UNPACK_SKIP_IMAGES_EXT* = 0x0000806D
-  GL_UNPACK_IMAGE_HEIGHT_EXT* = 0x0000806E # GL_TEXTURE_3D_EXT  { already defined }
-                                           # GL_PROXY_TEXTURE_3D_EXT  { already defined }
-  GL_TEXTURE_DEPTH_EXT* = 0x00008071
-  GL_TEXTURE_WRAP_R_EXT* = 0x00008072
-  GL_MAX_3D_TEXTURE_SIZE_EXT* = 0x00008073
-
-proc glTexImage3DEXT*(target: TGLenum, level: TGLint, internalformat: TGLenum, 
-                      width: TGLsizei, height: TGLsizei, depth: TGLsizei, 
-                      border: TGLint, format: TGLenum, thetype: TGLenum, 
-                      pixels: PGLvoid){.dynlib: dllname, importc.}
-  #***** GL_EXT_texture_compression_s3tc *****//
-const 
-  GL_COMPRESSED_RGB_S3TC_DXT1_EXT* = 0x000083F0
-  GL_COMPRESSED_RGBA_S3TC_DXT1_EXT* = 0x000083F1
-  GL_COMPRESSED_RGBA_S3TC_DXT3_EXT* = 0x000083F2
-  GL_COMPRESSED_RGBA_S3TC_DXT5_EXT* = 0x000083F3
-
-  #***** GL_EXT_texture_env_add *****//
-  #***** GL_EXT_texture_env_combine *****//
-const 
-  GL_COMBINE_EXT* = 0x00008570
-  GL_COMBINE_RGB_EXT* = 0x00008571
-  GL_COMBINE_ALPHA_EXT* = 0x00008572
-  GL_SOURCE0_RGB_EXT* = 0x00008580
-  GL_SOURCE1_RGB_EXT* = 0x00008581
-  GL_SOURCE2_RGB_EXT* = 0x00008582
-  GL_SOURCE0_ALPHA_EXT* = 0x00008588
-  GL_SOURCE1_ALPHA_EXT* = 0x00008589
-  GL_SOURCE2_ALPHA_EXT* = 0x0000858A
-  GL_OPERAND0_RGB_EXT* = 0x00008590
-  GL_OPERAND1_RGB_EXT* = 0x00008591
-  GL_OPERAND2_RGB_EXT* = 0x00008592
-  GL_OPERAND0_ALPHA_EXT* = 0x00008598
-  GL_OPERAND1_ALPHA_EXT* = 0x00008599
-  GL_OPERAND2_ALPHA_EXT* = 0x0000859A
-  GL_RGB_SCALE_EXT* = 0x00008573
-  GL_ADD_SIGNED_EXT* = 0x00008574
-  GL_INTERPOLATE_EXT* = 0x00008575
-  GL_CONSTANT_EXT* = 0x00008576
-  GL_PRIMARY_COLOR_EXT* = 0x00008577
-  GL_PREVIOUS_EXT* = 0x00008578
-
-  #***** GL_EXT_texture_env_dot3 *****//
-const 
-  GL_DOT3_RGB_EXT* = 0x00008740
-  GL_DOT3_RGBA_EXT* = 0x00008741
-
-  #***** GL_EXT_texture_filter_anisotropic *****//
-const 
-  GL_TEXTURE_MAX_ANISOTROPY_EXT* = 0x000084FE
-  GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT* = 0x000084FF
-
-  #***** GL_EXT_texture_lod_bias *****//
-const 
-  GL_TEXTURE_FILTER_CONTROL_EXT* = 0x00008500
-  GL_TEXTURE_LOD_BIAS_EXT* = 0x00008501
-  GL_MAX_TEXTURE_LOD_BIAS_EXT* = 0x000084FD
-
-  #***** GL_EXT_texture_object *****//
-const 
-  GL_TEXTURE_PRIORITY_EXT* = 0x00008066
-  GL_TEXTURE_RESIDENT_EXT* = 0x00008067
-  GL_TEXTURE_1D_BINDING_EXT* = 0x00008068
-  GL_TEXTURE_2D_BINDING_EXT* = 0x00008069
-  GL_TEXTURE_3D_BINDING_EXT* = 0x0000806A
-
-proc glGenTexturesEXT*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, importc.}
-proc glDeleteTexturesEXT*(n: TGLsizei, textures: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glBindTextureEXT*(target: TGLenum, texture: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glPrioritizeTexturesEXT*(n: TGLsizei, textures: PGLuint, 
-                              priorities: PGLclampf){.dynlib: dllname, importc.}
-proc glAreTexturesResidentEXT*(n: TGLsizei, textures: PGLuint, 
-                               residences: PGLboolean): TGLboolean{.
-    dynlib: dllname, importc.}
-proc glIsTextureEXT*(texture: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-  #***** GL_EXT_vertex_array *****//
-const 
-  GL_VERTEX_ARRAY_EXT* = 0x00008074
-  GL_NORMAL_ARRAY_EXT* = 0x00008075
-  GL_COLOR_ARRAY_EXT* = 0x00008076
-  GL_INDEX_ARRAY_EXT* = 0x00008077
-  GL_TEXTURE_COORD_ARRAY_EXT* = 0x00008078
-  GL_EDGE_FLAG_ARRAY_EXT* = 0x00008079
-  GL_DOUBLE_EXT* = 0x0000140A
-  GL_VERTEX_ARRAY_SIZE_EXT* = 0x0000807A
-  GL_VERTEX_ARRAY_TYPE_EXT* = 0x0000807B
-  GL_VERTEX_ARRAY_STRIDE_EXT* = 0x0000807C
-  GL_VERTEX_ARRAY_COUNT_EXT* = 0x0000807D
-  GL_NORMAL_ARRAY_TYPE_EXT* = 0x0000807E
-  GL_NORMAL_ARRAY_STRIDE_EXT* = 0x0000807F
-  GL_NORMAL_ARRAY_COUNT_EXT* = 0x00008080
-  GL_COLOR_ARRAY_SIZE_EXT* = 0x00008081
-  GL_COLOR_ARRAY_TYPE_EXT* = 0x00008082
-  GL_COLOR_ARRAY_STRIDE_EXT* = 0x00008083
-  GL_COLOR_ARRAY_COUNT_EXT* = 0x00008084
-  GL_INDEX_ARRAY_TYPE_EXT* = 0x00008085
-  GL_INDEX_ARRAY_STRIDE_EXT* = 0x00008086
-  GL_INDEX_ARRAY_COUNT_EXT* = 0x00008087
-  GL_TEXTURE_COORD_ARRAY_SIZE_EXT* = 0x00008088
-  GL_TEXTURE_COORD_ARRAY_TYPE_EXT* = 0x00008089
-  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT* = 0x0000808A
-  GL_TEXTURE_COORD_ARRAY_COUNT_EXT* = 0x0000808B
-  GL_EDGE_FLAG_ARRAY_STRIDE_EXT* = 0x0000808C
-  GL_EDGE_FLAG_ARRAY_COUNT_EXT* = 0x0000808D
-  GL_VERTEX_ARRAY_POINTER_EXT* = 0x0000808E
-  GL_NORMAL_ARRAY_POINTER_EXT* = 0x0000808F
-  GL_COLOR_ARRAY_POINTER_EXT* = 0x00008090
-  GL_INDEX_ARRAY_POINTER_EXT* = 0x00008091
-  GL_TEXTURE_COORD_ARRAY_POINTER_EXT* = 0x00008092
-  GL_EDGE_FLAG_ARRAY_POINTER_EXT* = 0x00008093
-
-proc glArrayElementEXT*(i: TGLint){.dynlib: dllname, importc.}
-proc glDrawArraysEXT*(mode: TGLenum, first: TGLint, count: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glVertexPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                         count: TGLsizei, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glNormalPointerEXT*(thetype: TGLenum, stride: TGLsizei, count: TGLsizei, 
-                         pointer: PGLvoid){.dynlib: dllname, importc.}
-proc glColorPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                        count: TGLsizei, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glIndexPointerEXT*(thetype: TGLenum, stride: TGLsizei, count: TGLsizei, 
-                        pointer: PGLvoid){.dynlib: dllname, importc.}
-proc glTexCoordPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                           count: TGLsizei, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glEdgeFlagPointerEXT*(stride: TGLsizei, count: TGLsizei, pointer: PGLboolean){.
-    dynlib: dllname, importc.}
-proc glGetPointervEXT*(pname: TGLenum, params: PGLvoid){.dynlib: dllname, importc.}
-  #***** GL_EXT_vertex_shader *****//
-const 
-  GL_VERTEX_SHADER_EXT* = 0x00008780
-  GL_VARIANT_VALUE_EXT* = 0x000087E4
-  GL_VARIANT_DATATYPE_EXT* = 0x000087E5
-  GL_VARIANT_ARRAY_STRIDE_EXT* = 0x000087E6
-  GL_VARIANT_ARRAY_TYPE_EXT* = 0x000087E7
-  GL_VARIANT_ARRAY_EXT* = 0x000087E8
-  GL_VARIANT_ARRAY_POINTER_EXT* = 0x000087E9
-  GL_INVARIANT_VALUE_EXT* = 0x000087EA
-  GL_INVARIANT_DATATYPE_EXT* = 0x000087EB
-  GL_LOCAL_CONSTANT_VALUE_EXT* = 0x000087EC
-  GL_LOCAL_CONSTANT_DATATYPE_EXT* = 0x000087ED
-  GL_OP_INDEX_EXT* = 0x00008782
-  GL_OP_NEGATE_EXT* = 0x00008783
-  GL_OP_DOT3_EXT* = 0x00008784
-  GL_OP_DOT4_EXT* = 0x00008785
-  GL_OP_MUL_EXT* = 0x00008786
-  GL_OP_ADD_EXT* = 0x00008787
-  GL_OP_MADD_EXT* = 0x00008788
-  GL_OP_FRAC_EXT* = 0x00008789
-  GL_OP_MAX_EXT* = 0x0000878A
-  GL_OP_MIN_EXT* = 0x0000878B
-  GL_OP_SET_GE_EXT* = 0x0000878C
-  GL_OP_SET_LT_EXT* = 0x0000878D
-  GL_OP_CLAMP_EXT* = 0x0000878E
-  GL_OP_FLOOR_EXT* = 0x0000878F
-  GL_OP_ROUND_EXT* = 0x00008790
-  GL_OP_EXP_BASE_2_EXT* = 0x00008791
-  GL_OP_LOG_BASE_2_EXT* = 0x00008792
-  GL_OP_POWER_EXT* = 0x00008793
-  GL_OP_RECIP_EXT* = 0x00008794
-  GL_OP_RECIP_SQRT_EXT* = 0x00008795
-  GL_OP_SUB_EXT* = 0x00008796
-  GL_OP_CROSS_PRODUCT_EXT* = 0x00008797
-  GL_OP_MULTIPLY_MATRIX_EXT* = 0x00008798
-  GL_OP_MOV_EXT* = 0x00008799
-  GL_OUTPUT_VERTEX_EXT* = 0x0000879A
-  GL_OUTPUT_COLOR0_EXT* = 0x0000879B
-  GL_OUTPUT_COLOR1_EXT* = 0x0000879C
-  GL_OUTPUT_TEXTURE_COORD0_EXT* = 0x0000879D
-  GL_OUTPUT_TEXTURE_COORD1_EXT* = 0x0000879E
-  GL_OUTPUT_TEXTURE_COORD2_EXT* = 0x0000879F
-  GL_OUTPUT_TEXTURE_COORD3_EXT* = 0x000087A0
-  GL_OUTPUT_TEXTURE_COORD4_EXT* = 0x000087A1
-  GL_OUTPUT_TEXTURE_COORD5_EXT* = 0x000087A2
-  GL_OUTPUT_TEXTURE_COORD6_EXT* = 0x000087A3
-  GL_OUTPUT_TEXTURE_COORD7_EXT* = 0x000087A4
-  GL_OUTPUT_TEXTURE_COORD8_EXT* = 0x000087A5
-  GL_OUTPUT_TEXTURE_COORD9_EXT* = 0x000087A6
-  GL_OUTPUT_TEXTURE_COORD10_EXT* = 0x000087A7
-  GL_OUTPUT_TEXTURE_COORD11_EXT* = 0x000087A8
-  GL_OUTPUT_TEXTURE_COORD12_EXT* = 0x000087A9
-  GL_OUTPUT_TEXTURE_COORD13_EXT* = 0x000087AA
-  GL_OUTPUT_TEXTURE_COORD14_EXT* = 0x000087AB
-  GL_OUTPUT_TEXTURE_COORD15_EXT* = 0x000087AC
-  GL_OUTPUT_TEXTURE_COORD16_EXT* = 0x000087AD
-  GL_OUTPUT_TEXTURE_COORD17_EXT* = 0x000087AE
-  GL_OUTPUT_TEXTURE_COORD18_EXT* = 0x000087AF
-  GL_OUTPUT_TEXTURE_COORD19_EXT* = 0x000087B0
-  GL_OUTPUT_TEXTURE_COORD20_EXT* = 0x000087B1
-  GL_OUTPUT_TEXTURE_COORD21_EXT* = 0x000087B2
-  GL_OUTPUT_TEXTURE_COORD22_EXT* = 0x000087B3
-  GL_OUTPUT_TEXTURE_COORD23_EXT* = 0x000087B4
-  GL_OUTPUT_TEXTURE_COORD24_EXT* = 0x000087B5
-  GL_OUTPUT_TEXTURE_COORD25_EXT* = 0x000087B6
-  GL_OUTPUT_TEXTURE_COORD26_EXT* = 0x000087B7
-  GL_OUTPUT_TEXTURE_COORD27_EXT* = 0x000087B8
-  GL_OUTPUT_TEXTURE_COORD28_EXT* = 0x000087B9
-  GL_OUTPUT_TEXTURE_COORD29_EXT* = 0x000087BA
-  GL_OUTPUT_TEXTURE_COORD30_EXT* = 0x000087BB
-  GL_OUTPUT_TEXTURE_COORD31_EXT* = 0x000087BC
-  GL_OUTPUT_FOG_EXT* = 0x000087BD
-  GL_SCALAR_EXT* = 0x000087BE
-  GL_VECTOR_EXT* = 0x000087BF
-  GL_MATRIX_EXT* = 0x000087C0
-  GL_VARIANT_EXT* = 0x000087C1
-  GL_INVARIANT_EXT* = 0x000087C2
-  GL_LOCAL_CONSTANT_EXT* = 0x000087C3
-  GL_LOCAL_EXT* = 0x000087C4
-  GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT* = 0x000087C5
-  GL_MAX_VERTEX_SHADER_VARIANTS_EXT* = 0x000087C6
-  GL_MAX_VERTEX_SHADER_INVARIANTS_EXT* = 0x000087C7
-  GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT* = 0x000087C8
-  GL_MAX_VERTEX_SHADER_LOCALS_EXT* = 0x000087C9
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT* = 0x000087CA
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT* = 0x000087CB
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT* = 0x000087CC
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT* = 0x000087CD
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT* = 0x000087CE
-  GL_VERTEX_SHADER_INSTRUCTIONS_EXT* = 0x000087CF
-  GL_VERTEX_SHADER_VARIANTS_EXT* = 0x000087D0
-  GL_VERTEX_SHADER_INVARIANTS_EXT* = 0x000087D1
-  GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT* = 0x000087D2
-  GL_VERTEX_SHADER_LOCALS_EXT* = 0x000087D3
-  GL_VERTEX_SHADER_BINDING_EXT* = 0x00008781
-  GL_VERTEX_SHADER_OPTIMIZED_EXT* = 0x000087D4
-  GL_X_EXT* = 0x000087D5
-  GL_Y_EXT* = 0x000087D6
-  GL_Z_EXT* = 0x000087D7
-  GL_W_EXT* = 0x000087D8
-  GL_NEGATIVE_X_EXT* = 0x000087D9
-  GL_NEGATIVE_Y_EXT* = 0x000087DA
-  GL_NEGATIVE_Z_EXT* = 0x000087DB
-  GL_NEGATIVE_W_EXT* = 0x000087DC
-  GL_ZERO_EXT* = 0x000087DD
-  GL_ONE_EXT* = 0x000087DE
-  GL_NEGATIVE_ONE_EXT* = 0x000087DF
-  GL_NORMALIZED_RANGE_EXT* = 0x000087E0
-  GL_FULL_RANGE_EXT* = 0x000087E1
-  GL_CURRENT_VERTEX_EXT* = 0x000087E2
-  GL_MVP_MATRIX_EXT* = 0x000087E3
-
-proc glBeginVertexShaderEXT*(){.dynlib: dllname, importc.}
-proc glEndVertexShaderEXT*(){.dynlib: dllname, importc.}
-proc glBindVertexShaderEXT*(id: TGLuint){.dynlib: dllname, importc.}
-proc glGenVertexShadersEXT*(range: TGLuint): TGLuint{.dynlib: dllname, importc.}
-proc glDeleteVertexShaderEXT*(id: TGLuint){.dynlib: dllname, importc.}
-proc glShaderOp1EXT*(op: TGLenum, res: TGLuint, arg1: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glShaderOp2EXT*(op: TGLenum, res: TGLuint, arg1: TGLuint, arg2: TGLuint){.
-    dynlib: dllname, importc.}
-proc glShaderOp3EXT*(op: TGLenum, res: TGLuint, arg1: TGLuint, arg2: TGLuint, 
-                     arg3: TGLuint){.dynlib: dllname, importc.}
-proc glSwizzleEXT*(res: TGLuint, theIn: TGLuint, outX: TGLenum, outY: TGLenum, 
-                   outZ: TGLenum, outW: TGLenum){.dynlib: dllname, importc.}
-proc glWriteMaskEXT*(res: TGLuint, theIn: TGLuint, outX: TGLenum, outY: TGLenum, 
-                     outZ: TGLenum, outW: TGLenum){.dynlib: dllname, importc.}
-proc glInsertComponentEXT*(res: TGLuint, src: TGLuint, num: TGLuint){.
-    dynlib: dllname, importc.}
-proc glExtractComponentEXT*(res: TGLuint, src: TGLuint, num: TGLuint){.
-    dynlib: dllname, importc.}
-proc glGenSymbolsEXT*(datatype: TGLenum, storagetype: TGLenum, range: TGLenum, 
-                      components: TGLuint): TGLuint{.dynlib: dllname, importc.}
-proc glSetInvariantEXT*(id: TGLuint, thetype: TGLenum, address: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glSetLocalConstantEXT*(id: TGLuint, thetype: TGLenum, address: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glVariantbvEXT*(id: TGLuint, address: PGLbyte){.dynlib: dllname, importc.}
-proc glVariantsvEXT*(id: TGLuint, address: PGLshort){.dynlib: dllname, importc.}
-proc glVariantivEXT*(id: TGLuint, address: PGLint){.dynlib: dllname, importc.}
-proc glVariantfvEXT*(id: TGLuint, address: PGLfloat){.dynlib: dllname, importc.}
-proc glVariantdvEXT*(id: TGLuint, address: PGLdouble){.dynlib: dllname, importc.}
-proc glVariantubvEXT*(id: TGLuint, address: PGLubyte){.dynlib: dllname, importc.}
-proc glVariantusvEXT*(id: TGLuint, address: PGLushort){.dynlib: dllname, importc.}
-proc glVariantuivEXT*(id: TGLuint, address: PGLuint){.dynlib: dllname, importc.}
-proc glVariantPointerEXT*(id: TGLuint, thetype: TGLenum, stride: TGLuint, 
-                          address: PGLvoid){.dynlib: dllname, importc.}
-proc glEnableVariantClientStateEXT*(id: TGLuint){.dynlib: dllname, importc.}
-proc glDisableVariantClientStateEXT*(id: TGLuint){.dynlib: dllname, importc.}
-proc glBindLightParameterEXT*(light: TGLenum, value: TGLenum): TGLuint{.
-    dynlib: dllname, importc.}
-proc glBindMaterialParameterEXT*(face: TGLenum, value: TGLenum): TGLuint{.
-    dynlib: dllname, importc.}
-proc glBindTexGenParameterEXT*(theunit: TGLenum, coord: TGLenum, value: TGLenum): TGLuint{.
-    dynlib: dllname, importc.}
-proc glBindTextureUnitParameterEXT*(theunit: TGLenum, value: TGLenum): TGLuint{.
-    dynlib: dllname, importc.}
-proc glBindParameterEXT*(value: TGLenum): TGLuint{.dynlib: dllname, importc.}
-proc glIsVariantEnabledEXT*(id: TGLuint, cap: TGLenum): TGLboolean{.
-    dynlib: dllname, importc.}
-proc glGetVariantBooleanvEXT*(id: TGLuint, value: TGLenum, data: PGLboolean){.
-    dynlib: dllname, importc.}
-proc glGetVariantIntegervEXT*(id: TGLuint, value: TGLenum, data: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetVariantFloatvEXT*(id: TGLuint, value: TGLenum, data: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetVariantPointervEXT*(id: TGLuint, value: TGLenum, data: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetInvariantBooleanvEXT*(id: TGLuint, value: TGLenum, data: PGLboolean){.
-    dynlib: dllname, importc.}
-proc glGetInvariantIntegervEXT*(id: TGLuint, value: TGLenum, data: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetInvariantFloatvEXT*(id: TGLuint, value: TGLenum, data: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetLocalConstantBooleanvEXT*(id: TGLuint, value: TGLenum, data: PGLboolean){.
-    dynlib: dllname, importc.}
-proc glGetLocalConstantIntegervEXT*(id: TGLuint, value: TGLenum, data: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetLocalConstantFloatvEXT*(id: TGLuint, value: TGLenum, data: PGLfloat){.
-    dynlib: dllname, importc.}
-  #***** GL_EXT_vertex_weighting *****//
-const 
-  GL_VERTEX_WEIGHTING_EXT* = 0x00008509
-  GL_MODELVIEW0_EXT* = 0x00001700
-  GL_MODELVIEW1_EXT* = 0x0000850A
-  GL_MODELVIEW0_MATRIX_EXT* = 0x00000BA6
-  GL_MODELVIEW1_MATRIX_EXT* = 0x00008506
-  GL_CURRENT_VERTEX_WEIGHT_EXT* = 0x0000850B
-  GL_VERTEX_WEIGHT_ARRAY_EXT* = 0x0000850C
-  GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT* = 0x0000850D
-  GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT* = 0x0000850E
-  GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT* = 0x0000850F
-  GL_MODELVIEW0_STACK_DEPTH_EXT* = 0x00000BA3
-  GL_MODELVIEW1_STACK_DEPTH_EXT* = 0x00008502
-  GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT* = 0x00008510
-
-proc glVertexWeightfEXT*(weight: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexWeightfvEXT*(weight: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexWeightPointerEXT*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                               pointer: PGLvoid){.dynlib: dllname, importc.}
-  #***** GL_HP_occlusion_test *****//
-const 
-  GL_OCCLUSION_TEST_HP* = 0x00008165
-  GL_OCCLUSION_TEST_RESULT_HP* = 0x00008166
-
-  #***** GL_NV_blend_square *****//
-  #***** GL_NV_copy_depth_to_color *****//
-const 
-  GL_DEPTH_STENCIL_TO_RGBA_NV* = 0x0000886E
-  GL_DEPTH_STENCIL_TO_BGRA_NV* = 0x0000886F
-
-  #***** GL_NV_depth_clamp *****//
-const 
-  GL_DEPTH_CLAMP_NV* = 0x0000864F
-
-  #***** GL_NV_evaluators *****//
-const 
-  GL_EVAL_2D_NV* = 0x000086C0
-  GL_EVAL_TRIANGULAR_2D_NV* = 0x000086C1
-  GL_MAP_TESSELLATION_NV* = 0x000086C2
-  GL_MAP_ATTRIB_U_ORDER_NV* = 0x000086C3
-  GL_MAP_ATTRIB_V_ORDER_NV* = 0x000086C4
-  GL_EVAL_FRACTIONAL_TESSELLATION_NV* = 0x000086C5
-  GL_EVAL_VERTEX_ATTRIB0_NV* = 0x000086C6
-  GL_EVAL_VERTEX_ATTRIB1_NV* = 0x000086C7
-  GL_EVAL_VERTEX_ATTRIB2_NV* = 0x000086C8
-  GL_EVAL_VERTEX_ATTRIB3_NV* = 0x000086C9
-  GL_EVAL_VERTEX_ATTRIB4_NV* = 0x000086CA
-  GL_EVAL_VERTEX_ATTRIB5_NV* = 0x000086CB
-  GL_EVAL_VERTEX_ATTRIB6_NV* = 0x000086CC
-  GL_EVAL_VERTEX_ATTRIB7_NV* = 0x000086CD
-  GL_EVAL_VERTEX_ATTRIB8_NV* = 0x000086CE
-  GL_EVAL_VERTEX_ATTRIB9_NV* = 0x000086CF
-  GL_EVAL_VERTEX_ATTRIB10_NV* = 0x000086D0
-  GL_EVAL_VERTEX_ATTRIB11_NV* = 0x000086D1
-  GL_EVAL_VERTEX_ATTRIB12_NV* = 0x000086D2
-  GL_EVAL_VERTEX_ATTRIB13_NV* = 0x000086D3
-  GL_EVAL_VERTEX_ATTRIB14_NV* = 0x000086D4
-  GL_EVAL_VERTEX_ATTRIB15_NV* = 0x000086D5
-  GL_MAX_MAP_TESSELLATION_NV* = 0x000086D6
-  GL_MAX_RATIONAL_EVAL_ORDER_NV* = 0x000086D7
-
-proc glMapControlPointsNV*(target: TGLenum, index: TGLuint, thetype: TGLenum, 
-                           ustride: TGLsizei, vstride: TGLsizei, uorder: TGLint, 
-                           vorder: TGLint, thepacked: TGLboolean, points: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glMapParameterivNV*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glMapParameterfvNV*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetMapControlPointsNV*(target: TGLenum, index: TGLuint, thetype: TGLenum, 
-                              ustride: TGLsizei, vstride: TGLsizei, 
-                              thepacked: TGLboolean, points: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glGetMapParameterivNV*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetMapParameterfvNV*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetMapAttribParameterivNV*(target: TGLenum, index: TGLuint, pname: TGLenum, 
-                                  params: PGLint){.dynlib: dllname, importc.}
-proc glGetMapAttribParameterfvNV*(target: TGLenum, index: TGLuint, pname: TGLenum, 
-                                  params: PGLfloat){.dynlib: dllname, importc.}
-proc glEvalMapsNV*(target: TGLenum, mode: TGLenum){.dynlib: dllname, importc.}
-  #***** GL_NV_fence *****//
-const 
-  GL_ALL_COMPLETED_NV* = 0x000084F2
-  GL_FENCE_STATUS_NV* = 0x000084F3
-  GL_FENCE_CONDITION_NV* = 0x000084F4
-
-proc glGenFencesNV*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.}
-proc glDeleteFencesNV*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.}
-proc glSetFenceNV*(fence: TGLuint, condition: TGLenum){.dynlib: dllname, importc.}
-proc glTestFenceNV*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glFinishFenceNV*(fence: TGLuint){.dynlib: dllname, importc.}
-proc glIsFenceNV*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glGetFenceivNV*(fence: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-  #***** GL_NV_fog_distance *****//
-const 
-  GL_FOG_DISTANCE_MODE_NV* = 0x0000855A
-  GL_EYE_RADIAL_NV* = 0x0000855B
-  GL_EYE_PLANE_ABSOLUTE_NV* = 0x0000855C
-
-  #***** GL_NV_light_max_exponent *****//
-const 
-  GL_MAX_SHININESS_NV* = 0x00008504
-  GL_MAX_SPOT_EXPONENT_NV* = 0x00008505
-
-  #***** GL_NV_multisample_filter_hint *****//
-const 
-  GL_MULTISAMPLE_FILTER_HINT_NV* = 0x00008534
-
-  #***** GL_NV_occlusion_query *****//
-  # GL_OCCLUSION_TEST_HP  { already defined }
-  # GL_OCCLUSION_TEST_RESULT_HP  { already defined }
-const 
-  GL_PIXEL_COUNTER_BITS_NV* = 0x00008864
-  GL_CURRENT_OCCLUSION_QUERY_ID_NV* = 0x00008865
-  GL_PIXEL_COUNT_NV* = 0x00008866
-  GL_PIXEL_COUNT_AVAILABLE_NV* = 0x00008867
-
-proc glGenOcclusionQueriesNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glDeleteOcclusionQueriesNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glIsOcclusionQueryNV*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glBeginOcclusionQueryNV*(id: TGLuint){.dynlib: dllname, importc.}
-proc glEndOcclusionQueryNV*(){.dynlib: dllname, importc.}
-proc glGetOcclusionQueryivNV*(id: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetOcclusionQueryuivNV*(id: TGLuint, pname: TGLenum, params: PGLuint){.
-    dynlib: dllname, importc.}
-  #***** GL_NV_packed_depth_stencil *****//
-const 
-  GL_DEPTH_STENCIL_NV* = 0x000084F9
-  GL_UNSIGNED_INT_24_8_NV* = 0x000084FA
-
-  #***** GL_NV_point_sprite *****//
-const 
-  GL_POINT_SPRITE_NV* = 0x00008861
-  GL_COORD_REPLACE_NV* = 0x00008862
-  GL_POINT_SPRITE_R_MODE_NV* = 0x00008863
-
-proc glPointParameteriNV*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glPointParameterivNV*(pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-  #***** GL_NV_register_combiners *****//
-const 
-  GL_REGISTER_COMBINERS_NV* = 0x00008522
-  GL_COMBINER0_NV* = 0x00008550
-  GL_COMBINER1_NV* = 0x00008551
-  GL_COMBINER2_NV* = 0x00008552
-  GL_COMBINER3_NV* = 0x00008553
-  GL_COMBINER4_NV* = 0x00008554
-  GL_COMBINER5_NV* = 0x00008555
-  GL_COMBINER6_NV* = 0x00008556
-  GL_COMBINER7_NV* = 0x00008557
-  GL_VARIABLE_A_NV* = 0x00008523
-  GL_VARIABLE_B_NV* = 0x00008524
-  GL_VARIABLE_C_NV* = 0x00008525
-  GL_VARIABLE_D_NV* = 0x00008526
-  GL_VARIABLE_E_NV* = 0x00008527
-  GL_VARIABLE_F_NV* = 0x00008528
-  GL_VARIABLE_G_NV* = 0x00008529
-  GL_CONSTANT_COLOR0_NV* = 0x0000852A
-  GL_CONSTANT_COLOR1_NV* = 0x0000852B
-  GL_PRIMARY_COLOR_NV* = 0x0000852C
-  GL_SECONDARY_COLOR_NV* = 0x0000852D
-  GL_SPARE0_NV* = 0x0000852E
-  GL_SPARE1_NV* = 0x0000852F
-  GL_UNSIGNED_IDENTITY_NV* = 0x00008536
-  GL_UNSIGNED_INVERT_NV* = 0x00008537
-  GL_EXPAND_NORMAL_NV* = 0x00008538
-  GL_EXPAND_NEGATE_NV* = 0x00008539
-  GL_HALF_BIAS_NORMAL_NV* = 0x0000853A
-  GL_HALF_BIAS_NEGATE_NV* = 0x0000853B
-  GL_SIGNED_IDENTITY_NV* = 0x0000853C
-  GL_SIGNED_NEGATE_NV* = 0x0000853D
-  GL_E_TIMES_F_NV* = 0x00008531
-  GL_SPARE0_PLUS_SECONDARY_COLOR_NV* = 0x00008532
-  GL_SCALE_BY_TWO_NV* = 0x0000853E
-  GL_SCALE_BY_FOUR_NV* = 0x0000853F
-  GL_SCALE_BY_ONE_HALF_NV* = 0x00008540
-  GL_BIAS_BY_NEGATIVE_ONE_HALF_NV* = 0x00008541
-  GL_DISCARD_NV* = 0x00008530
-  constGL_COMBINER_INPUT_NV* = 0x00008542
-  GL_COMBINER_MAPPING_NV* = 0x00008543
-  GL_COMBINER_COMPONENT_USAGE_NV* = 0x00008544
-  GL_COMBINER_AB_DOT_PRODUCT_NV* = 0x00008545
-  GL_COMBINER_CD_DOT_PRODUCT_NV* = 0x00008546
-  GL_COMBINER_MUX_SUM_NV* = 0x00008547
-  GL_COMBINER_SCALE_NV* = 0x00008548
-  GL_COMBINER_BIAS_NV* = 0x00008549
-  GL_COMBINER_AB_OUTPUT_NV* = 0x0000854A
-  GL_COMBINER_CD_OUTPUT_NV* = 0x0000854B
-  GL_COMBINER_SUM_OUTPUT_NV* = 0x0000854C
-  GL_NUM_GENERAL_COMBINERS_NV* = 0x0000854E
-  GL_COLOR_SUM_CLAMP_NV* = 0x0000854F
-  GL_MAX_GENERAL_COMBINERS_NV* = 0x0000854D
-
-proc glCombinerParameterfvNV*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glCombinerParameterivNV*(pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glCombinerParameterfNV*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glCombinerParameteriNV*(pname: TGLenum, param: TGLint){.dynlib: dllname, 
-    importc.}
-proc glCombinerInputNV*(stage: TGLenum, portion: TGLenum, variable: TGLenum, 
-                        input: TGLenum, mapping: TGLenum, componentUsage: TGLenum){.
-    dynlib: dllname, importc.}
-proc glCombinerOutputNV*(stage: TGLenum, portion: TGLenum, abOutput: TGLenum, 
-                         cdOutput: TGLenum, sumOutput: TGLenum, scale: TGLenum, 
-                         bias: TGLenum, abDotProduct: TGLboolean, 
-                         cdDotProduct: TGLboolean, muxSum: TGLboolean){.
-    dynlib: dllname, importc.}
-proc glFinalCombinerInputNV*(variable: TGLenum, input: TGLenum, mapping: TGLenum, 
-                             componentUsage: TGLenum){.dynlib: dllname, importc.}
-proc glGetCombinerInputParameterfvNV*(stage: TGLenum, portion: TGLenum, 
-                                      variable: TGLenum, pname: TGLenum, 
-                                      params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetCombinerInputParameterivNV*(stage: TGLenum, portion: TGLenum, 
-                                      variable: TGLenum, pname: TGLenum, 
-                                      params: PGLint){.dynlib: dllname, importc.}
-proc glGetCombinerOutputParameterfvNV*(stage: TGLenum, portion: TGLenum, 
-                                       pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetCombinerOutputParameterivNV*(stage: TGLenum, portion: TGLenum, 
-                                       pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetFinalCombinerInputParameterfvNV*(variable: TGLenum, pname: TGLenum, 
-    params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetFinalCombinerInputParameterivNV*(variable: TGLenum, pname: TGLenum, 
-    params: PGLint){.dynlib: dllname, importc.}
-  #***** GL_NV_register_combiners2 *****//
-const 
-  GL_PER_STAGE_CONSTANTS_NV* = 0x00008535
-
-proc glCombinerStageParameterfvNV*(stage: TGLenum, pname: TGLenum, 
-                                   params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetCombinerStageParameterfvNV*(stage: TGLenum, pname: TGLenum, 
-                                      params: PGLfloat){.dynlib: dllname, 
-    importc.}
-  #***** GL_NV_texgen_emboss *****//
-const 
-  GL_EMBOSS_MAP_NV* = 0x0000855F
-  GL_EMBOSS_LIGHT_NV* = 0x0000855D
-  GL_EMBOSS_CONSTANT_NV* = 0x0000855E
-
-  #***** GL_NV_texgen_reflection *****//
-const 
-  GL_NORMAL_MAP_NV* = 0x00008511
-  GL_REFLECTION_MAP_NV* = 0x00008512
-
-  #***** GL_NV_texture_compression_vtc *****//
-  # GL_COMPRESSED_RGB_S3TC_DXT1_EXT  { already defined }
-  # GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  { already defined }
-  # GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  { already defined }
-  # GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  { already defined }
-  #***** GL_NV_texture_env_combine4 *****//
-const 
-  GL_COMBINE4_NV* = 0x00008503
-  GL_SOURCE3_RGB_NV* = 0x00008583
-  GL_SOURCE3_ALPHA_NV* = 0x0000858B
-  GL_OPERAND3_RGB_NV* = 0x00008593
-  GL_OPERAND3_ALPHA_NV* = 0x0000859B
-
-  #***** GL_NV_texture_rectangle *****//
-const 
-  GL_TEXTURE_RECTANGLE_NV* = 0x000084F5
-  GL_TEXTURE_BINDING_RECTANGLE_NV* = 0x000084F6
-  GL_PROXY_TEXTURE_RECTANGLE_NV* = 0x000084F7
-  GL_MAX_RECTANGLE_TEXTURE_SIZE_NV* = 0x000084F8
-
-  #***** GL_NV_texture_shader *****//
-const 
-  GL_TEXTURE_SHADER_NV* = 0x000086DE
-  GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV* = 0x000086D9
-  GL_SHADER_OPERATION_NV* = 0x000086DF
-  GL_CULL_MODES_NV* = 0x000086E0
-  GL_OFFSET_TEXTURE_MATRIX_NV* = 0x000086E1
-  GL_OFFSET_TEXTURE_SCALE_NV* = 0x000086E2
-  GL_OFFSET_TEXTURE_BIAS_NV* = 0x000086E3
-  GL_PREVIOUS_TEXTURE_INPUT_NV* = 0x000086E4
-  GL_CONST_EYE_NV* = 0x000086E5
-  GL_SHADER_CONSISTENT_NV* = 0x000086DD
-  GL_PASS_THROUGH_NV* = 0x000086E6
-  GL_CULL_FRAGMENT_NV* = 0x000086E7
-  GL_OFFSET_TEXTURE_2D_NV* = 0x000086E8
-  GL_OFFSET_TEXTURE_RECTANGLE_NV* = 0x0000864C
-  GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV* = 0x0000864D
-  GL_DEPENDENT_AR_TEXTURE_2D_NV* = 0x000086E9
-  GL_DEPENDENT_GB_TEXTURE_2D_NV* = 0x000086EA
-  GL_DOT_PRODUCT_NV* = 0x000086EC
-  GL_DOT_PRODUCT_DEPTH_REPLACE_NV* = 0x000086ED
-  GL_DOT_PRODUCT_TEXTURE_2D_NV* = 0x000086EE
-  GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV* = 0x0000864E
-  GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV* = 0x000086F0
-  GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV* = 0x000086F1
-  GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV* = 0x000086F2
-  GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV* = 0x000086F3
-  GL_HILO_NV* = 0x000086F4
-  GL_DSDT_NV* = 0x000086F5
-  GL_DSDT_MAG_NV* = 0x000086F6
-  GL_DSDT_MAG_VIB_NV* = 0x000086F7
-  GL_UNSIGNED_INT_S8_S8_8_8_NV* = 0x000086DA
-  GL_UNSIGNED_INT_8_8_S8_S8_REV_NV* = 0x000086DB
-  GL_SIGNED_RGBA_NV* = 0x000086FB
-  GL_SIGNED_RGBA8_NV* = 0x000086FC
-  GL_SIGNED_RGB_NV* = 0x000086FE
-  GL_SIGNED_RGB8_NV* = 0x000086FF
-  GL_SIGNED_LUMINANCE_NV* = 0x00008701
-  GL_SIGNED_LUMINANCE8_NV* = 0x00008702
-  GL_SIGNED_LUMINANCE_ALPHA_NV* = 0x00008703
-  GL_SIGNED_LUMINANCE8_ALPHA8_NV* = 0x00008704
-  GL_SIGNED_ALPHA_NV* = 0x00008705
-  GL_SIGNED_ALPHA8_NV* = 0x00008706
-  GL_SIGNED_INTENSITY_NV* = 0x00008707
-  GL_SIGNED_INTENSITY8_NV* = 0x00008708
-  GL_SIGNED_RGB_UNSIGNED_ALPHA_NV* = 0x0000870C
-  GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV* = 0x0000870D
-  GL_HILO16_NV* = 0x000086F8
-  GL_SIGNED_HILO_NV* = 0x000086F9
-  GL_SIGNED_HILO16_NV* = 0x000086FA
-  GL_DSDT8_NV* = 0x00008709
-  GL_DSDT8_MAG8_NV* = 0x0000870A
-  GL_DSDT_MAG_INTENSITY_NV* = 0x000086DC
-  GL_DSDT8_MAG8_INTENSITY8_NV* = 0x0000870B
-  GL_HI_SCALE_NV* = 0x0000870E
-  GL_LO_SCALE_NV* = 0x0000870F
-  GL_DS_SCALE_NV* = 0x00008710
-  GL_DT_SCALE_NV* = 0x00008711
-  GL_MAGNITUDE_SCALE_NV* = 0x00008712
-  GL_VIBRANCE_SCALE_NV* = 0x00008713
-  GL_HI_BIAS_NV* = 0x00008714
-  GL_LO_BIAS_NV* = 0x00008715
-  GL_DS_BIAS_NV* = 0x00008716
-  GL_DT_BIAS_NV* = 0x00008717
-  GL_MAGNITUDE_BIAS_NV* = 0x00008718
-  GL_VIBRANCE_BIAS_NV* = 0x00008719
-  GL_TEXTURE_BORDER_VALUES_NV* = 0x0000871A
-  GL_TEXTURE_HI_SIZE_NV* = 0x0000871B
-  GL_TEXTURE_LO_SIZE_NV* = 0x0000871C
-  GL_TEXTURE_DS_SIZE_NV* = 0x0000871D
-  GL_TEXTURE_DT_SIZE_NV* = 0x0000871E
-  GL_TEXTURE_MAG_SIZE_NV* = 0x0000871F
-
-  #***** GL_NV_texture_shader2 *****//
-const 
-  GL_DOT_PRODUCT_TEXTURE_3D_NV* = 0x000086EF # GL_HILO_NV  { already defined }
-                                             # GL_DSDT_NV  { already defined }
-                                             # GL_DSDT_MAG_NV  { already defined }
-                                             # GL_DSDT_MAG_VIB_NV  { already defined }
-                                             # GL_UNSIGNED_INT_S8_S8_8_8_NV  { already defined }
-                                             # GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  { already defined }
-                                             # GL_SIGNED_RGBA_NV  { already defined }
-                                             # GL_SIGNED_RGBA8_NV  { already defined }
-                                             # GL_SIGNED_RGB_NV  { already defined }
-                                             # GL_SIGNED_RGB8_NV  { already defined }
-                                             # GL_SIGNED_LUMINANCE_NV  { already defined }
-                                             # GL_SIGNED_LUMINANCE8_NV  { already defined }
-                                             # GL_SIGNED_LUMINANCE_ALPHA_NV  { already defined }
-                                             # GL_SIGNED_LUMINANCE8_ALPHA8_NV  { already defined }
-                                             # GL_SIGNED_ALPHA_NV  { already defined }
-                                             # GL_SIGNED_ALPHA8_NV  { already defined }
-                                             # GL_SIGNED_INTENSITY_NV  { already defined }
-                                             # GL_SIGNED_INTENSITY8_NV  { already defined }
-                                             # GL_SIGNED_RGB_UNSIGNED_ALPHA_NV  { already defined }
-                                             # GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV  { already defined }
-                                             # GL_HILO16_NV  { already defined }
-                                             # GL_SIGNED_HILO_NV  { already defined }
-                                             # GL_SIGNED_HILO16_NV  { already defined }
-                                             # GL_DSDT8_NV  { already defined }
-                                             # GL_DSDT8_MAG8_NV  { already defined }
-                                             # GL_DSDT_MAG_INTENSITY_NV  { already defined }
-                                             # GL_DSDT8_MAG8_INTENSITY8_NV  { already defined }
-
-  #***** GL_NV_texture_shader3 *****//
-const 
-  GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV* = 0x00008850
-  GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV* = 0x00008851
-  GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV* = 0x00008852
-  GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV* = 0x00008853
-  GL_OFFSET_HILO_TEXTURE_2D_NV* = 0x00008854
-  GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV* = 0x00008855
-  GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV* = 0x00008856
-  GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV* = 0x00008857
-  GL_DEPENDENT_HILO_TEXTURE_2D_NV* = 0x00008858
-  GL_DEPENDENT_RGB_TEXTURE_3D_NV* = 0x00008859
-  GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV* = 0x0000885A
-  GL_DOT_PRODUCT_PASS_THROUGH_NV* = 0x0000885B
-  GL_DOT_PRODUCT_TEXTURE_1D_NV* = 0x0000885C
-  GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV* = 0x0000885D
-  GL_HILO8_NV* = 0x0000885E
-  GL_SIGNED_HILO8_NV* = 0x0000885F
-  GL_FORCE_BLUE_TO_ONE_NV* = 0x00008860
-
-  #***** GL_NV_vertex_array_range *****//
-const 
-  constGL_VERTEX_ARRAY_RANGE_NV* = 0x0000851D
-  GL_VERTEX_ARRAY_RANGE_LENGTH_NV* = 0x0000851E
-  GL_VERTEX_ARRAY_RANGE_VALID_NV* = 0x0000851F
-  GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV* = 0x00008520
-  GL_VERTEX_ARRAY_RANGE_POINTER_NV* = 0x00008521
-
-proc glVertexArrayRangeNV*(len: TGLsizei, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glFlushVertexArrayRangeNV*(){.dynlib: dllname, importc.}
-  #***** GL_NV_vertex_array_range2 *****//
-const 
-  GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV* = 0x00008533
-
-  #***** GL_NV_vertex_program *****//
-const 
-  GL_VERTEX_PROGRAM_NV* = 0x00008620
-  GL_VERTEX_PROGRAM_POINT_SIZE_NV* = 0x00008642
-  GL_VERTEX_PROGRAM_TWO_SIDE_NV* = 0x00008643
-  GL_VERTEX_STATE_PROGRAM_NV* = 0x00008621
-  GL_ATTRIB_ARRAY_SIZE_NV* = 0x00008623
-  GL_ATTRIB_ARRAY_STRIDE_NV* = 0x00008624
-  GL_ATTRIB_ARRAY_TYPE_NV* = 0x00008625
-  GL_CURRENT_ATTRIB_NV* = 0x00008626
-  GL_PROGRAM_PARAMETER_NV* = 0x00008644
-  GL_ATTRIB_ARRAY_POINTER_NV* = 0x00008645
-  GL_PROGRAM_TARGET_NV* = 0x00008646
-  GL_PROGRAM_LENGTH_NV* = 0x00008627
-  GL_PROGRAM_RESIDENT_NV* = 0x00008647
-  GL_PROGRAM_STRING_NV* = 0x00008628
-  constGL_TRACK_MATRIX_NV* = 0x00008648
-  GL_TRACK_MATRIX_TRANSFORM_NV* = 0x00008649
-  GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV* = 0x0000862E
-  GL_MAX_TRACK_MATRICES_NV* = 0x0000862F
-  GL_CURRENT_MATRIX_STACK_DEPTH_NV* = 0x00008640
-  GL_CURRENT_MATRIX_NV* = 0x00008641
-  GL_VERTEX_PROGRAM_BINDING_NV* = 0x0000864A
-  GL_PROGRAM_ERROR_POSITION_NV* = 0x0000864B
-  GL_MODELVIEW_PROJECTION_NV* = 0x00008629
-  GL_MATRIX0_NV* = 0x00008630
-  GL_MATRIX1_NV* = 0x00008631
-  GL_MATRIX2_NV* = 0x00008632
-  GL_MATRIX3_NV* = 0x00008633
-  GL_MATRIX4_NV* = 0x00008634
-  GL_MATRIX5_NV* = 0x00008635
-  GL_MATRIX6_NV* = 0x00008636
-  GL_MATRIX7_NV* = 0x00008637
-  GL_IDENTITY_NV* = 0x0000862A
-  GL_INVERSE_NV* = 0x0000862B
-  GL_TRANSPOSE_NV* = 0x0000862C
-  GL_INVERSE_TRANSPOSE_NV* = 0x0000862D
-  GL_VERTEX_ATTRIB_ARRAY0_NV* = 0x00008650
-  GL_VERTEX_ATTRIB_ARRAY1_NV* = 0x00008651
-  GL_VERTEX_ATTRIB_ARRAY2_NV* = 0x00008652
-  GL_VERTEX_ATTRIB_ARRAY3_NV* = 0x00008653
-  GL_VERTEX_ATTRIB_ARRAY4_NV* = 0x00008654
-  GL_VERTEX_ATTRIB_ARRAY5_NV* = 0x00008655
-  GL_VERTEX_ATTRIB_ARRAY6_NV* = 0x00008656
-  GL_VERTEX_ATTRIB_ARRAY7_NV* = 0x00008657
-  GL_VERTEX_ATTRIB_ARRAY8_NV* = 0x00008658
-  GL_VERTEX_ATTRIB_ARRAY9_NV* = 0x00008659
-  GL_VERTEX_ATTRIB_ARRAY10_NV* = 0x0000865A
-  GL_VERTEX_ATTRIB_ARRAY11_NV* = 0x0000865B
-  GL_VERTEX_ATTRIB_ARRAY12_NV* = 0x0000865C
-  GL_VERTEX_ATTRIB_ARRAY13_NV* = 0x0000865D
-  GL_VERTEX_ATTRIB_ARRAY14_NV* = 0x0000865E
-  GL_VERTEX_ATTRIB_ARRAY15_NV* = 0x0000865F
-  GL_MAP1_VERTEX_ATTRIB0_4_NV* = 0x00008660
-  GL_MAP1_VERTEX_ATTRIB1_4_NV* = 0x00008661
-  GL_MAP1_VERTEX_ATTRIB2_4_NV* = 0x00008662
-  GL_MAP1_VERTEX_ATTRIB3_4_NV* = 0x00008663
-  GL_MAP1_VERTEX_ATTRIB4_4_NV* = 0x00008664
-  GL_MAP1_VERTEX_ATTRIB5_4_NV* = 0x00008665
-  GL_MAP1_VERTEX_ATTRIB6_4_NV* = 0x00008666
-  GL_MAP1_VERTEX_ATTRIB7_4_NV* = 0x00008667
-  GL_MAP1_VERTEX_ATTRIB8_4_NV* = 0x00008668
-  GL_MAP1_VERTEX_ATTRIB9_4_NV* = 0x00008669
-  GL_MAP1_VERTEX_ATTRIB10_4_NV* = 0x0000866A
-  GL_MAP1_VERTEX_ATTRIB11_4_NV* = 0x0000866B
-  GL_MAP1_VERTEX_ATTRIB12_4_NV* = 0x0000866C
-  GL_MAP1_VERTEX_ATTRIB13_4_NV* = 0x0000866D
-  GL_MAP1_VERTEX_ATTRIB14_4_NV* = 0x0000866E
-  GL_MAP1_VERTEX_ATTRIB15_4_NV* = 0x0000866F
-  GL_MAP2_VERTEX_ATTRIB0_4_NV* = 0x00008670
-  GL_MAP2_VERTEX_ATTRIB1_4_NV* = 0x00008671
-  GL_MAP2_VERTEX_ATTRIB2_4_NV* = 0x00008672
-  GL_MAP2_VERTEX_ATTRIB3_4_NV* = 0x00008673
-  GL_MAP2_VERTEX_ATTRIB4_4_NV* = 0x00008674
-  GL_MAP2_VERTEX_ATTRIB5_4_NV* = 0x00008675
-  GL_MAP2_VERTEX_ATTRIB6_4_NV* = 0x00008676
-  GL_MAP2_VERTEX_ATTRIB7_4_NV* = 0x00008677
-  GL_MAP2_VERTEX_ATTRIB8_4_NV* = 0x00008678
-  GL_MAP2_VERTEX_ATTRIB9_4_NV* = 0x00008679
-  GL_MAP2_VERTEX_ATTRIB10_4_NV* = 0x0000867A
-  GL_MAP2_VERTEX_ATTRIB11_4_NV* = 0x0000867B
-  GL_MAP2_VERTEX_ATTRIB12_4_NV* = 0x0000867C
-  GL_MAP2_VERTEX_ATTRIB13_4_NV* = 0x0000867D
-  GL_MAP2_VERTEX_ATTRIB14_4_NV* = 0x0000867E
-  GL_MAP2_VERTEX_ATTRIB15_4_NV* = 0x0000867F
-
-proc glBindProgramNV*(target: TGLenum, id: TGLuint){.dynlib: dllname, importc.}
-proc glDeleteProgramsNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.}
-proc glExecuteProgramNV*(target: TGLenum, id: TGLuint, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGenProgramsNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.}
-proc glAreProgramsResidentNV*(n: TGLsizei, ids: PGLuint, residences: PGLboolean): TGLboolean{.
-    dynlib: dllname, importc.}
-proc glRequestResidentProgramsNV*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glGetProgramParameterfvNV*(target: TGLenum, index: TGLuint, pname: TGLenum, 
-                                params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetProgramParameterdvNV*(target: TGLenum, index: TGLuint, pname: TGLenum, 
-                                params: PGLdouble){.dynlib: dllname, importc.}
-proc glGetProgramivNV*(id: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetProgramStringNV*(id: TGLuint, pname: TGLenum, theProgram: PGLubyte){.
-    dynlib: dllname, importc.}
-proc glGetTrackMatrixivNV*(target: TGLenum, address: TGLuint, pname: TGLenum, 
-                           params: PGLint){.dynlib: dllname, importc.}
-proc glGetVertexAttribdvNV*(index: TGLuint, pname: TGLenum, params: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribfvNV*(index: TGLuint, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribivNV*(index: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribPointervNV*(index: TGLuint, pname: TGLenum, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glIsProgramNV*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glLoadProgramNV*(target: TGLenum, id: TGLuint, length: TGLsizei, 
-                      theProgram: PGLubyte){.dynlib: dllname, importc.}
-proc glProgramParameter4fNV*(target: TGLenum, index: TGLuint, x: TGLfloat, 
-                             y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glProgramParameter4fvNV*(target: TGLenum, index: TGLuint, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glProgramParameters4dvNV*(target: TGLenum, index: TGLuint, num: TGLuint, 
-                               params: PGLdouble){.dynlib: dllname, importc.}
-proc glProgramParameters4fvNV*(target: TGLenum, index: TGLuint, num: TGLuint, 
-                               params: PGLfloat){.dynlib: dllname, importc.}
-proc glTrackMatrixNV*(target: TGLenum, address: TGLuint, matrix: TGLenum, 
-                      transform: TGLenum){.dynlib: dllname, importc.}
-proc glVertexAttribPointerNV*(index: TGLuint, size: TGLint, thetype: TGLenum, 
-                              stride: TGLsizei, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib1sNV*(index: TGLuint, x: TGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib1fNV*(index: TGLuint, x: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib1dNV*(index: TGLuint, x: TGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib2sNV*(index: TGLuint, x: TGLshort, y: TGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib2fNV*(index: TGLuint, x: TGLfloat, y: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib2dNV*(index: TGLuint, x: TGLdouble, y: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3sNV*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3fNV*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3dNV*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib4sNV*(index: TGLuint, x: TGLshort, y: TGLshort, z: TGLshort, 
-                         w: TGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4fNV*(index: TGLuint, x: TGLfloat, y: TGLfloat, z: TGLfloat, 
-                         w: TGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib4dNV*(index: TGLuint, x: TGLdouble, y: TGLdouble, z: TGLdouble, 
-                         w: TGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib4ubNV*(index: TGLuint, x: TGLubyte, y: TGLubyte, z: TGLubyte, 
-                          w: TGLubyte){.dynlib: dllname, importc.}
-proc glVertexAttrib1svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib1fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib1dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib2svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib2fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib2dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib3svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib3fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib3dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib4svNV*(index: TGLuint, v: PGLshort){.dynlib: dllname, importc.}
-proc glVertexAttrib4fvNV*(index: TGLuint, v: PGLfloat){.dynlib: dllname, importc.}
-proc glVertexAttrib4dvNV*(index: TGLuint, v: PGLdouble){.dynlib: dllname, importc.}
-proc glVertexAttrib4ubvNV*(index: TGLuint, v: PGLubyte){.dynlib: dllname, importc.}
-proc glVertexAttribs1svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs1fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs1dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs2svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs2fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs2dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs3svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs3fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs3dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs4svNV*(index: TGLuint, n: TGLsizei, v: PGLshort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs4fvNV*(index: TGLuint, n: TGLsizei, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs4dvNV*(index: TGLuint, n: TGLsizei, v: PGLdouble){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs4ubvNV*(index: TGLuint, n: TGLsizei, v: PGLubyte){.
-    dynlib: dllname, importc.}
-  #***** GL_NV_vertex_program1_1 *****//
-  #***** GL_ATI_element_array *****//
-const 
-  GL_ELEMENT_ARRAY_ATI* = 0x00008768
-  GL_ELEMENT_ARRAY_TYPE_ATI* = 0x00008769
-  GL_ELEMENT_ARRAY_POINTER_ATI* = 0x0000876A
-
-proc glElementPointerATI*(thetype: TGLenum, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glDrawElementArrayATI*(mode: TGLenum, count: TGLsizei){.dynlib: dllname, 
-    importc.}
-proc glDrawRangeElementArrayATI*(mode: TGLenum, start: TGLuint, theend: TGLuint, 
-                                 count: TGLsizei){.dynlib: dllname, importc.}
-  #***** GL_ATI_envmap_bumpmap *****//
-const 
-  GL_BUMP_ROT_MATRIX_ATI* = 0x00008775
-  GL_BUMP_ROT_MATRIX_SIZE_ATI* = 0x00008776
-  GL_BUMP_NUM_TEX_UNITS_ATI* = 0x00008777
-  GL_BUMP_TEX_UNITS_ATI* = 0x00008778
-  GL_DUDV_ATI* = 0x00008779
-  GL_DU8DV8_ATI* = 0x0000877A
-  GL_BUMP_ENVMAP_ATI* = 0x0000877B
-  GL_BUMP_TARGET_ATI* = 0x0000877C
-
-proc glTexBumpParameterivATI*(pname: TGLenum, param: PGLint){.dynlib: dllname, 
-    importc.}
-proc glTexBumpParameterfvATI*(pname: TGLenum, param: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetTexBumpParameterivATI*(pname: TGLenum, param: PGLint){.dynlib: dllname, 
-    importc.}
-proc glGetTexBumpParameterfvATI*(pname: TGLenum, param: PGLfloat){.
-    dynlib: dllname, importc.}
-  #***** GL_ATI_fragment_shader *****//
-const 
-  GL_FRAGMENT_SHADER_ATI* = 0x00008920
-  GL_REG_0_ATI* = 0x00008921
-  GL_REG_1_ATI* = 0x00008922
-  GL_REG_2_ATI* = 0x00008923
-  GL_REG_3_ATI* = 0x00008924
-  GL_REG_4_ATI* = 0x00008925
-  GL_REG_5_ATI* = 0x00008926
-  GL_CON_0_ATI* = 0x00008941
-  GL_CON_1_ATI* = 0x00008942
-  GL_CON_2_ATI* = 0x00008943
-  GL_CON_3_ATI* = 0x00008944
-  GL_CON_4_ATI* = 0x00008945
-  GL_CON_5_ATI* = 0x00008946
-  GL_CON_6_ATI* = 0x00008947
-  GL_CON_7_ATI* = 0x00008948
-  GL_MOV_ATI* = 0x00008961
-  GL_ADD_ATI* = 0x00008963
-  GL_MUL_ATI* = 0x00008964
-  GL_SUB_ATI* = 0x00008965
-  GL_DOT3_ATI* = 0x00008966
-  GL_DOT4_ATI* = 0x00008967
-  GL_MAD_ATI* = 0x00008968
-  GL_LERP_ATI* = 0x00008969
-  GL_CND_ATI* = 0x0000896A
-  GL_CND0_ATI* = 0x0000896B
-  GL_DOT2_ADD_ATI* = 0x0000896C
-  GL_SECONDARY_INTERPOLATOR_ATI* = 0x0000896D
-  GL_SWIZZLE_STR_ATI* = 0x00008976
-  GL_SWIZZLE_STQ_ATI* = 0x00008977
-  GL_SWIZZLE_STR_DR_ATI* = 0x00008978
-  GL_SWIZZLE_STQ_DQ_ATI* = 0x00008979
-  GL_RED_BIT_ATI* = 0x00000001
-  GL_GREEN_BIT_ATI* = 0x00000002
-  GL_BLUE_BIT_ATI* = 0x00000004
-  GL_2X_BIT_ATI* = 0x00000001
-  GL_4X_BIT_ATI* = 0x00000002
-  GL_8X_BIT_ATI* = 0x00000004
-  GL_HALF_BIT_ATI* = 0x00000008
-  GL_QUARTER_BIT_ATI* = 0x00000010
-  GL_EIGHTH_BIT_ATI* = 0x00000020
-  GL_SATURATE_BIT_ATI* = 0x00000040 # GL_2X_BIT_ATI  { already defined }
-  GL_COMP_BIT_ATI* = 0x00000002
-  GL_NEGATE_BIT_ATI* = 0x00000004
-  GL_BIAS_BIT_ATI* = 0x00000008
-
-proc glGenFragmentShadersATI*(range: TGLuint): TGLuint{.dynlib: dllname, importc.}
-proc glBindFragmentShaderATI*(id: TGLuint){.dynlib: dllname, importc.}
-proc glDeleteFragmentShaderATI*(id: TGLuint){.dynlib: dllname, importc.}
-proc glBeginFragmentShaderATI*(){.dynlib: dllname, importc.}
-proc glEndFragmentShaderATI*(){.dynlib: dllname, importc.}
-proc glPassTexCoordATI*(dst: TGLuint, coord: TGLuint, swizzle: TGLenum){.
-    dynlib: dllname, importc.}
-proc glSampleMapATI*(dst: TGLuint, interp: TGLuint, swizzle: TGLenum){.
-    dynlib: dllname, importc.}
-proc glColorFragmentOp1ATI*(op: TGLenum, dst: TGLuint, dstMask: TGLuint, 
-                            dstMod: TGLuint, arg1: TGLuint, arg1Rep: TGLuint, 
-                            arg1Mod: TGLuint){.dynlib: dllname, importc.}
-proc glColorFragmentOp2ATI*(op: TGLenum, dst: TGLuint, dstMask: TGLuint, 
-                            dstMod: TGLuint, arg1: TGLuint, arg1Rep: TGLuint, 
-                            arg1Mod: TGLuint, arg2: TGLuint, arg2Rep: TGLuint, 
-                            arg2Mod: TGLuint){.dynlib: dllname, importc.}
-proc glColorFragmentOp3ATI*(op: TGLenum, dst: TGLuint, dstMask: TGLuint, 
-                            dstMod: TGLuint, arg1: TGLuint, arg1Rep: TGLuint, 
-                            arg1Mod: TGLuint, arg2: TGLuint, arg2Rep: TGLuint, 
-                            arg2Mod: TGLuint, arg3: TGLuint, arg3Rep: TGLuint, 
-                            arg3Mod: TGLuint){.dynlib: dllname, importc.}
-proc glAlphaFragmentOp1ATI*(op: TGLenum, dst: TGLuint, dstMod: TGLuint, 
-                            arg1: TGLuint, arg1Rep: TGLuint, arg1Mod: TGLuint){.
-    dynlib: dllname, importc.}
-proc glAlphaFragmentOp2ATI*(op: TGLenum, dst: TGLuint, dstMod: TGLuint, 
-                            arg1: TGLuint, arg1Rep: TGLuint, arg1Mod: TGLuint, 
-                            arg2: TGLuint, arg2Rep: TGLuint, arg2Mod: TGLuint){.
-    dynlib: dllname, importc.}
-proc glAlphaFragmentOp3ATI*(op: TGLenum, dst: TGLuint, dstMod: TGLuint, 
-                            arg1: TGLuint, arg1Rep: TGLuint, arg1Mod: TGLuint, 
-                            arg2: TGLuint, arg2Rep: TGLuint, arg2Mod: TGLuint, 
-                            arg3: TGLuint, arg3Rep: TGLuint, arg3Mod: TGLuint){.
-    dynlib: dllname, importc.}
-proc glSetFragmentShaderConstantATI*(dst: TGLuint, value: PGLfloat){.
-    dynlib: dllname, importc.}
-  #***** GL_ATI_pn_triangles *****//
-const 
-  GL_PN_TRIANGLES_ATI* = 0x000087F0
-  GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI* = 0x000087F1
-  GL_PN_TRIANGLES_POINT_MODE_ATI* = 0x000087F2
-  GL_PN_TRIANGLES_NORMAL_MODE_ATI* = 0x000087F3
-  GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI* = 0x000087F4
-  GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI* = 0x000087F5
-  GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI* = 0x000087F6
-  GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI* = 0x000087F7
-  GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI* = 0x000087F8
-
-proc glPNTrianglesiATI*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glPNTrianglesfATI*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-  #***** GL_ATI_texture_mirror_once *****//
-const 
-  GL_MIRROR_CLAMP_ATI* = 0x00008742
-  GL_MIRROR_CLAMP_TO_EDGE_ATI* = 0x00008743
-
-  #***** GL_ATI_vertex_array_object *****//
-const 
-  GL_STATIC_ATI* = 0x00008760
-  GL_DYNAMIC_ATI* = 0x00008761
-  GL_PRESERVE_ATI* = 0x00008762
-  GL_DISCARD_ATI* = 0x00008763
-  GL_OBJECT_BUFFER_SIZE_ATI* = 0x00008764
-  GL_OBJECT_BUFFER_USAGE_ATI* = 0x00008765
-  GL_ARRAY_OBJECT_BUFFER_ATI* = 0x00008766
-  GL_ARRAY_OBJECT_OFFSET_ATI* = 0x00008767
-
-proc glNewObjectBufferATI*(size: TGLsizei, pointer: PGLvoid, usage: TGLenum): TGLuint{.
-    dynlib: dllname, importc.}
-proc glIsObjectBufferATI*(buffer: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glUpdateObjectBufferATI*(buffer: TGLuint, offset: TGLuint, size: TGLsizei, 
-                              pointer: PGLvoid, preserve: TGLenum){.
-    dynlib: dllname, importc.}
-proc glGetObjectBufferfvATI*(buffer: TGLuint, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetObjectBufferivATI*(buffer: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glDeleteObjectBufferATI*(buffer: TGLuint){.dynlib: dllname, importc.}
-proc glArrayObjectATI*(thearray: TGLenum, size: TGLint, thetype: TGLenum, 
-                       stride: TGLsizei, buffer: TGLuint, offset: TGLuint){.
-    dynlib: dllname, importc.}
-proc glGetArrayObjectfvATI*(thearray: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetArrayObjectivATI*(thearray: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glVariantArrayObjectATI*(id: TGLuint, thetype: TGLenum, stride: TGLsizei, 
-                              buffer: TGLuint, offset: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glGetVariantArrayObjectfvATI*(id: TGLuint, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetVariantArrayObjectivATI*(id: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-  #***** GL_ATI_vertex_streams *****//
-const 
-  GL_MAX_VERTEX_STREAMS_ATI* = 0x0000876B
-  GL_VERTEX_STREAM0_ATI* = 0x0000876C
-  GL_VERTEX_STREAM1_ATI* = 0x0000876D
-  GL_VERTEX_STREAM2_ATI* = 0x0000876E
-  GL_VERTEX_STREAM3_ATI* = 0x0000876F
-  GL_VERTEX_STREAM4_ATI* = 0x00008770
-  GL_VERTEX_STREAM5_ATI* = 0x00008771
-  GL_VERTEX_STREAM6_ATI* = 0x00008772
-  GL_VERTEX_STREAM7_ATI* = 0x00008773
-  GL_VERTEX_SOURCE_ATI* = 0x00008774
-
-proc glVertexStream1s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream1i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream1f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream1d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream1sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream1iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream1fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream1dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream2s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream2i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream2f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream2d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream2sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream2iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream2fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream2dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream3s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream3i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream3f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream3d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream3sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream3iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream3fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream3dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream4s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream4i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream4f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream4d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glVertexStream4sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glVertexStream4iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glVertexStream4fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glVertexStream4dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3b*(stream: TGLenum, coords: TGLByte){.dynlib: dllname, importc.}
-proc glNormalStream3s*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3i*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glNormalStream3f*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3d*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3bv*(stream: TGLenum, coords: TGLByte){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3sv*(stream: TGLenum, coords: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3iv*(stream: TGLenum, coords: TGLint){.dynlib: dllname, importc.}
-proc glNormalStream3fv*(stream: TGLenum, coords: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glNormalStream3dv*(stream: TGLenum, coords: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glClientActiveVertexStream*(stream: TGLenum){.dynlib: dllname, importc.}
-proc glVertexBlendEnvi*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glVertexBlendEnvf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-  #***** GL_3DFX_texture_compression_FXT1 *****//
-const 
-  GL_COMPRESSED_RGB_FXT1_3DFX* = 0x000086B0
-  GL_COMPRESSED_RGBA_FXT1_3DFX* = 0x000086B1
-
-  #***** GL_IBM_cull_vertex *****//
-const 
-  GL_CULL_VERTEX_IBM* = 0x0001928A
-
-  #***** GL_IBM_multimode_draw_arrays *****//
-proc glMultiModeDrawArraysIBM*(mode: PGLenum, first: PGLint, count: PGLsizei, 
-                               primcount: TGLsizei, modestride: TGLint){.
-    dynlib: dllname, importc.}
-proc glMultiModeDrawElementsIBM*(mode: PGLenum, count: PGLsizei, 
-                                 thetype: TGLenum, indices: PGLvoid, 
-                                 primcount: TGLsizei, modestride: TGLint){.
-    dynlib: dllname, importc.}
-  #***** GL_IBM_raster_pos_clip *****//
-const 
-  GL_RASTER_POSITION_UNCLIPPED_IBM* = 0x00019262
-
-  #***** GL_IBM_texture_mirrored_repeat *****//
-const 
-  GL_MIRRORED_REPEAT_IBM* = 0x00008370
-
-  #***** GL_IBM_vertex_array_lists *****//
-const 
-  GL_VERTEX_ARRAY_LIST_IBM* = 0x0001929E
-  GL_NORMAL_ARRAY_LIST_IBM* = 0x0001929F
-  GL_COLOR_ARRAY_LIST_IBM* = 0x000192A0
-  GL_INDEX_ARRAY_LIST_IBM* = 0x000192A1
-  GL_TEXTURE_COORD_ARRAY_LIST_IBM* = 0x000192A2
-  GL_EDGE_FLAG_ARRAY_LIST_IBM* = 0x000192A3
-  GL_FOG_COORDINATE_ARRAY_LIST_IBM* = 0x000192A4
-  GL_SECONDARY_COLOR_ARRAY_LIST_IBM* = 0x000192A5
-  GL_VERTEX_ARRAY_LIST_STRIDE_IBM* = 0x000192A8
-  GL_NORMAL_ARRAY_LIST_STRIDE_IBM* = 0x000192A9
-  GL_COLOR_ARRAY_LIST_STRIDE_IBM* = 0x000192AA
-  GL_INDEX_ARRAY_LIST_STRIDE_IBM* = 0x000192AB
-  GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM* = 0x000192AC
-  GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM* = 0x000192AD
-  GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM* = 0x000192AE
-  GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM* = 0x000192AF
-
-proc glColorPointerListIBM*(size: TGLint, thetype: TGLenum, stride: TGLint, 
-                            pointer: PGLvoid, ptrstride: TGLint){.
-    dynlib: dllname, importc.}
-proc glSecondaryColorPointerListIBM*(size: TGLint, thetype: TGLenum, 
-                                     stride: TGLint, pointer: PGLvoid, 
-                                     ptrstride: TGLint){.dynlib: dllname, importc.}
-proc glEdgeFlagPointerListIBM*(stride: TGLint, pointer: PGLboolean, 
-                               ptrstride: TGLint){.dynlib: dllname, importc.}
-proc glFogCoordPointerListIBM*(thetype: TGLenum, stride: TGLint, pointer: PGLvoid, 
-                               ptrstride: TGLint){.dynlib: dllname, importc.}
-proc glNormalPointerListIBM*(thetype: TGLenum, stride: TGLint, pointer: PGLvoid, 
-                             ptrstride: TGLint){.dynlib: dllname, importc.}
-proc glTexCoordPointerListIBM*(size: TGLint, thetype: TGLenum, stride: TGLint, 
-                               pointer: PGLvoid, ptrstride: TGLint){.
-    dynlib: dllname, importc.}
-proc glVertexPointerListIBM*(size: TGLint, thetype: TGLenum, stride: TGLint, 
-                             pointer: PGLvoid, ptrstride: TGLint){.
-    dynlib: dllname, importc.}
-  #***** GL_MESA_resize_buffers *****//
-proc glResizeBuffersMESA*(){.dynlib: dllname, importc.}
-  #***** GL_MESA_window_pos *****//
-proc glWindowPos2dMESA*(x: TGLdouble, y: TGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos2fMESA*(x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos2iMESA*(x: TGLint, y: TGLint){.dynlib: dllname, importc.}
-proc glWindowPos2sMESA*(x: TGLshort, y: TGLshort){.dynlib: dllname, importc.}
-proc glWindowPos2ivMESA*(p: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos2svMESA*(p: PGLshort){.dynlib: dllname, importc.}
-proc glWindowPos2fvMESA*(p: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos2dvMESA*(p: PGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos3iMESA*(x: TGLint, y: TGLint, z: TGLint){.dynlib: dllname, importc.}
-proc glWindowPos3sMESA*(x: TGLshort, y: TGLshort, z: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3fMESA*(x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3dMESA*(x: TGLdouble, y: TGLdouble, z: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3ivMESA*(p: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos3svMESA*(p: PGLshort){.dynlib: dllname, importc.}
-proc glWindowPos3fvMESA*(p: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos3dvMESA*(p: PGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos4iMESA*(x: TGLint, y: TGLint, z: TGLint, w: TGLint){.
-    dynlib: dllname, importc.}
-proc glWindowPos4sMESA*(x: TGLshort, y: TGLshort, z: TGLshort, w: TGLshort){.
-    dynlib: dllname, importc.}
-proc glWindowPos4fMESA*(x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glWindowPos4dMESA*(x: TGLdouble, y: TGLdouble, z: TGLdouble, w: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glWindowPos4ivMESA*(p: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos4svMESA*(p: PGLshort){.dynlib: dllname, importc.}
-proc glWindowPos4fvMESA*(p: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos4dvMESA*(p: PGLdouble){.dynlib: dllname, importc.}
-  #***** GL_OML_interlace *****//
-const 
-  GL_INTERLACE_OML* = 0x00008980
-  GL_INTERLACE_READ_OML* = 0x00008981
-
-  #***** GL_OML_resample *****//
-const 
-  GL_PACK_RESAMPLE_OML* = 0x00008984
-  GL_UNPACK_RESAMPLE_OML* = 0x00008985
-  GL_RESAMPLE_REPLICATE_OML* = 0x00008986
-  GL_RESAMPLE_ZERO_FILL_OML* = 0x00008987
-  GL_RESAMPLE_AVERAGE_OML* = 0x00008988
-  GL_RESAMPLE_DECIMATE_OML* = 0x00008989 # GL_RESAMPLE_AVERAGE_OML  { already defined }
-
-  #***** GL_OML_subsample *****//
-const 
-  GL_FORMAT_SUBSAMPLE_24_24_OML* = 0x00008982
-  GL_FORMAT_SUBSAMPLE_244_244_OML* = 0x00008983
-
-  #***** GL_SGIS_generate_mipmap *****//
-const 
-  GL_GENERATE_MIPMAP_SGIS* = 0x00008191
-  GL_GENERATE_MIPMAP_HINT_SGIS* = 0x00008192
-
-  #***** GL_SGIS_multisample *****//
-const 
-  GLX_SAMPLE_BUFFERS_SGIS* = 0x000186A0
-  GLX_SAMPLES_SGIS* = 0x000186A1
-  GL_MULTISAMPLE_SGIS* = 0x0000809D
-  GL_SAMPLE_ALPHA_TO_MASK_SGIS* = 0x0000809E
-  GL_SAMPLE_ALPHA_TO_ONE_SGIS* = 0x0000809F
-  constGL_SAMPLE_MASK_SGIS* = 0x000080A0
-  GL_MULTISAMPLE_BIT_EXT* = 0x20000000
-  GL_1PASS_SGIS* = 0x000080A1
-  GL_2PASS_0_SGIS* = 0x000080A2
-  GL_2PASS_1_SGIS* = 0x000080A3
-  GL_4PASS_0_SGIS* = 0x000080A4
-  GL_4PASS_1_SGIS* = 0x000080A5
-  GL_4PASS_2_SGIS* = 0x000080A6
-  GL_4PASS_3_SGIS* = 0x000080A7
-  GL_SAMPLE_BUFFERS_SGIS* = 0x000080A8
-  GL_SAMPLES_SGIS* = 0x000080A9
-  GL_SAMPLE_MASK_VALUE_SGIS* = 0x000080AA
-  GL_SAMPLE_MASK_INVERT_SGIS* = 0x000080AB
-  constGL_SAMPLE_PATTERN_SGIS* = 0x000080AC
-
-proc glSampleMaskSGIS*(value: TGLclampf, invert: TGLboolean){.dynlib: dllname, 
-    importc.}
-proc glSamplePatternSGIS*(pattern: TGLenum){.dynlib: dllname, importc.}
-  #***** GL_SGIS_pixel_texture *****//
-const 
-  GL_PIXEL_TEXTURE_SGIS* = 0x00008353
-  GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS* = 0x00008354
-  GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS* = 0x00008355
-  GL_PIXEL_GROUP_COLOR_SGIS* = 0x00008356
-
-proc glPixelTexGenParameteriSGIS*(pname: TGLenum, param: TGLint){.dynlib: dllname, 
-    importc.}
-proc glPixelTexGenParameterfSGIS*(pname: TGLenum, param: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetPixelTexGenParameterivSGIS*(pname: TGLenum, params: TGLint){.
-    dynlib: dllname, importc.}
-proc glGetPixelTexGenParameterfvSGIS*(pname: TGLenum, params: TGLfloat){.
-    dynlib: dllname, importc.}
-  #***** GL_SGIS_texture_border_clamp *****//
-  # GL_CLAMP_TO_BORDER_SGIS  { already defined }
-  #***** GL_SGIS_texture_color_mask *****//
-const 
-  GL_TEXTURE_COLOR_WRITEMASK_SGIS* = 0x000081EF
-
-proc glTextureColorMaskSGIS*(r: TGLboolean, g: TGLboolean, b: TGLboolean, 
-                             a: TGLboolean){.dynlib: dllname, importc.}
-  #***** GL_SGIS_texture_edge_clamp *****//
-const 
-  GL_CLAMP_TO_EDGE_SGIS* = 0x0000812F
-
-  #***** GL_SGIS_texture_lod *****//
-const 
-  GL_TEXTURE_MIN_LOD_SGIS* = 0x0000813A
-  GL_TEXTURE_MAX_LOD_SGIS* = 0x0000813B
-  GL_TEXTURE_BASE_LEVEL_SGIS* = 0x0000813C
-  GL_TEXTURE_MAX_LEVEL_SGIS* = 0x0000813D
-
-  #***** GL_SGIS_depth_texture *****//
-const 
-  GL_DEPTH_COMPONENT16_SGIX* = 0x000081A5
-  GL_DEPTH_COMPONENT24_SGIX* = 0x000081A6
-  GL_DEPTH_COMPONENT32_SGIX* = 0x000081A7
-
-  #***** GL_SGIX_fog_offset *****//
-const 
-  GL_FOG_OFFSET_SGIX* = 0x00008198
-  GL_FOG_OFFSET_VALUE_SGIX* = 0x00008199
-
-  #***** GL_SGIX_interlace *****//
-const 
-  GL_INTERLACE_SGIX* = 0x00008094
-
-  #***** GL_SGIX_shadow_ambient *****//
-const 
-  GL_SHADOW_AMBIENT_SGIX* = 0x000080BF
-
-  #***** GL_SGI_color_matrix *****//
-const 
-  GL_COLOR_MATRIX_SGI* = 0x000080B1
-  GL_COLOR_MATRIX_STACK_DEPTH_SGI* = 0x000080B2
-  GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI* = 0x000080B3
-  GL_POST_COLOR_MATRIX_RED_SCALE_SGI* = 0x000080B4
-  GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI* = 0x000080B5
-  GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI* = 0x000080B6
-  GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI* = 0x000080B7
-  GL_POST_COLOR_MATRIX_RED_BIAS_SGI* = 0x000080B8
-  GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI* = 0x000080B9
-  GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI* = 0x000080BA
-  GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI* = 0x000080BB
-
-  #***** GL_SGI_color_table *****//
-const 
-  constGL_COLOR_TABLE_SGI* = 0x000080D0
-  GL_POST_CONVOLUTION_COLOR_TABLE_SGI* = 0x000080D1
-  GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI* = 0x000080D2
-  GL_PROXY_COLOR_TABLE_SGI* = 0x000080D3
-  GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI* = 0x000080D4
-  GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI* = 0x000080D5
-  GL_COLOR_TABLE_SCALE_SGI* = 0x000080D6
-  GL_COLOR_TABLE_BIAS_SGI* = 0x000080D7
-  GL_COLOR_TABLE_FORMAT_SGI* = 0x000080D8
-  GL_COLOR_TABLE_WIDTH_SGI* = 0x000080D9
-  GL_COLOR_TABLE_RED_SIZE_SGI* = 0x000080DA
-  GL_COLOR_TABLE_GREEN_SIZE_SGI* = 0x000080DB
-  GL_COLOR_TABLE_BLUE_SIZE_SGI* = 0x000080DC
-  GL_COLOR_TABLE_ALPHA_SIZE_SGI* = 0x000080DD
-  GL_COLOR_TABLE_LUMINANCE_SIZE_SGI* = 0x000080DE
-  GL_COLOR_TABLE_INTENSITY_SIZE_SGI* = 0x000080DF
-
-proc glColorTableSGI*(target: TGLenum, internalformat: TGLenum, width: TGLsizei, 
-                      format: TGLenum, thetype: TGLenum, table: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glCopyColorTableSGI*(target: TGLenum, internalformat: TGLenum, x: TGLint, 
-                          y: TGLint, width: TGLsizei){.dynlib: dllname, importc.}
-proc glColorTableParameterivSGI*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glColorTableParameterfvSGI*(target: TGLenum, pname: TGLenum, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetColorTableSGI*(target: TGLenum, format: TGLenum, thetype: TGLenum, 
-                         table: PGLvoid){.dynlib: dllname, importc.}
-proc glGetColorTableParameterivSGI*(target: TGLenum, pname: TGLenum, 
-                                    params: PGLint){.dynlib: dllname, importc.}
-proc glGetColorTableParameterfvSGI*(target: TGLenum, pname: TGLenum, 
-                                    params: PGLfloat){.dynlib: dllname, importc.}
-  #***** GL_SGI_texture_color_table *****//
-const 
-  GL_TEXTURE_COLOR_TABLE_SGI* = 0x000080BC
-  GL_PROXY_TEXTURE_COLOR_TABLE_SGI* = 0x000080BD
-
-  #***** GL_SUN_vertex *****//
-proc glColor4ubVertex2fSUN*(r: TGLubyte, g: TGLubyte, b: TGLubyte, a: TGLubyte, 
-                            x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.}
-proc glColor4ubVertex2fvSUN*(c: PGLubyte, v: PGLfloat){.dynlib: dllname, importc.}
-proc glColor4ubVertex3fSUN*(r: TGLubyte, g: TGLubyte, b: TGLubyte, a: TGLubyte, 
-                            x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glColor4ubVertex3fvSUN*(c: PGLubyte, v: PGLfloat){.dynlib: dllname, importc.}
-proc glColor3fVertex3fSUN*(r: TGLfloat, g: TGLfloat, b: TGLfloat, x: TGLfloat, 
-                           y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.}
-proc glColor3fVertex3fvSUN*(c: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.}
-proc glNormal3fVertex3fSUN*(nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, x: TGLfloat, 
-                            y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.}
-proc glNormal3fVertex3fvSUN*(n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.}
-proc glColor4fNormal3fVertex3fSUN*(r: TGLfloat, g: TGLfloat, b: TGLfloat, 
-                                   a: TGLfloat, nx: TGLfloat, ny: TGLfloat, 
-                                   nz: TGLfloat, x: TGLfloat, y: TGLfloat, 
-                                   z: TGLfloat){.dynlib: dllname, importc.}
-proc glColor4fNormal3fVertex3fvSUN*(c: PGLfloat, n: PGLfloat, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord2fVertex3fSUN*(s: TGLfloat, t: TGLfloat, x: TGLfloat, y: TGLfloat, 
-                              z: TGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord2fVertex3fvSUN*(tc: PGLfloat, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glTexCoord4fVertex4fSUN*(s: TGLfloat, t: TGLfloat, p: TGLfloat, q: TGLfloat, 
-                              x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord4fVertex4fvSUN*(tc: PGLfloat, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glTexCoord2fColor4ubVertex3fSUN*(s: TGLfloat, t: TGLfloat, r: TGLubyte, 
-                                      g: TGLubyte, b: TGLubyte, a: TGLubyte, 
-                                      x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord2fColor4ubVertex3fvSUN*(tc: PGLfloat, c: PGLubyte, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord2fColor3fVertex3fSUN*(s: TGLfloat, t: TGLfloat, r: TGLfloat, 
-                                     g: TGLfloat, b: TGLfloat, x: TGLfloat, 
-                                     y: TGLfloat, z: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glTexCoord2fColor3fVertex3fvSUN*(tc: PGLfloat, c: PGLfloat, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord2fNormal3fVertex3fSUN*(s: TGLfloat, t: TGLfloat, nx: TGLfloat, 
-                                      ny: TGLfloat, nz: TGLfloat, x: TGLfloat, 
-                                      y: TGLfloat, z: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glTexCoord2fNormal3fVertex3fvSUN*(tc: PGLfloat, n: PGLfloat, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord2fColor4fNormal3fVertex3fSUN*(s: TGLfloat, t: TGLfloat, r: TGLfloat, 
-    g: TGLfloat, b: TGLfloat, a: TGLfloat, nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, 
-    x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord2fColor4fNormal3fVertex3fvSUN*(tc: PGLfloat, c: PGLfloat, 
-    n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.}
-proc glTexCoord4fColor4fNormal3fVertex4fSUN*(s: TGLfloat, t: TGLfloat, p: TGLfloat, 
-    q: TGLfloat, r: TGLfloat, g: TGLfloat, b: TGLfloat, a: TGLfloat, nx: TGLfloat, 
-    ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glTexCoord4fColor4fNormal3fVertex4fvSUN*(tc: PGLfloat, c: PGLfloat, 
-    n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiVertex3fSUN*(rc: TGLuint, x: TGLfloat, y: TGLfloat, 
-                                     z: TGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiVertex3fvSUN*(rc: PGLuint, v: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glReplacementCodeuiColor4ubVertex3fSUN*(rc: TGLuint, r: TGLubyte, g: TGLubyte, 
-    b: TGLubyte, a: TGLubyte, x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glReplacementCodeuiColor4ubVertex3fvSUN*(rc: PGLuint, c: PGLubyte, 
-    v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiColor3fVertex3fSUN*(rc: TGLuint, r: TGLfloat, g: TGLfloat, 
-    b: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiColor3fVertex3fvSUN*(rc: PGLuint, c: PGLfloat, 
-    v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiNormal3fVertex3fSUN*(rc: TGLuint, nx: TGLfloat, 
-    ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glReplacementCodeuiNormal3fVertex3fvSUN*(rc: PGLuint, n: PGLfloat, 
-    v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiColor4fNormal3fVertex3fSUN*(rc: TGLuint, r: TGLfloat, 
-    g: TGLfloat, b: TGLfloat, a: TGLfloat, nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, 
-    x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiColor4fNormal3fVertex3fvSUN*(rc: PGLuint, c: PGLfloat, 
-    n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiTexCoord2fVertex3fSUN*(rc: TGLuint, s: TGLfloat, 
-    t: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiTexCoord2fVertex3fvSUN*(rc: PGLuint, tc: PGLfloat, 
-    v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN*(rc: TGLuint, s: TGLfloat, 
-    t: TGLfloat, nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, 
-    z: TGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN*(rc: PGLuint, 
-    tc: PGLfloat, n: PGLfloat, v: PGLfloat){.dynlib: dllname, importc.}
-proc glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN*(rc: TGLuint, 
-    s: TGLfloat, t: TGLfloat, r: TGLfloat, g: TGLfloat, b: TGLfloat, a: TGLfloat, 
-    nx: TGLfloat, ny: TGLfloat, nz: TGLfloat, x: TGLfloat, y: TGLfloat, z: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN*(rc: PGLuint, 
-    tc: PGLfloat, c: PGLfloat, n: PGLfloat, v: PGLfloat){.dynlib: dllname, 
-    importc.}
-  #***** GL_ARB_fragment_program *****//
-const 
-  GL_FRAGMENT_PROGRAM_ARB* = 0x00008804 # GL_PROGRAM_FORMAT_ASCII_ARB  { already defined }
-                                        # GL_PROGRAM_LENGTH_ARB  { already defined }
-                                        # GL_PROGRAM_FORMAT_ARB  { already defined }
-                                        # GL_PROGRAM_BINDING_ARB  { already defined }
-                                        # GL_PROGRAM_INSTRUCTIONS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_INSTRUCTIONS_ARB  { already defined }
-                                        # GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB  { already defined }
-                                        # GL_PROGRAM_TEMPORARIES_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_TEMPORARIES_ARB  { already defined }
-                                        # GL_PROGRAM_NATIVE_TEMPORARIES_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB  { already defined }
-                                        # GL_PROGRAM_PARAMETERS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_PARAMETERS_ARB  { already defined }
-                                        # GL_PROGRAM_NATIVE_PARAMETERS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB  { already defined }
-                                        # GL_PROGRAM_ATTRIBS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_ATTRIBS_ARB  { already defined }
-                                        # GL_PROGRAM_NATIVE_ATTRIBS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB  { already defined }
-                                        # GL_MAX_PROGRAM_ENV_PARAMETERS_ARB  { already defined }
-                                        # GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB  { already defined }
-  GL_PROGRAM_ALU_INSTRUCTIONS_ARB* = 0x00008805
-  GL_PROGRAM_TEX_INSTRUCTIONS_ARB* = 0x00008806
-  GL_PROGRAM_TEX_INDIRECTIONS_ARB* = 0x00008807
-  GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB* = 0x00008808
-  GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB* = 0x00008809
-  GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB* = 0x0000880A
-  GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB* = 0x0000880B
-  GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB* = 0x0000880C
-  GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB* = 0x0000880D
-  GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB* = 0x0000880E
-  GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB* = 0x0000880F
-  GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB* = 0x00008810 # GL_PROGRAM_STRING_ARB  { already defined }
-                                                           # 
-                                                           # GL_PROGRAM_ERROR_POSITION_ARB  { already defined }
-                                                           # GL_CURRENT_MATRIX_ARB  { already defined }
-                                                           # 
-                                                           # GL_TRANSPOSE_CURRENT_MATRIX_ARB  { already defined }
-                                                           # 
-                                                           # GL_CURRENT_MATRIX_STACK_DEPTH_ARB  { already defined }
-                                                           # 
-                                                           # GL_MAX_PROGRAM_MATRICES_ARB  { already defined }
-                                                           # 
-                                                           # GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB  { already defined }
-  GL_MAX_TEXTURE_COORDS_ARB* = 0x00008871
-  GL_MAX_TEXTURE_IMAGE_UNITS_ARB* = 0x00008872 # GL_PROGRAM_ERROR_STRING_ARB  { already defined }
-                                               # GL_MATRIX0_ARB  { already defined }
-                                               # GL_MATRIX1_ARB  { already defined }
-                                               # GL_MATRIX2_ARB  { already defined }
-                                               # GL_MATRIX3_ARB  { already defined }
-                                               # GL_MATRIX4_ARB  { already defined }
-                                               # GL_MATRIX5_ARB  { already defined }
-                                               # GL_MATRIX6_ARB  { already defined }
-                                               # GL_MATRIX7_ARB  { already defined }
-                                               # GL_MATRIX8_ARB  { already defined }
-                                               # GL_MATRIX9_ARB  { already defined }
-                                               # GL_MATRIX10_ARB  { already defined }
-                                               # GL_MATRIX11_ARB  { already defined }
-                                               # GL_MATRIX12_ARB  { already defined }
-                                               # GL_MATRIX13_ARB  { already defined }
-                                               # GL_MATRIX14_ARB  { already defined }
-                                               # GL_MATRIX15_ARB  { already defined }
-                                               # GL_MATRIX16_ARB  { already defined }
-                                               # GL_MATRIX17_ARB  { already defined }
-                                               # GL_MATRIX18_ARB  { already defined }
-                                               # GL_MATRIX19_ARB  { already defined }
-                                               # GL_MATRIX20_ARB  { already defined }
-                                               # GL_MATRIX21_ARB  { already defined }
-                                               # GL_MATRIX22_ARB  { already defined }
-                                               # GL_MATRIX23_ARB  { already defined }
-                                               # GL_MATRIX24_ARB  { already defined }
-                                               # GL_MATRIX25_ARB  { already defined }
-                                               # GL_MATRIX26_ARB  { already defined }
-                                               # GL_MATRIX27_ARB  { already defined }
-                                               # GL_MATRIX28_ARB  { already defined }
-                                               # GL_MATRIX29_ARB  { already defined }
-                                               # GL_MATRIX30_ARB  { already defined }
-                                               # GL_MATRIX31_ARB  { already defined }
-                                               # glProgramStringARB  { already defined }
-                                               # glBindProgramARB  { already defined }
-                                               # glDeleteProgramsARB  { already defined }
-                                               # glGenProgramsARB  { already defined }
-                                               # glProgramEnvParameter4dARB  { already defined }
-                                               # glProgramEnvParameter4dvARB  { already defined }
-                                               # glProgramEnvParameter4fARB  { already defined }
-                                               # glProgramEnvParameter4fvARB  { already defined }
-                                               # glProgramLocalParameter4dARB  { already defined }
-                                               # glProgramLocalParameter4dvARB  { already defined }
-                                               # glProgramLocalParameter4fARB  { already defined }
-                                               # glProgramLocalParameter4fvARB  { already defined }
-                                               # glGetProgramEnvParameterdvARB  { already defined }
-                                               # glGetProgramEnvParameterfvARB  { already defined }
-                                               # glGetProgramLocalParameterdvARB  { already defined }
-                                               # glGetProgramLocalParameterfvARB  { already defined }
-                                               # glGetProgramivARB  { already defined }
-                                               # glGetProgramStringARB  { already defined }
-                                               # glIsProgramARB  { already defined }
-
-  #***** GL_ATI_text_fragment_shader *****
-const 
-  GL_TEXT_FRAGMENT_SHADER_ATI* = 0x00008200 #***** GL_ARB_vertex_buffer_object *****
-
-const 
-  GL_BUFFER_SIZE_ARB* = 0x00008764
-  GL_BUFFER_USAGE_ARB* = 0x00008765
-  GL_ARRAY_BUFFER_ARB* = 0x00008892
-  GL_ELEMENT_ARRAY_BUFFER_ARB* = 0x00008893
-  GL_ARRAY_BUFFER_BINDING_ARB* = 0x00008894
-  GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB* = 0x00008895
-  GL_VERTEX_ARRAY_BUFFER_BINDING_ARB* = 0x00008896
-  GL_NORMAL_ARRAY_BUFFER_BINDING_ARB* = 0x00008897
-  GL_COLOR_ARRAY_BUFFER_BINDING_ARB* = 0x00008898
-  GL_INDEX_ARRAY_BUFFER_BINDING_ARB* = 0x00008899
-  GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB* = 0x0000889A
-  GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB* = 0x0000889B
-  GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB* = 0x0000889C
-  GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB* = 0x0000889D
-  GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB* = 0x0000889E
-  GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB* = 0x0000889F
-  GL_READ_ONLY_ARB* = 0x000088B8
-  GL_WRITE_ONLY_ARB* = 0x000088B9
-  GL_READ_WRITE_ARB* = 0x000088BA
-  GL_BUFFER_ACCESS_ARB* = 0x000088BB
-  GL_BUFFER_MAPPED_ARB* = 0x000088BC
-  GL_BUFFER_MAP_POINTER_ARB* = 0x000088BD
-  GL_STREAM_DRAW_ARB* = 0x000088E0
-  GL_STREAM_READ_ARB* = 0x000088E1
-  GL_STREAM_COPY_ARB* = 0x000088E2
-  GL_STATIC_DRAW_ARB* = 0x000088E4
-  GL_STATIC_READ_ARB* = 0x000088E5
-  GL_STATIC_COPY_ARB* = 0x000088E6
-  GL_DYNAMIC_DRAW_ARB* = 0x000088E8
-  GL_DYNAMIC_READ_ARB* = 0x000088E9
-  GL_DYNAMIC_COPY_ARB* = 0x000088EA
-
-proc glBindBufferARB*(target: TGLenum, buffer: TGLuint){.dynlib: dllname, importc.}
-proc glDeleteBuffersARB*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.}
-proc glGenBuffersARB*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.}
-proc glIsBufferARB*(buffer: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glBufferDataARB*(target: TGLenum, size: TGLsizei, data: PGLvoid, 
-                      usage: TGLenum){.dynlib: dllname, importc.}
-proc glBufferSubDataARB*(target: TGLenum, offset: TGLint, size: TGLsizei, 
-                         data: PGLvoid){.dynlib: dllname, importc.}
-proc glGetBufferSubDataARB*(target: TGLenum, offset: TGLint, size: TGLsizei, 
-                            data: PGLvoid){.dynlib: dllname, importc.}
-proc glMapBufferARB*(target: TGLenum, access: TGLenum): PGLvoid{.dynlib: dllname, 
-    importc.}
-proc glUnmapBufferARB*(target: TGLenum): TGLboolean{.dynlib: dllname, importc.}
-proc glGetBufferParameterivARB*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetBufferPointervARB*(target: TGLenum, pname: TGLenum, params: PPGLvoid){.
-    dynlib: dllname, importc.}
-  #***** GL_APPLE_client_storage *****//
-const 
-  GL_UNPACK_CLIENT_STORAGE_APPLE* = 0x000085B2
-
-  #***** GL_APPLE_element_array *****//
-const 
-  GL_ELEMENT_ARRAY_APPLE* = 0x00008768
-  GL_ELEMENT_ARRAY_TYPE_APPLE* = 0x00008769
-  GL_ELEMENT_ARRAY_POINTER_APPLE* = 0x0000876A
-
-proc glElementPointerAPPLE*(thetype: TGLenum, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glDrawElementArrayAPPLE*(mode: TGLenum, first: TGLint, count: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glDrawRangeElementArrayAPPLE*(mode: TGLenum, start: TGLuint, theend: TGLuint, 
-                                   first: TGLint, count: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glMultiDrawElementArrayAPPLE*(mode: TGLenum, first: PGLint, count: PGLsizei, 
-                                   primcount: TGLsizei){.dynlib: dllname, importc.}
-proc glMultiDrawRangeElementArrayAPPLE*(mode: TGLenum, start: TGLuint, 
-                                        theend: TGLuint, first: PGLint, 
-                                        count: PGLsizei, primcount: TGLsizei){.
-    dynlib: dllname, importc.}
-  #***** GL_APPLE_fence *****//
-const 
-  GL_DRAW_PIXELS_APPLE* = 0x00008A0A
-  GL_FENCE_APPLE* = 0x00008A0B
-
-proc glGenFencesAPPLE*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.}
-proc glDeleteFencesAPPLE*(n: TGLsizei, fences: PGLuint){.dynlib: dllname, importc.}
-proc glSetFenceAPPLE*(fence: TGLuint){.dynlib: dllname, importc.}
-proc glIsFenceAPPLE*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glTestFenceAPPLE*(fence: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glFinishFenceAPPLE*(fence: TGLuint){.dynlib: dllname, importc.}
-proc glTestObjectAPPLE*(theobject: TGLenum, name: TGLuint): TGLboolean{.
-    dynlib: dllname, importc.}
-proc glFinishObjectAPPLE*(theobject: TGLenum, name: TGLint){.dynlib: dllname, 
-    importc.}
-  #***** GL_APPLE_vertex_array_object *****//
-const 
-  GL_VERTEX_ARRAY_BINDING_APPLE* = 0x000085B5
-
-proc glBindVertexArrayAPPLE*(thearray: TGLuint){.dynlib: dllname, importc.}
-proc glDeleteVertexArraysAPPLE*(n: TGLsizei, arrays: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glGenVertexArraysAPPLE*(n: TGLsizei, arrays: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glIsVertexArrayAPPLE*(thearray: TGLuint): TGLboolean{.dynlib: dllname, 
-    importc.}
-  #***** GL_APPLE_vertex_array_range *****//
-const 
-  constGL_VERTEX_ARRAY_RANGE_APPLE* = 0x0000851D
-  GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE* = 0x0000851E
-  GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE* = 0x00008520
-  GL_VERTEX_ARRAY_RANGE_POINTER_APPLE* = 0x00008521
-  GL_VERTEX_ARRAY_STORAGE_HINT_APPLE* = 0x0000851F
-  GL_STORAGE_CACHED_APPLE* = 0x000085BE
-  GL_STORAGE_SHARED_APPLE* = 0x000085BF
-
-proc glVertexArrayRangeAPPLE*(len: TGLsizei, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glFlushVertexArrayRangeAPPLE*(len: TGLsizei, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glVertexArrayParameteriAPPLE*(pname: TGLenum, param: TGLint){.
-    dynlib: dllname, importc.}
-  #***** GL_ARB_matrix_palette *****//
-const 
-  GL_MATRIX_PALETTE_ARB* = 0x00008840
-  GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB* = 0x00008841
-  GL_MAX_PALETTE_MATRICES_ARB* = 0x00008842
-  constGL_CURRENT_PALETTE_MATRIX_ARB* = 0x00008843
-  GL_MATRIX_INDEX_ARRAY_ARB* = 0x00008844
-  GL_CURRENT_MATRIX_INDEX_ARB* = 0x00008845
-  GL_MATRIX_INDEX_ARRAY_SIZE_ARB* = 0x00008846
-  GL_MATRIX_INDEX_ARRAY_TYPE_ARB* = 0x00008847
-  GL_MATRIX_INDEX_ARRAY_STRIDE_ARB* = 0x00008848
-  GL_MATRIX_INDEX_ARRAY_POINTER_ARB* = 0x00008849
-
-proc glCurrentPaletteMatrixARB*(index: TGLint){.dynlib: dllname, importc.}
-proc glMatrixIndexubvARB*(size: TGLint, indices: PGLubyte){.dynlib: dllname, 
-    importc.}
-proc glMatrixIndexusvARB*(size: TGLint, indices: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glMatrixIndexuivARB*(size: TGLint, indices: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glMatrixIndexPointerARB*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                              pointer: PGLvoid){.dynlib: dllname, importc.}
-  #***** GL_NV_element_array *****//
-const 
-  GL_ELEMENT_ARRAY_TYPE_NV* = 0x00008769
-  GL_ELEMENT_ARRAY_POINTER_NV* = 0x0000876A
-
-proc glElementPointerNV*(thetype: TGLenum, pointer: PGLvoid){.dynlib: dllname, 
-    importc.}
-proc glDrawElementArrayNV*(mode: TGLenum, first: TGLint, count: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glDrawRangeElementArrayNV*(mode: TGLenum, start: TGLuint, theend: TGLuint, 
-                                first: TGLint, count: TGLsizei){.dynlib: dllname, 
-    importc.}
-proc glMultiDrawElementArrayNV*(mode: TGLenum, first: PGLint, count: PGLsizei, 
-                                primcount: TGLsizei){.dynlib: dllname, importc.}
-proc glMultiDrawRangeElementArrayNV*(mode: TGLenum, start: TGLuint, 
-                                     theend: TGLuint, first: PGLint, 
-                                     count: PGLsizei, primcount: TGLsizei){.
-    dynlib: dllname, importc.}
-  #***** GL_NV_float_buffer *****//
-const 
-  GL_FLOAT_R_NV* = 0x00008880
-  GL_FLOAT_RG_NV* = 0x00008881
-  GL_FLOAT_RGB_NV* = 0x00008882
-  GL_FLOAT_RGBA_NV* = 0x00008883
-  GL_FLOAT_R16_NV* = 0x00008884
-  GL_FLOAT_R32_NV* = 0x00008885
-  GL_FLOAT_RG16_NV* = 0x00008886
-  GL_FLOAT_RG32_NV* = 0x00008887
-  GL_FLOAT_RGB16_NV* = 0x00008888
-  GL_FLOAT_RGB32_NV* = 0x00008889
-  GL_FLOAT_RGBA16_NV* = 0x0000888A
-  GL_FLOAT_RGBA32_NV* = 0x0000888B
-  GL_TEXTURE_FLOAT_COMPONENTS_NV* = 0x0000888C
-  GL_FLOAT_CLEAR_COLOR_VALUE_NV* = 0x0000888D
-  GL_FLOAT_RGBA_MODE_NV* = 0x0000888E
-
-  #***** GL_NV_fragment_program *****//
-const 
-  GL_FRAGMENT_PROGRAM_NV* = 0x00008870
-  GL_MAX_TEXTURE_COORDS_NV* = 0x00008871
-  GL_MAX_TEXTURE_IMAGE_UNITS_NV* = 0x00008872
-  GL_FRAGMENT_PROGRAM_BINDING_NV* = 0x00008873
-  GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV* = 0x00008868
-  GL_PROGRAM_ERROR_STRING_NV* = 0x00008874
-
-proc glProgramNamedParameter4fNV*(id: TGLuint, length: TGLsizei, name: PGLubyte, 
-                                  x: TGLfloat, y: TGLfloat, z: TGLfloat, w: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glProgramNamedParameter4dNV*(id: TGLuint, length: TGLsizei, name: PGLubyte, 
-                                  x: TGLdouble, y: TGLdouble, z: TGLdouble, 
-                                  w: TGLdouble){.dynlib: dllname, importc.}
-proc glGetProgramNamedParameterfvNV*(id: TGLuint, length: TGLsizei, 
-                                     name: PGLubyte, params: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetProgramNamedParameterdvNV*(id: TGLuint, length: TGLsizei, 
-                                     name: PGLubyte, params: PGLdouble){.
-    dynlib: dllname, importc.}
-  # glProgramLocalParameter4dARB  { already defined }
-  # glProgramLocalParameter4dvARB  { already defined }
-  # glProgramLocalParameter4fARB  { already defined }
-  # glProgramLocalParameter4fvARB  { already defined }
-  # glGetProgramLocalParameterdvARB  { already defined }
-  # glGetProgramLocalParameterfvARB  { already defined }
-  #***** GL_NV_primitive_restart *****//
-const 
-  constGL_PRIMITIVE_RESTART_NV* = 0x00008558
-  constGL_PRIMITIVE_RESTART_INDEX_NV* = 0x00008559
-
-proc glPrimitiveRestartNV*(){.dynlib: dllname, importc.}
-proc glPrimitiveRestartIndexNV*(index: TGLuint){.dynlib: dllname, importc.}
-  #***** GL_NV_vertex_program2 *****//
-  #***** GL_NV_pixel_data_range *****//
-const 
-  GL_WRITE_PIXEL_DATA_RANGE_NV* = 0x00008878
-  GL_READ_PIXEL_DATA_RANGE_NV* = 0x00008879
-  GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV* = 0x0000887A
-  GL_READ_PIXEL_DATA_RANGE_LENGTH_NV* = 0x0000887B
-  GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV* = 0x0000887C
-  GL_READ_PIXEL_DATA_RANGE_POINTER_NV* = 0x0000887D
-
-proc glPixelDataRangeNV*(target: TGLenum, len: TGLsizei, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glFlushPixelDataRangeNV*(target: TGLenum){.dynlib: dllname, importc.}
-  # wglAllocateMemoryNV  { already defined }
-  # wglFreeMemoryNV  { already defined }
-  #***** GL_EXT_texture_rectangle *****//
-const 
-  GL_TEXTURE_RECTANGLE_EXT* = 0x000084F5
-  GL_TEXTURE_BINDING_RECTANGLE_EXT* = 0x000084F6
-  GL_PROXY_TEXTURE_RECTANGLE_EXT* = 0x000084F7
-  GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT* = 0x000084F8
-
-  #***** GL_S3_s3tc *****//
-const 
-  GL_RGB_S3TC* = 0x000083A0
-  GL_RGB4_S3TC* = 0x000083A1
-  GL_RGBA_S3TC* = 0x000083A2
-  GL_RGBA4_S3TC* = 0x000083A3
-
-  #***** GL_ATI_draw_buffers *****//
-const 
-  GL_MAX_DRAW_BUFFERS_ATI* = 0x00008824
-  GL_DRAW_BUFFER0_ATI* = 0x00008825
-  GL_DRAW_BUFFER1_ATI* = 0x00008826
-  GL_DRAW_BUFFER2_ATI* = 0x00008827
-  GL_DRAW_BUFFER3_ATI* = 0x00008828
-  GL_DRAW_BUFFER4_ATI* = 0x00008829
-  GL_DRAW_BUFFER5_ATI* = 0x0000882A
-  GL_DRAW_BUFFER6_ATI* = 0x0000882B
-  GL_DRAW_BUFFER7_ATI* = 0x0000882C
-  GL_DRAW_BUFFER8_ATI* = 0x0000882D
-  GL_DRAW_BUFFER9_ATI* = 0x0000882E
-  GL_DRAW_BUFFER10_ATI* = 0x0000882F
-  GL_DRAW_BUFFER11_ATI* = 0x00008830
-  GL_DRAW_BUFFER12_ATI* = 0x00008831
-  GL_DRAW_BUFFER13_ATI* = 0x00008832
-  GL_DRAW_BUFFER14_ATI* = 0x00008833
-  GL_DRAW_BUFFER15_ATI* = 0x00008834
-
-proc glDrawBuffersATI*(n: TGLsizei, bufs: PGLenum){.dynlib: dllname, importc.}
-  #***** GL_ATI_texture_env_combine3 *****//
-const 
-  GL_MODULATE_ADD_ATI* = 0x00008744
-  GL_MODULATE_SIGNED_ADD_ATI* = 0x00008745
-  GL_MODULATE_SUBTRACT_ATI* = 0x00008746
-
-  #***** GL_ATI_texture_float *****//
-const 
-  GL_RGBA_FLOAT32_ATI* = 0x00008814
-  GL_RGB_FLOAT32_ATI* = 0x00008815
-  GL_ALPHA_FLOAT32_ATI* = 0x00008816
-  GL_INTENSITY_FLOAT32_ATI* = 0x00008817
-  GL_LUMINANCE_FLOAT32_ATI* = 0x00008818
-  GL_LUMINANCE_ALPHA_FLOAT32_ATI* = 0x00008819
-  GL_RGBA_FLOAT16_ATI* = 0x0000881A
-  GL_RGB_FLOAT16_ATI* = 0x0000881B
-  GL_ALPHA_FLOAT16_ATI* = 0x0000881C
-  GL_INTENSITY_FLOAT16_ATI* = 0x0000881D
-  GL_LUMINANCE_FLOAT16_ATI* = 0x0000881E
-  GL_LUMINANCE_ALPHA_FLOAT16_ATI* = 0x0000881F
-
-  #***** GL_NV_texture_expand_normal *****//
-const 
-  GL_TEXTURE_UNSIGNED_REMAP_MODE_NV* = 0x0000888F
-
-  #***** GL_NV_half_float *****//
-const 
-  GL_HALF_FLOAT_NV* = 0x0000140B
-
-proc glVertex2hNV*(x: TGLushort, y: TGLushort){.dynlib: dllname, importc.}
-proc glVertex2hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glVertex3hNV*(x: TGLushort, y: TGLushort, z: TGLushort){.dynlib: dllname, 
-    importc.}
-proc glVertex3hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glVertex4hNV*(x: TGLushort, y: TGLushort, z: TGLushort, w: TGLushort){.
-    dynlib: dllname, importc.}
-proc glVertex4hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glNormal3hNV*(nx: TGLushort, ny: TGLushort, nz: TGLushort){.dynlib: dllname, 
-    importc.}
-proc glNormal3hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glColor3hNV*(red: TGLushort, green: TGLushort, blue: TGLushort){.
-    dynlib: dllname, importc.}
-proc glColor3hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glColor4hNV*(red: TGLushort, green: TGLushort, blue: TGLushort, 
-                  alpha: TGLushort){.dynlib: dllname, importc.}
-proc glColor4hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glTexCoord1hNV*(s: TGLushort){.dynlib: dllname, importc.}
-proc glTexCoord1hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glTexCoord2hNV*(s: TGLushort, t: TGLushort){.dynlib: dllname, importc.}
-proc glTexCoord2hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glTexCoord3hNV*(s: TGLushort, t: TGLushort, r: TGLushort){.dynlib: dllname, 
-    importc.}
-proc glTexCoord3hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glTexCoord4hNV*(s: TGLushort, t: TGLushort, r: TGLushort, q: TGLushort){.
-    dynlib: dllname, importc.}
-proc glTexCoord4hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glMultiTexCoord1hNV*(target: TGLenum, s: TGLushort){.dynlib: dllname, importc.}
-proc glMultiTexCoord1hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord2hNV*(target: TGLenum, s: TGLushort, t: TGLushort){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord2hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord3hNV*(target: TGLenum, s: TGLushort, t: TGLushort, r: TGLushort){.
-    dynlib: dllname, importc.}
-proc glMultiTexCoord3hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glMultiTexCoord4hNV*(target: TGLenum, s: TGLushort, t: TGLushort, r: TGLushort, 
-                          q: TGLushort){.dynlib: dllname, importc.}
-proc glMultiTexCoord4hvNV*(target: TGLenum, v: PGLushort){.dynlib: dllname, 
-    importc.}
-proc glFogCoordhNV*(fog: TGLushort){.dynlib: dllname, importc.}
-proc glFogCoordhvNV*(fog: PGLushort){.dynlib: dllname, importc.}
-proc glSecondaryColor3hNV*(red: TGLushort, green: TGLushort, blue: TGLushort){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3hvNV*(v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexWeighthNV*(weight: TGLushort){.dynlib: dllname, importc.}
-proc glVertexWeighthvNV*(weight: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib1hNV*(index: TGLuint, x: TGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib1hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib2hNV*(index: TGLuint, x: TGLushort, y: TGLushort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib2hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib3hNV*(index: TGLuint, x: TGLushort, y: TGLushort, z: TGLushort){.
-    dynlib: dllname, importc.}
-proc glVertexAttrib3hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib4hNV*(index: TGLuint, x: TGLushort, y: TGLushort, z: TGLushort, 
-                         w: TGLushort){.dynlib: dllname, importc.}
-proc glVertexAttrib4hvNV*(index: TGLuint, v: PGLushort){.dynlib: dllname, importc.}
-proc glVertexAttribs1hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs2hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs3hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){.
-    dynlib: dllname, importc.}
-proc glVertexAttribs4hvNV*(index: TGLuint, n: TGLsizei, v: PGLushort){.
-    dynlib: dllname, importc.}
-  #***** GL_ATI_map_object_buffer *****//
-proc glMapObjectBufferATI*(buffer: TGLuint): PGLvoid{.dynlib: dllname, importc.}
-proc glUnmapObjectBufferATI*(buffer: TGLuint){.dynlib: dllname, importc.}
-  #***** GL_ATI_separate_stencil *****//
-const 
-  GL_KEEP* = 0x00001E00
-  GL_ZERO* = 0x00000000
-  GL_REPLACE* = 0x00001E01
-  GL_INCR* = 0x00001E02
-  GL_DECR* = 0x00001E03
-  GL_INVERT* = 0x0000150A
-  GL_NEVER* = 0x00000200
-  GL_LESS* = 0x00000201
-  GL_LEQUAL* = 0x00000203
-  GL_GREATER* = 0x00000204
-  GL_GEQUAL* = 0x00000206
-  GL_EQUAL* = 0x00000202
-  GL_NOTEQUAL* = 0x00000205
-  GL_ALWAYS* = 0x00000207
-  GL_FRONT* = 0x00000404
-  GL_BACK* = 0x00000405
-  GL_FRONT_AND_BACK* = 0x00000408
-  GL_STENCIL_BACK_FUNC_ATI* = 0x00008800
-  GL_STENCIL_BACK_FAIL_ATI* = 0x00008801
-  GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI* = 0x00008802
-  GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI* = 0x00008803
-
-proc glStencilOpSeparateATI*(face: TGLenum, sfail: TGLenum, dpfail: TGLenum, 
-                             dppass: TGLenum){.dynlib: dllname, importc.}
-proc glStencilFuncSeparateATI*(frontfunc: TGLenum, backfunc: TGLenum, theRef: TGLint, 
-                               mask: TGLuint){.dynlib: dllname, importc.}
-  #***** GL_ATI_vertex_attrib_array_object *****//
-proc glVertexAttribArrayObjectATI*(index: TGLuint, size: TGLint, thetype: TGLenum, 
-                                   normalized: TGLboolean, stride: TGLsizei, 
-                                   buffer: TGLuint, offset: TGLuint){.
-    dynlib: dllname, importc.}
-proc glGetVertexAttribArrayObjectfvATI*(index: TGLuint, pname: TGLenum, 
-                                        params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glGetVertexAttribArrayObjectivATI*(index: TGLuint, pname: TGLenum, 
-                                        params: PGLint){.dynlib: dllname, 
-    importc.}
-  #***** GL_ARB_occlusion_query *****//
-const 
-  GL_SAMPLES_PASSED_ARB* = 0x00008914
-  GL_QUERY_COUNTER_BITS_ARB* = 0x00008864
-  GL_CURRENT_QUERY_ARB* = 0x00008865
-  GL_QUERY_RESULT_ARB* = 0x00008866
-  GL_QUERY_RESULT_AVAILABLE_ARB* = 0x00008867
-
-proc glGenQueriesARB*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.}
-proc glDeleteQueriesARB*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.}
-proc glIsQueryARB*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glBeginQueryARB*(target: TGLenum, id: TGLuint){.dynlib: dllname, importc.}
-proc glEndQueryARB*(target: TGLenum){.dynlib: dllname, importc.}
-proc glGetQueryivARB*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetQueryObjectivARB*(id: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetQueryObjectuivARB*(id: TGLuint, pname: TGLenum, params: PGLuint){.
-    dynlib: dllname, importc.}
-  #***** GL_ARB_shader_objects *****//
-const 
-  GL_PROGRAM_OBJECT_ARB* = 0x00008B40
-  GL_OBJECT_TYPE_ARB* = 0x00008B4E
-  GL_OBJECT_SUBTYPE_ARB* = 0x00008B4F
-  GL_OBJECT_DELETE_STATUS_ARB* = 0x00008B80
-  GL_OBJECT_COMPILE_STATUS_ARB* = 0x00008B81
-  GL_OBJECT_LINK_STATUS_ARB* = 0x00008B82
-  GL_OBJECT_VALIDATE_STATUS_ARB* = 0x00008B83
-  GL_OBJECT_INFO_LOG_LENGTH_ARB* = 0x00008B84
-  GL_OBJECT_ATTACHED_OBJECTS_ARB* = 0x00008B85
-  GL_OBJECT_ACTIVE_UNIFORMS_ARB* = 0x00008B86
-  GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB* = 0x00008B87
-  GL_OBJECT_SHADER_SOURCE_LENGTH_ARB* = 0x00008B88
-  GL_SHADER_OBJECT_ARB* = 0x00008B48
-  GL_FLOAT* = 0x00001406
-  GL_FLOAT_VEC2_ARB* = 0x00008B50
-  GL_FLOAT_VEC3_ARB* = 0x00008B51
-  GL_FLOAT_VEC4_ARB* = 0x00008B52
-  GL_INT* = 0x00001404
-  GL_INT_VEC2_ARB* = 0x00008B53
-  GL_INT_VEC3_ARB* = 0x00008B54
-  GL_INT_VEC4_ARB* = 0x00008B55
-  GL_BOOL_ARB* = 0x00008B56
-  GL_BOOL_VEC2_ARB* = 0x00008B57
-  GL_BOOL_VEC3_ARB* = 0x00008B58
-  GL_BOOL_VEC4_ARB* = 0x00008B59
-  GL_FLOAT_MAT2_ARB* = 0x00008B5A
-  GL_FLOAT_MAT3_ARB* = 0x00008B5B
-  GL_FLOAT_MAT4_ARB* = 0x00008B5C
-
-proc glDeleteObjectARB*(obj: GLhandleARB){.dynlib: dllname, importc.}
-proc glGetHandleARB*(pname: TGLenum): GLhandleARB{.dynlib: dllname, importc.}
-proc glDetachObjectARB*(containerObj: GLhandleARB, attachedObj: GLhandleARB){.
-    dynlib: dllname, importc.}
-proc glCreateShaderObjectARB*(shaderType: TGLenum): GLhandleARB{.dynlib: dllname, 
-    importc.}
-proc glShaderSourceARB*(shaderObj: GLhandleARB, count: TGLsizei, str: PGLvoid, 
-                        len: PGLint){.dynlib: dllname, importc.}
-proc glCompileShaderARB*(shaderObj: GLhandleARB){.dynlib: dllname, importc.}
-proc glCreateProgramObjectARB*(): GLhandleARB{.dynlib: dllname, importc.}
-proc glAttachObjectARB*(containerObj: GLhandleARB, obj: GLhandleARB){.
-    dynlib: dllname, importc.}
-proc glLinkProgramARB*(programObj: GLhandleARB){.dynlib: dllname, importc.}
-proc glUseProgramObjectARB*(programObj: GLhandleARB){.dynlib: dllname, importc.}
-proc glValidateProgramARB*(programObj: GLhandleARB){.dynlib: dllname, importc.}
-proc glUniform1fARB*(location: TGLint, v0: TGLfloat){.dynlib: dllname, importc.}
-proc glUniform2fARB*(location: TGLint, v0: TGLfloat, v1: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform3fARB*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform4fARB*(location: TGLint, v0: TGLfloat, v1: TGLfloat, v2: TGLfloat, 
-                     v3: TGLfloat){.dynlib: dllname, importc.}
-proc glUniform1iARB*(location: TGLint, v0: TGLint){.dynlib: dllname, importc.}
-proc glUniform2iARB*(location: TGLint, v0: TGLint, v1: TGLint){.dynlib: dllname, 
-    importc.}
-proc glUniform3iARB*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint){.
-    dynlib: dllname, importc.}
-proc glUniform4iARB*(location: TGLint, v0: TGLint, v1: TGLint, v2: TGLint, v3: TGLint){.
-    dynlib: dllname, importc.}
-proc glUniform1fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform2fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform3fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform4fvARB*(location: TGLint, count: TGLsizei, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniform1ivARB*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniform2ivARB*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniform3ivARB*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniform4ivARB*(location: TGLint, count: TGLsizei, value: PGLint){.
-    dynlib: dllname, importc.}
-proc glUniformMatrix2fvARB*(location: TGLint, count: TGLsizei, 
-                            transpose: TGLboolean, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniformMatrix3fvARB*(location: TGLint, count: TGLsizei, 
-                            transpose: TGLboolean, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glUniformMatrix4fvARB*(location: TGLint, count: TGLsizei, 
-                            transpose: TGLboolean, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc glGetObjectParameterfvARB*(obj: GLhandleARB, pname: TGLenum, 
-                                params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetObjectParameterivARB*(obj: GLhandleARB, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetInfoLogARB*(obj: GLhandleARB, maxLength: TGLsizei, len: PGLsizei, 
-                      infoLog: PGLcharARB){.dynlib: dllname, importc.}
-proc glGetAttachedObjectsARB*(containerObj: GLhandleARB, maxCount: TGLsizei, 
-                              count: PGLsizei, obj: PGLhandleARB){.
-    dynlib: dllname, importc.}
-proc glGetUniformLocationARB*(programObj: GLhandleARB, name: PGLcharARB): TGLint{.
-    dynlib: dllname, importc.}
-proc glGetActiveUniformARB*(programObj: GLhandleARB, index: TGLuint, 
-                            maxLength: TGLsizei, len: PGLsizei, size: PGLint, 
-                            thetype: PGLenum, name: PGLcharARB){.
-    dynlib: dllname, importc.}
-proc glGetUniformfvARB*(programObj: GLhandleARB, location: TGLint, 
-                        params: PGLfloat){.dynlib: dllname, importc.}
-proc glGetUniformivARB*(programObj: GLhandleARB, location: TGLint, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetShaderSourceARB*(obj: GLhandleARB, maxLength: TGLsizei, len: PGLsizei, 
-                           source: PGLcharARB){.dynlib: dllname, importc.}
-
-const 
-  GL_VERTEX_SHADER_ARB* = 0x00008B31
-  GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB* = 0x00008B4A
-  GL_MAX_VARYING_FLOATS_ARB* = 0x00008B4B # GL_MAX_VERTEX_ATTRIBS_ARB  { already defined }
-                                          # GL_MAX_TEXTURE_IMAGE_UNITS_ARB  { already defined }
-  GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB* = 0x00008B4C
-  GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB* = 0x00008B4D # 
-                                                        # GL_MAX_TEXTURE_COORDS_ARB  { already defined }
-                                                        # 
-                                                        # GL_VERTEX_PROGRAM_POINT_SIZE_ARB  { already defined }
-                                                        # 
-                                                        # GL_VERTEX_PROGRAM_TWO_SIDE_ARB  { already defined }
-                                                        # GL_OBJECT_TYPE_ARB  { already defined }
-                                                        # GL_OBJECT_SUBTYPE_ARB  { already defined }
-  GL_OBJECT_ACTIVE_ATTRIBUTES_ARB* = 0x00008B89
-  GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB* = 0x00008B8A # GL_SHADER_OBJECT_ARB  { already defined }
-                                                          # 
-                                                          # GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB  { already defined }
-                                                          # 
-                                                          # GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB  { already defined }
-                                                          # 
-                                                          # GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB  { already defined }
-                                                          # 
-                                                          # GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB  { already defined }
-                                                          # 
-                                                          # GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB  { already defined }
-                                                          # 
-                                                          # GL_CURRENT_VERTEX_ATTRIB_ARB  { already defined }
-                                                          # 
-                                                          # GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB  { already defined }
-                                                          # GL_FLOAT  { already defined }
-                                                          # GL_FLOAT_VEC2_ARB  { already defined }
-                                                          # GL_FLOAT_VEC3_ARB  { already defined }
-                                                          # GL_FLOAT_VEC4_ARB  { already defined }
-                                                          # GL_FLOAT_MAT2_ARB  { already defined }
-                                                          # GL_FLOAT_MAT3_ARB  { already defined }
-                                                          # GL_FLOAT_MAT4_ARB  { already defined }
-                                                          # glVertexAttrib1fARB  { already defined }
-                                                          # glVertexAttrib1sARB  { already defined }
-                                                          # glVertexAttrib1dARB  { already defined }
-                                                          # glVertexAttrib2fARB  { already defined }
-                                                          # glVertexAttrib2sARB  { already defined }
-                                                          # glVertexAttrib2dARB  { already defined }
-                                                          # glVertexAttrib3fARB  { already defined }
-                                                          # glVertexAttrib3sARB  { already defined }
-                                                          # glVertexAttrib3dARB  { already defined }
-                                                          # glVertexAttrib4fARB  { already defined }
-                                                          # glVertexAttrib4sARB  { already defined }
-                                                          # glVertexAttrib4dARB  { already defined }
-                                                          # glVertexAttrib4NubARB  { already defined }
-                                                          # glVertexAttrib1fvARB  { already defined }
-                                                          # glVertexAttrib1svARB  { already defined }
-                                                          # glVertexAttrib1dvARB  { already defined }
-                                                          # glVertexAttrib2fvARB  { already defined }
-                                                          # glVertexAttrib2svARB  { already defined }
-                                                          # glVertexAttrib2dvARB  { already defined }
-                                                          # glVertexAttrib3fvARB  { already defined }
-                                                          # glVertexAttrib3svARB  { already defined }
-                                                          # glVertexAttrib3dvARB  { already defined }
-                                                          # glVertexAttrib4fvARB  { already defined }
-                                                          # glVertexAttrib4svARB  { already defined }
-                                                          # glVertexAttrib4dvARB  { already defined }
-                                                          # glVertexAttrib4ivARB  { already defined }
-                                                          # glVertexAttrib4bvARB  { already defined }
-                                                          # glVertexAttrib4ubvARB  { already defined }
-                                                          # glVertexAttrib4usvARB  { already defined }
-                                                          # glVertexAttrib4uivARB  { already defined }
-                                                          # glVertexAttrib4NbvARB  { already defined }
-                                                          # glVertexAttrib4NsvARB  { already defined }
-                                                          # glVertexAttrib4NivARB  { already defined }
-                                                          # glVertexAttrib4NubvARB  { already defined }
-                                                          # glVertexAttrib4NusvARB  { already defined }
-                                                          # glVertexAttrib4NuivARB  { already defined }
-                                                          # 
-                                                          # glVertexAttribPointerARB  { already defined }
-                                                          # 
-                                                          # glEnableVertexAttribArrayARB  { already defined }
-                                                          # 
-                                                          # glDisableVertexAttribArrayARB  { already defined }
-
-proc glBindAttribLocationARB*(programObj: GLhandleARB, index: TGLuint, 
-                              name: PGLcharARB){.dynlib: dllname, importc.}
-proc glGetActiveAttribARB*(programObj: GLhandleARB, index: TGLuint, 
-                           maxLength: TGLsizei, len: PGLsizei, size: PGLint, 
-                           thetype: PGLenum, name: PGLcharARB){.dynlib: dllname, 
-    importc.}
-proc glGetAttribLocationARB*(programObj: GLhandleARB, name: PGLcharARB): TGLint{.
-    dynlib: dllname, importc.}
-  # glGetVertexAttribdvARB  { already defined }
-  # glGetVertexAttribfvARB  { already defined }
-  # glGetVertexAttribivARB  { already defined }
-  # glGetVertexAttribPointervARB  { already defined }
-  #***** GL_ARB_fragment_shader *****//
-const 
-  GL_FRAGMENT_SHADER_ARB* = 0x00008B30
-  GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB* = 0x00008B49 # GL_MAX_TEXTURE_COORDS_ARB  { already defined }
-                                                       # 
-                                                       # GL_MAX_TEXTURE_IMAGE_UNITS_ARB  { already defined }
-                                                       # GL_OBJECT_TYPE_ARB  { already defined }
-                                                       # GL_OBJECT_SUBTYPE_ARB  { already defined }
-                                                       # GL_SHADER_OBJECT_ARB  { already defined }
-
-  #***** GL_ARB_shading_language_100 *****//
-  #***** GL_ARB_texture_non_power_of_two *****//
-  #***** GL_ARB_point_sprite *****//
-const 
-  GL_POINT_SPRITE_ARB* = 0x00008861
-  GL_COORD_REPLACE_ARB* = 0x00008862
-
-  #***** GL_EXT_depth_bounds_test *****//
-const 
-  constGL_DEPTH_BOUNDS_TEST_EXT* = 0x00008890
-  constGL_DEPTH_BOUNDS_EXT* = 0x00008891
-
-proc glDepthBoundsEXT*(zmin: TGLclampd, zmax: TGLclampd){.dynlib: dllname, importc.}
-  #***** GL_EXT_texture_mirror_clamp *****//
-const 
-  GL_MIRROR_CLAMP_EXT* = 0x00008742
-  GL_MIRROR_CLAMP_TO_EDGE_EXT* = 0x00008743
-  GL_MIRROR_CLAMP_TO_BORDER_EXT* = 0x00008912
-
-  #***** GL_EXT_blend_equation_separate *****//
-const 
-  GL_BLEND_EQUATION_RGB_EXT* = 0x00008009
-  GL_BLEND_EQUATION_ALPHA_EXT* = 0x0000883D
-
-proc glBlendEquationSeparateEXT*(modeRGB: TGLenum, modeAlpha: TGLenum){.
-    dynlib: dllname, importc.}
-  #***** GL_MESA_pack_invert *****//
-const 
-  GL_PACK_INVERT_MESA* = 0x00008758
-
-  #***** GL_MESA_ycbcr_texture *****//
-const 
-  GL_YCBCR_MESA* = 0x00008757
-  GL_UNSIGNED_SHORT_8_8_MESA* = 0x000085BA
-  GL_UNSIGNED_SHORT_8_8_REV_MESA* = 0x000085BB
-
-  #***** GL_ARB_fragment_program_shadow *****//
-  #***** GL_NV_fragment_program_option *****//
-  #***** GL_EXT_pixel_buffer_object *****//
-const 
-  GL_PIXEL_PACK_BUFFER_EXT* = 0x000088EB
-  GL_PIXEL_UNPACK_BUFFER_EXT* = 0x000088EC
-  GL_PIXEL_PACK_BUFFER_BINDING_EXT* = 0x000088ED
-  GL_PIXEL_UNPACK_BUFFER_BINDING_EXT* = 0x000088EF
-
-  #***** GL_NV_fragment_program2 *****//
-const 
-  GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV* = 0x000088F4
-  GL_MAX_PROGRAM_CALL_DEPTH_NV* = 0x000088F5
-  GL_MAX_PROGRAM_IF_DEPTH_NV* = 0x000088F6
-  GL_MAX_PROGRAM_LOOP_DEPTH_NV* = 0x000088F7
-  GL_MAX_PROGRAM_LOOP_COUNT_NV* = 0x000088F8
-
-  #***** GL_NV_vertex_program2_option *****//
-  # GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV  { already defined }
-  # GL_MAX_PROGRAM_CALL_DEPTH_NV  { already defined }
-  #***** GL_NV_vertex_program3 *****//
-  # GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB  { already defined }
-  #***** GL_ARB_draw_buffers *****//
-const 
-  GL_MAX_DRAW_BUFFERS_ARB* = 0x00008824
-  GL_DRAW_BUFFER0_ARB* = 0x00008825
-  GL_DRAW_BUFFER1_ARB* = 0x00008826
-  GL_DRAW_BUFFER2_ARB* = 0x00008827
-  GL_DRAW_BUFFER3_ARB* = 0x00008828
-  GL_DRAW_BUFFER4_ARB* = 0x00008829
-  GL_DRAW_BUFFER5_ARB* = 0x0000882A
-  GL_DRAW_BUFFER6_ARB* = 0x0000882B
-  GL_DRAW_BUFFER7_ARB* = 0x0000882C
-  GL_DRAW_BUFFER8_ARB* = 0x0000882D
-  GL_DRAW_BUFFER9_ARB* = 0x0000882E
-  GL_DRAW_BUFFER10_ARB* = 0x0000882F
-  GL_DRAW_BUFFER11_ARB* = 0x00008830
-  GL_DRAW_BUFFER12_ARB* = 0x00008831
-  GL_DRAW_BUFFER13_ARB* = 0x00008832
-  GL_DRAW_BUFFER14_ARB* = 0x00008833
-  GL_DRAW_BUFFER15_ARB* = 0x00008834
-
-proc glDrawBuffersARB*(n: TGLsizei, bufs: PGLenum){.dynlib: dllname, importc.}
-  #***** GL_ARB_texture_rectangle *****//
-const 
-  GL_TEXTURE_RECTANGLE_ARB* = 0x000084F5
-  GL_TEXTURE_BINDING_RECTANGLE_ARB* = 0x000084F6
-  GL_PROXY_TEXTURE_RECTANGLE_ARB* = 0x000084F7
-  GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB* = 0x000084F8
-
-  #***** GL_ARB_color_buffer_float *****//
-const 
-  GL_RGBA_FLOAT_MODE_ARB* = 0x00008820
-  GL_CLAMP_VERTEX_COLOR_ARB* = 0x0000891A
-  GL_CLAMP_FRAGMENT_COLOR_ARB* = 0x0000891B
-  GL_CLAMP_READ_COLOR_ARB* = 0x0000891C
-  GL_FIXED_ONLY_ARB* = 0x0000891D
-  WGL_TYPE_RGBA_FLOAT_ARB* = 0x000021A0
-
-proc glClampColorARB*(target: TGLenum, clamp: TGLenum){.dynlib: dllname, importc.}
-  #***** GL_ARB_half_float_pixel *****//
-const 
-  GL_HALF_FLOAT_ARB* = 0x0000140B
-
-  #***** GL_ARB_texture_float *****//
-const 
-  GL_TEXTURE_RED_TYPE_ARB* = 0x00008C10
-  GL_TEXTURE_GREEN_TYPE_ARB* = 0x00008C11
-  GL_TEXTURE_BLUE_TYPE_ARB* = 0x00008C12
-  GL_TEXTURE_ALPHA_TYPE_ARB* = 0x00008C13
-  GL_TEXTURE_LUMINANCE_TYPE_ARB* = 0x00008C14
-  GL_TEXTURE_INTENSITY_TYPE_ARB* = 0x00008C15
-  GL_TEXTURE_DEPTH_TYPE_ARB* = 0x00008C16
-  GL_UNSIGNED_NORMALIZED_ARB* = 0x00008C17
-  GL_RGBA32F_ARB* = 0x00008814
-  GL_RGB32F_ARB* = 0x00008815
-  GL_ALPHA32F_ARB* = 0x00008816
-  GL_INTENSITY32F_ARB* = 0x00008817
-  GL_LUMINANCE32F_ARB* = 0x00008818
-  GL_LUMINANCE_ALPHA32F_ARB* = 0x00008819
-  GL_RGBA16F_ARB* = 0x0000881A
-  GL_RGB16F_ARB* = 0x0000881B
-  GL_ALPHA16F_ARB* = 0x0000881C
-  GL_INTENSITY16F_ARB* = 0x0000881D
-  GL_LUMINANCE16F_ARB* = 0x0000881E
-  GL_LUMINANCE_ALPHA16F_ARB* = 0x0000881F
-
-  #***** GL_EXT_texture_compression_dxt1 *****//
-  # GL_COMPRESSED_RGB_S3TC_DXT1_EXT  { already defined }
-  # GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  { already defined }
-  #***** GL_ARB_pixel_buffer_object *****//
-const 
-  GL_PIXEL_PACK_BUFFER_ARB* = 0x000088EB
-  GL_PIXEL_UNPACK_BUFFER_ARB* = 0x000088EC
-  GL_PIXEL_PACK_BUFFER_BINDING_ARB* = 0x000088ED
-  GL_PIXEL_UNPACK_BUFFER_BINDING_ARB* = 0x000088EF
-
-  #***** GL_EXT_framebuffer_object *****//
-const 
-  GL_FRAMEBUFFER_EXT* = 0x00008D40
-  GL_RENDERBUFFER_EXT* = 0x00008D41
-  GL_STENCIL_INDEX_EXT* = 0x00008D45
-  GL_STENCIL_INDEX1_EXT* = 0x00008D46
-  GL_STENCIL_INDEX4_EXT* = 0x00008D47
-  GL_STENCIL_INDEX8_EXT* = 0x00008D48
-  GL_STENCIL_INDEX16_EXT* = 0x00008D49
-  GL_RENDERBUFFER_WIDTH_EXT* = 0x00008D42
-  GL_RENDERBUFFER_HEIGHT_EXT* = 0x00008D43
-  GL_RENDERBUFFER_INTERNAL_FORMAT_EXT* = 0x00008D44
-  GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT* = 0x00008CD0
-  GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT* = 0x00008CD1
-  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT* = 0x00008CD2
-  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT* = 0x00008CD3
-  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT* = 0x00008CD4
-  GL_COLOR_ATTACHMENT0_EXT* = 0x00008CE0
-  GL_COLOR_ATTACHMENT1_EXT* = 0x00008CE1
-  GL_COLOR_ATTACHMENT2_EXT* = 0x00008CE2
-  GL_COLOR_ATTACHMENT3_EXT* = 0x00008CE3
-  GL_COLOR_ATTACHMENT4_EXT* = 0x00008CE4
-  GL_COLOR_ATTACHMENT5_EXT* = 0x00008CE5
-  GL_COLOR_ATTACHMENT6_EXT* = 0x00008CE6
-  GL_COLOR_ATTACHMENT7_EXT* = 0x00008CE7
-  GL_COLOR_ATTACHMENT8_EXT* = 0x00008CE8
-  GL_COLOR_ATTACHMENT9_EXT* = 0x00008CE9
-  GL_COLOR_ATTACHMENT10_EXT* = 0x00008CEA
-  GL_COLOR_ATTACHMENT11_EXT* = 0x00008CEB
-  GL_COLOR_ATTACHMENT12_EXT* = 0x00008CEC
-  GL_COLOR_ATTACHMENT13_EXT* = 0x00008CED
-  GL_COLOR_ATTACHMENT14_EXT* = 0x00008CEE
-  GL_COLOR_ATTACHMENT15_EXT* = 0x00008CEF
-  GL_DEPTH_ATTACHMENT_EXT* = 0x00008D00
-  GL_STENCIL_ATTACHMENT_EXT* = 0x00008D20
-  GL_FRAMEBUFFER_COMPLETE_EXT* = 0x00008CD5
-  GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT* = 0x00008CD6
-  GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT* = 0x00008CD7
-  GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT* = 0x00008CD8
-  GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT* = 0x00008CD9
-  GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT* = 0x00008CDA
-  GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT* = 0x00008CDB
-  GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT* = 0x00008CDC
-  GL_FRAMEBUFFER_UNSUPPORTED_EXT* = 0x00008CDD
-  GL_FRAMEBUFFER_STATUS_ERROR_EXT* = 0x00008CDE
-  GL_FRAMEBUFFER_BINDING_EXT* = 0x00008CA6
-  GL_RENDERBUFFER_BINDING_EXT* = 0x00008CA7
-  GL_MAX_COLOR_ATTACHMENTS_EXT* = 0x00008CDF
-  GL_MAX_RENDERBUFFER_SIZE_EXT* = 0x000084E8
-  GL_INVALID_FRAMEBUFFER_OPERATION_EXT* = 0x00000506
-
-proc glIsRenderbufferEXT*(renderbuffer: TGLuint): TGLboolean{.dynlib: dllname, 
-    importc.}
-proc glBindRenderbufferEXT*(target: TGLenum, renderbuffer: TGLuint){.
-    dynlib: dllname, importc.}
-proc glDeleteRenderbuffersEXT*(n: TGLsizei, renderbuffers: PGLuint){.
-    dynlib: dllname, importc.}
-proc glGenRenderbuffersEXT*(n: TGLsizei, renderbuffers: PGLuint){.
-    dynlib: dllname, importc.}
-proc glRenderbufferStorageEXT*(target: TGLenum, internalformat: TGLenum, 
-                               width: TGLsizei, height: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glGetRenderbufferParameterivEXT*(target: TGLenum, pname: TGLenum, 
-                                      params: PGLint){.dynlib: dllname, importc.}
-proc glIsFramebufferEXT*(framebuffer: TGLuint): TGLboolean{.dynlib: dllname, 
-    importc.}
-proc glBindFramebufferEXT*(target: TGLenum, framebuffer: TGLuint){.
-    dynlib: dllname, importc.}
-proc glDeleteFramebuffersEXT*(n: TGLsizei, framebuffers: PGLuint){.
-    dynlib: dllname, importc.}
-proc glGenFramebuffersEXT*(n: TGLsizei, framebuffers: PGLuint){.dynlib: dllname, 
-    importc.}
-proc glCheckFramebufferStatusEXT*(target: TGLenum): TGLenum{.dynlib: dllname, 
-    importc.}
-proc glFramebufferTexture1DEXT*(target: TGLenum, attachment: TGLenum, 
-                                textarget: TGLenum, texture: TGLuint, level: TGLint){.
-    dynlib: dllname, importc.}
-proc glFramebufferTexture2DEXT*(target: TGLenum, attachment: TGLenum, 
-                                textarget: TGLenum, texture: TGLuint, level: TGLint){.
-    dynlib: dllname, importc.}
-proc glFramebufferTexture3DEXT*(target: TGLenum, attachment: TGLenum, 
-                                textarget: TGLenum, texture: TGLuint, 
-                                level: TGLint, zoffset: TGLint){.dynlib: dllname, 
-    importc.}
-proc glFramebufferRenderbufferEXT*(target: TGLenum, attachment: TGLenum, 
-                                   renderbuffertarget: TGLenum, 
-                                   renderbuffer: TGLuint){.dynlib: dllname, 
-    importc.}
-proc glGetFramebufferAttachmentParameterivEXT*(target: TGLenum, 
-    attachment: TGLenum, pname: TGLenum, params: PGLint){.dynlib: dllname, importc.}
-proc glGenerateMipmapEXT*(target: TGLenum){.dynlib: dllname, importc.}
-  #***** GL_version_1_4 *****//
-const 
-  GL_BLEND_DST_RGB* = 0x000080C8
-  GL_BLEND_SRC_RGB* = 0x000080C9
-  GL_BLEND_DST_ALPHA* = 0x000080CA
-  GL_BLEND_SRC_ALPHA* = 0x000080CB
-  GL_POINT_SIZE_MIN* = 0x00008126
-  GL_POINT_SIZE_MAX* = 0x00008127
-  GL_POINT_FADE_THRESHOLD_SIZE* = 0x00008128
-  GL_POINT_DISTANCE_ATTENUATION* = 0x00008129
-  GL_GENERATE_MIPMAP* = 0x00008191
-  GL_GENERATE_MIPMAP_HINT* = 0x00008192
-  GL_DEPTH_COMPONENT16* = 0x000081A5
-  GL_DEPTH_COMPONENT24* = 0x000081A6
-  GL_DEPTH_COMPONENT32* = 0x000081A7
-  GL_MIRRORED_REPEAT* = 0x00008370
-  GL_FOG_COORDINATE_SOURCE* = 0x00008450
-  GL_FOG_COORDINATE* = 0x00008451
-  GL_FRAGMENT_DEPTH* = 0x00008452
-  GL_CURRENT_FOG_COORDINATE* = 0x00008453
-  GL_FOG_COORDINATE_ARRAY_TYPE* = 0x00008454
-  GL_FOG_COORDINATE_ARRAY_STRIDE* = 0x00008455
-  GL_FOG_COORDINATE_ARRAY_POINTER* = 0x00008456
-  GL_FOG_COORDINATE_ARRAY* = 0x00008457
-  GL_COLOR_SUM* = 0x00008458
-  GL_CURRENT_SECONDARY_COLOR* = 0x00008459
-  GL_SECONDARY_COLOR_ARRAY_SIZE* = 0x0000845A
-  GL_SECONDARY_COLOR_ARRAY_TYPE* = 0x0000845B
-  GL_SECONDARY_COLOR_ARRAY_STRIDE* = 0x0000845C
-  GL_SECONDARY_COLOR_ARRAY_POINTER* = 0x0000845D
-  GL_SECONDARY_COLOR_ARRAY* = 0x0000845E
-  GL_MAX_TEXTURE_LOD_BIAS* = 0x000084FD
-  GL_TEXTURE_FILTER_CONTROL* = 0x00008500
-  GL_TEXTURE_LOD_BIAS* = 0x00008501
-  GL_INCR_WRAP* = 0x00008507
-  GL_DECR_WRAP* = 0x00008508
-  GL_TEXTURE_DEPTH_SIZE* = 0x0000884A
-  GL_DEPTH_TEXTURE_MODE* = 0x0000884B
-  GL_TEXTURE_COMPARE_MODE* = 0x0000884C
-  GL_TEXTURE_COMPARE_FUNC* = 0x0000884D
-  GL_COMPARE_R_TO_TEXTURE* = 0x0000884E
-
-proc glBlendFuncSeparate*(sfactorRGB: TGLenum, dfactorRGB: TGLenum, 
-                          sfactorAlpha: TGLenum, dfactorAlpha: TGLenum){.
-    dynlib: dllname, importc.}
-proc glFogCoordf*(coord: TGLfloat){.dynlib: dllname, importc.}
-proc glFogCoordfv*(coord: PGLfloat){.dynlib: dllname, importc.}
-proc glFogCoordd*(coord: TGLdouble){.dynlib: dllname, importc.}
-proc glFogCoorddv*(coord: PGLdouble){.dynlib: dllname, importc.}
-proc glFogCoordPointer*(thetype: TGLenum, stride: TGLsizei, pointer: PGLvoid){.
-    dynlib: dllname, importc.}
-proc glMultiDrawArrays*(mode: TGLenum, first: PGLint, count: PGLsizei, 
-                        primcount: TGLsizei){.dynlib: dllname, importc.}
-proc glMultiDrawElements*(mode: TGLenum, count: PGLsizei, thetype: TGLenum, 
-                          indices: PGLvoid, primcount: TGLsizei){.
-    dynlib: dllname, importc.}
-proc glPointParameterf*(pname: TGLenum, param: TGLfloat){.dynlib: dllname, importc.}
-proc glPointParameterfv*(pname: TGLenum, params: PGLfloat){.dynlib: dllname, 
-    importc.}
-proc glPointParameteri*(pname: TGLenum, param: TGLint){.dynlib: dllname, importc.}
-proc glPointParameteriv*(pname: TGLenum, params: PGLint){.dynlib: dllname, 
-    importc.}
-proc glSecondaryColor3b*(red: TGLByte, green: TGLByte, blue: TGLByte){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3bv*(v: PGLbyte){.dynlib: dllname, importc.}
-proc glSecondaryColor3d*(red: TGLdouble, green: TGLdouble, blue: TGLdouble){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glSecondaryColor3f*(red: TGLfloat, green: TGLfloat, blue: TGLfloat){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glSecondaryColor3i*(red: TGLint, green: TGLint, blue: TGLint){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glSecondaryColor3s*(red: TGLshort, green: TGLshort, blue: TGLshort){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glSecondaryColor3ub*(red: TGLubyte, green: TGLubyte, blue: TGLubyte){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3ubv*(v: PGLubyte){.dynlib: dllname, importc.}
-proc glSecondaryColor3ui*(red: TGLuint, green: TGLuint, blue: TGLuint){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3uiv*(v: PGLuint){.dynlib: dllname, importc.}
-proc glSecondaryColor3us*(red: TGLushort, green: TGLushort, blue: TGLushort){.
-    dynlib: dllname, importc.}
-proc glSecondaryColor3usv*(v: PGLushort){.dynlib: dllname, importc.}
-proc glSecondaryColorPointer*(size: TGLint, thetype: TGLenum, stride: TGLsizei, 
-                              pointer: PGLvoid){.dynlib: dllname, importc.}
-proc glWindowPos2d*(x: TGLdouble, y: TGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos2dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos2f*(x: TGLfloat, y: TGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos2fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos2i*(x: TGLint, y: TGLint){.dynlib: dllname, importc.}
-proc glWindowPos2iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos2s*(x: TGLshort, y: TGLshort){.dynlib: dllname, importc.}
-proc glWindowPos2sv*(v: PGLshort){.dynlib: dllname, importc.}
-proc glWindowPos3d*(x: TGLdouble, y: TGLdouble, z: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3dv*(v: PGLdouble){.dynlib: dllname, importc.}
-proc glWindowPos3f*(x: TGLfloat, y: TGLfloat, z: TGLfloat){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3fv*(v: PGLfloat){.dynlib: dllname, importc.}
-proc glWindowPos3i*(x: TGLint, y: TGLint, z: TGLint){.dynlib: dllname, importc.}
-proc glWindowPos3iv*(v: PGLint){.dynlib: dllname, importc.}
-proc glWindowPos3s*(x: TGLshort, y: TGLshort, z: TGLshort){.dynlib: dllname, 
-    importc.}
-proc glWindowPos3sv*(v: PGLshort){.dynlib: dllname, importc.}
-  #***** GL_version_1_5 *****//
-const 
-  GL_BUFFER_SIZE* = 0x00008764
-  GL_BUFFER_USAGE* = 0x00008765
-  GL_QUERY_COUNTER_BITS* = 0x00008864
-  GL_CURRENT_QUERY* = 0x00008865
-  GL_QUERY_RESULT* = 0x00008866
-  GL_QUERY_RESULT_AVAILABLE* = 0x00008867
-  GL_ARRAY_BUFFER* = 0x00008892
-  GL_ELEMENT_ARRAY_BUFFER* = 0x00008893
-  GL_ARRAY_BUFFER_BINDING* = 0x00008894
-  GL_ELEMENT_ARRAY_BUFFER_BINDING* = 0x00008895
-  GL_VERTEX_ARRAY_BUFFER_BINDING* = 0x00008896
-  GL_NORMAL_ARRAY_BUFFER_BINDING* = 0x00008897
-  GL_COLOR_ARRAY_BUFFER_BINDING* = 0x00008898
-  GL_INDEX_ARRAY_BUFFER_BINDING* = 0x00008899
-  GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING* = 0x0000889A
-  GL_EDGE_FLAG_ARRAY_BUFFER_BINDING* = 0x0000889B
-  GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING* = 0x0000889C
-  GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING* = 0x0000889D
-  GL_WEIGHT_ARRAY_BUFFER_BINDING* = 0x0000889E
-  GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING* = 0x0000889F
-  GL_READ_ONLY* = 0x000088B8
-  GL_WRITE_ONLY* = 0x000088B9
-  GL_READ_WRITE* = 0x000088BA
-  GL_BUFFER_ACCESS* = 0x000088BB
-  GL_BUFFER_MAPPED* = 0x000088BC
-  GL_BUFFER_MAP_POINTER* = 0x000088BD
-  GL_STREAM_DRAW* = 0x000088E0
-  GL_STREAM_READ* = 0x000088E1
-  GL_STREAM_COPY* = 0x000088E2
-  GL_STATIC_DRAW* = 0x000088E4
-  GL_STATIC_READ* = 0x000088E5
-  GL_STATIC_COPY* = 0x000088E6
-  GL_DYNAMIC_DRAW* = 0x000088E8
-  GL_DYNAMIC_READ* = 0x000088E9
-  GL_DYNAMIC_COPY* = 0x000088EA
-  GL_SAMPLES_PASSED* = 0x00008914
-  GL_FOG_COORD_SRC* = 0x00008450
-  GL_FOG_COORD* = 0x00008451
-  GL_CURRENT_FOG_COORD* = 0x00008453
-  GL_FOG_COORD_ARRAY_TYPE* = 0x00008454
-  GL_FOG_COORD_ARRAY_STRIDE* = 0x00008455
-  GL_FOG_COORD_ARRAY_POINTER* = 0x00008456
-  GL_FOG_COORD_ARRAY* = 0x00008457
-  GL_FOG_COORD_ARRAY_BUFFER_BINDING* = 0x0000889D
-  GL_SRC0_RGB* = 0x00008580
-  GL_SRC1_RGB* = 0x00008581
-  GL_SRC2_RGB* = 0x00008582
-  GL_SRC0_ALPHA* = 0x00008588
-  GL_SRC1_ALPHA* = 0x00008589
-  GL_SRC2_ALPHA* = 0x0000858A
-
-proc glGenQueries*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.}
-proc glDeleteQueries*(n: TGLsizei, ids: PGLuint){.dynlib: dllname, importc.}
-proc glIsQuery*(id: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glBeginQuery*(target: TGLenum, id: TGLuint){.dynlib: dllname, importc.}
-proc glEndQuery*(target: TGLenum){.dynlib: dllname, importc.}
-proc glGetQueryiv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetQueryObjectiv*(id: TGLuint, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetQueryObjectuiv*(id: TGLuint, pname: TGLenum, params: PGLuint){.
-    dynlib: dllname, importc.}
-proc glBindBuffer*(target: TGLenum, buffer: TGLuint){.dynlib: dllname, importc.}
-proc glDeleteBuffers*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.}
-proc glGenBuffers*(n: TGLsizei, buffers: PGLuint){.dynlib: dllname, importc.}
-proc glIsBuffer*(buffer: TGLuint): TGLboolean{.dynlib: dllname, importc.}
-proc glBufferData*(target: TGLenum, size: GLsizeiptr, data: PGLvoid, 
-                   usage: TGLenum){.dynlib: dllname, importc.}
-proc glBufferSubData*(target: TGLenum, offset: GLintptr, size: GLsizeiptr, 
-                      data: PGLvoid){.dynlib: dllname, importc.}
-proc glGetBufferSubData*(target: TGLenum, offset: GLintptr, size: GLsizeiptr, 
-                         data: PGLvoid){.dynlib: dllname, importc.}
-proc glMapBuffer*(target: TGLenum, access: TGLenum): PGLvoid{.dynlib: dllname, 
-    importc.}
-proc glUnmapBuffer*(target: TGLenum): TGLboolean{.dynlib: dllname, importc.}
-proc glGetBufferParameteriv*(target: TGLenum, pname: TGLenum, params: PGLint){.
-    dynlib: dllname, importc.}
-proc glGetBufferPointerv*(target: TGLenum, pname: TGLenum, params: PGLvoid){.
-    dynlib: dllname, importc.}
-  #***** GL_version_2_0 *****//
-const 
-  GL_BLEND_EQUATION_RGB* = 0x00008009
-  GL_VERTEX_ATTRIB_ARRAY_ENABLED* = 0x00008622
-  GL_VERTEX_ATTRIB_ARRAY_SIZE* = 0x00008623
-  GL_VERTEX_ATTRIB_ARRAY_STRIDE* = 0x00008624
-  GL_VERTEX_ATTRIB_ARRAY_TYPE* = 0x00008625
-  GL_CURRENT_VERTEX_ATTRIB* = 0x00008626
-  GL_VERTEX_PROGRAM_POINT_SIZE* = 0x00008642
-  GL_VERTEX_PROGRAM_TWO_SIDE* = 0x00008643
-  GL_VERTEX_ATTRIB_ARRAY_POINTER* = 0x00008645
-  GL_STENCIL_BACK_FUNC* = 0x00008800
-  GL_STENCIL_BACK_FAIL* = 0x00008801
-  GL_STENCIL_BACK_PASS_DEPTH_FAIL* = 0x00008802
-  GL_STENCIL_BACK_PASS_DEPTH_PASS* = 0x00008803
-  GL_MAX_DRAW_BUFFERS* = 0x00008824
-  GL_DRAW_BUFFER0* = 0x00008825
-  GL_DRAW_BUFFER1* = 0x00008826
-  GL_DRAW_BUFFER2* = 0x00008827
-  GL_DRAW_BUFFER3* = 0x00008828
-  GL_DRAW_BUFFER4* = 0x00008829
-  GL_DRAW_BUFFER5* = 0x0000882A
-  GL_DRAW_BUFFER6* = 0x0000882B
-  GL_DRAW_BUFFER7* = 0x0000882C
-  GL_DRAW_BUFFER8* = 0x0000882D
-  GL_DRAW_BUFFER9* = 0x0000882E
-  GL_DRAW_BUFFER10* = 0x0000882F
-  GL_DRAW_BUFFER11* = 0x00008830
-  GL_DRAW_BUFFER12* = 0x00008831
-  GL_DRAW_BUFFER13* = 0x00008832
-  GL_DRAW_BUFFER14* = 0x00008833
-  GL_DRAW_BUFFER15* = 0x00008834
-  GL_BLEND_EQUATION_ALPHA* = 0x0000883D
-  GL_POINT_SPRITE* = 0x00008861
-  GL_COORD_REPLACE* = 0x00008862
-  GL_MAX_VERTEX_ATTRIBS* = 0x00008869
-  GL_VERTEX_ATTRIB_ARRAY_NORMALIZED* = 0x0000886A
-  GL_MAX_TEXTURE_COORDS* = 0x00008871
-  GL_MAX_TEXTURE_IMAGE_UNITS* = 0x00008872
-  GL_FRAGMENT_SHADER* = 0x00008B30
-  GL_VERTEX_SHADER* = 0x00008B31
-  GL_MAX_FRAGMENT_UNIFORM_COMPONENTS* = 0x00008B49
-  GL_MAX_VERTEX_UNIFORM_COMPONENTS* = 0x00008B4A
-  GL_MAX_VARYING_FLOATS* = 0x00008B4B
-  GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS* = 0x00008B4C
-  GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS* = 0x00008B4D
-  GL_SHADER_TYPE* = 0x00008B4F
-  GL_FLOAT_VEC2* = 0x00008B50
-  GL_FLOAT_VEC3* = 0x00008B51
-  GL_FLOAT_VEC4* = 0x00008B52
-  GL_INT_VEC2* = 0x00008B53
-  GL_INT_VEC3* = 0x00008B54
-  GL_INT_VEC4* = 0x00008B55
-  GL_BOOL* = 0x00008B56
-  GL_BOOL_VEC2* = 0x00008B57
-  GL_BOOL_VEC3* = 0x00008B58
-  GL_BOOL_VEC4* = 0x00008B59
-  GL_FLOAT_MAT2* = 0x00008B5A
-  GL_FLOAT_MAT3* = 0x00008B5B
-  GL_FLOAT_MAT4* = 0x00008B5C
-  GL_SAMPLER_1D* = 0x00008B5D
-  GL_SAMPLER_2D* = 0x00008B5E
-  GL_SAMPLER_3D* = 0x00008B5F
-  GL_SAMPLER_CUBE* = 0x00008B60
-  GL_SAMPLER_1D_SHADOW* = 0x00008B61
-  GL_SAMPLER_2D_SHADOW* = 0x00008B62
-  GL_DELETE_STATUS* = 0x00008B80
-  GL_COMPILE_STATUS* = 0x00008B81
-  GL_LINK_STATUS* = 0x00008B82
-  GL_VALIDATE_STATUS* = 0x00008B83
-  GL_INFO_LOG_LENGTH* = 0x00008B84
-  GL_ATTACHED_SHADERS* = 0x00008B85
-  GL_ACTIVE_UNIFORMS* = 0x00008B86
-  GL_ACTIVE_UNIFORM_MAX_LENGTH* = 0x00008B87
-  GL_SHADER_SOURCE_LENGTH* = 0x00008B88
-  GL_ACTIVE_ATTRIBUTES* = 0x00008B89
-  GL_ACTIVE_ATTRIBUTE_MAX_LENGTH* = 0x00008B8A
-  GL_FRAGMENT_SHADER_DERIVATIVE_HINT* = 0x00008B8B
-  GL_SHADING_LANGUAGE_VERSION* = 0x00008B8C
-  GL_CURRENT_PROGRAM* = 0x00008B8D
-  GL_POINT_SPRITE_COORD_ORIGIN* = 0x00008CA0
-  GL_LOWER_LEFT* = 0x00008CA1
-  GL_UPPER_LEFT* = 0x00008CA2
-  GL_STENCIL_BACK_REF* = 0x00008CA3
-  GL_STENCIL_BACK_VALUE_MASK* = 0x00008CA4
-  GL_STENCIL_BACK_WRITEMASK* = 0x00008CA5
-
-{.pop.}
diff --git a/lib/base/opengl/glext.pp b/lib/base/opengl/glext.pp
deleted file mode 100644
index 4c9fc2119..000000000
--- a/lib/base/opengl/glext.pp
+++ /dev/null
@@ -1,3857 +0,0 @@
-{
-
-  Adaption of the delphi3d.net OpenGL units to FreePascal
-  Sebastian Guenther (sg@freepascal.org) in 2002
-  These units are free to use
-}
-(*
-{$MACRO ON}
-{$MODE Delphi}
-{$IFDEF Windows}
-  {$DEFINE extdecl:=stdcall }
-{$ELSE}
-  {$DEFINE extdecl:=cdecl }
-{$ENDIF} *)
-
-unit GLext;
-
-(**************************************************
- *        OpenGL extension loading library        *
- * Generated by MetaGLext, written by Tom Nuydens *
- *  (tom@delphi3d.net -- http://www.delphi3d.net  *
- **************************************************)
-
-//*** Generated on 10/11/2002
-
-interface
-
-uses
-  GL;
-
-// Test if the given extension name is present in the given extension string.
-function glext_ExtensionSupported(const extension: String; const searchIn: String): Boolean;
-
-// Load the extension with the given name.
-function glext_LoadExtension(ext: String): Boolean;
-
-type
-  GLcharARB = Char;
-  TGLcharARB = GLcharARB;
-  PGLcharARB = ^GLcharARB;
-
-  GLhandleARB = Cardinal;
-  TGLhandleARB = GLhandleARB;
-  PGLhandleARB = ^GLhandleARB;
-
-  GLintptr = Integer;
-  TGLintptr = GLintptr;
-  PGLintptr = ^GLintptr;
-
-  GLsizeiptr = Integer;
-  TGLsizeiptr = GLsizeiptr;
-  PGLsizeiptr = ^GLsizeiptr;
-
-  GLchar = Char;
-  TGLchar = GLchar;
-  PGLchar = Pchar;
-
-//***** GL_version_1_2 *****//
-const
-  GL_UNSIGNED_BYTE_3_3_2 = $8032;
-  GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
-  GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
-  GL_UNSIGNED_INT_8_8_8_8 = $8035;
-  GL_UNSIGNED_INT_10_10_10_2 = $8036;
-  GL_RESCALE_NORMAL = $803A;
-  GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
-  GL_UNSIGNED_SHORT_5_6_5 = $8363;
-  GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
-  GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
-  GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
-  GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
-  GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
-  GL_BGR = $80E0;
-  GL_BGRA = $80E1;
-  GL_MAX_ELEMENTS_VERTICES = $80E8;
-  GL_MAX_ELEMENTS_INDICES = $80E9;
-  GL_CLAMP_TO_EDGE = $812F;
-  GL_TEXTURE_MIN_LOD = $813A;
-  GL_TEXTURE_MAX_LOD = $813B;
-  GL_TEXTURE_BASE_LEVEL = $813C;
-  GL_TEXTURE_MAX_LEVEL = $813D;
-  GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
-  GL_SINGLE_COLOR = $81F9;
-  GL_SEPARATE_SPECULAR_COLOR = $81FA;
-  GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
-  GL_SMOOTH_POINT_SIZE_GRANULARITY = $0B13;
-  GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
-  GL_SMOOTH_LINE_WIDTH_GRANULARITY = $0B23;
-  GL_ALIASED_POINT_SIZE_RANGE = $846D;
-  GL_ALIASED_LINE_WIDTH_RANGE = $846E;
-  GL_PACK_SKIP_IMAGES = $806B;
-  GL_PACK_IMAGE_HEIGHT = $806C;
-  GL_UNPACK_SKIP_IMAGES = $806D;
-  GL_UNPACK_IMAGE_HEIGHT = $806E;
-  GL_TEXTURE_3D = $806F;
-  GL_PROXY_TEXTURE_3D = $8070;
-  GL_TEXTURE_DEPTH = $8071;
-  GL_TEXTURE_WRAP_R = $8072;
-  GL_MAX_3D_TEXTURE_SIZE = $8073;
-
-  procedure glBlendColor(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); external dllname;
-  procedure glBlendEquation(mode: GLenum); external dllname;
-  procedure glDrawRangeElements(mode: GLenum; start: GLuint; theend: GLuint; count: GLsizei; thetype: GLenum; const indices: PGLvoid); external dllname;
-  procedure glColorTable(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; thetype: GLenum; const table: PGLvoid); external dllname;
-  procedure glColorTableParameterfv(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glColorTableParameteriv(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-  procedure glCopyColorTable(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); external dllname;
-  procedure glGetColorTable(target: GLenum; format: GLenum; thetype: GLenum; table: PGLvoid); external dllname;
-  procedure glGetColorTableParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetColorTableParameteriv(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glColorSubTable(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; thetype: GLenum; const data: PGLvoid); external dllname;
-  procedure glCopyColorSubTable(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); external dllname;
-  procedure glConvolutionFilter1D(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; thetype: GLenum; const image: PGLvoid); external dllname;
-  procedure glConvolutionFilter2D(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; thetype: GLenum; const image: PGLvoid); external dllname;
-  procedure glConvolutionParameterf(target: GLenum; pname: GLenum; params: GLfloat); external dllname;
-  procedure glConvolutionParameterfv(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glConvolutionParameteri(target: GLenum; pname: GLenum; params: GLint); external dllname;
-  procedure glConvolutionParameteriv(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-  procedure glCopyConvolutionFilter1D(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); external dllname;
-  procedure glCopyConvolutionFilter2D(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); external dllname;
-  procedure glGetConvolutionFilter(target: GLenum; format: GLenum; thetype: GLenum; image: PGLvoid); external dllname;
-  procedure glGetConvolutionParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetConvolutionParameteriv(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetSeparableFilter(target: GLenum; format: GLenum; thetype: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); external dllname;
-  procedure glSeparableFilter2D(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; thetype: GLenum; const row: PGLvoid; const column: PGLvoid); external dllname;
-  procedure glGetHistogram(target: GLenum; reset: GLboolean; format: GLenum; thetype: GLenum; values: PGLvoid); external dllname;
-  procedure glGetHistogramParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetHistogramParameteriv(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetMinmax(target: GLenum; reset: GLboolean; format: GLenum; thetype: GLenum; values: PGLvoid); external dllname;
-  procedure glGetMinmaxParameterfv(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetMinmaxParameteriv(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glHistogram(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); external dllname;
-  procedure glMinmax(target: GLenum; internalformat: GLenum; sink: GLboolean); external dllname;
-  procedure glResetHistogram(target: GLenum); external dllname;
-  procedure glResetMinmax(target: GLenum); external dllname;
-  procedure glTexImage3D(target: GLenum; level: GLint; internalformat: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; thetype: GLenum; const pixels: PGLvoid); external dllname;
-  procedure glTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; thetype: GLenum; const pixels: PGLvoid); external dllname;
-  procedure glCopyTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x: GLint; y: GLint; width: GLsizei; height: GLsizei); external dllname;
-
-
-//***** GL_ARB_imaging *****//
-const
-  GL_CONSTANT_COLOR = $8001;
-  GL_ONE_MINUS_CONSTANT_COLOR = $8002;
-  GL_CONSTANT_ALPHA = $8003;
-  GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
-  GL_BLEND_COLOR = $8005;
-  GL_FUNC_ADD = $8006;
-  GL_MIN = $8007;
-  GL_MAX = $8008;
-  GL_BLEND_EQUATION = $8009;
-  GL_FUNC_SUBTRACT = $800A;
-  GL_FUNC_REVERSE_SUBTRACT = $800B;
-  GL_CONVOLUTION_1D = $8010;
-  GL_CONVOLUTION_2D = $8011;
-  GL_SEPARABLE_2D = $8012;
-  GL_CONVOLUTION_BORDER_MODE = $8013;
-  GL_CONVOLUTION_FILTER_SCALE = $8014;
-  GL_CONVOLUTION_FILTER_BIAS = $8015;
-  GL_REDUCE = $8016;
-  GL_CONVOLUTION_FORMAT = $8017;
-  GL_CONVOLUTION_WIDTH = $8018;
-  GL_CONVOLUTION_HEIGHT = $8019;
-  GL_MAX_CONVOLUTION_WIDTH = $801A;
-  GL_MAX_CONVOLUTION_HEIGHT = $801B;
-  GL_POST_CONVOLUTION_RED_SCALE = $801C;
-  GL_POST_CONVOLUTION_GREEN_SCALE = $801D;
-  GL_POST_CONVOLUTION_BLUE_SCALE = $801E;
-  GL_POST_CONVOLUTION_ALPHA_SCALE = $801F;
-  GL_POST_CONVOLUTION_RED_BIAS = $8020;
-  GL_POST_CONVOLUTION_GREEN_BIAS = $8021;
-  GL_POST_CONVOLUTION_BLUE_BIAS = $8022;
-  GL_POST_CONVOLUTION_ALPHA_BIAS = $8023;
-  GL_HISTOGRAM = $8024;
-  GL_PROXY_HISTOGRAM = $8025;
-  GL_HISTOGRAM_WIDTH = $8026;
-  GL_HISTOGRAM_FORMAT = $8027;
-  GL_HISTOGRAM_RED_SIZE = $8028;
-  GL_HISTOGRAM_GREEN_SIZE = $8029;
-  GL_HISTOGRAM_BLUE_SIZE = $802A;
-  GL_HISTOGRAM_ALPHA_SIZE = $802B;
-  GL_HISTOGRAM_LUMINANCE_SIZE = $802C;
-  GL_HISTOGRAM_SINK = $802D;
-  GL_MINMAX = $802E;
-  GL_MINMAX_FORMAT = $802F;
-  GL_MINMAX_SINK = $8030;
-  GL_TABLE_TOO_LARGE = $8031;
-  GL_COLOR_MATRIX = $80B1;
-  GL_COLOR_MATRIX_STACK_DEPTH = $80B2;
-  GL_MAX_COLOR_MATRIX_STACK_DEPTH = $80B3;
-  GL_POST_COLOR_MATRIX_RED_SCALE = $80B4;
-  GL_POST_COLOR_MATRIX_GREEN_SCALE = $80B5;
-  GL_POST_COLOR_MATRIX_BLUE_SCALE = $80B6;
-  GL_POST_COLOR_MATRIX_ALPHA_SCALE = $80B7;
-  GL_POST_COLOR_MATRIX_RED_BIAS = $80B8;
-  GL_POST_COLOR_MATRIX_GREEN_BIAS = $80B9;
-  GL_POST_COLOR_MATRIX_BLUE_BIAS = $80BA;
-  GL_POST_COLOR_MATIX_ALPHA_BIAS = $80BB;
-  GL_COLOR_TABLE = $80D0;
-  GL_POST_CONVOLUTION_COLOR_TABLE = $80D1;
-  GL_POST_COLOR_MATRIX_COLOR_TABLE = $80D2;
-  GL_PROXY_COLOR_TABLE = $80D3;
-  GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = $80D4;
-  GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = $80D5;
-  GL_COLOR_TABLE_SCALE = $80D6;
-  GL_COLOR_TABLE_BIAS = $80D7;
-  GL_COLOR_TABLE_FORMAT = $80D8;
-  GL_COLOR_TABLE_WIDTH = $80D9;
-  GL_COLOR_TABLE_RED_SIZE = $80DA;
-  GL_COLOR_TABLE_GREEN_SIZE = $80DB;
-  GL_COLOR_TABLE_BLUE_SIZE = $80DC;
-  GL_COLOR_TABLE_ALPHA_SIZE = $80DD;
-  GL_COLOR_TABLE_LUMINANCE_SIZE = $80DE;
-  GL_COLOR_TABLE_INTENSITY_SIZE = $80DF;
-  GL_IGNORE_BORDER = $8150;
-  GL_CONSTANT_BORDER = $8151;
-  GL_WRAP_BORDER = $8152;
-  GL_REPLICATE_BORDER = $8153;
-  GL_CONVOLUTION_BORDER_COLOR = $8154;
-
-function Load_GL_ARB_imaging: Boolean;
-
-//***** GL_version_1_3 *****//
-const
-  GL_TEXTURE0 = $84C0;
-  GL_TEXTURE1 = $84C1;
-  GL_TEXTURE2 = $84C2;
-  GL_TEXTURE3 = $84C3;
-  GL_TEXTURE4 = $84C4;
-  GL_TEXTURE5 = $84C5;
-  GL_TEXTURE6 = $84C6;
-  GL_TEXTURE7 = $84C7;
-  GL_TEXTURE8 = $84C8;
-  GL_TEXTURE9 = $84C9;
-  GL_TEXTURE10 = $84CA;
-  GL_TEXTURE11 = $84CB;
-  GL_TEXTURE12 = $84CC;
-  GL_TEXTURE13 = $84CD;
-  GL_TEXTURE14 = $84CE;
-  GL_TEXTURE15 = $84CF;
-  GL_TEXTURE16 = $84D0;
-  GL_TEXTURE17 = $84D1;
-  GL_TEXTURE18 = $84D2;
-  GL_TEXTURE19 = $84D3;
-  GL_TEXTURE20 = $84D4;
-  GL_TEXTURE21 = $84D5;
-  GL_TEXTURE22 = $84D6;
-  GL_TEXTURE23 = $84D7;
-  GL_TEXTURE24 = $84D8;
-  GL_TEXTURE25 = $84D9;
-  GL_TEXTURE26 = $84DA;
-  GL_TEXTURE27 = $84DB;
-  GL_TEXTURE28 = $84DC;
-  GL_TEXTURE29 = $84DD;
-  GL_TEXTURE30 = $84DE;
-  GL_TEXTURE31 = $84DF;
-  GL_ACTIVE_TEXTURE = $84E0;
-  GL_CLIENT_ACTIVE_TEXTURE = $84E1;
-  GL_MAX_TEXTURE_UNITS = $84E2;
-  GL_TRANSPOSE_MODELVIEW_MATRIX = $84E3;
-  GL_TRANSPOSE_PROJECTION_MATRIX = $84E4;
-  GL_TRANSPOSE_TEXTURE_MATRIX = $84E5;
-  GL_TRANSPOSE_COLOR_MATRIX = $84E6;
-  GL_MULTISAMPLE = $809D;
-  GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
-  GL_SAMPLE_ALPHA_TO_ONE = $809F;
-  GL_SAMPLE_COVERAGE = $80A0;
-  GL_SAMPLE_BUFFERS = $80A8;
-  GL_SAMPLES = $80A9;
-  GL_SAMPLE_COVERAGE_VALUE = $80AA;
-  GL_SAMPLE_COVERAGE_INVERT = $80AB;
-  GL_MULTISAMPLE_BIT = $20000000;
-  GL_NORMAL_MAP = $8511;
-  GL_REFLECTION_MAP = $8512;
-  GL_TEXTURE_CUBE_MAP = $8513;
-  GL_TEXTURE_BINDING_CUBE_MAP = $8514;
-  GL_TEXTURE_CUBE_MAP_POSITIVE_X = $8515;
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_X = $8516;
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Y = $8517;
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = $8518;
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Z = $8519;
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = $851A;
-  GL_PROXY_TEXTURE_CUBE_MAP = $851B;
-  GL_MAX_CUBE_MAP_TEXTURE_SIZE = $851C;
-  GL_COMPRESSED_ALPHA = $84E9;
-  GL_COMPRESSED_LUMINANCE = $84EA;
-  GL_COMPRESSED_LUMINANCE_ALPHA = $84EB;
-  GL_COMPRESSED_INTENSITY = $84EC;
-  GL_COMPRESSED_RGB = $84ED;
-  GL_COMPRESSED_RGBA = $84EE;
-  GL_TEXTURE_COMPRESSION_HINT = $84EF;
-  GL_TEXTURE_COMPRESSED_IMAGE_SIZE = $86A0;
-  GL_TEXTURE_COMPRESSED = $86A1;
-  GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
-  GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
-  GL_CLAMP_TO_BORDER = $812D;
-  GL_CLAMP_TO_BORDER_SGIS = $812D;
-  GL_COMBINE = $8570;
-  GL_COMBINE_RGB = $8571;
-  GL_COMBINE_ALPHA = $8572;
-  GL_SOURCE0_RGB = $8580;
-  GL_SOURCE1_RGB = $8581;
-  GL_SOURCE2_RGB = $8582;
-  GL_SOURCE0_ALPHA = $8588;
-  GL_SOURCE1_ALPHA = $8589;
-  GL_SOURCE2_ALPHA = $858A;
-  GL_OPERAND0_RGB = $8590;
-  GL_OPERAND1_RGB = $8591;
-  GL_OPERAND2_RGB = $8592;
-  GL_OPERAND0_ALPHA = $8598;
-  GL_OPERAND1_ALPHA = $8599;
-  GL_OPERAND2_ALPHA = $859A;
-  GL_RGB_SCALE = $8573;
-  GL_ADD_SIGNED = $8574;
-  GL_INTERPOLATE = $8575;
-  GL_SUBTRACT = $84E7;
-  GL_CONSTANT = $8576;
-  GL_PRIMARY_COLOR = $8577;
-  GL_PREVIOUS = $8578;
-  GL_DOT3_RGB = $86AE;
-  GL_DOT3_RGBA = $86AF;
-
-  procedure glActiveTexture(texture: GLenum); external dllname;
-  procedure glClientActiveTexture(texture: GLenum); external dllname;
-  procedure glMultiTexCoord1d(target: GLenum; s: GLdouble); external dllname;
-  procedure glMultiTexCoord1dv(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord1f(target: GLenum; s: GLfloat); external dllname;
-  procedure glMultiTexCoord1fv(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord1i(target: GLenum; s: GLint); external dllname;
-  procedure glMultiTexCoord1iv(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord1s(target: GLenum; s: GLshort); external dllname;
-  procedure glMultiTexCoord1sv(target: GLenum; const v: PGLshort); external dllname;
-  procedure glMultiTexCoord2d(target: GLenum; s: GLdouble; t: GLdouble); external dllname;
-  procedure glMultiTexCoord2dv(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord2f(target: GLenum; s: GLfloat; t: GLfloat); external dllname;
-  procedure glMultiTexCoord2fv(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord2i(target: GLenum; s: GLint; t: GLint); external dllname;
-  procedure glMultiTexCoord2iv(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord2s(target: GLenum; s: GLshort; t: GLshort); external dllname;
-  procedure glMultiTexCoord2sv(target: GLenum; const v: PGLshort); external dllname;
-  procedure glMultiTexCoord3d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); external dllname;
-  procedure glMultiTexCoord3dv(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord3f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); external dllname;
-  procedure glMultiTexCoord3fv(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord3i(target: GLenum; s: GLint; t: GLint; r: GLint); external dllname;
-  procedure glMultiTexCoord3iv(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord3s(target: GLenum; s: GLshort; t: GLshort; r: GLshort); external dllname;
-  procedure glMultiTexCoord3sv(target: GLenum; const v: PGLshort); external dllname;
-  procedure glMultiTexCoord4d(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); external dllname;
-  procedure glMultiTexCoord4dv(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord4f(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); external dllname;
-  procedure glMultiTexCoord4fv(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord4i(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); external dllname;
-  procedure glMultiTexCoord4iv(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord4s(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); external dllname;
-  procedure glMultiTexCoord4sv(target: GLenum; const v: PGLshort); external dllname;
-  procedure glLoadTransposeMatrixf(const m: PGLfloat); external dllname;
-  procedure glLoadTransposeMatrixd(const m: PGLdouble); external dllname;
-  procedure glMultTransposeMatrixf(const m: PGLfloat); external dllname;
-  procedure glMultTransposeMatrixd(const m: PGLdouble); external dllname;
-  procedure glSampleCoverage(value: GLclampf; invert: GLboolean); external dllname;
-  procedure glCompressedTexImage3D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexImage1D(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexSubImage3D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexSubImage2D(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexSubImage1D(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glGetCompressedTexImage(target: GLenum; level: GLint; img: PGLvoid); external dllname;
-
-function Load_GL_version_1_3: Boolean;
-
-//***** GL_ARB_multitexture *****//
-const
-  GL_TEXTURE0_ARB = $84C0;
-  GL_TEXTURE1_ARB = $84C1;
-  GL_TEXTURE2_ARB = $84C2;
-  GL_TEXTURE3_ARB = $84C3;
-  GL_TEXTURE4_ARB = $84C4;
-  GL_TEXTURE5_ARB = $84C5;
-  GL_TEXTURE6_ARB = $84C6;
-  GL_TEXTURE7_ARB = $84C7;
-  GL_TEXTURE8_ARB = $84C8;
-  GL_TEXTURE9_ARB = $84C9;
-  GL_TEXTURE10_ARB = $84CA;
-  GL_TEXTURE11_ARB = $84CB;
-  GL_TEXTURE12_ARB = $84CC;
-  GL_TEXTURE13_ARB = $84CD;
-  GL_TEXTURE14_ARB = $84CE;
-  GL_TEXTURE15_ARB = $84CF;
-  GL_TEXTURE16_ARB = $84D0;
-  GL_TEXTURE17_ARB = $84D1;
-  GL_TEXTURE18_ARB = $84D2;
-  GL_TEXTURE19_ARB = $84D3;
-  GL_TEXTURE20_ARB = $84D4;
-  GL_TEXTURE21_ARB = $84D5;
-  GL_TEXTURE22_ARB = $84D6;
-  GL_TEXTURE23_ARB = $84D7;
-  GL_TEXTURE24_ARB = $84D8;
-  GL_TEXTURE25_ARB = $84D9;
-  GL_TEXTURE26_ARB = $84DA;
-  GL_TEXTURE27_ARB = $84DB;
-  GL_TEXTURE28_ARB = $84DC;
-  GL_TEXTURE29_ARB = $84DD;
-  GL_TEXTURE30_ARB = $84DE;
-  GL_TEXTURE31_ARB = $84DF;
-  GL_ACTIVE_TEXTURE_ARB = $84E0;
-  GL_CLIENT_ACTIVE_TEXTURE_ARB = $84E1;
-  GL_MAX_TEXTURE_UNITS_ARB = $84E2;
-
-  procedure glActiveTextureARB(texture: GLenum); external dllname;
-  procedure glClientActiveTextureARB(texture: GLenum); external dllname;
-  procedure glMultiTexCoord1dARB(target: GLenum; s: GLdouble); external dllname;
-  procedure glMultiTexCoord1dvARB(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord1fARB(target: GLenum; s: GLfloat); external dllname;
-  procedure glMultiTexCoord1fvARB(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord1iARB(target: GLenum; s: GLint); external dllname;
-  procedure glMultiTexCoord1ivARB(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord1sARB(target: GLenum; s: GLshort); external dllname;
-  procedure glMultiTexCoord1svARB(target: GLenum; const v: PGLshort); external dllname;
-  procedure glMultiTexCoord2dARB(target: GLenum; s: GLdouble; t: GLdouble); external dllname;
-  procedure glMultiTexCoord2dvARB(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord2fARB(target: GLenum; s: GLfloat; t: GLfloat); external dllname;
-  procedure glMultiTexCoord2fvARB(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord2iARB(target: GLenum; s: GLint; t: GLint); external dllname;
-  procedure glMultiTexCoord2ivARB(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord2sARB(target: GLenum; s: GLshort; t: GLshort); external dllname;
-  procedure glMultiTexCoord2svARB(target: GLenum; const v: PGLshort); external dllname;
-  procedure glMultiTexCoord3dARB(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble); external dllname;
-  procedure glMultiTexCoord3dvARB(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord3fARB(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat); external dllname;
-  procedure glMultiTexCoord3fvARB(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord3iARB(target: GLenum; s: GLint; t: GLint; r: GLint); external dllname;
-  procedure glMultiTexCoord3ivARB(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord3sARB(target: GLenum; s: GLshort; t: GLshort; r: GLshort); external dllname;
-  procedure glMultiTexCoord3svARB(target: GLenum; const v: PGLshort); external dllname;
-  procedure glMultiTexCoord4dARB(target: GLenum; s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); external dllname;
-  procedure glMultiTexCoord4dvARB(target: GLenum; const v: PGLdouble); external dllname;
-  procedure glMultiTexCoord4fARB(target: GLenum; s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); external dllname;
-  procedure glMultiTexCoord4fvARB(target: GLenum; const v: PGLfloat); external dllname;
-  procedure glMultiTexCoord4iARB(target: GLenum; s: GLint; t: GLint; r: GLint; q: GLint); external dllname;
-  procedure glMultiTexCoord4ivARB(target: GLenum; const v: PGLint); external dllname;
-  procedure glMultiTexCoord4sARB(target: GLenum; s: GLshort; t: GLshort; r: GLshort; q: GLshort); external dllname;
-  procedure glMultiTexCoord4svARB(target: GLenum; const v: PGLshort); external dllname;
-
-function Load_GL_ARB_multitexture: Boolean;
-
-//***** GL_ARB_transpose_matrix *****//
-const
-  GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = $84E3;
-  GL_TRANSPOSE_PROJECTION_MATRIX_ARB = $84E4;
-  GL_TRANSPOSE_TEXTURE_MATRIX_ARB = $84E5;
-  GL_TRANSPOSE_COLOR_MATRIX_ARB = $84E6;
-
-  procedure glLoadTransposeMatrixfARB(m: PGLfloat); external dllname;
-  procedure glLoadTransposeMatrixdARB(m: PGLdouble); external dllname;
-  procedure glMultTransposeMatrixfARB(m: PGLfloat); external dllname;
-  procedure glMultTransposeMatrixdARB(m: PGLdouble); external dllname;
-
-function Load_GL_ARB_transpose_matrix: Boolean;
-
-//***** GL_ARB_multisample *****//
-const
-  WGL_SAMPLE_BUFFERS_ARB = $2041;
-  WGL_SAMPLES_ARB = $2042;
-  GL_MULTISAMPLE_ARB = $809D;
-  GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = $809E;
-  GL_SAMPLE_ALPHA_TO_ONE_ARB = $809F;
-  GL_SAMPLE_COVERAGE_ARB = $80A0;
-  GL_MULTISAMPLE_BIT_ARB = $20000000;
-  GL_SAMPLE_BUFFERS_ARB = $80A8;
-  GL_SAMPLES_ARB = $80A9;
-  GL_SAMPLE_COVERAGE_VALUE_ARB = $80AA;
-  GL_SAMPLE_COVERAGE_INVERT_ARB = $80AB;
-
-procedure glSampleCoverageARB(value: GLclampf; invert: GLboolean); external dllname;
-
-function Load_GL_ARB_multisample: Boolean;
-
-//***** GL_ARB_texture_env_add *****//
-
-function Load_GL_ARB_texture_env_add: Boolean;
-
-
-//***** GL_ARB_texture_cube_map *****//
-const
-  GL_NORMAL_MAP_ARB = $8511;
-  GL_REFLECTION_MAP_ARB = $8512;
-  GL_TEXTURE_CUBE_MAP_ARB = $8513;
-  GL_TEXTURE_BINDING_CUBE_MAP_ARB = $8514;
-  GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $8515;
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $8516;
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $8517;
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $8518;
-  GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $8519;
-  GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $851A;
-  GL_PROXY_TEXTURE_CUBE_MAP_ARB = $851B;
-  GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = $851C;
-
-function Load_GL_ARB_texture_cube_map: Boolean;
-
-//***** GL_ARB_depth_texture *****//
-const
-  GL_DEPTH_COMPONENT16_ARB = $81A5;
-  GL_DEPTH_COMPONENT24_ARB = $81A6;
-  GL_DEPTH_COMPONENT32_ARB = $81A7;
-  GL_TEXTURE_DEPTH_SIZE_ARB = $884A;
-  GL_DEPTH_TEXTURE_MODE_ARB = $884B;
-
-function Load_GL_ARB_depth_texture: Boolean;
-
-//***** GL_ARB_point_parameters *****//
-const
-  GL_POINT_SIZE_MIN_ARB = $8126;
-  GL_POINT_SIZE_MAX_ARB = $8127;
-  GL_POINT_FADE_THRESHOLD_SIZE_ARB = $8128;
-  GL_POINT_DISTANCE_ATTENUATION_ARB = $8129;
-
-  procedure glPointParameterfARB(pname: GLenum; param: GLfloat); external dllname;
-  procedure glPointParameterfvARB(pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_ARB_point_parameters: Boolean;
-
-//***** GL_ARB_shadow *****//
-const
-  GL_TEXTURE_COMPARE_MODE_ARB = $884C;
-  GL_TEXTURE_COMPARE_FUNC_ARB = $884D;
-  GL_COMPARE_R_TO_TEXTURE_ARB = $884E;
-
-function Load_GL_ARB_shadow: Boolean;
-
-//***** GL_ARB_shadow_ambient *****//
-const
-  GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = $80BF;
-
-function Load_GL_ARB_shadow_ambient: Boolean;
-
-//***** GL_ARB_texture_border_clamp *****//
-const
-  GL_CLAMP_TO_BORDER_ARB = $812D;
-
-function Load_GL_ARB_texture_border_clamp: Boolean;
-
-//***** GL_ARB_texture_compression *****//
-const
-  GL_COMPRESSED_ALPHA_ARB = $84E9;
-  GL_COMPRESSED_LUMINANCE_ARB = $84EA;
-  GL_COMPRESSED_LUMINANCE_ALPHA_ARB = $84EB;
-  GL_COMPRESSED_INTENSITY_ARB = $84EC;
-  GL_COMPRESSED_RGB_ARB = $84ED;
-  GL_COMPRESSED_RGBA_ARB = $84EE;
-  GL_TEXTURE_COMPRESSION_HINT_ARB = $84EF;
-  GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = $86A0;
-  GL_TEXTURE_COMPRESSED_ARB = $86A1;
-  GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = $86A2;
-  GL_COMPRESSED_TEXTURE_FORMATS_ARB = $86A3;
-
-  procedure glCompressedTexImage3DARB(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexImage2DARB(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexImage1DARB(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; border: GLint; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexSubImage3DARB(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexSubImage2DARB(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glCompressedTexSubImage1DARB(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; imageSize: GLsizei; const data: PGLvoid); external dllname;
-  procedure glGetCompressedTexImageARB(target: GLenum; lod: GLint; img: PGLvoid); external dllname;
-
-function Load_GL_ARB_texture_compression: Boolean;
-
-//***** GL_ARB_texture_env_combine *****//
-const
-  GL_COMBINE_ARB = $8570;
-  GL_COMBINE_RGB_ARB = $8571;
-  GL_COMBINE_ALPHA_ARB = $8572;
-  GL_SOURCE0_RGB_ARB = $8580;
-  GL_SOURCE1_RGB_ARB = $8581;
-  GL_SOURCE2_RGB_ARB = $8582;
-  GL_SOURCE0_ALPHA_ARB = $8588;
-  GL_SOURCE1_ALPHA_ARB = $8589;
-  GL_SOURCE2_ALPHA_ARB = $858A;
-  GL_OPERAND0_RGB_ARB = $8590;
-  GL_OPERAND1_RGB_ARB = $8591;
-  GL_OPERAND2_RGB_ARB = $8592;
-  GL_OPERAND0_ALPHA_ARB = $8598;
-  GL_OPERAND1_ALPHA_ARB = $8599;
-  GL_OPERAND2_ALPHA_ARB = $859A;
-  GL_RGB_SCALE_ARB = $8573;
-  GL_ADD_SIGNED_ARB = $8574;
-  GL_INTERPOLATE_ARB = $8575;
-  GL_SUBTRACT_ARB = $84E7;
-  GL_CONSTANT_ARB = $8576;
-  GL_PRIMARY_COLOR_ARB = $8577;
-  GL_PREVIOUS_ARB = $8578;
-
-function Load_GL_ARB_texture_env_combine: Boolean;
-
-//***** GL_ARB_texture_env_crossbar *****//
-
-function Load_GL_ARB_texture_env_crossbar: Boolean;
-
-//***** GL_ARB_texture_env_dot3 *****//
-const
-  GL_DOT3_RGB_ARB = $86AE;
-  GL_DOT3_RGBA_ARB = $86AF;
-
-function Load_GL_ARB_texture_env_dot3: Boolean;
-
-//***** GL_ARB_texture_mirrored_repeat *****//
-const
-  GL_MIRRORED_REPEAT_ARB = $8370;
-
-function Load_GL_ARB_texture_mirrored_repeat: Boolean;
-
-//***** GL_ARB_vertex_blend *****//
-const
-  GL_MAX_VERTEX_UNITS_ARB = $86A4;
-  GL_ACTIVE_VERTEX_UNITS_ARB = $86A5;
-  GL_WEIGHT_SUM_UNITY_ARB = $86A6;
-  GL_VERTEX_BLEND_ARB = $86A7;
-  GL_MODELVIEW0_ARB = $1700;
-  GL_MODELVIEW1_ARB = $850A;
-  GL_MODELVIEW2_ARB = $8722;
-  GL_MODELVIEW3_ARB = $8723;
-  GL_MODELVIEW4_ARB = $8724;
-  GL_MODELVIEW5_ARB = $8725;
-  GL_MODELVIEW6_ARB = $8726;
-  GL_MODELVIEW7_ARB = $8727;
-  GL_MODELVIEW8_ARB = $8728;
-  GL_MODELVIEW9_ARB = $8729;
-  GL_MODELVIEW10_ARB = $872A;
-  GL_MODELVIEW11_ARB = $872B;
-  GL_MODELVIEW12_ARB = $872C;
-  GL_MODELVIEW13_ARB = $872D;
-  GL_MODELVIEW14_ARB = $872E;
-  GL_MODELVIEW15_ARB = $872F;
-  GL_MODELVIEW16_ARB = $8730;
-  GL_MODELVIEW17_ARB = $8731;
-  GL_MODELVIEW18_ARB = $8732;
-  GL_MODELVIEW19_ARB = $8733;
-  GL_MODELVIEW20_ARB = $8734;
-  GL_MODELVIEW21_ARB = $8735;
-  GL_MODELVIEW22_ARB = $8736;
-  GL_MODELVIEW23_ARB = $8737;
-  GL_MODELVIEW24_ARB = $8738;
-  GL_MODELVIEW25_ARB = $8739;
-  GL_MODELVIEW26_ARB = $873A;
-  GL_MODELVIEW27_ARB = $873B;
-  GL_MODELVIEW28_ARB = $873C;
-  GL_MODELVIEW29_ARB = $873D;
-  GL_MODELVIEW30_ARB = $873E;
-  GL_MODELVIEW31_ARB = $873F;
-  GL_CURRENT_WEIGHT_ARB = $86A8;
-  GL_WEIGHT_ARRAY_TYPE_ARB = $86A9;
-  GL_WEIGHT_ARRAY_STRIDE_ARB = $86AA;
-  GL_WEIGHT_ARRAY_SIZE_ARB = $86AB;
-  GL_WEIGHT_ARRAY_POINTER_ARB = $86AC;
-  GL_WEIGHT_ARRAY_ARB = $86AD;
-
-  procedure glWeightbvARB(size: GLint; weights: PGLbyte); external dllname;
-  procedure glWeightsvARB(size: GLint; weights: PGLshort); external dllname;
-  procedure glWeightivARB(size: GLint; weights: PGLint); external dllname;
-  procedure glWeightfvARB(size: GLint; weights: PGLfloat); external dllname;
-  procedure glWeightdvARB(size: GLint; weights: PGLdouble); external dllname;
-  procedure glWeightvARB(size: GLint; weights: PGLdouble); external dllname;
-  procedure glWeightubvARB(size: GLint; weights: PGLubyte); external dllname;
-  procedure glWeightusvARB(size: GLint; weights: PGLushort); external dllname;
-  procedure glWeightuivARB(size: GLint; weights: PGLuint); external dllname;
-  procedure glWeightPointerARB(size: GLint; thetype: GLenum; stride: GLsizei; pointer: PGLvoid); external dllname;
-  procedure glVertexBlendARB(count: GLint); external dllname;
-
-function Load_GL_ARB_vertex_blend: Boolean;
-
-//***** GL_ARB_vertex_program *****//
-const
-  GL_VERTEX_PROGRAM_ARB = $8620;
-  GL_VERTEX_PROGRAM_POINT_SIZE_ARB = $8642;
-  GL_VERTEX_PROGRAM_TWO_SIDE_ARB = $8643;
-  GL_COLOR_SUM_ARB = $8458;
-  GL_PROGRAM_FORMAT_ASCII_ARB = $8875;
-  GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = $8622;
-  GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = $8623;
-  GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = $8624;
-  GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = $8625;
-  GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = $886A;
-  GL_CURRENT_VERTEX_ATTRIB_ARB = $8626;
-  GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = $8645;
-  GL_PROGRAM_LENGTH_ARB = $8627;
-  GL_PROGRAM_FORMAT_ARB = $8876;
-  GL_PROGRAM_BINDING_ARB = $8677;
-  GL_PROGRAM_INSTRUCTIONS_ARB = $88A0;
-  GL_MAX_PROGRAM_INSTRUCTIONS_ARB = $88A1;
-  GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A2;
-  GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = $88A3;
-  GL_PROGRAM_TEMPORARIES_ARB = $88A4;
-  GL_MAX_PROGRAM_TEMPORARIES_ARB = $88A5;
-  GL_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A6;
-  GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = $88A7;
-  GL_PROGRAM_PARAMETERS_ARB = $88A8;
-  GL_MAX_PROGRAM_PARAMETERS_ARB = $88A9;
-  GL_PROGRAM_NATIVE_PARAMETERS_ARB = $88AA;
-  GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = $88AB;
-  GL_PROGRAM_ATTRIBS_ARB = $88AC;
-  GL_MAX_PROGRAM_ATTRIBS_ARB = $88AD;
-  GL_PROGRAM_NATIVE_ATTRIBS_ARB = $88AE;
-  GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = $88AF;
-  GL_PROGRAM_ADDRESS_REGISTERS_ARB = $88B0;
-  GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = $88B1;
-  GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B2;
-  GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = $88B3;
-  GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = $88B4;
-  GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = $88B5;
-  GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = $88B6;
-  GL_PROGRAM_STRING_ARB = $8628;
-  GL_PROGRAM_ERROR_POSITION_ARB = $864B;
-  GL_CURRENT_MATRIX_ARB = $8641;
-  GL_TRANSPOSE_CURRENT_MATRIX_ARB = $88B7;
-  GL_CURRENT_MATRIX_STACK_DEPTH_ARB = $8640;
-  GL_MAX_VERTEX_ATTRIBS_ARB = $8869;
-  GL_MAX_PROGRAM_MATRICES_ARB = $862F;
-  GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = $862E;
-  GL_PROGRAM_ERROR_STRING_ARB = $8874;
-  GL_MATRIX0_ARB = $88C0;
-  GL_MATRIX1_ARB = $88C1;
-  GL_MATRIX2_ARB = $88C2;
-  GL_MATRIX3_ARB = $88C3;
-  GL_MATRIX4_ARB = $88C4;
-  GL_MATRIX5_ARB = $88C5;
-  GL_MATRIX6_ARB = $88C6;
-  GL_MATRIX7_ARB = $88C7;
-  GL_MATRIX8_ARB = $88C8;
-  GL_MATRIX9_ARB = $88C9;
-  GL_MATRIX10_ARB = $88CA;
-  GL_MATRIX11_ARB = $88CB;
-  GL_MATRIX12_ARB = $88CC;
-  GL_MATRIX13_ARB = $88CD;
-  GL_MATRIX14_ARB = $88CE;
-  GL_MATRIX15_ARB = $88CF;
-  GL_MATRIX16_ARB = $88D0;
-  GL_MATRIX17_ARB = $88D1;
-  GL_MATRIX18_ARB = $88D2;
-  GL_MATRIX19_ARB = $88D3;
-  GL_MATRIX20_ARB = $88D4;
-  GL_MATRIX21_ARB = $88D5;
-  GL_MATRIX22_ARB = $88D6;
-  GL_MATRIX23_ARB = $88D7;
-  GL_MATRIX24_ARB = $88D8;
-  GL_MATRIX25_ARB = $88D9;
-  GL_MATRIX26_ARB = $88DA;
-  GL_MATRIX27_ARB = $88DB;
-  GL_MATRIX28_ARB = $88DC;
-  GL_MATRIX29_ARB = $88DD;
-  GL_MATRIX30_ARB = $88DE;
-  GL_MATRIX31_ARB = $88DF;
-
-  procedure glVertexAttrib1sARB(index: GLuint; x: GLshort); external dllname;
-  procedure glVertexAttrib1fARB(index: GLuint; x: GLfloat); external dllname;
-  procedure glVertexAttrib1dARB(index: GLuint; x: GLdouble); external dllname;
-  procedure glVertexAttrib2sARB(index: GLuint; x: GLshort; y: GLshort); external dllname;
-  procedure glVertexAttrib2fARB(index: GLuint; x: GLfloat; y: GLfloat); external dllname;
-  procedure glVertexAttrib2dARB(index: GLuint; x: GLdouble; y: GLdouble); external dllname;
-  procedure glVertexAttrib3sARB(index: GLuint; x: GLshort; y: GLshort; z: GLshort); external dllname;
-  procedure glVertexAttrib3fARB(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glVertexAttrib3dARB(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); external dllname;
-  procedure glVertexAttrib4sARB(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); external dllname;
-  procedure glVertexAttrib4fARB(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glVertexAttrib4dARB(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glVertexAttrib4NubARB(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); external dllname;
-  procedure glVertexAttrib1svARB(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib1fvARB(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib1dvARB(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib2svARB(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib2fvARB(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib2dvARB(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib3svARB(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib3fvARB(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib3dvARB(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib4bvARB(index: GLuint; const v: PGLbyte); external dllname;
-  procedure glVertexAttrib4svARB(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib4ivARB(index: GLuint; const v: PGLint); external dllname;
-  procedure glVertexAttrib4ubvARB(index: GLuint; const v: PGLubyte); external dllname;
-  procedure glVertexAttrib4usvARB(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttrib4uivARB(index: GLuint; const v: PGLuint); external dllname;
-  procedure glVertexAttrib4fvARB(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib4dvARB(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib4NbvARB(index: GLuint; const v: PGLbyte); external dllname;
-  procedure glVertexAttrib4NsvARB(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib4NivARB(index: GLuint; const v: PGLint); external dllname;
-  procedure glVertexAttrib4NubvARB(index: GLuint; const v: PGLubyte); external dllname;
-  procedure glVertexAttrib4NusvARB(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttrib4NuivARB(index: GLuint; const v: PGLuint); external dllname;
-  procedure glVertexAttribPointerARB(index: GLuint; size: GLint; thetype: GLenum; normalized: GLboolean; stride: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glEnableVertexAttribArrayARB(index: GLuint); external dllname;
-  procedure glDisableVertexAttribArrayARB(index: GLuint); external dllname;
-  procedure glProgramStringARB(target: GLenum; format: GLenum; len: GLsizei; const str: PGLvoid); external dllname;
-  procedure glBindProgramARB(target: GLenum; theProgram: GLuint); external dllname;
-  procedure glDeleteProgramsARB(n: GLsizei; const programs: PGLuint); external dllname;
-  procedure glGenProgramsARB(n: GLsizei; programs: PGLuint); external dllname;
-  procedure glProgramEnvParameter4dARB(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glProgramEnvParameter4dvARB(target: GLenum; index: GLuint; const params: PGLdouble); external dllname;
-  procedure glProgramEnvParameter4fARB(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glProgramEnvParameter4fvARB(target: GLenum; index: GLuint; const params: PGLfloat); external dllname;
-  procedure glProgramLocalParameter4dARB(target: GLenum; index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glProgramLocalParameter4dvARB(target: GLenum; index: GLuint; const params: PGLdouble); external dllname;
-  procedure glProgramLocalParameter4fARB(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glProgramLocalParameter4fvARB(target: GLenum; index: GLuint; const params: PGLfloat); external dllname;
-  procedure glGetProgramEnvParameterdvARB(target: GLenum; index: GLuint; params: PGLdouble); external dllname;
-  procedure glGetProgramEnvParameterfvARB(target: GLenum; index: GLuint; params: PGLfloat); external dllname;
-  procedure glGetProgramLocalParameterdvARB(target: GLenum; index: GLuint; params: PGLdouble); external dllname;
-  procedure glGetProgramLocalParameterfvARB(target: GLenum; index: GLuint; params: PGLfloat); external dllname;
-  procedure glGetProgramivARB(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetProgramStringARB(target: GLenum; pname: GLenum; str: PGLvoid); external dllname;
-  procedure glGetVertexAttribdvARB(index: GLuint; pname: GLenum; params: PGLdouble); external dllname;
-  procedure glGetVertexAttribfvARB(index: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetVertexAttribivARB(index: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetVertexAttribPointervARB(index: GLuint; pname: GLenum; pointer: PGLvoid); external dllname;
-  function glIsProgramARB(theProgram: GLuint): GLboolean; external dllname;
-
-function Load_GL_ARB_vertex_program: Boolean;
-
-//***** GL_ARB_window_pos *****//
-
-  procedure glWindowPos2dARB(x: GLdouble; y: GLdouble); external dllname;
-  procedure glWindowPos2fARB(x: GLfloat; y: GLfloat); external dllname;
-  procedure glWindowPos2iARB(x: GLint; y: GLint); external dllname;
-  procedure glWindowPos2sARB(x: GLshort; y: GLshort); external dllname;
-  procedure glWindowPos2dvARB(const p: PGLdouble); external dllname;
-  procedure glWindowPos2fvARB(const p: PGLfloat); external dllname;
-  procedure glWindowPos2ivARB(const p: PGLint); external dllname;
-  procedure glWindowPos2svARB(const p: PGLshort); external dllname;
-  procedure glWindowPos3dARB(x: GLdouble; y: GLdouble; z: GLdouble); external dllname;
-  procedure glWindowPos3fARB(x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glWindowPos3iARB(x: GLint; y: GLint; z: GLint); external dllname;
-  procedure glWindowPos3sARB(x: GLshort; y: GLshort; z: GLshort); external dllname;
-  procedure glWindowPos3dvARB(const p: PGLdouble); external dllname;
-  procedure glWindowPos3fvARB(const p: PGLfloat); external dllname;
-  procedure glWindowPos3ivARB(const p: PGLint); external dllname;
-  procedure glWindowPos3svARB(const p: PGLshort); external dllname;
-
-function Load_GL_ARB_window_pos: Boolean;
-
-//***** GL_EXT_422_pixels *****//
-const
-  GL_422_EXT = $80CC;
-  GL_422_REV_EXT = $80CD;
-  GL_422_AVERAGE_EXT = $80CE;
-  GL_422_REV_AVERAGE_EXT = $80CF;
-
-function Load_GL_EXT_422_pixels: Boolean;
-
-//***** GL_EXT_abgr *****//
-const
-  GL_ABGR_EXT = $8000;
-
-function Load_GL_EXT_abgr: Boolean;
-
-//***** GL_EXT_bgra *****//
-const
-  GL_BGR_EXT = $80E0;
-  GL_BGRA_EXT = $80E1;
-
-function Load_GL_EXT_bgra: Boolean;
-
-//***** GL_EXT_blend_color *****//
-const
-  GL_CONSTANT_COLOR_EXT = $8001;
-  GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
-  GL_CONSTANT_ALPHA_EXT = $8003;
-  GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
-  GL_BLEND_COLOR_EXT = $8005;
-
-  procedure glBlendColorEXT(red: GLclampf; green: GLclampf; blue: GLclampf; alpha: GLclampf); external dllname;
-
-function Load_GL_EXT_blend_color: Boolean;
-
-//***** GL_EXT_blend_func_separate *****//
-const
-  GL_BLEND_DST_RGB_EXT = $80C8;
-  GL_BLEND_SRC_RGB_EXT = $80C9;
-  GL_BLEND_DST_ALPHA_EXT = $80CA;
-  GL_BLEND_SRC_ALPHA_EXT = $80CB;
-
-procedure glBlendFuncSeparateEXT(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); external dllname;
-
-function Load_GL_EXT_blend_func_separate: Boolean;
-
-//***** GL_EXT_blend_logic_op *****//
-
-function Load_GL_EXT_blend_logic_op: Boolean;
-
-//***** GL_EXT_blend_minmax *****//
-const
-  GL_FUNC_ADD_EXT = $8006;
-  GL_MIN_EXT = $8007;
-  GL_MAX_EXT = $8008;
-  GL_BLEND_EQUATION_EXT = $8009;
-
-  procedure glBlendEquationEXT(mode: GLenum); external dllname;
-
-function Load_GL_EXT_blend_minmax: Boolean;
-
-//***** GL_EXT_blend_subtract *****//
-const
-  GL_FUNC_SUBTRACT_EXT = $800A;
-  GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
-
-function Load_GL_EXT_blend_subtract: Boolean;
-
-//***** GL_EXT_clip_volume_hint *****//
-const
-  GL_CLIP_VOLUME_CLIPPING_HINT_EXT = $80F0;
-
-function Load_GL_EXT_clip_volume_hint: Boolean;
-
-//***** GL_EXT_color_subtable *****//
-
-  procedure glColorSubTableEXT(target: GLenum; start: GLsizei; count: GLsizei; format: GLenum; thetype: GLenum; const data: PGLvoid); external dllname;
-  procedure glCopyColorSubTableEXT(target: GLenum; start: GLsizei; x: GLint; y: GLint; width: GLsizei); external dllname;
-
-function Load_GL_EXT_color_subtable: Boolean;
-
-//***** GL_EXT_compiled_vertex_array *****//
-const
-  GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = $81A8;
-  GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = $81A9;
-
-  procedure glLockArraysEXT(first: GLint; count: GLsizei); external dllname;
-  procedure glUnlockArraysEXT(); external dllname;
-
-function Load_GL_EXT_compiled_vertex_array: Boolean;
-
-//***** GL_EXT_convolution *****//
-const
-  GL_CONVOLUTION_1D_EXT = $8010;
-  GL_CONVOLUTION_2D_EXT = $8011;
-  GL_SEPARABLE_2D_EXT = $8012;
-  GL_CONVOLUTION_BORDER_MODE_EXT = $8013;
-  GL_CONVOLUTION_FILTER_SCALE_EXT = $8014;
-  GL_CONVOLUTION_FILTER_BIAS_EXT = $8015;
-  GL_REDUCE_EXT = $8016;
-  GL_CONVOLUTION_FORMAT_EXT = $8017;
-  GL_CONVOLUTION_WIDTH_EXT = $8018;
-  GL_CONVOLUTION_HEIGHT_EXT = $8019;
-  GL_MAX_CONVOLUTION_WIDTH_EXT = $801A;
-  GL_MAX_CONVOLUTION_HEIGHT_EXT = $801B;
-  GL_POST_CONVOLUTION_RED_SCALE_EXT = $801C;
-  GL_POST_CONVOLUTION_GREEN_SCALE_EXT = $801D;
-  GL_POST_CONVOLUTION_BLUE_SCALE_EXT = $801E;
-  GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = $801F;
-  GL_POST_CONVOLUTION_RED_BIAS_EXT = $8020;
-  GL_POST_CONVOLUTION_GREEN_BIAS_EXT = $8021;
-  GL_POST_CONVOLUTION_BLUE_BIAS_EXT = $8022;
-  GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = $8023;
-
-  procedure glConvolutionFilter1DEXT(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; thetype: GLenum; const image: PGLvoid); external dllname;
-  procedure glConvolutionFilter2DEXT(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; thetype: GLenum; const image: PGLvoid); external dllname;
-  procedure glCopyConvolutionFilter1DEXT(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); external dllname;
-  procedure glCopyConvolutionFilter2DEXT(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei; height: GLsizei); external dllname;
-  procedure glGetConvolutionFilterEXT(target: GLenum; format: GLenum; thetype: GLenum; image: PGLvoid); external dllname;
-  procedure glSeparableFilter2DEXT(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei; format: GLenum; thetype: GLenum; const row: PGLvoid; const column: PGLvoid); external dllname;
-  procedure glGetSeparableFilterEXT(target: GLenum; format: GLenum; thetype: GLenum; row: PGLvoid; column: PGLvoid; span: PGLvoid); external dllname;
-  procedure glConvolutionParameteriEXT(target: GLenum; pname: GLenum; param: GLint); external dllname;
-  procedure glConvolutionParameterivEXT(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-  procedure glConvolutionParameterfEXT(target: GLenum; pname: GLenum; param: GLfloat); external dllname;
-  procedure glConvolutionParameterfvEXT(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glGetConvolutionParameterivEXT(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetConvolutionParameterfvEXT(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_EXT_convolution: Boolean;
-
-//***** GL_EXT_fog_coord *****//
-const
-  GL_FOG_COORDINATE_SOURCE_EXT = $8450;
-  GL_FOG_COORDINATE_EXT = $8451;
-  GL_FRAGMENT_DEPTH_EXT = $8452;
-  GL_CURRENT_FOG_COORDINATE_EXT = $8453;
-  GL_FOG_COORDINATE_ARRAY_TYPE_EXT = $8454;
-  GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = $8455;
-  GL_FOG_COORDINATE_ARRAY_POINTER_EXT = $8456;
-  GL_FOG_COORDINATE_ARRAY_EXT = $8457;
-
-  procedure glFogCoordfEXfloat(coord: GLfloat); external dllname;
-  procedure glFogCoorddEXdouble(coord: GLdouble); external dllname;
-  procedure glFogCoordfvEXfloat(coord: GLfloat); external dllname;
-  procedure glFogCoorddvEXdouble(coord: GLdouble); external dllname;
-  procedure glFogCoordPointerEXT(thetype: GLenum; stride: GLsizei; pointer: PGLvoid); external dllname;
-
-function Load_GL_EXT_fog_coord: Boolean;
-
-//***** GL_EXT_histogram *****//
-const
-  GL_HISTOGRAM_EXT = $8024;
-  GL_PROXY_HISTOGRAM_EXT = $8025;
-  GL_HISTOGRAM_WIDTH_EXT = $8026;
-  GL_HISTOGRAM_FORMAT_EXT = $8027;
-  GL_HISTOGRAM_RED_SIZE_EXT = $8028;
-  GL_HISTOGRAM_GREEN_SIZE_EXT = $8029;
-  GL_HISTOGRAM_BLUE_SIZE_EXT = $802A;
-  GL_HISTOGRAM_ALPHA_SIZE_EXT = $802B;
-  GL_HISTOGRAM_LUMINANCE_SIZE_EXT = $802C;
-  GL_HISTOGRAM_SINK_EXT = $802D;
-  GL_MINMAX_EXT = $802E;
-  GL_MINMAX_FORMAT_EXT = $802F;
-  GL_MINMAX_SINK_EXT = $8030;
-
-  procedure glHistogramEXT(target: GLenum; width: GLsizei; internalformat: GLenum; sink: GLboolean); external dllname;
-  procedure glResetHistogramEXT(target: GLenum); external dllname;
-  procedure glGetHistogramEXT(target: GLenum; reset: GLboolean; format: GLenum; thetype: GLenum; values: PGLvoid); external dllname;
-  procedure glGetHistogramParameterivEXT(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetHistogramParameterfvEXT(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glMinmaxEXT(target: GLenum; internalformat: GLenum; sink: GLboolean); external dllname;
-  procedure glResetMinmaxEXT(target: GLenum); external dllname;
-  procedure glGetMinmaxEXT(target: GLenum; reset: GLboolean; format: GLenum; thetype: GLenum; values: PGLvoid); external dllname;
-  procedure glGetMinmaxParameterivEXT(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetMinmaxParameterfvEXT(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_EXT_histogram: Boolean;
-
-//***** GL_EXT_multi_draw_arrays *****//
-
-  procedure glMultiDrawArraysEXT(mode: GLenum; first: PGLint; count: PGLsizei; primcount: GLsizei); external dllname;
-  procedure glMultiDrawElementsEXT(mode: GLenum; count: PGLsizei; thetype: GLenum; const indices: PGLvoid; primcount: GLsizei); external dllname;
-
-function Load_GL_EXT_multi_draw_arrays: Boolean;
-
-//***** GL_EXT_packed_pixels *****//
-const
-  GL_UNSIGNED_BYTE_3_3_2_EXT = $8032;
-  GL_UNSIGNED_SHORT_4_4_4_4_EXT = $8033;
-  GL_UNSIGNED_SHORT_5_5_5_1_EXT = $8034;
-  GL_UNSIGNED_INT_8_8_8_8_EXT = $8035;
-  GL_UNSIGNED_INT_10_10_10_2_EXT = $8036;
-
-function Load_GL_EXT_packed_pixels: Boolean;
-
-//***** GL_EXT_paletted_texture *****//
-const
-  GL_COLOR_INDEX1_EXT = $80E2;
-  GL_COLOR_INDEX2_EXT = $80E3;
-  GL_COLOR_INDEX4_EXT = $80E4;
-  GL_COLOR_INDEX8_EXT = $80E5;
-  GL_COLOR_INDEX12_EXT = $80E6;
-  GL_COLOR_INDEX16_EXT = $80E7;
-  GL_COLOR_TABLE_FORMAT_EXT = $80D8;
-  GL_COLOR_TABLE_WIDTH_EXT = $80D9;
-  GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
-  GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
-  GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
-  GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
-  GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
-  GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
-  GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
-  GL_TEXTURE_1D = $0DE0;
-  GL_TEXTURE_2D = $0DE1;
-  GL_TEXTURE_3D_EXT = $806F;
-  // GL_TEXTURE_CUBE_MAP_ARB  { already defined }
-  GL_PROXY_TEXTURE_1D = $8063;
-  GL_PROXY_TEXTURE_2D = $8064;
-  GL_PROXY_TEXTURE_3D_EXT = $8070;
-  // GL_PROXY_TEXTURE_CUBE_MAP_ARB  { already defined }
-  // GL_TEXTURE_1D  { already defined }
-  // GL_TEXTURE_2D  { already defined }
-  // GL_TEXTURE_3D_EXT  { already defined }
-  // GL_TEXTURE_CUBE_MAP_ARB  { already defined }
-
-  procedure glColorTableEXT(target: GLenum; internalFormat: GLenum; width: GLsizei; format: GLenum; thetype: GLenum; const data: PGLvoid); external dllname;
-  // glColorSubTableEXT  { already defined }
-  procedure glGetColorTableEXT(target: GLenum; format: GLenum; thetype: GLenum; data: PGLvoid); external dllname;
-  procedure glGetColorTableParameterivEXT(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetColorTableParameterfvEXT(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_EXT_paletted_texture: Boolean;
-
-//***** GL_EXT_point_parameters *****//
-const
-  GL_POINT_SIZE_MIN_EXT = $8126;
-  GL_POINT_SIZE_MAX_EXT = $8127;
-  GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
-  GL_DISTANCE_ATTENUATION_EXT = $8129;
-
-
-  procedure glPointParameterfEXT(pname: GLenum; param: GLfloat); external dllname;
-  procedure glPointParameterfvEXT(pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_EXT_point_parameters: Boolean;
-
-//***** GL_EXT_polygon_offset *****//
-const
-  GL_POLYGON_OFFSET_EXT = $8037;
-  GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
-  GL_POLYGON_OFFSET_BIAS_EXT = $8039;
-  procedure glPolygonOffsetEXT(factor: GLfloat; bias: GLfloat); external dllname;
-
-function Load_GL_EXT_polygon_offset: Boolean;
-
-//***** GL_EXT_secondary_color *****//
-const
-  GL_COLOR_SUM_EXT = $8458;
-  GL_CURRENT_SECONDARY_COLOR_EXT = $8459;
-  GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = $845A;
-  GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = $845B;
-  GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = $845C;
-  GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = $845D;
-  GL_SECONDARY_COLOR_ARRAY_EXT = $845E;
-  procedure glSecondaryColor3bEXT(components: GLbyte); external dllname;
-  procedure glSecondaryColor3sEXT(components: GLshort); external dllname;
-  procedure glSecondaryColor3iEXT(components: GLint); external dllname;
-  procedure glSecondaryColor3fEXT(components: GLfloat); external dllname;
-  procedure glSecondaryColor3dEXT(components: GLdouble); external dllname;
-  procedure glSecondaryColor3ubEXT(components: GLubyte); external dllname;
-  procedure glSecondaryColor3usEXT(components: GLushort); external dllname;
-  procedure glSecondaryColor3uiEXT(components: GLuint); external dllname;
-  procedure glSecondaryColor3bvEXT(components: GLbyte); external dllname;
-  procedure glSecondaryColor3svEXT(components: GLshort); external dllname;
-  procedure glSecondaryColor3ivEXT(components: GLint); external dllname;
-  procedure glSecondaryColor3fvEXT(components: GLfloat); external dllname;
-  procedure glSecondaryColor3dvEXT(components: GLdouble); external dllname;
-  procedure glSecondaryColor3ubvEXT(components: GLubyte); external dllname;
-  procedure glSecondaryColor3usvEXT(components: GLushort); external dllname;
-  procedure glSecondaryColor3uivEXT(components: GLuint); external dllname;
-  procedure glSecondaryColorPointerEXT(size: GLint; thetype: GLenum; stride: GLsizei; pointer: PGLvoid); external dllname;
-
-function Load_GL_EXT_secondary_color: Boolean;
-
-//***** GL_EXT_separate_specular_color *****//
-const
-  GL_LIGHT_MODEL_COLOR_CONTROL_EXT = $81F8;
-  GL_SINGLE_COLOR_EXT = $81F9;
-  GL_SEPARATE_SPECULAR_COLOR_EXT = $81FA;
-
-function Load_GL_EXT_separate_specular_color: Boolean;
-
-//***** GL_EXT_shadow_funcs *****//
-
-function Load_GL_EXT_shadow_funcs: Boolean;
-
-//***** GL_EXT_shared_texture_palette *****//
-const
-  GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
-
-function Load_GL_EXT_shared_texture_palette: Boolean;
-
-//***** GL_EXT_stencil_two_side *****//
-const
-  GL_STENCIL_TEST_TWO_SIDE_EXT = $8910;
-  GL_ACTIVE_STENCIL_FACE_EXT = $8911;
-
-  procedure glActiveStencilFaceEXT(face: GLenum); external dllname;
-
-function Load_GL_EXT_stencil_two_side: Boolean;
-
-//***** GL_EXT_stencil_wrap *****//
-const
-  GL_INCR_WRAP_EXT = $8507;
-  GL_DECR_WRAP_EXT = $8508;
-
-function Load_GL_EXT_stencil_wrap: Boolean;
-
-//***** GL_EXT_subtexture *****//
-
-  procedure glTexSubImage1DEXT(target: GLenum; level: GLint; xoffset: GLint; width: GLsizei; format: GLenum; thetype: GLenum; const pixels: PGLvoid); external dllname;
-  procedure glTexSubImage2DEXT(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; width: GLsizei; height: GLsizei; format: GLenum; thetype: GLenum; const pixels: PGLvoid); external dllname;
-  procedure glTexSubImage3DEXT(target: GLenum; level: GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width: GLsizei; height: GLsizei; depth: GLsizei; format: GLenum; thetype: GLenum; const pixels: PGLvoid); external dllname;
-
-function Load_GL_EXT_subtexture: Boolean;
-
-//***** GL_EXT_texture3D *****//
-const
-  GL_PACK_SKIP_IMAGES_EXT = $806B;
-  GL_PACK_IMAGE_HEIGHT_EXT = $806C;
-  GL_UNPACK_SKIP_IMAGES_EXT = $806D;
-  GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
-  // GL_TEXTURE_3D_EXT  { already defined }
-  // GL_PROXY_TEXTURE_3D_EXT  { already defined }
-  GL_TEXTURE_DEPTH_EXT = $8071;
-  GL_TEXTURE_WRAP_R_EXT = $8072;
-  GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
-
-  procedure glTexImage3DEXT(target: GLenum; level: GLint; internalformat: GLenum; width: GLsizei; height: GLsizei; depth: GLsizei; border: GLint; format: GLenum; thetype: GLenum; const pixels: PGLvoid); external dllname;
-
-function Load_GL_EXT_texture3D: Boolean;
-
-//***** GL_EXT_texture_compression_s3tc *****//
-const
-  GL_COMPRESSED_RGB_S3TC_DXT1_EXT = $83F0;
-  GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = $83F1;
-  GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = $83F2;
-  GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = $83F3;
-
-function Load_GL_EXT_texture_compression_s3tc: Boolean;
-
-//***** GL_EXT_texture_env_add *****//
-
-function Load_GL_EXT_texture_env_add: Boolean;
-
-//***** GL_EXT_texture_env_combine *****//
-const
-  GL_COMBINE_EXT = $8570;
-  GL_COMBINE_RGB_EXT = $8571;
-  GL_COMBINE_ALPHA_EXT = $8572;
-  GL_SOURCE0_RGB_EXT = $8580;
-  GL_SOURCE1_RGB_EXT = $8581;
-  GL_SOURCE2_RGB_EXT = $8582;
-  GL_SOURCE0_ALPHA_EXT = $8588;
-  GL_SOURCE1_ALPHA_EXT = $8589;
-  GL_SOURCE2_ALPHA_EXT = $858A;
-  GL_OPERAND0_RGB_EXT = $8590;
-  GL_OPERAND1_RGB_EXT = $8591;
-  GL_OPERAND2_RGB_EXT = $8592;
-  GL_OPERAND0_ALPHA_EXT = $8598;
-  GL_OPERAND1_ALPHA_EXT = $8599;
-  GL_OPERAND2_ALPHA_EXT = $859A;
-  GL_RGB_SCALE_EXT = $8573;
-  GL_ADD_SIGNED_EXT = $8574;
-  GL_INTERPOLATE_EXT = $8575;
-  GL_CONSTANT_EXT = $8576;
-  GL_PRIMARY_COLOR_EXT = $8577;
-  GL_PREVIOUS_EXT = $8578;
-
-function Load_GL_EXT_texture_env_combine: Boolean;
-
-//***** GL_EXT_texture_env_dot3 *****//
-const
-  GL_DOT3_RGB_EXT = $8740;
-  GL_DOT3_RGBA_EXT = $8741;
-
-function Load_GL_EXT_texture_env_dot3: Boolean;
-
-//***** GL_EXT_texture_filter_anisotropic *****//
-const
-  GL_TEXTURE_MAX_ANISOTROPY_EXT = $84FE;
-  GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = $84FF;
-
-function Load_GL_EXT_texture_filter_anisotropic: Boolean;
-
-//***** GL_EXT_texture_lod_bias *****//
-const
-  GL_TEXTURE_FILTER_CONTROL_EXT = $8500;
-  GL_TEXTURE_LOD_BIAS_EXT = $8501;
-  GL_MAX_TEXTURE_LOD_BIAS_EXT = $84FD;
-
-function Load_GL_EXT_texture_lod_bias: Boolean;
-
-//***** GL_EXT_texture_object *****//
-const
-  GL_TEXTURE_PRIORITY_EXT = $8066;
-  GL_TEXTURE_RESIDENT_EXT = $8067;
-  GL_TEXTURE_1D_BINDING_EXT = $8068;
-  GL_TEXTURE_2D_BINDING_EXT = $8069;
-  GL_TEXTURE_3D_BINDING_EXT = $806A;
-
-  procedure glGenTexturesEXT(n: GLsizei; textures: PGLuint); external dllname;
-  procedure glDeleteTexturesEXT(n: GLsizei; const textures: PGLuint); external dllname;
-  procedure glBindTextureEXT(target: GLenum; texture: GLuint); external dllname;
-  procedure glPrioritizeTexturesEXT(n: GLsizei; const textures: PGLuint; const priorities: PGLclampf); external dllname;
-  function glAreTexturesResidentEXT(n: GLsizei; const textures: PGLuint; residences: PGLboolean): GLboolean; external dllname;
-  function glIsTextureEXT(texture: GLuint): GLboolean; external dllname;
-
-function Load_GL_EXT_texture_object: Boolean;
-
-//***** GL_EXT_vertex_array *****//
-const
-  GL_VERTEX_ARRAY_EXT = $8074;
-  GL_NORMAL_ARRAY_EXT = $8075;
-  GL_COLOR_ARRAY_EXT = $8076;
-  GL_INDEX_ARRAY_EXT = $8077;
-  GL_TEXTURE_COORD_ARRAY_EXT = $8078;
-  GL_EDGE_FLAG_ARRAY_EXT = $8079;
-  GL_DOUBLE_EXT = $140A;
-  GL_VERTEX_ARRAY_SIZE_EXT = $807A;
-  GL_VERTEX_ARRAY_TYPE_EXT = $807B;
-  GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
-  GL_VERTEX_ARRAY_COUNT_EXT = $807D;
-  GL_NORMAL_ARRAY_TYPE_EXT = $807E;
-  GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
-  GL_NORMAL_ARRAY_COUNT_EXT = $8080;
-  GL_COLOR_ARRAY_SIZE_EXT = $8081;
-  GL_COLOR_ARRAY_TYPE_EXT = $8082;
-  GL_COLOR_ARRAY_STRIDE_EXT = $8083;
-  GL_COLOR_ARRAY_COUNT_EXT = $8084;
-  GL_INDEX_ARRAY_TYPE_EXT = $8085;
-  GL_INDEX_ARRAY_STRIDE_EXT = $8086;
-  GL_INDEX_ARRAY_COUNT_EXT = $8087;
-  GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
-  GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
-  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
-  GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
-  GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
-  GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
-  GL_VERTEX_ARRAY_POINTER_EXT = $808E;
-  GL_NORMAL_ARRAY_POINTER_EXT = $808F;
-  GL_COLOR_ARRAY_POINTER_EXT = $8090;
-  GL_INDEX_ARRAY_POINTER_EXT = $8091;
-  GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
-  GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
-
-  procedure glArrayElementEXT(i: GLint); external dllname;
-  procedure glDrawArraysEXT(mode: GLenum; first: GLint; count: GLsizei); external dllname;
-  procedure glVertexPointerEXT(size: GLint; thetype: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glNormalPointerEXT(thetype: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glColorPointerEXT(size: GLint; thetype: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glIndexPointerEXT(thetype: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glTexCoordPointerEXT(size: GLint; thetype: GLenum; stride: GLsizei; count: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glEdgeFlagPointerEXT(stride: GLsizei; count: GLsizei; const pointer: PGLboolean); external dllname;
-  procedure glGetPointervEXT(pname: GLenum; params: PGLvoid); external dllname;
-
-function Load_GL_EXT_vertex_array: Boolean;
-
-//***** GL_EXT_vertex_shader *****//
-const
-  GL_VERTEX_SHADER_EXT = $8780;
-  GL_VARIANT_VALUE_EXT = $87E4;
-  GL_VARIANT_DATATYPE_EXT = $87E5;
-  GL_VARIANT_ARRAY_STRIDE_EXT = $87E6;
-  GL_VARIANT_ARRAY_TYPE_EXT = $87E7;
-  GL_VARIANT_ARRAY_EXT = $87E8;
-  GL_VARIANT_ARRAY_POINTER_EXT = $87E9;
-  GL_INVARIANT_VALUE_EXT = $87EA;
-  GL_INVARIANT_DATATYPE_EXT = $87EB;
-  GL_LOCAL_CONSTANT_VALUE_EXT = $87EC;
-  GL_LOCAL_CONSTANT_DATATYPE_EXT = $87ED;
-  GL_OP_INDEX_EXT = $8782;
-  GL_OP_NEGATE_EXT = $8783;
-  GL_OP_DOT3_EXT = $8784;
-  GL_OP_DOT4_EXT = $8785;
-  GL_OP_MUL_EXT = $8786;
-  GL_OP_ADD_EXT = $8787;
-  GL_OP_MADD_EXT = $8788;
-  GL_OP_FRAC_EXT = $8789;
-  GL_OP_MAX_EXT = $878A;
-  GL_OP_MIN_EXT = $878B;
-  GL_OP_SET_GE_EXT = $878C;
-  GL_OP_SET_LT_EXT = $878D;
-  GL_OP_CLAMP_EXT = $878E;
-  GL_OP_FLOOR_EXT = $878F;
-  GL_OP_ROUND_EXT = $8790;
-  GL_OP_EXP_BASE_2_EXT = $8791;
-  GL_OP_LOG_BASE_2_EXT = $8792;
-  GL_OP_POWER_EXT = $8793;
-  GL_OP_RECIP_EXT = $8794;
-  GL_OP_RECIP_SQRT_EXT = $8795;
-  GL_OP_SUB_EXT = $8796;
-  GL_OP_CROSS_PRODUCT_EXT = $8797;
-  GL_OP_MULTIPLY_MATRIX_EXT = $8798;
-  GL_OP_MOV_EXT = $8799;
-  GL_OUTPUT_VERTEX_EXT = $879A;
-  GL_OUTPUT_COLOR0_EXT = $879B;
-  GL_OUTPUT_COLOR1_EXT = $879C;
-  GL_OUTPUT_TEXTURE_COORD0_EXT = $879D;
-  GL_OUTPUT_TEXTURE_COORD1_EXT = $879E;
-  GL_OUTPUT_TEXTURE_COORD2_EXT = $879F;
-  GL_OUTPUT_TEXTURE_COORD3_EXT = $87A0;
-  GL_OUTPUT_TEXTURE_COORD4_EXT = $87A1;
-  GL_OUTPUT_TEXTURE_COORD5_EXT = $87A2;
-  GL_OUTPUT_TEXTURE_COORD6_EXT = $87A3;
-  GL_OUTPUT_TEXTURE_COORD7_EXT = $87A4;
-  GL_OUTPUT_TEXTURE_COORD8_EXT = $87A5;
-  GL_OUTPUT_TEXTURE_COORD9_EXT = $87A6;
-  GL_OUTPUT_TEXTURE_COORD10_EXT = $87A7;
-  GL_OUTPUT_TEXTURE_COORD11_EXT = $87A8;
-  GL_OUTPUT_TEXTURE_COORD12_EXT = $87A9;
-  GL_OUTPUT_TEXTURE_COORD13_EXT = $87AA;
-  GL_OUTPUT_TEXTURE_COORD14_EXT = $87AB;
-  GL_OUTPUT_TEXTURE_COORD15_EXT = $87AC;
-  GL_OUTPUT_TEXTURE_COORD16_EXT = $87AD;
-  GL_OUTPUT_TEXTURE_COORD17_EXT = $87AE;
-  GL_OUTPUT_TEXTURE_COORD18_EXT = $87AF;
-  GL_OUTPUT_TEXTURE_COORD19_EXT = $87B0;
-  GL_OUTPUT_TEXTURE_COORD20_EXT = $87B1;
-  GL_OUTPUT_TEXTURE_COORD21_EXT = $87B2;
-  GL_OUTPUT_TEXTURE_COORD22_EXT = $87B3;
-  GL_OUTPUT_TEXTURE_COORD23_EXT = $87B4;
-  GL_OUTPUT_TEXTURE_COORD24_EXT = $87B5;
-  GL_OUTPUT_TEXTURE_COORD25_EXT = $87B6;
-  GL_OUTPUT_TEXTURE_COORD26_EXT = $87B7;
-  GL_OUTPUT_TEXTURE_COORD27_EXT = $87B8;
-  GL_OUTPUT_TEXTURE_COORD28_EXT = $87B9;
-  GL_OUTPUT_TEXTURE_COORD29_EXT = $87BA;
-  GL_OUTPUT_TEXTURE_COORD30_EXT = $87BB;
-  GL_OUTPUT_TEXTURE_COORD31_EXT = $87BC;
-  GL_OUTPUT_FOG_EXT = $87BD;
-  GL_SCALAR_EXT = $87BE;
-  GL_VECTOR_EXT = $87BF;
-  GL_MATRIX_EXT = $87C0;
-  GL_VARIANT_EXT = $87C1;
-  GL_INVARIANT_EXT = $87C2;
-  GL_LOCAL_CONSTANT_EXT = $87C3;
-  GL_LOCAL_EXT = $87C4;
-  GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = $87C5;
-  GL_MAX_VERTEX_SHADER_VARIANTS_EXT = $87C6;
-  GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = $87C7;
-  GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87C8;
-  GL_MAX_VERTEX_SHADER_LOCALS_EXT = $87C9;
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CA;
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = $87CB;
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87CC;
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = $87CD;
-  GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = $87CE;
-  GL_VERTEX_SHADER_INSTRUCTIONS_EXT = $87CF;
-  GL_VERTEX_SHADER_VARIANTS_EXT = $87D0;
-  GL_VERTEX_SHADER_INVARIANTS_EXT = $87D1;
-  GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = $87D2;
-  GL_VERTEX_SHADER_LOCALS_EXT = $87D3;
-  GL_VERTEX_SHADER_BINDING_EXT = $8781;
-  GL_VERTEX_SHADER_OPTIMIZED_EXT = $87D4;
-  GL_X_EXT = $87D5;
-  GL_Y_EXT = $87D6;
-  GL_Z_EXT = $87D7;
-  GL_W_EXT = $87D8;
-  GL_NEGATIVE_X_EXT = $87D9;
-  GL_NEGATIVE_Y_EXT = $87DA;
-  GL_NEGATIVE_Z_EXT = $87DB;
-  GL_NEGATIVE_W_EXT = $87DC;
-  GL_ZERO_EXT = $87DD;
-  GL_ONE_EXT = $87DE;
-  GL_NEGATIVE_ONE_EXT = $87DF;
-  GL_NORMALIZED_RANGE_EXT = $87E0;
-  GL_FULL_RANGE_EXT = $87E1;
-  GL_CURRENT_VERTEX_EXT = $87E2;
-  GL_MVP_MATRIX_EXT = $87E3;
-
-  procedure glBeginVertexShaderEXT(); external dllname;
-  procedure glEndVertexShaderEXT(); external dllname;
-  procedure glBindVertexShaderEXT(id: GLuint); external dllname;
-  function glGenVertexShadersEXT(range: GLuint): GLuint; external dllname;
-  procedure glDeleteVertexShaderEXT(id: GLuint); external dllname;
-  procedure glShaderOp1EXT(op: GLenum; res: GLuint; arg1: GLuint); external dllname;
-  procedure glShaderOp2EXT(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint); external dllname;
-  procedure glShaderOp3EXT(op: GLenum; res: GLuint; arg1: GLuint; arg2: GLuint; arg3: GLuint); external dllname;
-  procedure glSwizzleEXT(res: GLuint; theIn: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); external dllname;
-  procedure glWriteMaskEXT(res: GLuint; theIn: GLuint; outX: GLenum; outY: GLenum; outZ: GLenum; outW: GLenum); external dllname;
-  procedure glInsertComponentEXT(res: GLuint; src: GLuint; num: GLuint); external dllname;
-  procedure glExtractComponentEXT(res: GLuint; src: GLuint; num: GLuint); external dllname;
-  function glGenSymbolsEXT(datatype: GLenum; storagetype: GLenum; range: GLenum; components: GLuint): GLuint; external dllname;
-  procedure glSetInvariantEXT(id: GLuint; thetype: GLenum; addr: PGLvoid); external dllname;
-  procedure glSetLocalConstantEXT(id: GLuint; thetype: GLenum; addr: PGLvoid); external dllname;
-  procedure glVariantbvEXT(id: GLuint; addr: PGLbyte); external dllname;
-  procedure glVariantsvEXT(id: GLuint; addr: PGLshort); external dllname;
-  procedure glVariantivEXT(id: GLuint; addr: PGLint); external dllname;
-  procedure glVariantfvEXT(id: GLuint; addr: PGLfloat); external dllname;
-  procedure glVariantdvEXT(id: GLuint; addr: PGLdouble); external dllname;
-  procedure glVariantubvEXT(id: GLuint; addr: PGLubyte); external dllname;
-  procedure glVariantusvEXT(id: GLuint; addr: PGLushort); external dllname;
-  procedure glVariantuivEXT(id: GLuint; addr: PGLuint); external dllname;
-  procedure glVariantPointerEXT(id: GLuint; thetype: GLenum; stride: GLuint; addr: PGLvoid); external dllname;
-  procedure glEnableVariantClientStateEXT(id: GLuint); external dllname;
-  procedure glDisableVariantClientStateEXT(id: GLuint); external dllname;
-  function glBindLightParameterEXT(light: GLenum; value: GLenum): GLuint; external dllname;
-  function glBindMaterialParameterEXT(face: GLenum; value: GLenum): GLuint; external dllname;
-  function glBindTexGenParameterEXT(theunit: GLenum; coord: GLenum; value: GLenum): GLuint; external dllname;
-  function glBindTextureUnitParameterEXT(theunit: GLenum; value: GLenum): GLuint; external dllname;
-  function glBindParameterEXT(value: GLenum): GLuint; external dllname;
-  function glIsVariantEnabledEXT(id: GLuint; cap: GLenum): GLboolean; external dllname;
-  procedure glGetVariantBooleanvEXT(id: GLuint; value: GLenum; data: PGLboolean); external dllname;
-  procedure glGetVariantIntegervEXT(id: GLuint; value: GLenum; data: PGLint); external dllname;
-  procedure glGetVariantFloatvEXT(id: GLuint; value: GLenum; data: PGLfloat); external dllname;
-  procedure glGetVariantPointervEXT(id: GLuint; value: GLenum; data: PGLvoid); external dllname;
-  procedure glGetInvariantBooleanvEXT(id: GLuint; value: GLenum; data: PGLboolean); external dllname;
-  procedure glGetInvariantIntegervEXT(id: GLuint; value: GLenum; data: PGLint); external dllname;
-  procedure glGetInvariantFloatvEXT(id: GLuint; value: GLenum; data: PGLfloat); external dllname;
-  procedure glGetLocalConstantBooleanvEXT(id: GLuint; value: GLenum; data: PGLboolean); external dllname;
-  procedure glGetLocalConstantIntegervEXT(id: GLuint; value: GLenum; data: PGLint); external dllname;
-  procedure glGetLocalConstantFloatvEXT(id: GLuint; value: GLenum; data: PGLfloat); external dllname;
-
-function Load_GL_EXT_vertex_shader: Boolean;
-
-//***** GL_EXT_vertex_weighting *****//
-const
-  GL_VERTEX_WEIGHTING_EXT = $8509;
-  GL_MODELVIEW0_EXT = $1700;
-  GL_MODELVIEW1_EXT = $850A;
-  GL_MODELVIEW0_MATRIX_EXT = $0BA6;
-  GL_MODELVIEW1_MATRIX_EXT = $8506;
-  GL_CURRENT_VERTEX_WEIGHT_EXT = $850B;
-  GL_VERTEX_WEIGHT_ARRAY_EXT = $850C;
-  GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = $850D;
-  GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = $850E;
-  GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = $850F;
-  GL_MODELVIEW0_STACK_DEPTH_EXT = $0BA3;
-  GL_MODELVIEW1_STACK_DEPTH_EXT = $8502;
-  GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = $8510;
-
-  procedure glVertexWeightfEXT(weight: GLfloat); external dllname;
-  procedure glVertexWeightfvEXT(weight: PGLfloat); external dllname;
-  procedure glVertexWeightPointerEXT(size: GLint; thetype: GLenum; stride: GLsizei; pointer: PGLvoid); external dllname;
-
-function Load_GL_EXT_vertex_weighting: Boolean;
-
-//***** GL_HP_occlusion_test *****//
-const
-  GL_OCCLUSION_TEST_HP = $8165;
-  GL_OCCLUSION_TEST_RESULT_HP = $8166;
-
-function Load_GL_HP_occlusion_test: Boolean;
-
-//***** GL_NV_blend_square *****//
-
-function Load_GL_NV_blend_square: Boolean;
-
-//***** GL_NV_copy_depth_to_color *****//
-const
-  GL_DEPTH_STENCIL_TO_RGBA_NV = $886E;
-  GL_DEPTH_STENCIL_TO_BGRA_NV = $886F;
-
-function Load_GL_NV_copy_depth_to_color: Boolean;
-
-//***** GL_NV_depth_clamp *****//
-const
-  GL_DEPTH_CLAMP_NV = $864F;
-
-function Load_GL_NV_depth_clamp: Boolean;
-
-//***** GL_NV_evaluators *****//
-const
-  GL_EVAL_2D_NV = $86C0;
-  GL_EVAL_TRIANGULAR_2D_NV = $86C1;
-  GL_MAP_TESSELLATION_NV = $86C2;
-  GL_MAP_ATTRIB_U_ORDER_NV = $86C3;
-  GL_MAP_ATTRIB_V_ORDER_NV = $86C4;
-  GL_EVAL_FRACTIONAL_TESSELLATION_NV = $86C5;
-  GL_EVAL_VERTEX_ATTRIB0_NV = $86C6;
-  GL_EVAL_VERTEX_ATTRIB1_NV = $86C7;
-  GL_EVAL_VERTEX_ATTRIB2_NV = $86C8;
-  GL_EVAL_VERTEX_ATTRIB3_NV = $86C9;
-  GL_EVAL_VERTEX_ATTRIB4_NV = $86CA;
-  GL_EVAL_VERTEX_ATTRIB5_NV = $86CB;
-  GL_EVAL_VERTEX_ATTRIB6_NV = $86CC;
-  GL_EVAL_VERTEX_ATTRIB7_NV = $86CD;
-  GL_EVAL_VERTEX_ATTRIB8_NV = $86CE;
-  GL_EVAL_VERTEX_ATTRIB9_NV = $86CF;
-  GL_EVAL_VERTEX_ATTRIB10_NV = $86D0;
-  GL_EVAL_VERTEX_ATTRIB11_NV = $86D1;
-  GL_EVAL_VERTEX_ATTRIB12_NV = $86D2;
-  GL_EVAL_VERTEX_ATTRIB13_NV = $86D3;
-  GL_EVAL_VERTEX_ATTRIB14_NV = $86D4;
-  GL_EVAL_VERTEX_ATTRIB15_NV = $86D5;
-  GL_MAX_MAP_TESSELLATION_NV = $86D6;
-  GL_MAX_RATIONAL_EVAL_ORDER_NV = $86D7;
-
-  procedure glMapControlPointsNV(target: GLenum; index: GLuint; thetype: GLenum; ustride: GLsizei; vstride: GLsizei; uorder: GLint; vorder: GLint; thepacked: GLboolean; const points: PGLvoid); external dllname;
-  procedure glMapParameterivNV(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-  procedure glMapParameterfvNV(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glGetMapControlPointsNV(target: GLenum; index: GLuint; thetype: GLenum; ustride: GLsizei; vstride: GLsizei; thepacked: GLboolean; points: PGLvoid); external dllname;
-  procedure glGetMapParameterivNV(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetMapParameterfvNV(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetMapAttribParameterivNV(target: GLenum; index: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetMapAttribParameterfvNV(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glEvalMapsNV(target: GLenum; mode: GLenum); external dllname;
-
-function Load_GL_NV_evaluators: Boolean;
-
-//***** GL_NV_fence *****//
-const
-  GL_ALL_COMPLETED_NV = $84F2;
-  GL_FENCE_STATUS_NV = $84F3;
-  GL_FENCE_CONDITION_NV = $84F4;
-
-  procedure glGenFencesNV(n: GLsizei; fences: PGLuint); external dllname;
-  procedure glDeleteFencesNV(n: GLsizei; const fences: PGLuint); external dllname;
-  procedure glSetFenceNV(fence: GLuint; condition: GLenum); external dllname;
-  function glTestFenceNV(fence: GLuint): GLboolean; external dllname;
-  procedure glFinishFenceNV(fence: GLuint); external dllname;
-  function glIsFenceNV(fence: GLuint): GLboolean; external dllname;
-  procedure glGetFenceivNV(fence: GLuint; pname: GLenum; params: PGLint); external dllname;
-
-function Load_GL_NV_fence: Boolean;
-
-//***** GL_NV_fog_distance *****//
-const
-  GL_FOG_DISTANCE_MODE_NV = $855A;
-  GL_EYE_RADIAL_NV = $855B;
-  GL_EYE_PLANE_ABSOLUTE_NV = $855C;
-
-function Load_GL_NV_fog_distance: Boolean;
-
-//***** GL_NV_light_max_exponent *****//
-const
-  GL_MAX_SHININESS_NV = $8504;
-  GL_MAX_SPOT_EXPONENT_NV = $8505;
-
-function Load_GL_NV_light_max_exponent: Boolean;
-
-//***** GL_NV_multisample_filter_hint *****//
-const
-  GL_MULTISAMPLE_FILTER_HINT_NV = $8534;
-
-function Load_GL_NV_multisample_filter_hint: Boolean;
-
-//***** GL_NV_occlusion_query *****//
-  // GL_OCCLUSION_TEST_HP  { already defined }
-  // GL_OCCLUSION_TEST_RESULT_HP  { already defined }
-const
-  GL_PIXEL_COUNTER_BITS_NV = $8864;
-  GL_CURRENT_OCCLUSION_QUERY_ID_NV = $8865;
-  GL_PIXEL_COUNT_NV = $8866;
-  GL_PIXEL_COUNT_AVAILABLE_NV = $8867;
-
-  procedure glGenOcclusionQueriesNV(n: GLsizei; ids: PGLuint); external dllname;
-  procedure glDeleteOcclusionQueriesNV(n: GLsizei; const ids: PGLuint); external dllname;
-  function glIsOcclusionQueryNV(id: GLuint): GLboolean; external dllname;
-  procedure glBeginOcclusionQueryNV(id: GLuint); external dllname;
-  procedure glEndOcclusionQueryNV(); external dllname;
-  procedure glGetOcclusionQueryivNV(id: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetOcclusionQueryuivNV(id: GLuint; pname: GLenum; params: PGLuint); external dllname;
-
-function Load_GL_NV_occlusion_query: Boolean;
-
-//***** GL_NV_packed_depth_stencil *****//
-const
-  GL_DEPTH_STENCIL_NV = $84F9;
-  GL_UNSIGNED_INT_24_8_NV = $84FA;
-
-function Load_GL_NV_packed_depth_stencil: Boolean;
-
-//***** GL_NV_point_sprite *****//
-const
-  GL_POINT_SPRITE_NV = $8861;
-  GL_COORD_REPLACE_NV = $8862;
-  GL_POINT_SPRITE_R_MODE_NV = $8863;
-
-  procedure glPointParameteriNV(pname: GLenum; param: GLint); external dllname;
-  procedure glPointParameterivNV(pname: GLenum; const params: PGLint); external dllname;
-
-function Load_GL_NV_point_sprite: Boolean;
-
-//***** GL_NV_register_combiners *****//
-const
-  GL_REGISTER_COMBINERS_NV = $8522;
-  GL_COMBINER0_NV = $8550;
-  GL_COMBINER1_NV = $8551;
-  GL_COMBINER2_NV = $8552;
-  GL_COMBINER3_NV = $8553;
-  GL_COMBINER4_NV = $8554;
-  GL_COMBINER5_NV = $8555;
-  GL_COMBINER6_NV = $8556;
-  GL_COMBINER7_NV = $8557;
-  GL_VARIABLE_A_NV = $8523;
-  GL_VARIABLE_B_NV = $8524;
-  GL_VARIABLE_C_NV = $8525;
-  GL_VARIABLE_D_NV = $8526;
-  GL_VARIABLE_E_NV = $8527;
-  GL_VARIABLE_F_NV = $8528;
-  GL_VARIABLE_G_NV = $8529;
-  GL_CONSTANT_COLOR0_NV = $852A;
-  GL_CONSTANT_COLOR1_NV = $852B;
-  GL_PRIMARY_COLOR_NV = $852C;
-  GL_SECONDARY_COLOR_NV = $852D;
-  GL_SPARE0_NV = $852E;
-  GL_SPARE1_NV = $852F;
-  GL_UNSIGNED_IDENTITY_NV = $8536;
-  GL_UNSIGNED_INVERT_NV = $8537;
-  GL_EXPAND_NORMAL_NV = $8538;
-  GL_EXPAND_NEGATE_NV = $8539;
-  GL_HALF_BIAS_NORMAL_NV = $853A;
-  GL_HALF_BIAS_NEGATE_NV = $853B;
-  GL_SIGNED_IDENTITY_NV = $853C;
-  GL_SIGNED_NEGATE_NV = $853D;
-  GL_E_TIMES_F_NV = $8531;
-  GL_SPARE0_PLUS_SECONDARY_COLOR_NV = $8532;
-  GL_SCALE_BY_TWO_NV = $853E;
-  GL_SCALE_BY_FOUR_NV = $853F;
-  GL_SCALE_BY_ONE_HALF_NV = $8540;
-  GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = $8541;
-  GL_DISCARD_NV = $8530;
-  GL_COMBINER_INPUT_NV = $8542;
-  GL_COMBINER_MAPPING_NV = $8543;
-  GL_COMBINER_COMPONENT_USAGE_NV = $8544;
-  GL_COMBINER_AB_DOT_PRODUCT_NV = $8545;
-  GL_COMBINER_CD_DOT_PRODUCT_NV = $8546;
-  GL_COMBINER_MUX_SUM_NV = $8547;
-  GL_COMBINER_SCALE_NV = $8548;
-  GL_COMBINER_BIAS_NV = $8549;
-  GL_COMBINER_AB_OUTPUT_NV = $854A;
-  GL_COMBINER_CD_OUTPUT_NV = $854B;
-  GL_COMBINER_SUM_OUTPUT_NV = $854C;
-  GL_NUM_GENERAL_COMBINERS_NV = $854E;
-  GL_COLOR_SUM_CLAMP_NV = $854F;
-  GL_MAX_GENERAL_COMBINERS_NV = $854D;
-
-  procedure glCombinerParameterfvNV(pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glCombinerParameterivNV(pname: GLenum; const params: PGLint); external dllname;
-  procedure glCombinerParameterfNV(pname: GLenum; param: GLfloat); external dllname;
-  procedure glCombinerParameteriNV(pname: GLenum; param: GLint); external dllname;
-  procedure glCombinerInputNV(stage: GLenum; portion: GLenum; variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); external dllname;
-  procedure glCombinerOutputNV(stage: GLenum; portion: GLenum; abOutput: GLenum; cdOutput: GLenum; sumOutput: GLenum; scale: GLenum; bias: GLenum; abDotProduct: GLboolean; cdDotProduct: GLboolean; muxSum: GLboolean); external dllname;
-  procedure glFinalCombinerInputNV(variable: GLenum; input: GLenum; mapping: GLenum; componentUsage: GLenum); external dllname;
-  procedure glGetCombinerInputParameterfvNV(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetCombinerInputParameterivNV(stage: GLenum; portion: GLenum; variable: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetCombinerOutputParameterfvNV(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetCombinerOutputParameterivNV(stage: GLenum; portion: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetFinalCombinerInputParameterfvNV(variable: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetFinalCombinerInputParameterivNV(variable: GLenum; pname: GLenum; params: PGLint); external dllname;
-
-function Load_GL_NV_register_combiners: Boolean;
-
-//***** GL_NV_register_combiners2 *****//
-const
-  GL_PER_STAGE_CONSTANTS_NV = $8535;
-
-  procedure glCombinerStageParameterfvNV(stage: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glGetCombinerStageParameterfvNV(stage: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_NV_register_combiners2: Boolean;
-
-//***** GL_NV_texgen_emboss *****//
-const
-  GL_EMBOSS_MAP_NV = $855F;
-  GL_EMBOSS_LIGHT_NV = $855D;
-  GL_EMBOSS_CONSTANT_NV = $855E;
-
-function Load_GL_NV_texgen_emboss: Boolean;
-
-//***** GL_NV_texgen_reflection *****//
-const
-  GL_NORMAL_MAP_NV = $8511;
-  GL_REFLECTION_MAP_NV = $8512;
-
-function Load_GL_NV_texgen_reflection: Boolean;
-
-//***** GL_NV_texture_compression_vtc *****//
-  // GL_COMPRESSED_RGB_S3TC_DXT1_EXT  { already defined }
-  // GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  { already defined }
-  // GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  { already defined }
-  // GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  { already defined }
-
-function Load_GL_NV_texture_compression_vtc: Boolean;
-
-//***** GL_NV_texture_env_combine4 *****//
-const
-  GL_COMBINE4_NV = $8503;
-  GL_SOURCE3_RGB_NV = $8583;
-  GL_SOURCE3_ALPHA_NV = $858B;
-  GL_OPERAND3_RGB_NV = $8593;
-  GL_OPERAND3_ALPHA_NV = $859B;
-
-function Load_GL_NV_texture_env_combine4: Boolean;
-
-//***** GL_NV_texture_rectangle *****//
-const
-  GL_TEXTURE_RECTANGLE_NV = $84F5;
-  GL_TEXTURE_BINDING_RECTANGLE_NV = $84F6;
-  GL_PROXY_TEXTURE_RECTANGLE_NV = $84F7;
-  GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = $84F8;
-
-function Load_GL_NV_texture_rectangle: Boolean;
-
-//***** GL_NV_texture_shader *****//
-const
-  GL_TEXTURE_SHADER_NV = $86DE;
-  GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = $86D9;
-  GL_SHADER_OPERATION_NV = $86DF;
-  GL_CULL_MODES_NV = $86E0;
-  GL_OFFSET_TEXTURE_MATRIX_NV = $86E1;
-  GL_OFFSET_TEXTURE_SCALE_NV = $86E2;
-  GL_OFFSET_TEXTURE_BIAS_NV = $86E3;
-  GL_PREVIOUS_TEXTURE_INPUT_NV = $86E4;
-  GL_CONST_EYE_NV = $86E5;
-  GL_SHADER_CONSISTENT_NV = $86DD;
-  GL_PASS_THROUGH_NV = $86E6;
-  GL_CULL_FRAGMENT_NV = $86E7;
-  GL_OFFSET_TEXTURE_2D_NV = $86E8;
-  GL_OFFSET_TEXTURE_RECTANGLE_NV = $864C;
-  GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = $864D;
-  GL_DEPENDENT_AR_TEXTURE_2D_NV = $86E9;
-  GL_DEPENDENT_GB_TEXTURE_2D_NV = $86EA;
-  GL_DOT_PRODUCT_NV = $86EC;
-  GL_DOT_PRODUCT_DEPTH_REPLACE_NV = $86ED;
-  GL_DOT_PRODUCT_TEXTURE_2D_NV = $86EE;
-  GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = $864E;
-  GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = $86F0;
-  GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = $86F1;
-  GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = $86F2;
-  GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = $86F3;
-  GL_HILO_NV = $86F4;
-  GL_DSDT_NV = $86F5;
-  GL_DSDT_MAG_NV = $86F6;
-  GL_DSDT_MAG_VIB_NV = $86F7;
-  GL_UNSIGNED_INT_S8_S8_8_8_NV = $86DA;
-  GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = $86DB;
-  GL_SIGNED_RGBA_NV = $86FB;
-  GL_SIGNED_RGBA8_NV = $86FC;
-  GL_SIGNED_RGB_NV = $86FE;
-  GL_SIGNED_RGB8_NV = $86FF;
-  GL_SIGNED_LUMINANCE_NV = $8701;
-  GL_SIGNED_LUMINANCE8_NV = $8702;
-  GL_SIGNED_LUMINANCE_ALPHA_NV = $8703;
-  GL_SIGNED_LUMINANCE8_ALPHA8_NV = $8704;
-  GL_SIGNED_ALPHA_NV = $8705;
-  GL_SIGNED_ALPHA8_NV = $8706;
-  GL_SIGNED_INTENSITY_NV = $8707;
-  GL_SIGNED_INTENSITY8_NV = $8708;
-  GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = $870C;
-  GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = $870D;
-  GL_HILO16_NV = $86F8;
-  GL_SIGNED_HILO_NV = $86F9;
-  GL_SIGNED_HILO16_NV = $86FA;
-  GL_DSDT8_NV = $8709;
-  GL_DSDT8_MAG8_NV = $870A;
-  GL_DSDT_MAG_INTENSITY_NV = $86DC;
-  GL_DSDT8_MAG8_INTENSITY8_NV = $870B;
-  GL_HI_SCALE_NV = $870E;
-  GL_LO_SCALE_NV = $870F;
-  GL_DS_SCALE_NV = $8710;
-  GL_DT_SCALE_NV = $8711;
-  GL_MAGNITUDE_SCALE_NV = $8712;
-  GL_VIBRANCE_SCALE_NV = $8713;
-  GL_HI_BIAS_NV = $8714;
-  GL_LO_BIAS_NV = $8715;
-  GL_DS_BIAS_NV = $8716;
-  GL_DT_BIAS_NV = $8717;
-  GL_MAGNITUDE_BIAS_NV = $8718;
-  GL_VIBRANCE_BIAS_NV = $8719;
-  GL_TEXTURE_BORDER_VALUES_NV = $871A;
-  GL_TEXTURE_HI_SIZE_NV = $871B;
-  GL_TEXTURE_LO_SIZE_NV = $871C;
-  GL_TEXTURE_DS_SIZE_NV = $871D;
-  GL_TEXTURE_DT_SIZE_NV = $871E;
-  GL_TEXTURE_MAG_SIZE_NV = $871F;
-
-function Load_GL_NV_texture_shader: Boolean;
-
-//***** GL_NV_texture_shader2 *****//
-const
-  GL_DOT_PRODUCT_TEXTURE_3D_NV = $86EF;
-  // GL_HILO_NV  { already defined }
-  // GL_DSDT_NV  { already defined }
-  // GL_DSDT_MAG_NV  { already defined }
-  // GL_DSDT_MAG_VIB_NV  { already defined }
-  // GL_UNSIGNED_INT_S8_S8_8_8_NV  { already defined }
-  // GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  { already defined }
-  // GL_SIGNED_RGBA_NV  { already defined }
-  // GL_SIGNED_RGBA8_NV  { already defined }
-  // GL_SIGNED_RGB_NV  { already defined }
-  // GL_SIGNED_RGB8_NV  { already defined }
-  // GL_SIGNED_LUMINANCE_NV  { already defined }
-  // GL_SIGNED_LUMINANCE8_NV  { already defined }
-  // GL_SIGNED_LUMINANCE_ALPHA_NV  { already defined }
-  // GL_SIGNED_LUMINANCE8_ALPHA8_NV  { already defined }
-  // GL_SIGNED_ALPHA_NV  { already defined }
-  // GL_SIGNED_ALPHA8_NV  { already defined }
-  // GL_SIGNED_INTENSITY_NV  { already defined }
-  // GL_SIGNED_INTENSITY8_NV  { already defined }
-  // GL_SIGNED_RGB_UNSIGNED_ALPHA_NV  { already defined }
-  // GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV  { already defined }
-  // GL_HILO16_NV  { already defined }
-  // GL_SIGNED_HILO_NV  { already defined }
-  // GL_SIGNED_HILO16_NV  { already defined }
-  // GL_DSDT8_NV  { already defined }
-  // GL_DSDT8_MAG8_NV  { already defined }
-  // GL_DSDT_MAG_INTENSITY_NV  { already defined }
-  // GL_DSDT8_MAG8_INTENSITY8_NV  { already defined }
-
-function Load_GL_NV_texture_shader2: Boolean;
-
-//***** GL_NV_texture_shader3 *****//
-const
-  GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = $8850;
-  GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = $8851;
-  GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8852;
-  GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = $8853;
-  GL_OFFSET_HILO_TEXTURE_2D_NV = $8854;
-  GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = $8855;
-  GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = $8856;
-  GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = $8857;
-  GL_DEPENDENT_HILO_TEXTURE_2D_NV = $8858;
-  GL_DEPENDENT_RGB_TEXTURE_3D_NV = $8859;
-  GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = $885A;
-  GL_DOT_PRODUCT_PASS_THROUGH_NV = $885B;
-  GL_DOT_PRODUCT_TEXTURE_1D_NV = $885C;
-  GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = $885D;
-  GL_HILO8_NV = $885E;
-  GL_SIGNED_HILO8_NV = $885F;
-  GL_FORCE_BLUE_TO_ONE_NV = $8860;
-
-function Load_GL_NV_texture_shader3: Boolean;
-
-//***** GL_NV_vertex_array_range *****//
-const
-  GL_VERTEX_ARRAY_RANGE_NV = $851D;
-  GL_VERTEX_ARRAY_RANGE_LENGTH_NV = $851E;
-  GL_VERTEX_ARRAY_RANGE_VALID_NV = $851F;
-  GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = $8520;
-  GL_VERTEX_ARRAY_RANGE_POINTER_NV = $8521;
-
-  procedure glVertexArrayRangeNV(length: GLsizei; pointer: PGLvoid); external dllname;
-  procedure glFlushVertexArrayRangeNV(); external dllname;
-
-
-function Load_GL_NV_vertex_array_range: Boolean;
-
-//***** GL_NV_vertex_array_range2 *****//
-const
-  GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = $8533;
-
-function Load_GL_NV_vertex_array_range2: Boolean;
-
-//***** GL_NV_vertex_program *****//
-const
-  GL_VERTEX_PROGRAM_NV = $8620;
-  GL_VERTEX_PROGRAM_POINT_SIZE_NV = $8642;
-  GL_VERTEX_PROGRAM_TWO_SIDE_NV = $8643;
-  GL_VERTEX_STATE_PROGRAM_NV = $8621;
-  GL_ATTRIB_ARRAY_SIZE_NV = $8623;
-  GL_ATTRIB_ARRAY_STRIDE_NV = $8624;
-  GL_ATTRIB_ARRAY_TYPE_NV = $8625;
-  GL_CURRENT_ATTRIB_NV = $8626;
-  GL_PROGRAM_PARAMETER_NV = $8644;
-  GL_ATTRIB_ARRAY_POINTER_NV = $8645;
-  GL_PROGRAM_TARGET_NV = $8646;
-  GL_PROGRAM_LENGTH_NV = $8627;
-  GL_PROGRAM_RESIDENT_NV = $8647;
-  GL_PROGRAM_STRING_NV = $8628;
-  GL_TRACK_MATRIX_NV = $8648;
-  GL_TRACK_MATRIX_TRANSFORM_NV = $8649;
-  GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = $862E;
-  GL_MAX_TRACK_MATRICES_NV = $862F;
-  GL_CURRENT_MATRIX_STACK_DEPTH_NV = $8640;
-  GL_CURRENT_MATRIX_NV = $8641;
-  GL_VERTEX_PROGRAM_BINDING_NV = $864A;
-  GL_PROGRAM_ERROR_POSITION_NV = $864B;
-  GL_MODELVIEW_PROJECTION_NV = $8629;
-  GL_MATRIX0_NV = $8630;
-  GL_MATRIX1_NV = $8631;
-  GL_MATRIX2_NV = $8632;
-  GL_MATRIX3_NV = $8633;
-  GL_MATRIX4_NV = $8634;
-  GL_MATRIX5_NV = $8635;
-  GL_MATRIX6_NV = $8636;
-  GL_MATRIX7_NV = $8637;
-  GL_IDENTITY_NV = $862A;
-  GL_INVERSE_NV = $862B;
-  GL_TRANSPOSE_NV = $862C;
-  GL_INVERSE_TRANSPOSE_NV = $862D;
-  GL_VERTEX_ATTRIB_ARRAY0_NV = $8650;
-  GL_VERTEX_ATTRIB_ARRAY1_NV = $8651;
-  GL_VERTEX_ATTRIB_ARRAY2_NV = $8652;
-  GL_VERTEX_ATTRIB_ARRAY3_NV = $8653;
-  GL_VERTEX_ATTRIB_ARRAY4_NV = $8654;
-  GL_VERTEX_ATTRIB_ARRAY5_NV = $8655;
-  GL_VERTEX_ATTRIB_ARRAY6_NV = $8656;
-  GL_VERTEX_ATTRIB_ARRAY7_NV = $8657;
-  GL_VERTEX_ATTRIB_ARRAY8_NV = $8658;
-  GL_VERTEX_ATTRIB_ARRAY9_NV = $8659;
-  GL_VERTEX_ATTRIB_ARRAY10_NV = $865A;
-  GL_VERTEX_ATTRIB_ARRAY11_NV = $865B;
-  GL_VERTEX_ATTRIB_ARRAY12_NV = $865C;
-  GL_VERTEX_ATTRIB_ARRAY13_NV = $865D;
-  GL_VERTEX_ATTRIB_ARRAY14_NV = $865E;
-  GL_VERTEX_ATTRIB_ARRAY15_NV = $865F;
-  GL_MAP1_VERTEX_ATTRIB0_4_NV = $8660;
-  GL_MAP1_VERTEX_ATTRIB1_4_NV = $8661;
-  GL_MAP1_VERTEX_ATTRIB2_4_NV = $8662;
-  GL_MAP1_VERTEX_ATTRIB3_4_NV = $8663;
-  GL_MAP1_VERTEX_ATTRIB4_4_NV = $8664;
-  GL_MAP1_VERTEX_ATTRIB5_4_NV = $8665;
-  GL_MAP1_VERTEX_ATTRIB6_4_NV = $8666;
-  GL_MAP1_VERTEX_ATTRIB7_4_NV = $8667;
-  GL_MAP1_VERTEX_ATTRIB8_4_NV = $8668;
-  GL_MAP1_VERTEX_ATTRIB9_4_NV = $8669;
-  GL_MAP1_VERTEX_ATTRIB10_4_NV = $866A;
-  GL_MAP1_VERTEX_ATTRIB11_4_NV = $866B;
-  GL_MAP1_VERTEX_ATTRIB12_4_NV = $866C;
-  GL_MAP1_VERTEX_ATTRIB13_4_NV = $866D;
-  GL_MAP1_VERTEX_ATTRIB14_4_NV = $866E;
-  GL_MAP1_VERTEX_ATTRIB15_4_NV = $866F;
-  GL_MAP2_VERTEX_ATTRIB0_4_NV = $8670;
-  GL_MAP2_VERTEX_ATTRIB1_4_NV = $8671;
-  GL_MAP2_VERTEX_ATTRIB2_4_NV = $8672;
-  GL_MAP2_VERTEX_ATTRIB3_4_NV = $8673;
-  GL_MAP2_VERTEX_ATTRIB4_4_NV = $8674;
-  GL_MAP2_VERTEX_ATTRIB5_4_NV = $8675;
-  GL_MAP2_VERTEX_ATTRIB6_4_NV = $8676;
-  GL_MAP2_VERTEX_ATTRIB7_4_NV = $8677;
-  GL_MAP2_VERTEX_ATTRIB8_4_NV = $8678;
-  GL_MAP2_VERTEX_ATTRIB9_4_NV = $8679;
-  GL_MAP2_VERTEX_ATTRIB10_4_NV = $867A;
-  GL_MAP2_VERTEX_ATTRIB11_4_NV = $867B;
-  GL_MAP2_VERTEX_ATTRIB12_4_NV = $867C;
-  GL_MAP2_VERTEX_ATTRIB13_4_NV = $867D;
-  GL_MAP2_VERTEX_ATTRIB14_4_NV = $867E;
-  GL_MAP2_VERTEX_ATTRIB15_4_NV = $867F;
-
-  procedure glBindProgramNV(target: GLenum; id: GLuint); external dllname;
-  procedure glDeleteProgramsNV(n: GLsizei; const ids: PGLuint); external dllname;
-  procedure glExecuteProgramNV(target: GLenum; id: GLuint; const params: PGLfloat); external dllname;
-  procedure glGenProgramsNV(n: GLsizei; ids: PGLuint); external dllname;
-  function glAreProgramsResidentNV(n: GLsizei; const ids: PGLuint; residences: PGLboolean): GLboolean; external dllname;
-  procedure glRequestResidentProgramsNV(n: GLsizei; ids: PGLuint); external dllname;
-  procedure glGetProgramParameterfvNV(target: GLenum; index: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetProgramParameterdvNV(target: GLenum; index: GLuint; pname: GLenum; params: PGLdouble); external dllname;
-  procedure glGetProgramivNV(id: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetProgramStringNV(id: GLuint; pname: GLenum; theProgram: PGLubyte); external dllname;
-  procedure glGetTrackMatrixivNV(target: GLenum; address: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetVertexAttribdvNV(index: GLuint; pname: GLenum; params: PGLdouble); external dllname;
-  procedure glGetVertexAttribfvNV(index: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetVertexAttribivNV(index: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetVertexAttribPointervNV(index: GLuint; pname: GLenum; pointer: PGLvoid); external dllname;
-  function glIsProgramNV(id: GLuint): GLboolean; external dllname;
-  procedure glLoadProgramNV(target: GLenum; id: GLuint; len: GLsizei; const theProgram: PGLubyte); external dllname;
-  procedure glProgramParameter4fNV(target: GLenum; index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glProgramParameter4fvNV(target: GLenum; index: GLuint; const params: PGLfloat); external dllname;
-  procedure glProgramParameters4dvNV(target: GLenum; index: GLuint; num: GLuint; const params: PGLdouble); external dllname;
-  procedure glProgramParameters4fvNV(target: GLenum; index: GLuint; num: GLuint; const params: PGLfloat); external dllname;
-  procedure glTrackMatrixNV(target: GLenum; address: GLuint; matrix: GLenum; transform: GLenum); external dllname;
-  procedure glVertexAttribPointerNV(index: GLuint; size: GLint; thetype: GLenum; stride: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glVertexAttrib1sNV(index: GLuint; x: GLshort); external dllname;
-  procedure glVertexAttrib1fNV(index: GLuint; x: GLfloat); external dllname;
-  procedure glVertexAttrib1dNV(index: GLuint; x: GLdouble); external dllname;
-  procedure glVertexAttrib2sNV(index: GLuint; x: GLshort; y: GLshort); external dllname;
-  procedure glVertexAttrib2fNV(index: GLuint; x: GLfloat; y: GLfloat); external dllname;
-  procedure glVertexAttrib2dNV(index: GLuint; x: GLdouble; y: GLdouble); external dllname;
-  procedure glVertexAttrib3sNV(index: GLuint; x: GLshort; y: GLshort; z: GLshort); external dllname;
-  procedure glVertexAttrib3fNV(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glVertexAttrib3dNV(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); external dllname;
-  procedure glVertexAttrib4sNV(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); external dllname;
-  procedure glVertexAttrib4fNV(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glVertexAttrib4dNV(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glVertexAttrib4ubNV(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); external dllname;
-  procedure glVertexAttrib1svNV(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib1fvNV(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib1dvNV(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib2svNV(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib2fvNV(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib2dvNV(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib3svNV(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib3fvNV(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib3dvNV(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib4svNV(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib4fvNV(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib4dvNV(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib4ubvNV(index: GLuint; const v: PGLubyte); external dllname;
-  procedure glVertexAttribs1svNV(index: GLuint; n: GLsizei; const v: PGLshort); external dllname;
-  procedure glVertexAttribs1fvNV(index: GLuint; n: GLsizei; const v: PGLfloat); external dllname;
-  procedure glVertexAttribs1dvNV(index: GLuint; n: GLsizei; const v: PGLdouble); external dllname;
-  procedure glVertexAttribs2svNV(index: GLuint; n: GLsizei; const v: PGLshort); external dllname;
-  procedure glVertexAttribs2fvNV(index: GLuint; n: GLsizei; const v: PGLfloat); external dllname;
-  procedure glVertexAttribs2dvNV(index: GLuint; n: GLsizei; const v: PGLdouble); external dllname;
-  procedure glVertexAttribs3svNV(index: GLuint; n: GLsizei; const v: PGLshort); external dllname;
-  procedure glVertexAttribs3fvNV(index: GLuint; n: GLsizei; const v: PGLfloat); external dllname;
-  procedure glVertexAttribs3dvNV(index: GLuint; n: GLsizei; const v: PGLdouble); external dllname;
-  procedure glVertexAttribs4svNV(index: GLuint; n: GLsizei; const v: PGLshort); external dllname;
-  procedure glVertexAttribs4fvNV(index: GLuint; n: GLsizei; const v: PGLfloat); external dllname;
-  procedure glVertexAttribs4dvNV(index: GLuint; n: GLsizei; const v: PGLdouble); external dllname;
-  procedure glVertexAttribs4ubvNV(index: GLuint; n: GLsizei; const v: PGLubyte); external dllname;
-
-function Load_GL_NV_vertex_program: Boolean;
-
-//***** GL_NV_vertex_program1_1 *****//
-
-function Load_GL_NV_vertex_program1_1: Boolean;
-
-//***** GL_ATI_element_array *****//
-const
-  GL_ELEMENT_ARRAY_ATI = $8768;
-  GL_ELEMENT_ARRAY_TYPE_ATI = $8769;
-  GL_ELEMENT_ARRAY_POINTER_ATI = $876A;
-
-  procedure glElementPointerATI(thetype: GLenum; const pointer: PGLvoid); external dllname;
-  procedure glDrawElementArrayATI(mode: GLenum; count: GLsizei); external dllname;
-  procedure glDrawRangeElementArrayATI(mode: GLenum; start: GLuint; theend: GLuint; count: GLsizei); external dllname;
-
-function Load_GL_ATI_element_array: Boolean;
-
-//***** GL_ATI_envmap_bumpmap *****//
-const
-  GL_BUMP_ROT_MATRIX_ATI = $8775;
-  GL_BUMP_ROT_MATRIX_SIZE_ATI = $8776;
-  GL_BUMP_NUM_TEX_UNITS_ATI = $8777;
-  GL_BUMP_TEX_UNITS_ATI = $8778;
-  GL_DUDV_ATI = $8779;
-  GL_DU8DV8_ATI = $877A;
-  GL_BUMP_ENVMAP_ATI = $877B;
-  GL_BUMP_TARGET_ATI = $877C;
-
-  procedure glTexBumpParameterivATI(pname: GLenum; param: PGLint); external dllname;
-  procedure glTexBumpParameterfvATI(pname: GLenum; param: PGLfloat); external dllname;
-  procedure glGetTexBumpParameterivATI(pname: GLenum; param: PGLint); external dllname;
-  procedure glGetTexBumpParameterfvATI(pname: GLenum; param: PGLfloat); external dllname;
-
-function Load_GL_ATI_envmap_bumpmap: Boolean;
-
-//***** GL_ATI_fragment_shader *****//
-const
-  GL_FRAGMENT_SHADER_ATI = $8920;
-  GL_REG_0_ATI = $8921;
-  GL_REG_1_ATI = $8922;
-  GL_REG_2_ATI = $8923;
-  GL_REG_3_ATI = $8924;
-  GL_REG_4_ATI = $8925;
-  GL_REG_5_ATI = $8926;
-  GL_CON_0_ATI = $8941;
-  GL_CON_1_ATI = $8942;
-  GL_CON_2_ATI = $8943;
-  GL_CON_3_ATI = $8944;
-  GL_CON_4_ATI = $8945;
-  GL_CON_5_ATI = $8946;
-  GL_CON_6_ATI = $8947;
-  GL_CON_7_ATI = $8948;
-  GL_MOV_ATI = $8961;
-  GL_ADD_ATI = $8963;
-  GL_MUL_ATI = $8964;
-  GL_SUB_ATI = $8965;
-  GL_DOT3_ATI = $8966;
-  GL_DOT4_ATI = $8967;
-  GL_MAD_ATI = $8968;
-  GL_LERP_ATI = $8969;
-  GL_CND_ATI = $896A;
-  GL_CND0_ATI = $896B;
-  GL_DOT2_ADD_ATI = $896C;
-  GL_SECONDARY_INTERPOLATOR_ATI = $896D;
-  GL_SWIZZLE_STR_ATI = $8976;
-  GL_SWIZZLE_STQ_ATI = $8977;
-  GL_SWIZZLE_STR_DR_ATI = $8978;
-  GL_SWIZZLE_STQ_DQ_ATI = $8979;
-  GL_RED_BIT_ATI = $0001;
-  GL_GREEN_BIT_ATI = $0002;
-  GL_BLUE_BIT_ATI = $0004;
-  GL_2X_BIT_ATI = $0001;
-  GL_4X_BIT_ATI = $0002;
-  GL_8X_BIT_ATI = $0004;
-  GL_HALF_BIT_ATI = $0008;
-  GL_QUARTER_BIT_ATI = $0010;
-  GL_EIGHTH_BIT_ATI = $0020;
-  GL_SATURATE_BIT_ATI = $0040;
-  // GL_2X_BIT_ATI  { already defined }
-  GL_COMP_BIT_ATI = $0002;
-  GL_NEGATE_BIT_ATI = $0004;
-  GL_BIAS_BIT_ATI = $0008;
-
-  function glGenFragmentShadersATI(range: GLuint): GLuint; external dllname;
-  procedure glBindFragmentShaderATI(id: GLuint); external dllname;
-  procedure glDeleteFragmentShaderATI(id: GLuint); external dllname;
-  procedure glBeginFragmentShaderATI(); external dllname;
-  procedure glEndFragmentShaderATI(); external dllname;
-  procedure glPassTexCoordATI(dst: GLuint; coord: GLuint; swizzle: GLenum); external dllname;
-  procedure glSampleMapATI(dst: GLuint; interp: GLuint; swizzle: GLenum); external dllname;
-  procedure glColorFragmentOp1ATI(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); external dllname;
-  procedure glColorFragmentOp2ATI(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); external dllname;
-  procedure glColorFragmentOp3ATI(op: GLenum; dst: GLuint; dstMask: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); external dllname;
-  procedure glAlphaFragmentOp1ATI(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint); external dllname;
-  procedure glAlphaFragmentOp2ATI(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint); external dllname;
-  procedure glAlphaFragmentOp3ATI(op: GLenum; dst: GLuint; dstMod: GLuint; arg1: GLuint; arg1Rep: GLuint; arg1Mod: GLuint; arg2: GLuint; arg2Rep: GLuint; arg2Mod: GLuint; arg3: GLuint; arg3Rep: GLuint; arg3Mod: GLuint); external dllname;
-  procedure glSetFragmentShaderConstantATI(dst: GLuint; const value: PGLfloat); external dllname;
-
-function Load_GL_ATI_fragment_shader: Boolean;
-
-//***** GL_ATI_pn_triangles *****//
-const
-  GL_PN_TRIANGLES_ATI = $87F0;
-  GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F1;
-  GL_PN_TRIANGLES_POINT_MODE_ATI = $87F2;
-  GL_PN_TRIANGLES_NORMAL_MODE_ATI = $87F3;
-  GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = $87F4;
-  GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = $87F5;
-  GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = $87F6;
-  GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = $87F7;
-  GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = $87F8;
-
-  procedure glPNTrianglesiATI(pname: GLenum; param: GLint); external dllname;
-  procedure glPNTrianglesfATI(pname: GLenum; param: GLfloat); external dllname;
-
-function Load_GL_ATI_pn_triangles: Boolean;
-
-//***** GL_ATI_texture_mirror_once *****//
-const
-  GL_MIRROR_CLAMP_ATI = $8742;
-  GL_MIRROR_CLAMP_TO_EDGE_ATI = $8743;
-
-function Load_GL_ATI_texture_mirror_once: Boolean;
-
-//***** GL_ATI_vertex_array_object *****//
-const
-  GL_STATIC_ATI = $8760;
-  GL_DYNAMIC_ATI = $8761;
-  GL_PRESERVE_ATI = $8762;
-  GL_DISCARD_ATI = $8763;
-  GL_OBJECT_BUFFER_SIZE_ATI = $8764;
-  GL_OBJECT_BUFFER_USAGE_ATI = $8765;
-  GL_ARRAY_OBJECT_BUFFER_ATI = $8766;
-  GL_ARRAY_OBJECT_OFFSET_ATI = $8767;
-
-  function glNewObjectBufferATI(size: GLsizei; const pointer: PGLvoid; usage: GLenum): GLuint; external dllname;
-  function glIsObjectBufferATI(buffer: GLuint): GLboolean; external dllname;
-  procedure glUpdateObjectBufferATI(buffer: GLuint; offset: GLuint; size: GLsizei; const pointer: PGLvoid; preserve: GLenum); external dllname;
-  procedure glGetObjectBufferfvATI(buffer: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetObjectBufferivATI(buffer: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glDeleteObjectBufferATI(buffer: GLuint); external dllname;
-  procedure glArrayObjectATI(thearray: GLenum; size: GLint; thetype: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); external dllname;
-  procedure glGetArrayObjectfvATI(thearray: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetArrayObjectivATI(thearray: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glVariantArrayObjectATI(id: GLuint; thetype: GLenum; stride: GLsizei; buffer: GLuint; offset: GLuint); external dllname;
-  procedure glGetVariantArrayObjectfvATI(id: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetVariantArrayObjectivATI(id: GLuint; pname: GLenum; params: PGLint); external dllname;
-
-function Load_GL_ATI_vertex_array_object: Boolean;
-
-//***** GL_ATI_vertex_streams *****//
-const
-  GL_MAX_VERTEX_STREAMS_ATI = $876B;
-  GL_VERTEX_STREAM0_ATI = $876C;
-  GL_VERTEX_STREAM1_ATI = $876D;
-  GL_VERTEX_STREAM2_ATI = $876E;
-  GL_VERTEX_STREAM3_ATI = $876F;
-  GL_VERTEX_STREAM4_ATI = $8770;
-  GL_VERTEX_STREAM5_ATI = $8771;
-  GL_VERTEX_STREAM6_ATI = $8772;
-  GL_VERTEX_STREAM7_ATI = $8773;
-  GL_VERTEX_SOURCE_ATI = $8774;
-
-  procedure glVertexStream1s(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream1i(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream1f(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream1d(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream1sv(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream1iv(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream1fv(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream1dv(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream2s(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream2i(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream2f(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream2d(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream2sv(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream2iv(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream2fv(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream2dv(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream3s(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream3i(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream3f(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream3d(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream3sv(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream3iv(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream3fv(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream3dv(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream4s(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream4i(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream4f(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream4d(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glVertexStream4sv(stream: GLenum; coords: GLshort); external dllname;
-  procedure glVertexStream4iv(stream: GLenum; coords: GLint); external dllname;
-  procedure glVertexStream4fv(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glVertexStream4dv(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glNormalStream3b(stream: GLenum; coords: GLbyte); external dllname;
-  procedure glNormalStream3s(stream: GLenum; coords: GLshort); external dllname;
-  procedure glNormalStream3i(stream: GLenum; coords: GLint); external dllname;
-  procedure glNormalStream3f(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glNormalStream3d(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glNormalStream3bv(stream: GLenum; coords: GLbyte); external dllname;
-  procedure glNormalStream3sv(stream: GLenum; coords: GLshort); external dllname;
-  procedure glNormalStream3iv(stream: GLenum; coords: GLint); external dllname;
-  procedure glNormalStream3fv(stream: GLenum; coords: GLfloat); external dllname;
-  procedure glNormalStream3dv(stream: GLenum; coords: GLdouble); external dllname;
-  procedure glClientActiveVertexStream(stream: GLenum); external dllname;
-  procedure glVertexBlendEnvi(pname: GLenum; param: GLint); external dllname;
-  procedure glVertexBlendEnvf(pname: GLenum; param: GLfloat); external dllname;
-
-function Load_GL_ATI_vertex_streams: Boolean;
-
-//***** GL_3DFX_texture_compression_FXT1 *****//
-const
-  GL_COMPRESSED_RGB_FXT1_3DFX = $86B0;
-  GL_COMPRESSED_RGBA_FXT1_3DFX = $86B1;
-
-function Load_GL_3DFX_texture_compression_FXT1: Boolean;
-
-//***** GL_IBM_cull_vertex *****//
-const
-  GL_CULL_VERTEX_IBM = $1928A;
-
-function Load_GL_IBM_cull_vertex: Boolean;
-
-//***** GL_IBM_multimode_draw_arrays *****//
-
-  procedure glMultiModeDrawArraysIBM(mode: PGLenum; first: PGLint; count: PGLsizei; primcount: GLsizei; modestride: GLint); external dllname;
-  procedure glMultiModeDrawElementsIBM(mode: PGLenum; count: PGLsizei; thetype: GLenum; const indices: PGLvoid; primcount: GLsizei; modestride: GLint); external dllname;
-
-function Load_GL_IBM_multimode_draw_arrays: Boolean;
-
-//***** GL_IBM_raster_pos_clip *****//
-const
-  GL_RASTER_POSITION_UNCLIPPED_IBM = $19262;
-
-function Load_GL_IBM_raster_pos_clip: Boolean;
-
-//***** GL_IBM_texture_mirrored_repeat *****//
-const
-  GL_MIRRORED_REPEAT_IBM = $8370;
-
-function Load_GL_IBM_texture_mirrored_repeat: Boolean;
-
-//***** GL_IBM_vertex_array_lists *****//
-const
-  GL_VERTEX_ARRAY_LIST_IBM = $1929E;
-  GL_NORMAL_ARRAY_LIST_IBM = $1929F;
-  GL_COLOR_ARRAY_LIST_IBM = $192A0;
-  GL_INDEX_ARRAY_LIST_IBM = $192A1;
-  GL_TEXTURE_COORD_ARRAY_LIST_IBM = $192A2;
-  GL_EDGE_FLAG_ARRAY_LIST_IBM = $192A3;
-  GL_FOG_COORDINATE_ARRAY_LIST_IBM = $192A4;
-  GL_SECONDARY_COLOR_ARRAY_LIST_IBM = $192A5;
-  GL_VERTEX_ARRAY_LIST_STRIDE_IBM = $192A8;
-  GL_NORMAL_ARRAY_LIST_STRIDE_IBM = $192A9;
-  GL_COLOR_ARRAY_LIST_STRIDE_IBM = $192AA;
-  GL_INDEX_ARRAY_LIST_STRIDE_IBM = $192AB;
-  GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = $192AC;
-  GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = $192AD;
-  GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = $192AE;
-  GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = $192AF;
-
-  procedure glColorPointerListIBM(size: GLint; thetype: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); external dllname;
-  procedure glSecondaryColorPointerListIBM(size: GLint; thetype: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); external dllname;
-  procedure glEdgeFlagPointerListIBM(stride: GLint; const pointer: PGLboolean; ptrstride: GLint); external dllname;
-  procedure glFogCoordPointerListIBM(thetype: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); external dllname;
-  procedure glNormalPointerListIBM(thetype: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); external dllname;
-  procedure glTexCoordPointerListIBM(size: GLint; thetype: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); external dllname;
-  procedure glVertexPointerListIBM(size: GLint; thetype: GLenum; stride: GLint; const pointer: PGLvoid; ptrstride: GLint); external dllname;
-
-function Load_GL_IBM_vertex_array_lists: Boolean;
-
-//***** GL_MESA_resize_buffers *****//
-  procedure glResizeBuffersMESA(); external dllname;
-
-function Load_GL_MESA_resize_buffers: Boolean;
-
-//***** GL_MESA_window_pos *****//
-
-  procedure glWindowPos2dMESA(x: GLdouble; y: GLdouble); external dllname;
-  procedure glWindowPos2fMESA(x: GLfloat; y: GLfloat); external dllname;
-  procedure glWindowPos2iMESA(x: GLint; y: GLint); external dllname;
-  procedure glWindowPos2sMESA(x: GLshort; y: GLshort); external dllname;
-  procedure glWindowPos2ivMESA(const p: PGLint); external dllname;
-  procedure glWindowPos2svMESA(const p: PGLshort); external dllname;
-  procedure glWindowPos2fvMESA(const p: PGLfloat); external dllname;
-  procedure glWindowPos2dvMESA(const p: PGLdouble); external dllname;
-  procedure glWindowPos3iMESA(x: GLint; y: GLint; z: GLint); external dllname;
-  procedure glWindowPos3sMESA(x: GLshort; y: GLshort; z: GLshort); external dllname;
-  procedure glWindowPos3fMESA(x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glWindowPos3dMESA(x: GLdouble; y: GLdouble; z: GLdouble); external dllname;
-  procedure glWindowPos3ivMESA(const p: PGLint); external dllname;
-  procedure glWindowPos3svMESA(const p: PGLshort); external dllname;
-  procedure glWindowPos3fvMESA(const p: PGLfloat); external dllname;
-  procedure glWindowPos3dvMESA(const p: PGLdouble); external dllname;
-  procedure glWindowPos4iMESA(x: GLint; y: GLint; z: GLint; w: GLint); external dllname;
-  procedure glWindowPos4sMESA(x: GLshort; y: GLshort; z: GLshort; w: GLshort); external dllname;
-  procedure glWindowPos4fMESA(x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glWindowPos4dMESA(x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glWindowPos4ivMESA(const p: PGLint); external dllname;
-  procedure glWindowPos4svMESA(const p: PGLshort); external dllname;
-  procedure glWindowPos4fvMESA(const p: PGLfloat); external dllname;
-  procedure glWindowPos4dvMESA(const p: PGLdouble); external dllname;
-
-function Load_GL_MESA_window_pos: Boolean;
-
-//***** GL_OML_interlace *****//
-const
-  GL_INTERLACE_OML = $8980;
-  GL_INTERLACE_READ_OML = $8981;
-
-function Load_GL_OML_interlace: Boolean;
-
-//***** GL_OML_resample *****//
-const
-  GL_PACK_RESAMPLE_OML = $8984;
-  GL_UNPACK_RESAMPLE_OML = $8985;
-  GL_RESAMPLE_REPLICATE_OML = $8986;
-  GL_RESAMPLE_ZERO_FILL_OML = $8987;
-  GL_RESAMPLE_AVERAGE_OML = $8988;
-  GL_RESAMPLE_DECIMATE_OML = $8989;
-  // GL_RESAMPLE_AVERAGE_OML  { already defined }
-
-function Load_GL_OML_resample: Boolean;
-
-//***** GL_OML_subsample *****//
-const
-  GL_FORMAT_SUBSAMPLE_24_24_OML = $8982;
-  GL_FORMAT_SUBSAMPLE_244_244_OML = $8983;
-
-function Load_GL_OML_subsample: Boolean;
-
-//***** GL_SGIS_generate_mipmap *****//
-const
-  GL_GENERATE_MIPMAP_SGIS = $8191;
-  GL_GENERATE_MIPMAP_HINT_SGIS = $8192;
-
-function Load_GL_SGIS_generate_mipmap: Boolean;
-
-//***** GL_SGIS_multisample *****//
-const
-  GLX_SAMPLE_BUFFERS_SGIS = $186A0;
-  GLX_SAMPLES_SGIS = $186A1;
-  GL_MULTISAMPLE_SGIS = $809D;
-  GL_SAMPLE_ALPHA_TO_MASK_SGIS = $809E;
-  GL_SAMPLE_ALPHA_TO_ONE_SGIS = $809F;
-  GL_SAMPLE_MASK_SGIS = $80A0;
-  GL_MULTISAMPLE_BIT_EXT = $20000000;
-  GL_1PASS_SGIS = $80A1;
-  GL_2PASS_0_SGIS = $80A2;
-  GL_2PASS_1_SGIS = $80A3;
-  GL_4PASS_0_SGIS = $80A4;
-  GL_4PASS_1_SGIS = $80A5;
-  GL_4PASS_2_SGIS = $80A6;
-  GL_4PASS_3_SGIS = $80A7;
-  GL_SAMPLE_BUFFERS_SGIS = $80A8;
-  GL_SAMPLES_SGIS = $80A9;
-  GL_SAMPLE_MASK_VALUE_SGIS = $80AA;
-  GL_SAMPLE_MASK_INVERT_SGIS = $80AB;
-  GL_SAMPLE_PATTERN_SGIS = $80AC;
-  procedure glSampleMaskSGIS(value: GLclampf; invert: GLboolean); external dllname;
-  procedure glSamplePatternSGIS(pattern: GLenum); external dllname;
-
-function Load_GL_SGIS_multisample: Boolean;
-
-//***** GL_SGIS_pixel_texture *****//
-const
-  GL_PIXEL_TEXTURE_SGIS = $8353;
-  GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = $8354;
-  GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = $8355;
-  GL_PIXEL_GROUP_COLOR_SGIS = $8356;
-  procedure glPixelTexGenParameteriSGIS(pname: GLenum; param: GLint); external dllname;
-  procedure glPixelTexGenParameterfSGIS(pname: GLenum; param: GLfloat); external dllname;
-  procedure glGetPixelTexGenParameterivSGIS(pname: GLenum; params: GLint); external dllname;
-  procedure glGetPixelTexGenParameterfvSGIS(pname: GLenum; params: GLfloat); external dllname;
-
-function Load_GL_SGIS_pixel_texture: Boolean;
-
-//***** GL_SGIS_texture_border_clamp *****//
-  // GL_CLAMP_TO_BORDER_SGIS  { already defined }
-
-function Load_GL_SGIS_texture_border_clamp: Boolean;
-
-//***** GL_SGIS_texture_color_mask *****//
-const
-  GL_TEXTURE_COLOR_WRITEMASK_SGIS = $81EF;
-
-  procedure glTextureColorMaskSGIS(r: GLboolean; g: GLboolean; b: GLboolean; a: GLboolean); external dllname;
-
-function Load_GL_SGIS_texture_color_mask: Boolean;
-
-//***** GL_SGIS_texture_edge_clamp *****//
-const
-  GL_CLAMP_TO_EDGE_SGIS = $812F;
-
-function Load_GL_SGIS_texture_edge_clamp: Boolean;
-
-//***** GL_SGIS_texture_lod *****//
-const
-  GL_TEXTURE_MIN_LOD_SGIS = $813A;
-  GL_TEXTURE_MAX_LOD_SGIS = $813B;
-  GL_TEXTURE_BASE_LEVEL_SGIS = $813C;
-  GL_TEXTURE_MAX_LEVEL_SGIS = $813D;
-
-function Load_GL_SGIS_texture_lod: Boolean;
-
-//***** GL_SGIS_depth_texture *****//
-const
-  GL_DEPTH_COMPONENT16_SGIX = $81A5;
-  GL_DEPTH_COMPONENT24_SGIX = $81A6;
-  GL_DEPTH_COMPONENT32_SGIX = $81A7;
-
-function Load_GL_SGIS_depth_texture: Boolean;
-
-//***** GL_SGIX_fog_offset *****//
-const
-  GL_FOG_OFFSET_SGIX = $8198;
-  GL_FOG_OFFSET_VALUE_SGIX = $8199;
-
-function Load_GL_SGIX_fog_offset: Boolean;
-
-//***** GL_SGIX_interlace *****//
-const
-  GL_INTERLACE_SGIX = $8094;
-
-function Load_GL_SGIX_interlace: Boolean;
-
-//***** GL_SGIX_shadow_ambient *****//
-const
-  GL_SHADOW_AMBIENT_SGIX = $80BF;
-
-function Load_GL_SGIX_shadow_ambient: Boolean;
-
-//***** GL_SGI_color_matrix *****//
-const
-  GL_COLOR_MATRIX_SGI = $80B1;
-  GL_COLOR_MATRIX_STACK_DEPTH_SGI = $80B2;
-  GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = $80B3;
-  GL_POST_COLOR_MATRIX_RED_SCALE_SGI = $80B4;
-  GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = $80B5;
-  GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = $80B6;
-  GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = $80B7;
-  GL_POST_COLOR_MATRIX_RED_BIAS_SGI = $80B8;
-  GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = $80B9;
-  GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = $80BA;
-  GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = $80BB;
-
-function Load_GL_SGI_color_matrix: Boolean;
-
-//***** GL_SGI_color_table *****//
-const
-  GL_COLOR_TABLE_SGI = $80D0;
-  GL_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D1;
-  GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D2;
-  GL_PROXY_COLOR_TABLE_SGI = $80D3;
-  GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = $80D4;
-  GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = $80D5;
-  GL_COLOR_TABLE_SCALE_SGI = $80D6;
-  GL_COLOR_TABLE_BIAS_SGI = $80D7;
-  GL_COLOR_TABLE_FORMAT_SGI = $80D8;
-  GL_COLOR_TABLE_WIDTH_SGI = $80D9;
-  GL_COLOR_TABLE_RED_SIZE_SGI = $80DA;
-  GL_COLOR_TABLE_GREEN_SIZE_SGI = $80DB;
-  GL_COLOR_TABLE_BLUE_SIZE_SGI = $80DC;
-  GL_COLOR_TABLE_ALPHA_SIZE_SGI = $80DD;
-  GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = $80DE;
-  GL_COLOR_TABLE_INTENSITY_SIZE_SGI = $80DF;
-
-  procedure glColorTableSGI(target: GLenum; internalformat: GLenum; width: GLsizei; format: GLenum; thetype: GLenum; const table: PGLvoid); external dllname;
-  procedure glCopyColorTableSGI(target: GLenum; internalformat: GLenum; x: GLint; y: GLint; width: GLsizei); external dllname;
-  procedure glColorTableParameterivSGI(target: GLenum; pname: GLenum; const params: PGLint); external dllname;
-  procedure glColorTableParameterfvSGI(target: GLenum; pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glGetColorTableSGI(target: GLenum; format: GLenum; thetype: GLenum; table: PGLvoid); external dllname;
-  procedure glGetColorTableParameterivSGI(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetColorTableParameterfvSGI(target: GLenum; pname: GLenum; params: PGLfloat); external dllname;
-
-function Load_GL_SGI_color_table: Boolean;
-
-//***** GL_SGI_texture_color_table *****//
-const
-  GL_TEXTURE_COLOR_TABLE_SGI = $80BC;
-  GL_PROXY_TEXTURE_COLOR_TABLE_SGI = $80BD;
-
-function Load_GL_SGI_texture_color_table: Boolean;
-
-//***** GL_SUN_vertex *****//
-
-  procedure glColor4ubVertex2fSUN(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat); external dllname;
-  procedure glColor4ubVertex2fvSUN(const c: PGLubyte; const v: PGLfloat); external dllname;
-  procedure glColor4ubVertex3fSUN(r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glColor4ubVertex3fvSUN(const c: PGLubyte; const v: PGLfloat); external dllname;
-  procedure glColor3fVertex3fSUN(r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glColor3fVertex3fvSUN(const c: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glNormal3fVertex3fSUN(nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glNormal3fVertex3fvSUN(const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glColor4fNormal3fVertex3fSUN(r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glColor4fNormal3fVertex3fvSUN(const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glTexCoord2fVertex3fSUN(s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glTexCoord2fVertex3fvSUN(const tc: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glTexCoord4fVertex4fSUN(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glTexCoord4fVertex4fvSUN(const tc: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glTexCoord2fColor4ubVertex3fSUN(s: GLfloat; t: GLfloat; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glTexCoord2fColor4ubVertex3fvSUN(const tc: PGLfloat; const c: PGLubyte; const v: PGLfloat); external dllname;
-  procedure glTexCoord2fColor3fVertex3fSUN(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glTexCoord2fColor3fVertex3fvSUN(const tc: PGLfloat; const c: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glTexCoord2fNormal3fVertex3fSUN(s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glTexCoord2fNormal3fVertex3fvSUN(const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glTexCoord2fColor4fNormal3fVertex3fSUN(s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glTexCoord2fColor4fNormal3fVertex3fvSUN(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glTexCoord4fColor4fNormal3fVertex4fSUN(s: GLfloat; t: GLfloat; p: GLfloat; q: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glTexCoord4fColor4fNormal3fVertex4fvSUN(const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiVertex3fSUN(rc: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiVertex3fvSUN(const rc: PGLuint; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiColor4ubVertex3fSUN(rc: GLuint; r: GLubyte; g: GLubyte; b: GLubyte; a: GLubyte; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiColor4ubVertex3fvSUN(const rc: PGLuint; const c: PGLubyte; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiColor3fVertex3fSUN(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiColor3fVertex3fvSUN(const rc: PGLuint; const c: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiNormal3fVertex3fSUN(rc: GLuint; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiNormal3fVertex3fvSUN(const rc: PGLuint; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiColor4fNormal3fVertex3fSUN(rc: GLuint; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiColor4fNormal3fVertex3fvSUN(const rc: PGLuint; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiTexCoord2fVertex3fSUN(rc: GLuint; s: GLfloat; t: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiTexCoord2fVertex3fvSUN(const rc: PGLuint; const tc: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(rc: GLuint; s: GLfloat; t: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(const rc: PGLuint; const tc: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-  procedure glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(rc: GLuint; s: GLfloat; t: GLfloat; r: GLfloat; g: GLfloat; b: GLfloat; a: GLfloat; nx: GLfloat; ny: GLfloat; nz: GLfloat; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(const rc: PGLuint; const tc: PGLfloat; const c: PGLfloat; const n: PGLfloat; const v: PGLfloat); external dllname;
-
-function Load_GL_SUN_vertex: Boolean;
-
-//***** GL_ARB_fragment_program *****//
-const
-  GL_FRAGMENT_PROGRAM_ARB = $8804;
-  // GL_PROGRAM_FORMAT_ASCII_ARB  { already defined }
-  // GL_PROGRAM_LENGTH_ARB  { already defined }
-  // GL_PROGRAM_FORMAT_ARB  { already defined }
-  // GL_PROGRAM_BINDING_ARB  { already defined }
-  // GL_PROGRAM_INSTRUCTIONS_ARB  { already defined }
-  // GL_MAX_PROGRAM_INSTRUCTIONS_ARB  { already defined }
-  // GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB  { already defined }
-  // GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB  { already defined }
-  // GL_PROGRAM_TEMPORARIES_ARB  { already defined }
-  // GL_MAX_PROGRAM_TEMPORARIES_ARB  { already defined }
-  // GL_PROGRAM_NATIVE_TEMPORARIES_ARB  { already defined }
-  // GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB  { already defined }
-  // GL_PROGRAM_PARAMETERS_ARB  { already defined }
-  // GL_MAX_PROGRAM_PARAMETERS_ARB  { already defined }
-  // GL_PROGRAM_NATIVE_PARAMETERS_ARB  { already defined }
-  // GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB  { already defined }
-  // GL_PROGRAM_ATTRIBS_ARB  { already defined }
-  // GL_MAX_PROGRAM_ATTRIBS_ARB  { already defined }
-  // GL_PROGRAM_NATIVE_ATTRIBS_ARB  { already defined }
-  // GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB  { already defined }
-  // GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB  { already defined }
-  // GL_MAX_PROGRAM_ENV_PARAMETERS_ARB  { already defined }
-  // GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB  { already defined }
-  GL_PROGRAM_ALU_INSTRUCTIONS_ARB = $8805;
-  GL_PROGRAM_TEX_INSTRUCTIONS_ARB = $8806;
-  GL_PROGRAM_TEX_INDIRECTIONS_ARB = $8807;
-  GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $8808;
-  GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $8809;
-  GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $880A;
-  GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = $880B;
-  GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = $880C;
-  GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = $880D;
-  GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = $880E;
-  GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = $880F;
-  GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = $8810;
-  // GL_PROGRAM_STRING_ARB  { already defined }
-  // GL_PROGRAM_ERROR_POSITION_ARB  { already defined }
-  // GL_CURRENT_MATRIX_ARB  { already defined }
-  // GL_TRANSPOSE_CURRENT_MATRIX_ARB  { already defined }
-  // GL_CURRENT_MATRIX_STACK_DEPTH_ARB  { already defined }
-  // GL_MAX_PROGRAM_MATRICES_ARB  { already defined }
-  // GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB  { already defined }
-  GL_MAX_TEXTURE_COORDS_ARB = $8871;
-  GL_MAX_TEXTURE_IMAGE_UNITS_ARB = $8872;
-  // GL_PROGRAM_ERROR_STRING_ARB  { already defined }
-  // GL_MATRIX0_ARB  { already defined }
-  // GL_MATRIX1_ARB  { already defined }
-  // GL_MATRIX2_ARB  { already defined }
-  // GL_MATRIX3_ARB  { already defined }
-  // GL_MATRIX4_ARB  { already defined }
-  // GL_MATRIX5_ARB  { already defined }
-  // GL_MATRIX6_ARB  { already defined }
-  // GL_MATRIX7_ARB  { already defined }
-  // GL_MATRIX8_ARB  { already defined }
-  // GL_MATRIX9_ARB  { already defined }
-  // GL_MATRIX10_ARB  { already defined }
-  // GL_MATRIX11_ARB  { already defined }
-  // GL_MATRIX12_ARB  { already defined }
-  // GL_MATRIX13_ARB  { already defined }
-  // GL_MATRIX14_ARB  { already defined }
-  // GL_MATRIX15_ARB  { already defined }
-  // GL_MATRIX16_ARB  { already defined }
-  // GL_MATRIX17_ARB  { already defined }
-  // GL_MATRIX18_ARB  { already defined }
-  // GL_MATRIX19_ARB  { already defined }
-  // GL_MATRIX20_ARB  { already defined }
-  // GL_MATRIX21_ARB  { already defined }
-  // GL_MATRIX22_ARB  { already defined }
-  // GL_MATRIX23_ARB  { already defined }
-  // GL_MATRIX24_ARB  { already defined }
-  // GL_MATRIX25_ARB  { already defined }
-  // GL_MATRIX26_ARB  { already defined }
-  // GL_MATRIX27_ARB  { already defined }
-  // GL_MATRIX28_ARB  { already defined }
-  // GL_MATRIX29_ARB  { already defined }
-  // GL_MATRIX30_ARB  { already defined }
-  // GL_MATRIX31_ARB  { already defined }
-  // glProgramStringARB  { already defined }
-  // glBindProgramARB  { already defined }
-  // glDeleteProgramsARB  { already defined }
-  // glGenProgramsARB  { already defined }
-  // glProgramEnvParameter4dARB  { already defined }
-  // glProgramEnvParameter4dvARB  { already defined }
-  // glProgramEnvParameter4fARB  { already defined }
-  // glProgramEnvParameter4fvARB  { already defined }
-  // glProgramLocalParameter4dARB  { already defined }
-  // glProgramLocalParameter4dvARB  { already defined }
-  // glProgramLocalParameter4fARB  { already defined }
-  // glProgramLocalParameter4fvARB  { already defined }
-  // glGetProgramEnvParameterdvARB  { already defined }
-  // glGetProgramEnvParameterfvARB  { already defined }
-  // glGetProgramLocalParameterdvARB  { already defined }
-  // glGetProgramLocalParameterfvARB  { already defined }
-  // glGetProgramivARB  { already defined }
-  // glGetProgramStringARB  { already defined }
-  // glIsProgramARB  { already defined }
-
-function Load_GL_ARB_fragment_program: Boolean;
-
-{***** GL_ATI_text_fragment_shader *****}
-const
-     GL_TEXT_FRAGMENT_SHADER_ATI = $8200;
-
-{***** GL_ARB_vertex_buffer_object *****}
-const
-     GL_BUFFER_SIZE_ARB = $8764;
-     GL_BUFFER_USAGE_ARB = $8765;
-     GL_ARRAY_BUFFER_ARB = $8892;
-     GL_ELEMENT_ARRAY_BUFFER_ARB = $8893;
-     GL_ARRAY_BUFFER_BINDING_ARB = $8894;
-     GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = $8895;
-     GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = $8896;
-     GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = $8897;
-     GL_COLOR_ARRAY_BUFFER_BINDING_ARB = $8898;
-     GL_INDEX_ARRAY_BUFFER_BINDING_ARB = $8899;
-     GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = $889A;
-     GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = $889B;
-     GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = $889C;
-     GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = $889D;
-     GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = $889E;
-     GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = $889F;
-     GL_READ_ONLY_ARB = $88B8;
-     GL_WRITE_ONLY_ARB = $88B9;
-     GL_READ_WRITE_ARB = $88BA;
-     GL_BUFFER_ACCESS_ARB = $88BB;
-     GL_BUFFER_MAPPED_ARB = $88BC;
-     GL_BUFFER_MAP_POINTER_ARB = $88BD;
-     GL_STREAM_DRAW_ARB = $88E0;
-     GL_STREAM_READ_ARB = $88E1;
-     GL_STREAM_COPY_ARB = $88E2;
-     GL_STATIC_DRAW_ARB = $88E4;
-     GL_STATIC_READ_ARB = $88E5;
-     GL_STATIC_COPY_ARB = $88E6;
-     GL_DYNAMIC_DRAW_ARB = $88E8;
-     GL_DYNAMIC_READ_ARB = $88E9;
-     GL_DYNAMIC_COPY_ARB = $88EA;
-
-
-     procedure glBindBufferARB(target : GLenum; buffer: GLuint); external dllname;
-     procedure glDeleteBuffersARB(n : GLsizei; buffers : PGLuint); external dllname;
-     procedure glGenBuffersARB(n : GLsizei; buffers : PGLuint); external dllname;
-     function glIsBufferARB (buffer : GLuint) :GLboolean; external dllname;
-     procedure glBufferDataARB(target : GLenum; size:GLsizei; data:PGLvoid;usage: GLenum); external dllname;
-     procedure glBufferSubDataARB(target : GLenum; offset :GLint; size : GLsizei; data: PGLvoid); external dllname;
-     procedure glGetBufferSubDataARB(target : GLenum; offset :GLint; size : GLsizei; data: PGLvoid); external dllname;
-     function glMapBufferARB (target :GLenum; access: GLenum) : PGLvoid; external dllname;
-     function glUnmapBufferARB (target :GLenum) :GLboolean; external dllname;
-     procedure glGetBufferParameterivARB(target:GLenum; pname:GLenum; params:PGLint); external dllname;
-     procedure glGetBufferPointervARB(target: GLenum; pname:GLenum; params: PPGLvoid); external dllname;
-     function Load_GL_ARB_vertex_buffer_object: boolean;
-
-function Load_GL_ATI_text_fragment_shader: Boolean;
-
-//***** GL_APPLE_client_storage *****//
-const
-  GL_UNPACK_CLIENT_STORAGE_APPLE = $85B2;
-
-function Load_GL_APPLE_client_storage: Boolean;
-
-//***** GL_APPLE_element_array *****//
-const
-  GL_ELEMENT_ARRAY_APPLE = $8768;
-  GL_ELEMENT_ARRAY_TYPE_APPLE = $8769;
-  GL_ELEMENT_ARRAY_POINTER_APPLE = $876A;
-  procedure glElementPointerAPPLE(thetype: GLenum; const pointer: PGLvoid); external dllname;
-  procedure glDrawElementArrayAPPLE(mode: GLenum; first: GLint; count: GLsizei); external dllname;
-  procedure glDrawRangeElementArrayAPPLE(mode: GLenum; start: GLuint; theend: GLuint; first: GLint; count: GLsizei); external dllname;
-  procedure glMultiDrawElementArrayAPPLE(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); external dllname;
-  procedure glMultiDrawRangeElementArrayAPPLE(mode: GLenum; start: GLuint; theend: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); external dllname;
-
-function Load_GL_APPLE_element_array: Boolean;
-
-//***** GL_APPLE_fence *****//
-const
-  GL_DRAW_PIXELS_APPLE = $8A0A;
-  GL_FENCE_APPLE = $8A0B;
-
-  procedure glGenFencesAPPLE(n: GLsizei; fences: PGLuint); external dllname;
-  procedure glDeleteFencesAPPLE(n: GLsizei; const fences: PGLuint); external dllname;
-  procedure glSetFenceAPPLE(fence: GLuint); external dllname;
-  function glIsFenceAPPLE(fence: GLuint): GLboolean; external dllname;
-  function glTestFenceAPPLE(fence: GLuint): GLboolean; external dllname;
-  procedure glFinishFenceAPPLE(fence: GLuint); external dllname;
-  function glTestObjectAPPLE(theobject: GLenum; name: GLuint): GLboolean; external dllname;
-  procedure glFinishObjectAPPLE(theobject: GLenum; name: GLint); external dllname;
-
-function Load_GL_APPLE_fence: Boolean;
-
-//***** GL_APPLE_vertex_array_object *****//
-const
-  GL_VERTEX_ARRAY_BINDING_APPLE = $85B5;
-  procedure glBindVertexArrayAPPLE(thearray: GLuint); external dllname;
-  procedure glDeleteVertexArraysAPPLE(n: GLsizei; const arrays: PGLuint); external dllname;
-  procedure glGenVertexArraysAPPLE(n: GLsizei; const arrays: PGLuint); external dllname;
-  function glIsVertexArrayAPPLE(thearray: GLuint): GLboolean; external dllname;
-
-function Load_GL_APPLE_vertex_array_object: Boolean;
-
-//***** GL_APPLE_vertex_array_range *****//
-const
-  GL_VERTEX_ARRAY_RANGE_APPLE = $851D;
-  GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = $851E;
-  GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_APPLE = $8520;
-  GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = $8521;
-  GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = $851F;
-  GL_STORAGE_CACHED_APPLE = $85BE;
-  GL_STORAGE_SHARED_APPLE = $85BF;
-
-  procedure glVertexArrayRangeAPPLE(length: GLsizei; pointer: PGLvoid); external dllname;
-  procedure glFlushVertexArrayRangeAPPLE(length: GLsizei; pointer: PGLvoid); external dllname;
-  procedure glVertexArrayParameteriAPPLE(pname: GLenum; param: GLint); external dllname;
-
-function Load_GL_APPLE_vertex_array_range: Boolean;
-
-//***** GL_ARB_matrix_palette *****//
-const
-  GL_MATRIX_PALETTE_ARB = $8840;
-  GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = $8841;
-  GL_MAX_PALETTE_MATRICES_ARB = $8842;
-  GL_CURRENT_PALETTE_MATRIX_ARB = $8843;
-  GL_MATRIX_INDEX_ARRAY_ARB = $8844;
-  GL_CURRENT_MATRIX_INDEX_ARB = $8845;
-  GL_MATRIX_INDEX_ARRAY_SIZE_ARB = $8846;
-  GL_MATRIX_INDEX_ARRAY_TYPE_ARB = $8847;
-  GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = $8848;
-  GL_MATRIX_INDEX_ARRAY_POINTER_ARB = $8849;
-
-  procedure glCurrentPaletteMatrixARB(index: GLint); external dllname;
-  procedure glMatrixIndexubvARB(size: GLint; indices: PGLubyte); external dllname;
-  procedure glMatrixIndexusvARB(size: GLint; indices: PGLushort); external dllname;
-  procedure glMatrixIndexuivARB(size: GLint; indices: PGLuint); external dllname;
-  procedure glMatrixIndexPointerARB(size: GLint; thetype: GLenum; stride: GLsizei; pointer: PGLvoid); external dllname;
-
-function Load_GL_ARB_matrix_palette: Boolean;
-
-//***** GL_NV_element_array *****//
-const
-  GL_ELEMENT_ARRAY_TYPE_NV = $8769;
-  GL_ELEMENT_ARRAY_POINTER_NV = $876A;
-
-  procedure glElementPointerNV(thetype: GLenum; const pointer: PGLvoid); external dllname;
-  procedure glDrawElementArrayNV(mode: GLenum; first: GLint; count: GLsizei); external dllname;
-  procedure glDrawRangeElementArrayNV(mode: GLenum; start: GLuint; theend: GLuint; first: GLint; count: GLsizei); external dllname;
-  procedure glMultiDrawElementArrayNV(mode: GLenum; const first: PGLint; const count: PGLsizei; primcount: GLsizei); external dllname;
-  procedure glMultiDrawRangeElementArrayNV(mode: GLenum; start: GLuint; theend: GLuint; const first: PGLint; const count: PGLsizei; primcount: GLsizei); external dllname;
-
-function Load_GL_NV_element_array: Boolean;
-
-//***** GL_NV_float_buffer *****//
-const
-  GL_FLOAT_R_NV = $8880;
-  GL_FLOAT_RG_NV = $8881;
-  GL_FLOAT_RGB_NV = $8882;
-  GL_FLOAT_RGBA_NV = $8883;
-  GL_FLOAT_R16_NV = $8884;
-  GL_FLOAT_R32_NV = $8885;
-  GL_FLOAT_RG16_NV = $8886;
-  GL_FLOAT_RG32_NV = $8887;
-  GL_FLOAT_RGB16_NV = $8888;
-  GL_FLOAT_RGB32_NV = $8889;
-  GL_FLOAT_RGBA16_NV = $888A;
-  GL_FLOAT_RGBA32_NV = $888B;
-  GL_TEXTURE_FLOAT_COMPONENTS_NV = $888C;
-  GL_FLOAT_CLEAR_COLOR_VALUE_NV = $888D;
-  GL_FLOAT_RGBA_MODE_NV = $888E;
-
-function Load_GL_NV_float_buffer: Boolean;
-
-//***** GL_NV_fragment_program *****//
-const
-  GL_FRAGMENT_PROGRAM_NV = $8870;
-  GL_MAX_TEXTURE_COORDS_NV = $8871;
-  GL_MAX_TEXTURE_IMAGE_UNITS_NV = $8872;
-  GL_FRAGMENT_PROGRAM_BINDING_NV = $8873;
-  GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = $8868;
-  GL_PROGRAM_ERROR_STRING_NV = $8874;
-
-  procedure glProgramNamedParameter4fNV(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glProgramNamedParameter4dNV(id: GLuint; len: GLsizei; const name: PGLubyte; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glGetProgramNamedParameterfvNV(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLfloat); external dllname;
-  procedure glGetProgramNamedParameterdvNV(id: GLuint; len: GLsizei; const name: PGLubyte; params: PGLdouble); external dllname;
-  // glProgramLocalParameter4dARB  { already defined }
-  // glProgramLocalParameter4dvARB  { already defined }
-  // glProgramLocalParameter4fARB  { already defined }
-  // glProgramLocalParameter4fvARB  { already defined }
-  // glGetProgramLocalParameterdvARB  { already defined }
-  // glGetProgramLocalParameterfvARB  { already defined }
-
-function Load_GL_NV_fragment_program: Boolean;
-
-//***** GL_NV_primitive_restart *****//
-const
-  GL_PRIMITIVE_RESTART_NV = $8558;
-  GL_PRIMITIVE_RESTART_INDEX_NV = $8559;
-
-  procedure glPrimitiveRestartNV(); external dllname;
-  procedure glPrimitiveRestartIndexNV(index: GLuint); external dllname;
-
-function Load_GL_NV_primitive_restart: Boolean;
-
-//***** GL_NV_vertex_program2 *****//
-
-function Load_GL_NV_vertex_program2: Boolean;
-
-
-//***** GL_NV_pixel_data_range *****//
-const
-  GL_WRITE_PIXEL_DATA_RANGE_NV = $8878;
-  GL_READ_PIXEL_DATA_RANGE_NV = $8879;
-  GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = $887A;
-  GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = $887B;
-  GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = $887C;
-  GL_READ_PIXEL_DATA_RANGE_POINTER_NV = $887D;
-
-  procedure glPixelDataRangeNV(target: GLenum; length: GLsizei; pointer: PGLvoid); external dllname;
-  procedure glFlushPixelDataRangeNV(target: GLenum); external dllname;
-  // wglAllocateMemoryNV  { already defined }
-  // wglFreeMemoryNV  { already defined }
-
-function Load_GL_NV_pixel_data_range: Boolean;
-
-//***** GL_EXT_texture_rectangle *****//
-const
-  GL_TEXTURE_RECTANGLE_EXT = $84F5;
-  GL_TEXTURE_BINDING_RECTANGLE_EXT = $84F6;
-  GL_PROXY_TEXTURE_RECTANGLE_EXT = $84F7;
-  GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT = $84F8;
-
-function Load_GL_EXT_texture_rectangle: Boolean;
-
-//***** GL_S3_s3tc *****//
-const
-  GL_RGB_S3TC = $83A0;
-  GL_RGB4_S3TC = $83A1;
-  GL_RGBA_S3TC = $83A2;
-  GL_RGBA4_S3TC = $83A3;
-
-function Load_GL_S3_s3tc: Boolean;
-
-//***** GL_ATI_draw_buffers *****//
-const
-  GL_MAX_DRAW_BUFFERS_ATI = $8824;
-  GL_DRAW_BUFFER0_ATI = $8825;
-  GL_DRAW_BUFFER1_ATI = $8826;
-  GL_DRAW_BUFFER2_ATI = $8827;
-  GL_DRAW_BUFFER3_ATI = $8828;
-  GL_DRAW_BUFFER4_ATI = $8829;
-  GL_DRAW_BUFFER5_ATI = $882A;
-  GL_DRAW_BUFFER6_ATI = $882B;
-  GL_DRAW_BUFFER7_ATI = $882C;
-  GL_DRAW_BUFFER8_ATI = $882D;
-  GL_DRAW_BUFFER9_ATI = $882E;
-  GL_DRAW_BUFFER10_ATI = $882F;
-  GL_DRAW_BUFFER11_ATI = $8830;
-  GL_DRAW_BUFFER12_ATI = $8831;
-  GL_DRAW_BUFFER13_ATI = $8832;
-  GL_DRAW_BUFFER14_ATI = $8833;
-  GL_DRAW_BUFFER15_ATI = $8834;
-
-  procedure glDrawBuffersATI(n: GLsizei; const bufs: PGLenum); external dllname;
-
-function Load_GL_ATI_draw_buffers: Boolean;
-
-
-//***** GL_ATI_texture_env_combine3 *****//
-const
-  GL_MODULATE_ADD_ATI = $8744;
-  GL_MODULATE_SIGNED_ADD_ATI = $8745;
-  GL_MODULATE_SUBTRACT_ATI = $8746;
-
-function Load_GL_ATI_texture_env_combine3: Boolean;
-
-//***** GL_ATI_texture_float *****//
-const
-  GL_RGBA_FLOAT32_ATI = $8814;
-  GL_RGB_FLOAT32_ATI = $8815;
-  GL_ALPHA_FLOAT32_ATI = $8816;
-  GL_INTENSITY_FLOAT32_ATI = $8817;
-  GL_LUMINANCE_FLOAT32_ATI = $8818;
-  GL_LUMINANCE_ALPHA_FLOAT32_ATI = $8819;
-  GL_RGBA_FLOAT16_ATI = $881A;
-  GL_RGB_FLOAT16_ATI = $881B;
-  GL_ALPHA_FLOAT16_ATI = $881C;
-  GL_INTENSITY_FLOAT16_ATI = $881D;
-  GL_LUMINANCE_FLOAT16_ATI = $881E;
-  GL_LUMINANCE_ALPHA_FLOAT16_ATI = $881F;
-
-function Load_GL_ATI_texture_float: Boolean;
-
-//***** GL_NV_texture_expand_normal *****//
-const
-  GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = $888F;
-
-function Load_GL_NV_texture_expand_normal: Boolean;
-
-//***** GL_NV_half_float *****//
-const
-  GL_HALF_FLOAT_NV = $140B;
-
-  procedure glVertex2hNV(x: GLushort; y: GLushort); external dllname;
-  procedure glVertex2hvNV(const v: PGLushort); external dllname;
-  procedure glVertex3hNV(x: GLushort; y: GLushort; z: GLushort); external dllname;
-  procedure glVertex3hvNV(const v: PGLushort); external dllname;
-  procedure glVertex4hNV(x: GLushort; y: GLushort; z: GLushort; w: GLushort); external dllname;
-  procedure glVertex4hvNV(const v: PGLushort); external dllname;
-  procedure glNormal3hNV(nx: GLushort; ny: GLushort; nz: GLushort); external dllname;
-  procedure glNormal3hvNV(const v: PGLushort); external dllname;
-  procedure glColor3hNV(red: GLushort; green: GLushort; blue: GLushort); external dllname;
-  procedure glColor3hvNV(const v: PGLushort); external dllname;
-  procedure glColor4hNV(red: GLushort; green: GLushort; blue: GLushort; alpha: GLushort); external dllname;
-  procedure glColor4hvNV(const v: PGLushort); external dllname;
-  procedure glTexCoord1hNV(s: GLushort); external dllname;
-  procedure glTexCoord1hvNV(const v: PGLushort); external dllname;
-  procedure glTexCoord2hNV(s: GLushort; t: GLushort); external dllname;
-  procedure glTexCoord2hvNV(const v: PGLushort); external dllname;
-  procedure glTexCoord3hNV(s: GLushort; t: GLushort; r: GLushort); external dllname;
-  procedure glTexCoord3hvNV(const v: PGLushort); external dllname;
-  procedure glTexCoord4hNV(s: GLushort; t: GLushort; r: GLushort; q: GLushort); external dllname;
-  procedure glTexCoord4hvNV(const v: PGLushort); external dllname;
-  procedure glMultiTexCoord1hNV(target: GLenum; s: GLushort); external dllname;
-  procedure glMultiTexCoord1hvNV(target: GLenum; const v: PGLushort); external dllname;
-  procedure glMultiTexCoord2hNV(target: GLenum; s: GLushort; t: GLushort); external dllname;
-  procedure glMultiTexCoord2hvNV(target: GLenum; const v: PGLushort); external dllname;
-  procedure glMultiTexCoord3hNV(target: GLenum; s: GLushort; t: GLushort; r: GLushort); external dllname;
-  procedure glMultiTexCoord3hvNV(target: GLenum; const v: PGLushort); external dllname;
-  procedure glMultiTexCoord4hNV(target: GLenum; s: GLushort; t: GLushort; r: GLushort; q: GLushort); external dllname;
-  procedure glMultiTexCoord4hvNV(target: GLenum; const v: PGLushort); external dllname;
-  procedure glFogCoordhNV(fog: GLushort); external dllname;
-  procedure glFogCoordhvNV(const fog: PGLushort); external dllname;
-  procedure glSecondaryColor3hNV(red: GLushort; green: GLushort; blue: GLushort); external dllname;
-  procedure glSecondaryColor3hvNV(const v: PGLushort); external dllname;
-  procedure glVertexWeighthNV(weight: GLushort); external dllname;
-  procedure glVertexWeighthvNV(const weight: PGLushort); external dllname;
-  procedure glVertexAttrib1hNV(index: GLuint; x: GLushort); external dllname;
-  procedure glVertexAttrib1hvNV(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttrib2hNV(index: GLuint; x: GLushort; y: GLushort); external dllname;
-  procedure glVertexAttrib2hvNV(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttrib3hNV(index: GLuint; x: GLushort; y: GLushort; z: GLushort); external dllname;
-  procedure glVertexAttrib3hvNV(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttrib4hNV(index: GLuint; x: GLushort; y: GLushort; z: GLushort; w: GLushort); external dllname;
-  procedure glVertexAttrib4hvNV(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttribs1hvNV(index: GLuint; n: GLsizei; const v: PGLushort); external dllname;
-  procedure glVertexAttribs2hvNV(index: GLuint; n: GLsizei; const v: PGLushort); external dllname;
-  procedure glVertexAttribs3hvNV(index: GLuint; n: GLsizei; const v: PGLushort); external dllname;
-  procedure glVertexAttribs4hvNV(index: GLuint; n: GLsizei; const v: PGLushort); external dllname;
-
-function Load_GL_NV_half_float: Boolean;
-
-//***** GL_ATI_map_object_buffer *****//
-
-  function glMapObjectBufferATI(buffer: GLuint): PGLvoid; external dllname;
-  procedure glUnmapObjectBufferATI(buffer: GLuint); external dllname;
-
-function Load_GL_ATI_map_object_buffer: Boolean;
-
-//***** GL_ATI_separate_stencil *****//
-const
-  GL_KEEP = $1E00;
-  GL_ZERO = $0000;
-  GL_REPLACE = $1E01;
-  GL_INCR = $1E02;
-  GL_DECR = $1E03;
-  GL_INVERT = $150A;
-  GL_NEVER = $0200;
-  GL_LESS = $0201;
-  GL_LEQUAL = $0203;
-  GL_GREATER = $0204;
-  GL_GEQUAL = $0206;
-  GL_EQUAL = $0202;
-  GL_NOTEQUAL = $0205;
-  GL_ALWAYS = $0207;
-  GL_FRONT = $0404;
-  GL_BACK = $0405;
-  GL_FRONT_AND_BACK = $0408;
-  GL_STENCIL_BACK_FUNC_ATI = $8800;
-  GL_STENCIL_BACK_FAIL_ATI = $8801;
-  GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = $8802;
-  GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = $8803;
-
-  procedure glStencilOpSeparateATI(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); external dllname;
-  procedure glStencilFuncSeparateATI(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); external dllname;
-
-function Load_GL_ATI_separate_stencil: Boolean;
-
-//***** GL_ATI_vertex_attrib_array_object *****//
-
-  procedure glVertexAttribArrayObjectATI(index: GLuint; size: GLint; thetype: GLenum; normalized: GLboolean; stride: GLsizei; buffer: GLuint; offset: GLuint); external dllname;
-  procedure glGetVertexAttribArrayObjectfvATI(index: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetVertexAttribArrayObjectivATI(index: GLuint; pname: GLenum; params: PGLint); external dllname;
-
-function Load_GL_ATI_vertex_attrib_array_object: Boolean;
-
-//***** GL_ARB_occlusion_query *****//
-const
-  GL_SAMPLES_PASSED_ARB = $8914;
-  GL_QUERY_COUNTER_BITS_ARB = $8864;
-  GL_CURRENT_QUERY_ARB = $8865;
-  GL_QUERY_RESULT_ARB = $8866;
-  GL_QUERY_RESULT_AVAILABLE_ARB = $8867;
-
-  procedure glGenQueriesARB(n: GLsizei; ids: PGLuint); external dllname;
-  procedure glDeleteQueriesARB(n: GLsizei; const ids: PGLuint); external dllname;
-  function glIsQueryARB(id: GLuint): GLboolean; external dllname;
-  procedure glBeginQueryARB(target: GLenum; id: GLuint); external dllname;
-  procedure glEndQueryARB(target: GLenum); external dllname;
-  procedure glGetQueryivARB(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetQueryObjectivARB(id: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetQueryObjectuivARB(id: GLuint; pname: GLenum; params: PGLuint); external dllname;
-
-function Load_GL_ARB_occlusion_query: Boolean;
-
-//***** GL_ARB_shader_objects *****//
-const
-  GL_PROGRAM_OBJECT_ARB = $8B40;
-  GL_OBJECT_TYPE_ARB = $8B4E;
-  GL_OBJECT_SUBTYPE_ARB = $8B4F;
-  GL_OBJECT_DELETE_STATUS_ARB = $8B80;
-  GL_OBJECT_COMPILE_STATUS_ARB = $8B81;
-  GL_OBJECT_LINK_STATUS_ARB = $8B82;
-  GL_OBJECT_VALIDATE_STATUS_ARB = $8B83;
-  GL_OBJECT_INFO_LOG_LENGTH_ARB = $8B84;
-  GL_OBJECT_ATTACHED_OBJECTS_ARB = $8B85;
-  GL_OBJECT_ACTIVE_UNIFORMS_ARB = $8B86;
-  GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = $8B87;
-  GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = $8B88;
-  GL_SHADER_OBJECT_ARB = $8B48;
-  GL_FLOAT = $1406;
-  GL_FLOAT_VEC2_ARB = $8B50;
-  GL_FLOAT_VEC3_ARB = $8B51;
-  GL_FLOAT_VEC4_ARB = $8B52;
-  GL_INT = $1404;
-  GL_INT_VEC2_ARB = $8B53;
-  GL_INT_VEC3_ARB = $8B54;
-  GL_INT_VEC4_ARB = $8B55;
-  GL_BOOL_ARB = $8B56;
-  GL_BOOL_VEC2_ARB = $8B57;
-  GL_BOOL_VEC3_ARB = $8B58;
-  GL_BOOL_VEC4_ARB = $8B59;
-  GL_FLOAT_MAT2_ARB = $8B5A;
-  GL_FLOAT_MAT3_ARB = $8B5B;
-  GL_FLOAT_MAT4_ARB = $8B5C;
-
-  procedure glDeleteObjectARB(obj: GLhandleARB); external dllname;
-  function glGetHandleARB(pname: GLenum): GLhandleARB; external dllname;
-  procedure glDetachObjectARB(containerObj: GLhandleARB; attachedObj: GLhandleARB); external dllname;
-  function glCreateShaderObjectARB(shaderType: GLenum): GLhandleARB; external dllname;
-  procedure glShaderSourceARB(shaderObj: GLhandleARB; count: GLsizei; const str: PGLvoid; const length: PGLint); external dllname;
-  procedure glCompileShaderARB(shaderObj: GLhandleARB); external dllname;
-  function glCreateProgramObjectARB(): GLhandleARB; external dllname;
-  procedure glAttachObjectARB(containerObj: GLhandleARB; obj: GLhandleARB); external dllname;
-  procedure glLinkProgramARB(programObj: GLhandleARB); external dllname;
-  procedure glUseProgramObjectARB(programObj: GLhandleARB); external dllname;
-  procedure glValidateProgramARB(programObj: GLhandleARB); external dllname;
-  procedure glUniform1fARB(location: GLint; v0: GLfloat); external dllname;
-  procedure glUniform2fARB(location: GLint; v0: GLfloat; v1: GLfloat); external dllname;
-  procedure glUniform3fARB(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); external dllname;
-  procedure glUniform4fARB(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); external dllname;
-  procedure glUniform1iARB(location: GLint; v0: GLint); external dllname;
-  procedure glUniform2iARB(location: GLint; v0: GLint; v1: GLint); external dllname;
-  procedure glUniform3iARB(location: GLint; v0: GLint; v1: GLint; v2: GLint); external dllname;
-  procedure glUniform4iARB(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); external dllname;
-  procedure glUniform1fvARB(location: GLint; count: GLsizei; value: PGLfloat); external dllname;
-  procedure glUniform2fvARB(location: GLint; count: GLsizei; value: PGLfloat); external dllname;
-  procedure glUniform3fvARB(location: GLint; count: GLsizei; value: PGLfloat); external dllname;
-  procedure glUniform4fvARB(location: GLint; count: GLsizei; value: PGLfloat); external dllname;
-  procedure glUniform1ivARB(location: GLint; count: GLsizei; value: PGLint); external dllname;
-  procedure glUniform2ivARB(location: GLint; count: GLsizei; value: PGLint); external dllname;
-  procedure glUniform3ivARB(location: GLint; count: GLsizei; value: PGLint); external dllname;
-  procedure glUniform4ivARB(location: GLint; count: GLsizei; value: PGLint); external dllname;
-  procedure glUniformMatrix2fvARB(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); external dllname;
-  procedure glUniformMatrix3fvARB(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); external dllname;
-  procedure glUniformMatrix4fvARB(location: GLint; count: GLsizei; transpose: GLboolean; value: PGLfloat); external dllname;
-  procedure glGetObjectParameterfvARB(obj: GLhandleARB; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetObjectParameterivARB(obj: GLhandleARB; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetInfoLogARB(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; infoLog: PGLcharARB); external dllname;
-  procedure glGetAttachedObjectsARB(containerObj: GLhandleARB; maxCount: GLsizei; count: PGLsizei; obj: PGLhandleARB); external dllname;
-  function glGetUniformLocationARB(programObj: GLhandleARB; const name: PGLcharARB): GLint; external dllname;
-  procedure glGetActiveUniformARB(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; thetype: PGLenum; name: PGLcharARB); external dllname;
-  procedure glGetUniformfvARB(programObj: GLhandleARB; location: GLint; params: PGLfloat); external dllname;
-  procedure glGetUniformivARB(programObj: GLhandleARB; location: GLint; params: PGLint); external dllname;
-  procedure glGetShaderSourceARB(obj: GLhandleARB; maxLength: GLsizei; length: PGLsizei; source: PGLcharARB); external dllname;
-
-function Load_GL_ARB_shader_objects: Boolean;
-
-//***** GL_ARB_vertex_shader *****//
-const
-  GL_VERTEX_SHADER_ARB = $8B31;
-  GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = $8B4A;
-  GL_MAX_VARYING_FLOATS_ARB = $8B4B;
-  // GL_MAX_VERTEX_ATTRIBS_ARB  { already defined }
-  // GL_MAX_TEXTURE_IMAGE_UNITS_ARB  { already defined }
-  GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = $8B4C;
-  GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = $8B4D;
-  // GL_MAX_TEXTURE_COORDS_ARB  { already defined }
-  // GL_VERTEX_PROGRAM_POINT_SIZE_ARB  { already defined }
-  // GL_VERTEX_PROGRAM_TWO_SIDE_ARB  { already defined }
-  // GL_OBJECT_TYPE_ARB  { already defined }
-  // GL_OBJECT_SUBTYPE_ARB  { already defined }
-  GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = $8B89;
-  GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = $8B8A;
-  // GL_SHADER_OBJECT_ARB  { already defined }
-  // GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB  { already defined }
-  // GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB  { already defined }
-  // GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB  { already defined }
-  // GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB  { already defined }
-  // GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB  { already defined }
-  // GL_CURRENT_VERTEX_ATTRIB_ARB  { already defined }
-  // GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB  { already defined }
-  // GL_FLOAT  { already defined }
-  // GL_FLOAT_VEC2_ARB  { already defined }
-  // GL_FLOAT_VEC3_ARB  { already defined }
-  // GL_FLOAT_VEC4_ARB  { already defined }
-  // GL_FLOAT_MAT2_ARB  { already defined }
-  // GL_FLOAT_MAT3_ARB  { already defined }
-  // GL_FLOAT_MAT4_ARB  { already defined }
-  // glVertexAttrib1fARB  { already defined }
-  // glVertexAttrib1sARB  { already defined }
-  // glVertexAttrib1dARB  { already defined }
-  // glVertexAttrib2fARB  { already defined }
-  // glVertexAttrib2sARB  { already defined }
-  // glVertexAttrib2dARB  { already defined }
-  // glVertexAttrib3fARB  { already defined }
-  // glVertexAttrib3sARB  { already defined }
-  // glVertexAttrib3dARB  { already defined }
-  // glVertexAttrib4fARB  { already defined }
-  // glVertexAttrib4sARB  { already defined }
-  // glVertexAttrib4dARB  { already defined }
-  // glVertexAttrib4NubARB  { already defined }
-  // glVertexAttrib1fvARB  { already defined }
-  // glVertexAttrib1svARB  { already defined }
-  // glVertexAttrib1dvARB  { already defined }
-  // glVertexAttrib2fvARB  { already defined }
-  // glVertexAttrib2svARB  { already defined }
-  // glVertexAttrib2dvARB  { already defined }
-  // glVertexAttrib3fvARB  { already defined }
-  // glVertexAttrib3svARB  { already defined }
-  // glVertexAttrib3dvARB  { already defined }
-  // glVertexAttrib4fvARB  { already defined }
-  // glVertexAttrib4svARB  { already defined }
-  // glVertexAttrib4dvARB  { already defined }
-  // glVertexAttrib4ivARB  { already defined }
-  // glVertexAttrib4bvARB  { already defined }
-  // glVertexAttrib4ubvARB  { already defined }
-  // glVertexAttrib4usvARB  { already defined }
-  // glVertexAttrib4uivARB  { already defined }
-  // glVertexAttrib4NbvARB  { already defined }
-  // glVertexAttrib4NsvARB  { already defined }
-  // glVertexAttrib4NivARB  { already defined }
-  // glVertexAttrib4NubvARB  { already defined }
-  // glVertexAttrib4NusvARB  { already defined }
-  // glVertexAttrib4NuivARB  { already defined }
-  // glVertexAttribPointerARB  { already defined }
-  // glEnableVertexAttribArrayARB  { already defined }
-  // glDisableVertexAttribArrayARB  { already defined }
-
-  procedure glBindAttribLocationARB(programObj: GLhandleARB; index: GLuint; const name: PGLcharARB); external dllname;
-  procedure glGetActiveAttribARB(programObj: GLhandleARB; index: GLuint; maxLength: GLsizei; length: PGLsizei; size: PGLint; thetype: PGLenum; name: PGLcharARB); external dllname;
-  function glGetAttribLocationARB(programObj: GLhandleARB; const name: PGLcharARB): GLint; external dllname;
-  // glGetVertexAttribdvARB  { already defined }
-  // glGetVertexAttribfvARB  { already defined }
-  // glGetVertexAttribivARB  { already defined }
-  // glGetVertexAttribPointervARB  { already defined }
-
-function Load_GL_ARB_vertex_shader: Boolean;
-
-//***** GL_ARB_fragment_shader *****//
-const
-  GL_FRAGMENT_SHADER_ARB = $8B30;
-  GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = $8B49;
-  // GL_MAX_TEXTURE_COORDS_ARB  { already defined }
-  // GL_MAX_TEXTURE_IMAGE_UNITS_ARB  { already defined }
-  // GL_OBJECT_TYPE_ARB  { already defined }
-  // GL_OBJECT_SUBTYPE_ARB  { already defined }
-  // GL_SHADER_OBJECT_ARB  { already defined }
-
-function Load_GL_ARB_fragment_shader: Boolean;
-
-//***** GL_ARB_shading_language_100 *****//
-
-function Load_GL_ARB_shading_language_100: Boolean;
-
-//***** GL_ARB_texture_non_power_of_two *****//
-
-function Load_GL_ARB_texture_non_power_of_two: Boolean;
-
-//***** GL_ARB_point_sprite *****//
-const
-  GL_POINT_SPRITE_ARB = $8861;
-  GL_COORD_REPLACE_ARB = $8862;
-
-function Load_GL_ARB_point_sprite: Boolean;
-
-//***** GL_EXT_depth_bounds_test *****//
-const
-  GL_DEPTH_BOUNDS_TEST_EXT = $8890;
-  GL_DEPTH_BOUNDS_EXT = $8891;
-
-  procedure glDepthBoundsEXT(zmin: GLclampd; zmax: GLclampd); external dllname;
-
-function Load_GL_EXT_depth_bounds_test: Boolean;
-
-//***** GL_EXT_texture_mirror_clamp *****//
-const
-  GL_MIRROR_CLAMP_EXT = $8742;
-  GL_MIRROR_CLAMP_TO_EDGE_EXT = $8743;
-  GL_MIRROR_CLAMP_TO_BORDER_EXT = $8912;
-
-function Load_GL_EXT_texture_mirror_clamp: Boolean;
-
-//***** GL_EXT_blend_equation_separate *****//
-const
-  GL_BLEND_EQUATION_RGB_EXT = $8009;
-  GL_BLEND_EQUATION_ALPHA_EXT = $883D;
-
-  procedure glBlendEquationSeparateEXT(modeRGB: GLenum; modeAlpha: GLenum); external dllname;
-
-function Load_GL_EXT_blend_equation_separate: Boolean;
-
-//***** GL_MESA_pack_invert *****//
-const
-  GL_PACK_INVERT_MESA = $8758;
-
-function Load_GL_MESA_pack_invert: Boolean;
-
-//***** GL_MESA_ycbcr_texture *****//
-const
-  GL_YCBCR_MESA = $8757;
-  GL_UNSIGNED_SHORT_8_8_MESA = $85BA;
-  GL_UNSIGNED_SHORT_8_8_REV_MESA = $85BB;
-
-function Load_GL_MESA_ycbcr_texture: Boolean;
-
-//***** GL_ARB_fragment_program_shadow *****//
-
-function Load_GL_ARB_fragment_program_shadow: Boolean;
-
-//***** GL_NV_fragment_program_option *****//
-
-function Load_GL_NV_fragment_program_option: Boolean;
-
-//***** GL_EXT_pixel_buffer_object *****//
-const
-  GL_PIXEL_PACK_BUFFER_EXT = $88EB;
-  GL_PIXEL_UNPACK_BUFFER_EXT = $88EC;
-  GL_PIXEL_PACK_BUFFER_BINDING_EXT = $88ED;
-  GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = $88EF;
-
-function Load_GL_EXT_pixel_buffer_object: Boolean;
-
-//***** GL_NV_fragment_program2 *****//
-const
-  GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = $88F4;
-  GL_MAX_PROGRAM_CALL_DEPTH_NV = $88F5;
-  GL_MAX_PROGRAM_IF_DEPTH_NV = $88F6;
-  GL_MAX_PROGRAM_LOOP_DEPTH_NV = $88F7;
-  GL_MAX_PROGRAM_LOOP_COUNT_NV = $88F8;
-
-function Load_GL_NV_fragment_program2: Boolean;
-
-//***** GL_NV_vertex_program2_option *****//
-  // GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV  { already defined }
-  // GL_MAX_PROGRAM_CALL_DEPTH_NV  { already defined }
-
-function Load_GL_NV_vertex_program2_option: Boolean;
-
-//***** GL_NV_vertex_program3 *****//
-  // GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB  { already defined }
-
-function Load_GL_NV_vertex_program3: Boolean;
-
-//***** GL_ARB_draw_buffers *****//
-const
-  GL_MAX_DRAW_BUFFERS_ARB = $8824;
-  GL_DRAW_BUFFER0_ARB = $8825;
-  GL_DRAW_BUFFER1_ARB = $8826;
-  GL_DRAW_BUFFER2_ARB = $8827;
-  GL_DRAW_BUFFER3_ARB = $8828;
-  GL_DRAW_BUFFER4_ARB = $8829;
-  GL_DRAW_BUFFER5_ARB = $882A;
-  GL_DRAW_BUFFER6_ARB = $882B;
-  GL_DRAW_BUFFER7_ARB = $882C;
-  GL_DRAW_BUFFER8_ARB = $882D;
-  GL_DRAW_BUFFER9_ARB = $882E;
-  GL_DRAW_BUFFER10_ARB = $882F;
-  GL_DRAW_BUFFER11_ARB = $8830;
-  GL_DRAW_BUFFER12_ARB = $8831;
-  GL_DRAW_BUFFER13_ARB = $8832;
-  GL_DRAW_BUFFER14_ARB = $8833;
-  GL_DRAW_BUFFER15_ARB = $8834;
-
-  procedure glDrawBuffersARB(n: GLsizei; const bufs: PGLenum); external dllname;
-
-function Load_GL_ARB_draw_buffers: Boolean;
-
-//***** GL_ARB_texture_rectangle *****//
-const
-  GL_TEXTURE_RECTANGLE_ARB = $84F5;
-  GL_TEXTURE_BINDING_RECTANGLE_ARB = $84F6;
-  GL_PROXY_TEXTURE_RECTANGLE_ARB = $84F7;
-  GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = $84F8;
-
-function Load_GL_ARB_texture_rectangle: Boolean;
-
-//***** GL_ARB_color_buffer_float *****//
-const
-  GL_RGBA_FLOAT_MODE_ARB = $8820;
-  GL_CLAMP_VERTEX_COLOR_ARB = $891A;
-  GL_CLAMP_FRAGMENT_COLOR_ARB = $891B;
-  GL_CLAMP_READ_COLOR_ARB = $891C;
-  GL_FIXED_ONLY_ARB = $891D;
-  WGL_TYPE_RGBA_FLOAT_ARB = $21A0;
-
-  procedure glClampColorARB(target: GLenum; clamp: GLenum); external dllname;
-
-function Load_GL_ARB_color_buffer_float: Boolean;
-
-//***** GL_ARB_half_float_pixel *****//
-const
-  GL_HALF_FLOAT_ARB = $140B;
-
-function Load_GL_ARB_half_float_pixel: Boolean;
-
-//***** GL_ARB_texture_float *****//
-const
-  GL_TEXTURE_RED_TYPE_ARB = $8C10;
-  GL_TEXTURE_GREEN_TYPE_ARB = $8C11;
-  GL_TEXTURE_BLUE_TYPE_ARB = $8C12;
-  GL_TEXTURE_ALPHA_TYPE_ARB = $8C13;
-  GL_TEXTURE_LUMINANCE_TYPE_ARB = $8C14;
-  GL_TEXTURE_INTENSITY_TYPE_ARB = $8C15;
-  GL_TEXTURE_DEPTH_TYPE_ARB = $8C16;
-  GL_UNSIGNED_NORMALIZED_ARB = $8C17;
-  GL_RGBA32F_ARB = $8814;
-  GL_RGB32F_ARB = $8815;
-  GL_ALPHA32F_ARB = $8816;
-  GL_INTENSITY32F_ARB = $8817;
-  GL_LUMINANCE32F_ARB = $8818;
-  GL_LUMINANCE_ALPHA32F_ARB = $8819;
-  GL_RGBA16F_ARB = $881A;
-  GL_RGB16F_ARB = $881B;
-  GL_ALPHA16F_ARB = $881C;
-  GL_INTENSITY16F_ARB = $881D;
-  GL_LUMINANCE16F_ARB = $881E;
-  GL_LUMINANCE_ALPHA16F_ARB = $881F;
-
-function Load_GL_ARB_texture_float: Boolean;
-
-//***** GL_EXT_texture_compression_dxt1 *****//
-  // GL_COMPRESSED_RGB_S3TC_DXT1_EXT  { already defined }
-  // GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  { already defined }
-
-function Load_GL_EXT_texture_compression_dxt1: Boolean;
-
-//***** GL_ARB_pixel_buffer_object *****//
-const
-  GL_PIXEL_PACK_BUFFER_ARB = $88EB;
-  GL_PIXEL_UNPACK_BUFFER_ARB = $88EC;
-  GL_PIXEL_PACK_BUFFER_BINDING_ARB = $88ED;
-  GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = $88EF;
-
-function Load_GL_ARB_pixel_buffer_object: Boolean;
-
-//***** GL_EXT_framebuffer_object *****//
-const
-  GL_FRAMEBUFFER_EXT = $8D40;
-  GL_RENDERBUFFER_EXT = $8D41;
-  GL_STENCIL_INDEX_EXT = $8D45;
-  GL_STENCIL_INDEX1_EXT = $8D46;
-  GL_STENCIL_INDEX4_EXT = $8D47;
-  GL_STENCIL_INDEX8_EXT = $8D48;
-  GL_STENCIL_INDEX16_EXT = $8D49;
-  GL_RENDERBUFFER_WIDTH_EXT = $8D42;
-  GL_RENDERBUFFER_HEIGHT_EXT = $8D43;
-  GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = $8D44;
-  GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = $8CD0;
-  GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = $8CD1;
-  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = $8CD2;
-  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = $8CD3;
-  GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = $8CD4;
-  GL_COLOR_ATTACHMENT0_EXT = $8CE0;
-  GL_COLOR_ATTACHMENT1_EXT = $8CE1;
-  GL_COLOR_ATTACHMENT2_EXT = $8CE2;
-  GL_COLOR_ATTACHMENT3_EXT = $8CE3;
-  GL_COLOR_ATTACHMENT4_EXT = $8CE4;
-  GL_COLOR_ATTACHMENT5_EXT = $8CE5;
-  GL_COLOR_ATTACHMENT6_EXT = $8CE6;
-  GL_COLOR_ATTACHMENT7_EXT = $8CE7;
-  GL_COLOR_ATTACHMENT8_EXT = $8CE8;
-  GL_COLOR_ATTACHMENT9_EXT = $8CE9;
-  GL_COLOR_ATTACHMENT10_EXT = $8CEA;
-  GL_COLOR_ATTACHMENT11_EXT = $8CEB;
-  GL_COLOR_ATTACHMENT12_EXT = $8CEC;
-  GL_COLOR_ATTACHMENT13_EXT = $8CED;
-  GL_COLOR_ATTACHMENT14_EXT = $8CEE;
-  GL_COLOR_ATTACHMENT15_EXT = $8CEF;
-  GL_DEPTH_ATTACHMENT_EXT = $8D00;
-  GL_STENCIL_ATTACHMENT_EXT = $8D20;
-  GL_FRAMEBUFFER_COMPLETE_EXT = $8CD5;
-  GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = $8CD6;
-  GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = $8CD7;
-  GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT = $8CD8;
-  GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = $8CD9;
-  GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = $8CDA;
-  GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = $8CDB;
-  GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = $8CDC;
-  GL_FRAMEBUFFER_UNSUPPORTED_EXT = $8CDD;
-  GL_FRAMEBUFFER_STATUS_ERROR_EXT = $8CDE;
-  GL_FRAMEBUFFER_BINDING_EXT = $8CA6;
-  GL_RENDERBUFFER_BINDING_EXT = $8CA7;
-  GL_MAX_COLOR_ATTACHMENTS_EXT = $8CDF;
-  GL_MAX_RENDERBUFFER_SIZE_EXT = $84E8;
-  GL_INVALID_FRAMEBUFFER_OPERATION_EXT = $0506;
-
-  function glIsRenderbufferEXT(renderbuffer: GLuint): GLboolean; external dllname;
-  procedure glBindRenderbufferEXT(target: GLenum; renderbuffer: GLuint); external dllname;
-  procedure glDeleteRenderbuffersEXT(n: GLsizei; const renderbuffers: PGLuint); external dllname;
-  procedure glGenRenderbuffersEXT(n: GLsizei; renderbuffers: PGLuint); external dllname;
-  procedure glRenderbufferStorageEXT(target: GLenum; internalformat: GLenum; width: GLsizei; height: GLsizei); external dllname;
-  procedure glGetRenderbufferParameterivEXT(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  function glIsFramebufferEXT(framebuffer: GLuint): GLboolean; external dllname;
-  procedure glBindFramebufferEXT(target: GLenum; framebuffer: GLuint); external dllname;
-  procedure glDeleteFramebuffersEXT(n: GLsizei; const framebuffers: PGLuint); external dllname;
-  procedure glGenFramebuffersEXT(n: GLsizei; framebuffers: PGLuint); external dllname;
-  function glCheckFramebufferStatusEXT(target: GLenum): GLenum; external dllname;
-  procedure glFramebufferTexture1DEXT(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); external dllname;
-  procedure glFramebufferTexture2DEXT(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint); external dllname;
-  procedure glFramebufferTexture3DEXT(target: GLenum; attachment: GLenum; textarget: GLenum; texture: GLuint; level: GLint; zoffset: GLint); external dllname;
-  procedure glFramebufferRenderbufferEXT(target: GLenum; attachment: GLenum; renderbuffertarget: GLenum; renderbuffer: GLuint); external dllname;
-  procedure glGetFramebufferAttachmentParameterivEXT(target: GLenum; attachment: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGenerateMipmapEXT(target: GLenum); external dllname;
-
-function Load_GL_EXT_framebuffer_object: Boolean;
-
-//***** GL_version_1_4 *****//
-const
-  GL_BLEND_DST_RGB = $80C8;
-  GL_BLEND_SRC_RGB = $80C9;
-  GL_BLEND_DST_ALPHA = $80CA;
-  GL_BLEND_SRC_ALPHA = $80CB;
-  GL_POINT_SIZE_MIN = $8126;
-  GL_POINT_SIZE_MAX = $8127;
-  GL_POINT_FADE_THRESHOLD_SIZE = $8128;
-  GL_POINT_DISTANCE_ATTENUATION = $8129;
-  GL_GENERATE_MIPMAP = $8191;
-  GL_GENERATE_MIPMAP_HINT = $8192;
-  GL_DEPTH_COMPONENT16 = $81A5;
-  GL_DEPTH_COMPONENT24 = $81A6;
-  GL_DEPTH_COMPONENT32 = $81A7;
-  GL_MIRRORED_REPEAT = $8370;
-  GL_FOG_COORDINATE_SOURCE = $8450;
-  GL_FOG_COORDINATE = $8451;
-  GL_FRAGMENT_DEPTH = $8452;
-  GL_CURRENT_FOG_COORDINATE = $8453;
-  GL_FOG_COORDINATE_ARRAY_TYPE = $8454;
-  GL_FOG_COORDINATE_ARRAY_STRIDE = $8455;
-  GL_FOG_COORDINATE_ARRAY_POINTER = $8456;
-  GL_FOG_COORDINATE_ARRAY = $8457;
-  GL_COLOR_SUM = $8458;
-  GL_CURRENT_SECONDARY_COLOR = $8459;
-  GL_SECONDARY_COLOR_ARRAY_SIZE = $845A;
-  GL_SECONDARY_COLOR_ARRAY_TYPE = $845B;
-  GL_SECONDARY_COLOR_ARRAY_STRIDE = $845C;
-  GL_SECONDARY_COLOR_ARRAY_POINTER = $845D;
-  GL_SECONDARY_COLOR_ARRAY = $845E;
-  GL_MAX_TEXTURE_LOD_BIAS = $84FD;
-  GL_TEXTURE_FILTER_CONTROL = $8500;
-  GL_TEXTURE_LOD_BIAS = $8501;
-  GL_INCR_WRAP = $8507;
-  GL_DECR_WRAP = $8508;
-  GL_TEXTURE_DEPTH_SIZE = $884A;
-  GL_DEPTH_TEXTURE_MODE = $884B;
-  GL_TEXTURE_COMPARE_MODE = $884C;
-  GL_TEXTURE_COMPARE_FUNC = $884D;
-  GL_COMPARE_R_TO_TEXTURE = $884E;
-
-  procedure glBlendFuncSeparate(sfactorRGB: GLenum; dfactorRGB: GLenum; sfactorAlpha: GLenum; dfactorAlpha: GLenum); external dllname;
-  procedure glFogCoordf(coord: GLfloat); external dllname;
-  procedure glFogCoordfv(const coord: PGLfloat); external dllname;
-  procedure glFogCoordd(coord: GLdouble); external dllname;
-  procedure glFogCoorddv(const coord: PGLdouble); external dllname;
-  procedure glFogCoordPointer(thetype: GLenum; stride: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glMultiDrawArrays(mode: GLenum; first: PGLint; count: PGLsizei; primcount: GLsizei); external dllname;
-  procedure glMultiDrawElements(mode: GLenum; const count: PGLsizei; thetype: GLenum; const indices: PGLvoid; primcount: GLsizei); external dllname;
-  procedure glPointParameterf(pname: GLenum; param: GLfloat); external dllname;
-  procedure glPointParameterfv(pname: GLenum; const params: PGLfloat); external dllname;
-  procedure glPointParameteri(pname: GLenum; param: GLint); external dllname;
-  procedure glPointParameteriv(pname: GLenum; const params: PGLint); external dllname;
-  procedure glSecondaryColor3b(red: GLbyte; green: GLbyte; blue: GLbyte); external dllname;
-  procedure glSecondaryColor3bv(const v: PGLbyte); external dllname;
-  procedure glSecondaryColor3d(red: GLdouble; green: GLdouble; blue: GLdouble); external dllname;
-  procedure glSecondaryColor3dv(const v: PGLdouble); external dllname;
-  procedure glSecondaryColor3f(red: GLfloat; green: GLfloat; blue: GLfloat); external dllname;
-  procedure glSecondaryColor3fv(const v: PGLfloat); external dllname;
-  procedure glSecondaryColor3i(red: GLint; green: GLint; blue: GLint); external dllname;
-  procedure glSecondaryColor3iv(const v: PGLint); external dllname;
-  procedure glSecondaryColor3s(red: GLshort; green: GLshort; blue: GLshort); external dllname;
-  procedure glSecondaryColor3sv(const v: PGLshort); external dllname;
-  procedure glSecondaryColor3ub(red: GLubyte; green: GLubyte; blue: GLubyte); external dllname;
-  procedure glSecondaryColor3ubv(const v: PGLubyte); external dllname;
-  procedure glSecondaryColor3ui(red: GLuint; green: GLuint; blue: GLuint); external dllname;
-  procedure glSecondaryColor3uiv(const v: PGLuint); external dllname;
-  procedure glSecondaryColor3us(red: GLushort; green: GLushort; blue: GLushort); external dllname;
-  procedure glSecondaryColor3usv(const v: PGLushort); external dllname;
-  procedure glSecondaryColorPointer(size: GLint; thetype: GLenum; stride: GLsizei; const pointer: PGLvoid); external dllname;
-  procedure glWindowPos2d(x: GLdouble; y: GLdouble); external dllname;
-  procedure glWindowPos2dv(const v: PGLdouble); external dllname;
-  procedure glWindowPos2f(x: GLfloat; y: GLfloat); external dllname;
-  procedure glWindowPos2fv(const v: PGLfloat); external dllname;
-  procedure glWindowPos2i(x: GLint; y: GLint); external dllname;
-  procedure glWindowPos2iv(const v: PGLint); external dllname;
-  procedure glWindowPos2s(x: GLshort; y: GLshort); external dllname;
-  procedure glWindowPos2sv(const v: PGLshort); external dllname;
-  procedure glWindowPos3d(x: GLdouble; y: GLdouble; z: GLdouble); external dllname;
-  procedure glWindowPos3dv(const v: PGLdouble); external dllname;
-  procedure glWindowPos3f(x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glWindowPos3fv(const v: PGLfloat); external dllname;
-  procedure glWindowPos3i(x: GLint; y: GLint; z: GLint); external dllname;
-  procedure glWindowPos3iv(const v: PGLint); external dllname;
-  procedure glWindowPos3s(x: GLshort; y: GLshort; z: GLshort); external dllname;
-  procedure glWindowPos3sv(const v: PGLshort); external dllname;
-
-function Load_GL_version_1_4: Boolean;
-
-//***** GL_version_1_5 *****//
-const
-  GL_BUFFER_SIZE = $8764;
-  GL_BUFFER_USAGE = $8765;
-  GL_QUERY_COUNTER_BITS = $8864;
-  GL_CURRENT_QUERY = $8865;
-  GL_QUERY_RESULT = $8866;
-  GL_QUERY_RESULT_AVAILABLE = $8867;
-  GL_ARRAY_BUFFER = $8892;
-  GL_ELEMENT_ARRAY_BUFFER = $8893;
-  GL_ARRAY_BUFFER_BINDING = $8894;
-  GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
-  GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
-  GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
-  GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
-  GL_INDEX_ARRAY_BUFFER_BINDING = $8899;
-  GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
-  GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = $889B;
-  GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = $889C;
-  GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = $889D;
-  GL_WEIGHT_ARRAY_BUFFER_BINDING = $889E;
-  GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = $889F;
-  GL_READ_ONLY = $88B8;
-  GL_WRITE_ONLY = $88B9;
-  GL_READ_WRITE = $88BA;
-  GL_BUFFER_ACCESS = $88BB;
-  GL_BUFFER_MAPPED = $88BC;
-  GL_BUFFER_MAP_POINTER = $88BD;
-  GL_STREAM_DRAW = $88E0;
-  GL_STREAM_READ = $88E1;
-  GL_STREAM_COPY = $88E2;
-  GL_STATIC_DRAW = $88E4;
-  GL_STATIC_READ = $88E5;
-  GL_STATIC_COPY = $88E6;
-  GL_DYNAMIC_DRAW = $88E8;
-  GL_DYNAMIC_READ = $88E9;
-  GL_DYNAMIC_COPY = $88EA;
-  GL_SAMPLES_PASSED = $8914;
-  GL_FOG_COORD_SRC = $8450;
-  GL_FOG_COORD = $8451;
-  GL_CURRENT_FOG_COORD = $8453;
-  GL_FOG_COORD_ARRAY_TYPE = $8454;
-  GL_FOG_COORD_ARRAY_STRIDE = $8455;
-  GL_FOG_COORD_ARRAY_POINTER = $8456;
-  GL_FOG_COORD_ARRAY = $8457;
-  GL_FOG_COORD_ARRAY_BUFFER_BINDING = $889D;
-  GL_SRC0_RGB = $8580;
-  GL_SRC1_RGB = $8581;
-  GL_SRC2_RGB = $8582;
-  GL_SRC0_ALPHA = $8588;
-  GL_SRC1_ALPHA = $8589;
-  GL_SRC2_ALPHA = $858A;
-
-  procedure glGenQueries(n: GLsizei; ids: PGLuint); external dllname;
-  procedure glDeleteQueries(n: GLsizei; const ids: PGLuint); external dllname;
-  function glIsQuery(id: GLuint): GLboolean; external dllname;
-  procedure glBeginQuery(target: GLenum; id: GLuint); external dllname;
-  procedure glEndQuery(target: GLenum); external dllname;
-  procedure glGetQueryiv(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetQueryObjectiv(id: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetQueryObjectuiv(id: GLuint; pname: GLenum; params: PGLuint); external dllname;
-  procedure glBindBuffer(target: GLenum; buffer: GLuint); external dllname;
-  procedure glDeleteBuffers(n: GLsizei; const buffers: PGLuint); external dllname;
-  procedure glGenBuffers(n: GLsizei; buffers: PGLuint); external dllname;
-  function glIsBuffer(buffer: GLuint): GLboolean; external dllname;
-  procedure glBufferData(target: GLenum; size: GLsizeiptr; const data: PGLvoid; usage: GLenum); external dllname;
-  procedure glBufferSubData(target: GLenum; offset: GLintptr; size: GLsizeiptr; const data: PGLvoid); external dllname;
-  procedure glGetBufferSubData(target: GLenum; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); external dllname;
-  function glMapBuffer(target: GLenum; access: GLenum): PGLvoid; external dllname;
-  function glUnmapBuffer(target: GLenum): GLboolean; external dllname;
-  procedure glGetBufferParameteriv(target: GLenum; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetBufferPointerv(target: GLenum; pname: GLenum; params: PGLvoid); external dllname;
-
-function Load_GL_version_1_5: Boolean;
-
-//***** GL_version_2_0 *****//
-const
-  GL_BLEND_EQUATION_RGB = $8009;
-  GL_VERTEX_ATTRIB_ARRAY_ENABLED = $8622;
-  GL_VERTEX_ATTRIB_ARRAY_SIZE = $8623;
-  GL_VERTEX_ATTRIB_ARRAY_STRIDE = $8624;
-  GL_VERTEX_ATTRIB_ARRAY_TYPE = $8625;
-  GL_CURRENT_VERTEX_ATTRIB = $8626;
-  GL_VERTEX_PROGRAM_POINT_SIZE = $8642;
-  GL_VERTEX_PROGRAM_TWO_SIDE = $8643;
-  GL_VERTEX_ATTRIB_ARRAY_POINTER = $8645;
-  GL_STENCIL_BACK_FUNC = $8800;
-  GL_STENCIL_BACK_FAIL = $8801;
-  GL_STENCIL_BACK_PASS_DEPTH_FAIL = $8802;
-  GL_STENCIL_BACK_PASS_DEPTH_PASS = $8803;
-  GL_MAX_DRAW_BUFFERS = $8824;
-  GL_DRAW_BUFFER0 = $8825;
-  GL_DRAW_BUFFER1 = $8826;
-  GL_DRAW_BUFFER2 = $8827;
-  GL_DRAW_BUFFER3 = $8828;
-  GL_DRAW_BUFFER4 = $8829;
-  GL_DRAW_BUFFER5 = $882A;
-  GL_DRAW_BUFFER6 = $882B;
-  GL_DRAW_BUFFER7 = $882C;
-  GL_DRAW_BUFFER8 = $882D;
-  GL_DRAW_BUFFER9 = $882E;
-  GL_DRAW_BUFFER10 = $882F;
-  GL_DRAW_BUFFER11 = $8830;
-  GL_DRAW_BUFFER12 = $8831;
-  GL_DRAW_BUFFER13 = $8832;
-  GL_DRAW_BUFFER14 = $8833;
-  GL_DRAW_BUFFER15 = $8834;
-  GL_BLEND_EQUATION_ALPHA = $883D;
-  GL_POINT_SPRITE = $8861;
-  GL_COORD_REPLACE = $8862;
-  GL_MAX_VERTEX_ATTRIBS = $8869;
-  GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = $886A;
-  GL_MAX_TEXTURE_COORDS = $8871;
-  GL_MAX_TEXTURE_IMAGE_UNITS = $8872;
-  GL_FRAGMENT_SHADER = $8B30;
-  GL_VERTEX_SHADER = $8B31;
-  GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = $8B49;
-  GL_MAX_VERTEX_UNIFORM_COMPONENTS = $8B4A;
-  GL_MAX_VARYING_FLOATS = $8B4B;
-  GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = $8B4C;
-  GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = $8B4D;
-  GL_SHADER_TYPE = $8B4F;
-  GL_FLOAT_VEC2 = $8B50;
-  GL_FLOAT_VEC3 = $8B51;
-  GL_FLOAT_VEC4 = $8B52;
-  GL_INT_VEC2 = $8B53;
-  GL_INT_VEC3 = $8B54;
-  GL_INT_VEC4 = $8B55;
-  GL_BOOL = $8B56;
-  GL_BOOL_VEC2 = $8B57;
-  GL_BOOL_VEC3 = $8B58;
-  GL_BOOL_VEC4 = $8B59;
-  GL_FLOAT_MAT2 = $8B5A;
-  GL_FLOAT_MAT3 = $8B5B;
-  GL_FLOAT_MAT4 = $8B5C;
-  GL_SAMPLER_1D = $8B5D;
-  GL_SAMPLER_2D = $8B5E;
-  GL_SAMPLER_3D = $8B5F;
-  GL_SAMPLER_CUBE = $8B60;
-  GL_SAMPLER_1D_SHADOW = $8B61;
-  GL_SAMPLER_2D_SHADOW = $8B62;
-  GL_DELETE_STATUS = $8B80;
-  GL_COMPILE_STATUS = $8B81;
-  GL_LINK_STATUS = $8B82;
-  GL_VALIDATE_STATUS = $8B83;
-  GL_INFO_LOG_LENGTH = $8B84;
-  GL_ATTACHED_SHADERS = $8B85;
-  GL_ACTIVE_UNIFORMS = $8B86;
-  GL_ACTIVE_UNIFORM_MAX_LENGTH = $8B87;
-  GL_SHADER_SOURCE_LENGTH = $8B88;
-  GL_ACTIVE_ATTRIBUTES = $8B89;
-  GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = $8B8A;
-  GL_FRAGMENT_SHADER_DERIVATIVE_HINT = $8B8B;
-  GL_SHADING_LANGUAGE_VERSION = $8B8C;
-  GL_CURRENT_PROGRAM = $8B8D;
-  GL_POINT_SPRITE_COORD_ORIGIN = $8CA0;
-  GL_LOWER_LEFT = $8CA1;
-  GL_UPPER_LEFT = $8CA2;
-  GL_STENCIL_BACK_REF = $8CA3;
-  GL_STENCIL_BACK_VALUE_MASK = $8CA4;
-  GL_STENCIL_BACK_WRITEMASK = $8CA5;
-
-  procedure glBlendEquationSeparate(modeRGB: GLenum; modeAlpha: GLenum); external dllname;
-  procedure glDrawBuffers(n: GLsizei; const bufs: PGLenum); external dllname;
-  procedure glStencilOpSeparate(face: GLenum; sfail: GLenum; dpfail: GLenum; dppass: GLenum); external dllname;
-  procedure glStencilFuncSeparate(frontfunc: GLenum; backfunc: GLenum; ref: GLint; mask: GLuint); external dllname;
-  procedure glStencilMaskSeparate(face: GLenum; mask: GLuint); external dllname;
-  procedure glAttachShader(theProgram: GLuint; shader: GLuint); external dllname;
-  procedure glBindAttribLocation(theProgram: GLuint; index: GLuint; const name: PGLchar); external dllname;
-  procedure glCompileShader(shader: GLuint); external dllname;
-  function glCreateProgram(): GLuint; external dllname;
-  function glCreateShader(thetype: GLenum): GLuint; external dllname;
-  procedure glDeleteProgram(theProgram: GLuint); external dllname;
-  procedure glDeleteShader(shader: GLuint); external dllname;
-  procedure glDetachShader(theProgram: GLuint; shader: GLuint); external dllname;
-  procedure glDisableVertexAttribArray(index: GLuint); external dllname;
-  procedure glEnableVertexAttribArray(index: GLuint); external dllname;
-  procedure glGetActiveAttrib(theProgram: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; thetype: PGLenum; name: PGLchar); external dllname;
-  procedure glGetActiveUniform(theProgram: GLuint; index: GLuint; bufSize: GLsizei; length: PGLsizei; size: PGLint; thetype: PGLenum; name: PGLchar); external dllname;
-  procedure glGetAttachedShaders(theProgram: GLuint; maxCount: GLsizei; count: PGLsizei; obj: PGLuint); external dllname;
-  function glGetAttribLocation(theProgram: GLuint; const name: PGLchar): GLint; external dllname;
-  procedure glGetProgramiv(theProgram: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetProgramInfoLog(theProgram: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); external dllname;
-  procedure glGetShaderiv(shader: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetShaderInfoLog(shader: GLuint; bufSize: GLsizei; length: PGLsizei; infoLog: PGLchar); external dllname;
-  procedure glGetShaderSource(shader: GLuint; bufSize: GLsizei; length: PGLsizei; source: PGLchar); external dllname;
-  function glGetUniformLocation(theProgram: GLuint; const name: PGLchar): GLint; external dllname;
-  procedure glGetUniformfv(theProgram: GLuint; location: GLint; params: PGLfloat); external dllname;
-  procedure glGetUniformiv(theProgram: GLuint; location: GLint; params: PGLint); external dllname;
-  procedure glGetVertexAttribdv(index: GLuint; pname: GLenum; params: PGLdouble); external dllname;
-  procedure glGetVertexAttribfv(index: GLuint; pname: GLenum; params: PGLfloat); external dllname;
-  procedure glGetVertexAttribiv(index: GLuint; pname: GLenum; params: PGLint); external dllname;
-  procedure glGetVertexAttribPointerv(index: GLuint; pname: GLenum; pointer: PGLvoid); external dllname;
-  function glIsProgram(theProgram: GLuint): GLboolean; external dllname;
-  function glIsShader(shader: GLuint): GLboolean; external dllname;
-  procedure glLinkProgram(theProgram: GLuint); external dllname;
-  procedure glShaderSource(shader: GLuint; count: GLsizei; const str: PGLchar; const length: PGLint); external dllname;
-  procedure glUseProgram(theProgram: GLuint); external dllname;
-  procedure glUniform1f(location: GLint; v0: GLfloat); external dllname;
-  procedure glUniform2f(location: GLint; v0: GLfloat; v1: GLfloat); external dllname;
-  procedure glUniform3f(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat); external dllname;
-  procedure glUniform4f(location: GLint; v0: GLfloat; v1: GLfloat; v2: GLfloat; v3: GLfloat); external dllname;
-  procedure glUniform1i(location: GLint; v0: GLint); external dllname;
-  procedure glUniform2i(location: GLint; v0: GLint; v1: GLint); external dllname;
-  procedure glUniform3i(location: GLint; v0: GLint; v1: GLint; v2: GLint); external dllname;
-  procedure glUniform4i(location: GLint; v0: GLint; v1: GLint; v2: GLint; v3: GLint); external dllname;
-  procedure glUniform1fv(location: GLint; count: GLsizei; const value: PGLfloat); external dllname;
-  procedure glUniform2fv(location: GLint; count: GLsizei; const value: PGLfloat); external dllname;
-  procedure glUniform3fv(location: GLint; count: GLsizei; const value: PGLfloat); external dllname;
-  procedure glUniform4fv(location: GLint; count: GLsizei; const value: PGLfloat); external dllname;
-  procedure glUniform1iv(location: GLint; count: GLsizei; const value: PGLint); external dllname;
-  procedure glUniform2iv(location: GLint; count: GLsizei; const value: PGLint); external dllname;
-  procedure glUniform3iv(location: GLint; count: GLsizei; const value: PGLint); external dllname;
-  procedure glUniform4iv(location: GLint; count: GLsizei; const value: PGLint); external dllname;
-  procedure glUniformMatrix2fv(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); external dllname;
-  procedure glUniformMatrix3fv(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); external dllname;
-  procedure glUniformMatrix4fv(location: GLint; count: GLsizei; transpose: GLboolean; const value: PGLfloat); external dllname;
-  procedure glValidateProgram(theProgram: GLuint); external dllname;
-  procedure glVertexAttrib1d(index: GLuint; x: GLdouble); external dllname;
-  procedure glVertexAttrib1dv(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib1f(index: GLuint; x: GLfloat); external dllname;
-  procedure glVertexAttrib1fv(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib1s(index: GLuint; x: GLshort); external dllname;
-  procedure glVertexAttrib1sv(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib2d(index: GLuint; x: GLdouble; y: GLdouble); external dllname;
-  procedure glVertexAttrib2dv(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib2f(index: GLuint; x: GLfloat; y: GLfloat); external dllname;
-  procedure glVertexAttrib2fv(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib2s(index: GLuint; x: GLshort; y: GLshort); external dllname;
-  procedure glVertexAttrib2sv(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib3d(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble); external dllname;
-  procedure glVertexAttrib3dv(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib3f(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat); external dllname;
-  procedure glVertexAttrib3fv(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib3s(index: GLuint; x: GLshort; y: GLshort; z: GLshort); external dllname;
-  procedure glVertexAttrib3sv(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib4Nbv(index: GLuint; const v: PGLbyte); external dllname;
-  procedure glVertexAttrib4Niv(index: GLuint; const v: PGLint); external dllname;
-  procedure glVertexAttrib4Nsv(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib4Nub(index: GLuint; x: GLubyte; y: GLubyte; z: GLubyte; w: GLubyte); external dllname;
-  procedure glVertexAttrib4Nubv(index: GLuint; const v: PGLubyte); external dllname;
-  procedure glVertexAttrib4Nuiv(index: GLuint; const v: PGLuint); external dllname;
-  procedure glVertexAttrib4Nusv(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttrib4bv(index: GLuint; const v: PGLbyte); external dllname;
-  procedure glVertexAttrib4d(index: GLuint; x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); external dllname;
-  procedure glVertexAttrib4dv(index: GLuint; const v: PGLdouble); external dllname;
-  procedure glVertexAttrib4f(index: GLuint; x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); external dllname;
-  procedure glVertexAttrib4fv(index: GLuint; const v: PGLfloat); external dllname;
-  procedure glVertexAttrib4iv(index: GLuint; const v: PGLint); external dllname;
-  procedure glVertexAttrib4s(index: GLuint; x: GLshort; y: GLshort; z: GLshort; w: GLshort); external dllname;
-  procedure glVertexAttrib4sv(index: GLuint; const v: PGLshort); external dllname;
-  procedure glVertexAttrib4ubv(index: GLuint; const v: PGLubyte); external dllname;
-  procedure glVertexAttrib4uiv(index: GLuint; const v: PGLuint); external dllname;
-  procedure glVertexAttrib4usv(index: GLuint; const v: PGLushort); external dllname;
-  procedure glVertexAttribPointer(index: GLuint; size: GLint; thetype: GLenum; normalized: GLboolean; stride: GLsizei; const pointer: PGLvoid); external dllname;
-
-
-implementation
-end.
diff --git a/lib/base/opengl/glu.nim b/lib/base/opengl/glu.nim
deleted file mode 100644
index 297f4d354..000000000
--- a/lib/base/opengl/glu.nim
+++ /dev/null
@@ -1,311 +0,0 @@
-#
-#
-#  Adaption of the delphi3d.net OpenGL units to FreePascal
-#  Sebastian Guenther (sg@freepascal.org) in 2002
-#  These units are free to use
-#******************************************************************************
-# Converted to Delphi by Tom Nuydens (tom@delphi3d.net)                        
-# For the latest updates, visit Delphi3D: http://www.delphi3d.net              
-#******************************************************************************
-
-import 
-  GL
-
-when defined(windows):
-  const dllname = "glu32.dll"
-elif defined(macosx):
-  const dllname = "/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib"
-else:
-  const dllname = "libGLU.so.1"
-
-type 
-  TViewPortArray* = array[0..3, TGLint]
-  T16dArray* = array[0..15, TGLdouble]
-  TCallBack* = proc ()
-  T3dArray* = array[0..2, TGLdouble]
-  T4pArray* = array[0..3, Pointer]
-  T4fArray* = array[0..3, TGLfloat]
-  PPointer* = ptr Pointer
-
-type 
-  GLUnurbs*{.final.} = object 
-  PGLUnurbs* = ptr GLUnurbs
-  GLUquadric*{.final.} = object 
-  PGLUquadric* = ptr GLUquadric
-  GLUtesselator*{.final.} = object 
-  PGLUtesselator* = ptr GLUtesselator # backwards compatibility:
-  GLUnurbsObj* = GLUnurbs
-  PGLUnurbsObj* = PGLUnurbs
-  GLUquadricObj* = GLUquadric
-  PGLUquadricObj* = PGLUquadric
-  GLUtesselatorObj* = GLUtesselator
-  PGLUtesselatorObj* = PGLUtesselator
-  GLUtriangulatorObj* = GLUtesselator
-  PGLUtriangulatorObj* = PGLUtesselator
-  TGLUnurbs* = GLUnurbs
-  TGLUquadric* = GLUquadric
-  TGLUtesselator* = GLUtesselator
-  TGLUnurbsObj* = GLUnurbsObj
-  TGLUquadricObj* = GLUquadricObj
-  TGLUtesselatorObj* = GLUtesselatorObj
-  TGLUtriangulatorObj* = GLUtriangulatorObj
-
-proc gluErrorString*(errCode: TGLenum): cstring{.dynlib: dllname, importc.}
-proc gluErrorUnicodeStringEXT*(errCode: TGLenum): ptr int16{.dynlib: dllname, 
-    importc.}
-proc gluGetString*(name: TGLenum): cstring{.dynlib: dllname, importc.}
-proc gluOrtho2D*(left, right, bottom, top: TGLdouble){.dynlib: dllname, importc.}
-proc gluPerspective*(fovy, aspect, zNear, zFar: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc gluPickMatrix*(x, y, width, height: TGLdouble, viewport: var TViewPortArray){.
-    dynlib: dllname, importc.}
-proc gluLookAt*(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: TGLdouble){.
-    dynlib: dllname, importc.}
-proc gluProject*(objx, objy, objz: TGLdouble, 
-                 modelMatrix, projMatrix: var T16dArray, 
-                 viewport: var TViewPortArray, winx, winy, winz: PGLdouble): int{.
-    dynlib: dllname, importc.}
-proc gluUnProject*(winx, winy, winz: TGLdouble, 
-                   modelMatrix, projMatrix: var T16dArray, 
-                   viewport: var TViewPortArray, objx, objy, objz: PGLdouble): int{.
-    dynlib: dllname, importc.}
-proc gluScaleImage*(format: TGLenum, widthin, heightin: TGLint, typein: TGLenum, 
-                    datain: Pointer, widthout, heightout: TGLint, 
-                    typeout: TGLenum, dataout: Pointer): int{.dynlib: dllname, 
-    importc.}
-proc gluBuild1DMipmaps*(target: TGLenum, components, width: TGLint, 
-                        format, atype: TGLenum, data: Pointer): int{.
-    dynlib: dllname, importc.}
-proc gluBuild2DMipmaps*(target: TGLenum, components, width, height: TGLint, 
-                        format, atype: TGLenum, data: Pointer): int{.
-    dynlib: dllname, importc.}
-proc gluNewQuadric*(): PGLUquadric{.dynlib: dllname, importc.}
-proc gluDeleteQuadric*(state: PGLUquadric){.dynlib: dllname, importc.}
-proc gluQuadricNormals*(quadObject: PGLUquadric, normals: TGLenum){.
-    dynlib: dllname, importc.}
-proc gluQuadricTexture*(quadObject: PGLUquadric, textureCoords: TGLboolean){.
-    dynlib: dllname, importc.}
-proc gluQuadricOrientation*(quadObject: PGLUquadric, orientation: TGLenum){.
-    dynlib: dllname, importc.}
-proc gluQuadricDrawStyle*(quadObject: PGLUquadric, drawStyle: TGLenum){.
-    dynlib: dllname, importc.}
-proc gluCylinder*(qobj: PGLUquadric, baseRadius, topRadius, height: TGLdouble, 
-                  slices, stacks: TGLint){.dynlib: dllname, importc.}
-proc gluDisk*(qobj: PGLUquadric, innerRadius, outerRadius: TGLdouble, 
-              slices, loops: TGLint){.dynlib: dllname, importc.}
-proc gluPartialDisk*(qobj: PGLUquadric, innerRadius, outerRadius: TGLdouble, 
-                     slices, loops: TGLint, startAngle, sweepAngle: TGLdouble){.
-    dynlib: dllname, importc.}
-proc gluSphere*(qobj: PGLuquadric, radius: TGLdouble, slices, stacks: TGLint){.
-    dynlib: dllname, importc.}
-proc gluQuadricCallback*(qobj: PGLUquadric, which: TGLenum, fn: TCallBack){.
-    dynlib: dllname, importc.}
-proc gluNewTess*(): PGLUtesselator{.dynlib: dllname, importc.}
-proc gluDeleteTess*(tess: PGLUtesselator){.dynlib: dllname, importc.}
-proc gluTessBeginPolygon*(tess: PGLUtesselator, polygon_data: Pointer){.
-    dynlib: dllname, importc.}
-proc gluTessBeginContour*(tess: PGLUtesselator){.dynlib: dllname, importc.}
-proc gluTessVertex*(tess: PGLUtesselator, coords: var T3dArray, data: Pointer){.
-    dynlib: dllname, importc.}
-proc gluTessEndContour*(tess: PGLUtesselator){.dynlib: dllname, importc.}
-proc gluTessEndPolygon*(tess: PGLUtesselator){.dynlib: dllname, importc.}
-proc gluTessProperty*(tess: PGLUtesselator, which: TGLenum, value: TGLdouble){.
-    dynlib: dllname, importc.}
-proc gluTessNormal*(tess: PGLUtesselator, x, y, z: TGLdouble){.dynlib: dllname, 
-    importc.}
-proc gluTessCallback*(tess: PGLUtesselator, which: TGLenum, fn: TCallBack){.
-    dynlib: dllname, importc.}
-proc gluGetTessProperty*(tess: PGLUtesselator, which: TGLenum, value: PGLdouble){.
-    dynlib: dllname, importc.}
-proc gluNewNurbsRenderer*(): PGLUnurbs{.dynlib: dllname, importc.}
-proc gluDeleteNurbsRenderer*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluBeginSurface*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluBeginCurve*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluEndCurve*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluEndSurface*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluBeginTrim*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluEndTrim*(nobj: PGLUnurbs){.dynlib: dllname, importc.}
-proc gluPwlCurve*(nobj: PGLUnurbs, count: TGLint, aarray: PGLfloat, 
-                  stride: TGLint, atype: TGLenum){.dynlib: dllname, importc.}
-proc gluNurbsCurve*(nobj: PGLUnurbs, nknots: TGLint, knot: PGLfloat, 
-                    stride: TGLint, ctlarray: PGLfloat, order: TGLint, 
-                    atype: TGLenum){.dynlib: dllname, importc.}
-proc gluNurbsSurface*(nobj: PGLUnurbs, sknot_count: TGLint, sknot: PGLfloat, 
-                      tknot_count: TGLint, tknot: PGLfloat, 
-                      s_stride, t_stride: TGLint, ctlarray: PGLfloat, 
-                      sorder, torder: TGLint, atype: TGLenum){.dynlib: dllname, 
-    importc.}
-proc gluLoadSamplingMatrices*(nobj: PGLUnurbs, 
-                              modelMatrix, projMatrix: var T16dArray, 
-                              viewport: var TViewPortArray){.dynlib: dllname, 
-    importc.}
-proc gluNurbsProperty*(nobj: PGLUnurbs, aproperty: TGLenum, value: TGLfloat){.
-    dynlib: dllname, importc.}
-proc gluGetNurbsProperty*(nobj: PGLUnurbs, aproperty: TGLenum, value: PGLfloat){.
-    dynlib: dllname, importc.}
-proc gluNurbsCallback*(nobj: PGLUnurbs, which: TGLenum, fn: TCallBack){.
-    dynlib: dllname, importc.}
-  #*** Callback function prototypes ***
-type                          # gluQuadricCallback
-  GLUquadricErrorProc* = proc (p: TGLenum) # gluTessCallback
-  GLUtessBeginProc* = proc (p: TGLenum)
-  GLUtessEdgeFlagProc* = proc (p: TGLboolean)
-  GLUtessVertexProc* = proc (p: Pointer)
-  GLUtessEndProc* = proc ()
-  GLUtessErrorProc* = proc (p: TGLenum)
-  GLUtessCombineProc* = proc (p1: var T3dArray, p2: T4pArray, p3: T4fArray, 
-                              p4: PPointer)
-  GLUtessBeginDataProc* = proc (p1: TGLenum, p2: Pointer)
-  GLUtessEdgeFlagDataProc* = proc (p1: TGLboolean, p2: Pointer)
-  GLUtessVertexDataProc* = proc (p1, p2: Pointer)
-  GLUtessEndDataProc* = proc (p: Pointer)
-  GLUtessErrorDataProc* = proc (p1: TGLenum, p2: Pointer)
-  GLUtessCombineDataProc* = proc (p1: var T3dArray, p2: var T4pArray, 
-                                  p3: var T4fArray, p4: PPointer, p5: Pointer) # 
-                                                                               # gluNurbsCallback
-  GLUnurbsErrorProc* = proc (p: TGLenum) #***           Generic constants               ****/
-
-const                         # Version
-  GLU_VERSION_1_1* = 1
-  GLU_VERSION_1_2* = 1        # Errors: (return value 0 = no error)
-  GLU_INVALID_ENUM* = 100900
-  GLU_INVALID_VALUE* = 100901
-  GLU_OUT_OF_MEMORY* = 100902
-  GLU_INCOMPATIBLE_GL_VERSION* = 100903 # StringName
-  GLU_VERSION* = 100800
-  GLU_EXTENSIONS* = 100801    # Boolean
-  GLU_TRUE* = GL_TRUE
-  GLU_FALSE* = GL_FALSE #***           Quadric constants               ****/
-                        # QuadricNormal
-  GLU_SMOOTH* = 100000
-  GLU_FLAT* = 100001
-  GLU_NONE* = 100002          # QuadricDrawStyle
-  GLU_POINT* = 100010
-  GLU_LINE* = 100011
-  GLU_FILL* = 100012
-  GLU_SILHOUETTE* = 100013    # QuadricOrientation
-  GLU_OUTSIDE* = 100020
-  GLU_INSIDE* = 100021        # Callback types:
-                              #      GLU_ERROR       = 100103;
-                              #***           Tesselation constants           ****/
-  GLU_TESS_MAX_COORD* = 1.00000e+150 # TessProperty
-  GLU_TESS_WINDING_RULE* = 100140
-  GLU_TESS_BOUNDARY_ONLY* = 100141
-  GLU_TESS_TOLERANCE* = 100142 # TessWinding
-  GLU_TESS_WINDING_ODD* = 100130
-  GLU_TESS_WINDING_NONZERO* = 100131
-  GLU_TESS_WINDING_POSITIVE* = 100132
-  GLU_TESS_WINDING_NEGATIVE* = 100133
-  GLU_TESS_WINDING_ABS_GEQ_TWO* = 100134 # TessCallback
-  GLU_TESS_BEGIN* = 100100    # void (CALLBACK*)(TGLenum    type)
-  constGLU_TESS_VERTEX* = 100101   # void (CALLBACK*)(void      *data)
-  GLU_TESS_END* = 100102      # void (CALLBACK*)(void)
-  GLU_TESS_ERROR* = 100103    # void (CALLBACK*)(TGLenum    errno)
-  GLU_TESS_EDGE_FLAG* = 100104 # void (CALLBACK*)(TGLboolean boundaryEdge)
-  GLU_TESS_COMBINE* = 100105 # void (CALLBACK*)(TGLdouble  coords[3],
-                             #                                                            void      *data[4],
-                             #                                                            TGLfloat   weight[4],
-                             #                                                            void      **dataOut) 
-  GLU_TESS_BEGIN_DATA* = 100106 # void (CALLBACK*)(TGLenum    type,
-                                #                                                            void      *polygon_data) 
-  GLU_TESS_VERTEX_DATA* = 100107 # void (CALLBACK*)(void      *data,
-                                 #                                                            void      *polygon_data) 
-  GLU_TESS_END_DATA* = 100108 # void (CALLBACK*)(void      *polygon_data)
-  GLU_TESS_ERROR_DATA* = 100109 # void (CALLBACK*)(TGLenum    errno,
-                                #                                                            void      *polygon_data) 
-  GLU_TESS_EDGE_FLAG_DATA* = 100110 # void (CALLBACK*)(TGLboolean boundaryEdge,
-                                    #                                                            void      *polygon_data) 
-  GLU_TESS_COMBINE_DATA* = 100111 # void (CALLBACK*)(TGLdouble  coords[3],
-                                  #                                                            void      *data[4],
-                                  #                                                            TGLfloat   weight[4],
-                                  #                                                            void      **dataOut,
-                                  #                                                            void      *polygon_data) 
-                                  # TessError
-  GLU_TESS_ERROR1* = 100151
-  GLU_TESS_ERROR2* = 100152
-  GLU_TESS_ERROR3* = 100153
-  GLU_TESS_ERROR4* = 100154
-  GLU_TESS_ERROR5* = 100155
-  GLU_TESS_ERROR6* = 100156
-  GLU_TESS_ERROR7* = 100157
-  GLU_TESS_ERROR8* = 100158
-  GLU_TESS_MISSING_BEGIN_POLYGON* = GLU_TESS_ERROR1
-  GLU_TESS_MISSING_BEGIN_CONTOUR* = GLU_TESS_ERROR2
-  GLU_TESS_MISSING_END_POLYGON* = GLU_TESS_ERROR3
-  GLU_TESS_MISSING_END_CONTOUR* = GLU_TESS_ERROR4
-  GLU_TESS_COORD_TOO_LARGE* = GLU_TESS_ERROR5
-  GLU_TESS_NEED_COMBINE_CALLBACK* = GLU_TESS_ERROR6 #***           NURBS constants                 ****/
-                                                    # NurbsProperty
-  GLU_AUTO_LOAD_MATRIX* = 100200
-  GLU_CULLING* = 100201
-  GLU_SAMPLING_TOLERANCE* = 100203
-  GLU_DISPLAY_MODE* = 100204
-  GLU_PARAMETRIC_TOLERANCE* = 100202
-  GLU_SAMPLING_METHOD* = 100205
-  GLU_U_STEP* = 100206
-  GLU_V_STEP* = 100207        # NurbsSampling
-  GLU_PATH_LENGTH* = 100215
-  GLU_PARAMETRIC_ERROR* = 100216
-  GLU_DOMAIN_DISTANCE* = 100217 # NurbsTrim
-  GLU_MAP1_TRIM_2* = 100210
-  GLU_MAP1_TRIM_3* = 100211   # NurbsDisplay
-                              #      GLU_FILL                = 100012;
-  GLU_OUTLINE_POLYGON* = 100240
-  GLU_OUTLINE_PATCH* = 100241 # NurbsCallback
-                              #      GLU_ERROR               = 100103;
-                              # NurbsErrors
-  GLU_NURBS_ERROR1* = 100251
-  GLU_NURBS_ERROR2* = 100252
-  GLU_NURBS_ERROR3* = 100253
-  GLU_NURBS_ERROR4* = 100254
-  GLU_NURBS_ERROR5* = 100255
-  GLU_NURBS_ERROR6* = 100256
-  GLU_NURBS_ERROR7* = 100257
-  GLU_NURBS_ERROR8* = 100258
-  GLU_NURBS_ERROR9* = 100259
-  GLU_NURBS_ERROR10* = 100260
-  GLU_NURBS_ERROR11* = 100261
-  GLU_NURBS_ERROR12* = 100262
-  GLU_NURBS_ERROR13* = 100263
-  GLU_NURBS_ERROR14* = 100264
-  GLU_NURBS_ERROR15* = 100265
-  GLU_NURBS_ERROR16* = 100266
-  GLU_NURBS_ERROR17* = 100267
-  GLU_NURBS_ERROR18* = 100268
-  GLU_NURBS_ERROR19* = 100269
-  GLU_NURBS_ERROR20* = 100270
-  GLU_NURBS_ERROR21* = 100271
-  GLU_NURBS_ERROR22* = 100272
-  GLU_NURBS_ERROR23* = 100273
-  GLU_NURBS_ERROR24* = 100274
-  GLU_NURBS_ERROR25* = 100275
-  GLU_NURBS_ERROR26* = 100276
-  GLU_NURBS_ERROR27* = 100277
-  GLU_NURBS_ERROR28* = 100278
-  GLU_NURBS_ERROR29* = 100279
-  GLU_NURBS_ERROR30* = 100280
-  GLU_NURBS_ERROR31* = 100281
-  GLU_NURBS_ERROR32* = 100282
-  GLU_NURBS_ERROR33* = 100283
-  GLU_NURBS_ERROR34* = 100284
-  GLU_NURBS_ERROR35* = 100285
-  GLU_NURBS_ERROR36* = 100286
-  GLU_NURBS_ERROR37* = 100287 #***           Backwards compatibility for old tesselator           ****/
-
-proc gluBeginPolygon*(tess: PGLUtesselator){.dynlib: dllname, importc.}
-proc gluNextContour*(tess: PGLUtesselator, atype: TGLenum){.dynlib: dllname, 
-    importc.}
-proc gluEndPolygon*(tess: PGLUtesselator){.dynlib: dllname, importc.}
-const                         # Contours types -- obsolete!
-  GLU_CW* = 100120
-  GLU_CCW* = 100121
-  GLU_INTERIOR* = 100122
-  GLU_EXTERIOR* = 100123
-  GLU_UNKNOWN* = 100124       # Names without "TESS_" prefix
-  GLU_BEGIN* = GLU_TESS_BEGIN
-  GLU_VERTEX* = constGLU_TESS_VERTEX
-  GLU_END* = GLU_TESS_END
-  GLU_ERROR* = GLU_TESS_ERROR
-  GLU_EDGE_FLAG* = GLU_TESS_EDGE_FLAG
-
-# implementation
diff --git a/lib/base/opengl/glu.pp b/lib/base/opengl/glu.pp
deleted file mode 100644
index 1594085ed..000000000
--- a/lib/base/opengl/glu.pp
+++ /dev/null
@@ -1,368 +0,0 @@
-{
-
-  Adaption of the delphi3d.net OpenGL units to FreePascal
-  Sebastian Guenther (sg@freepascal.org) in 2002
-  These units are free to use
-}
-
-{*++ BUILD Version: 0004    // Increment this if a change has global effects
-
-Copyright (c) 1985-95, Microsoft Corporation
-
-Module Name:
-
-    glu.h
-
-Abstract:
-
-    Procedure declarations, constant definitions and macros for the OpenGL
-    Utility Library.
-
---*}
-
-{*
-** Copyright 1991-1993, Silicon Graphics, Inc.
-** All Rights Reserved.
-**
-** This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
-** the contents of this file may not be disclosed to third parties, copied or
-** duplicated in any form, in whole or in part, without the prior written
-** permission of Silicon Graphics, Inc.
-**
-** RESTRICTED RIGHTS LEGEND:
-** Use, duplication or disclosure by the Government is subject to restrictions
-** as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
-** and Computer Software clause at DFARS 252.227-7013, and/or in similar or
-** successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
-** rights reserved under the Copyright Laws of the United States.
-*}
-
-{*
-** Return the error string associated with a particular error code.
-** This will return 0 for an invalid error code.
-**
-** The generic function prototype that can be compiled for ANSI or Unicode
-** is defined as follows:
-**
-** LPCTSTR APIENTRY gluErrorStringWIN (GLenum errCode);
-*}
-
-{******************************************************************************}
-{ Converted to Delphi by Tom Nuydens (tom@delphi3d.net)                        }
-{ For the latest updates, visit Delphi3D: http://www.delphi3d.net              }
-{******************************************************************************}
-
-unit GLu;
-
-interface
-
-uses
-  GL;
-
-const
-  dllname = 'glu32.dll';
-  dylibname = '/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib';
-  libname = 'libGLU.so.1';
-
-type
-  TViewPortArray = array [0..3] of GLint;
-  T16dArray = array [0..15] of GLdouble;
-  TCallBack = procedure;
-  T3dArray = array [0..2] of GLdouble;
-  T4pArray = array [0..3] of Pointer;
-  T4fArray = array [0..3] of GLfloat;
-  PPointer = ^Pointer;
-
-type
-  GLUnurbs = record end;                PGLUnurbs = ^GLUnurbs;
-  GLUquadric = record end;              PGLUquadric = ^GLUquadric;
-  GLUtesselator = record end;           PGLUtesselator = ^GLUtesselator;
-
-  // backwards compatibility:
-  GLUnurbsObj = GLUnurbs;               PGLUnurbsObj = PGLUnurbs;
-  GLUquadricObj = GLUquadric;           PGLUquadricObj = PGLUquadric;
-  GLUtesselatorObj = GLUtesselator;     PGLUtesselatorObj = PGLUtesselator;
-  GLUtriangulatorObj = GLUtesselator;   PGLUtriangulatorObj = PGLUtesselator;
-
-  TGLUnurbs = GLUnurbs;
-  TGLUquadric = GLUquadric;
-  TGLUtesselator = GLUtesselator;
-
-  TGLUnurbsObj = GLUnurbsObj;
-  TGLUquadricObj = GLUquadricObj;
-  TGLUtesselatorObj = GLUtesselatorObj;
-  TGLUtriangulatorObj = GLUtriangulatorObj;
-
-
-  function gluErrorString(errCode: GLenum): PChar; external dllname;
-  function gluErrorUnicodeStringEXT(errCode: GLenum): PWideChar; external dllname;
-  function gluGetString(name: GLenum): PChar; external dllname;
-  procedure gluOrtho2D(left,right, bottom, top: GLdouble); external dllname;
-  procedure gluPerspective(fovy, aspect, zNear, zFar: GLdouble); external dllname;
-  procedure gluPickMatrix(x, y, width, height: GLdouble; var viewport: TViewPortArray); external dllname;
-  procedure gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz: GLdouble); external dllname;
-  function gluProject(objx, objy, objz: GLdouble; var modelMatrix, projMatrix: T16dArray; var viewport: TViewPortArray; winx, winy, winz: PGLdouble): Integer; external dllname;
-  function gluUnProject(winx, winy, winz: GLdouble; var modelMatrix, projMatrix: T16dArray; var viewport: TViewPortArray; objx, objy, objz: PGLdouble): Integer; external dllname;
-  function gluScaleImage(format: GLenum; widthin, heightin: GLint; typein: GLenum; const datain: Pointer; widthout, heightout: GLint; typeout: GLenum; dataout: Pointer): Integer; external dllname;
-  function gluBuild1DMipmaps(target: GLenum; components, width: GLint; format, atype: GLenum; const data: Pointer): Integer; external dllname;
-  function gluBuild2DMipmaps(target: GLenum; components, width, height: GLint; format, atype: GLenum; const data: Pointer): Integer; external dllname;
-
-
-  function gluNewQuadric: PGLUquadric; external dllname;
-  procedure gluDeleteQuadric(state: PGLUquadric); external dllname;
-  procedure gluQuadricNormals(quadObject: PGLUquadric; normals: GLenum); external dllname;
-  procedure gluQuadricTexture(quadObject: PGLUquadric; textureCoords: GLboolean); external dllname;
-  procedure gluQuadricOrientation(quadObject: PGLUquadric; orientation: GLenum); external dllname;
-  procedure gluQuadricDrawStyle(quadObject: PGLUquadric; drawStyle: GLenum); external dllname;
-  procedure gluCylinder(qobj: PGLUquadric; baseRadius, topRadius, height: GLdouble; slices, stacks: GLint); external dllname;
-  procedure gluDisk(qobj: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint); external dllname;
-  procedure gluPartialDisk(qobj: PGLUquadric; innerRadius, outerRadius: GLdouble; slices, loops: GLint; startAngle, sweepAngle: GLdouble); external dllname;
-  procedure gluSphere(qobj: PGLuquadric; radius: GLdouble; slices, stacks: GLint); external dllname;
-  procedure gluQuadricCallback(qobj: PGLUquadric; which: GLenum; fn: TCallBack); external dllname;
-  function gluNewTess: PGLUtesselator; external dllname;
-  procedure gluDeleteTess(tess: PGLUtesselator); external dllname;
-  procedure gluTessBeginPolygon(tess: PGLUtesselator; polygon_data: Pointer); external dllname;
-  procedure gluTessBeginContour(tess: PGLUtesselator); external dllname;
-  procedure gluTessVertex(tess: PGLUtesselator; var coords: T3dArray; data: Pointer); external dllname;
-  procedure gluTessEndContour(tess: PGLUtesselator); external dllname;
-  procedure gluTessEndPolygon(tess: PGLUtesselator); external dllname;
-  procedure gluTessProperty(tess: PGLUtesselator; which: GLenum; value: GLdouble); external dllname;
-  procedure gluTessNormal(tess: PGLUtesselator; x, y, z: GLdouble); external dllname;
-  procedure gluTessCallback(tess: PGLUtesselator; which: GLenum;fn: TCallBack); external dllname;
-  procedure gluGetTessProperty(tess: PGLUtesselator; which: GLenum; value: PGLdouble); external dllname;
-  function gluNewNurbsRenderer: PGLUnurbs; external dllname;
-  procedure gluDeleteNurbsRenderer(nobj: PGLUnurbs); external dllname;
-  procedure gluBeginSurface(nobj: PGLUnurbs); external dllname;
-  procedure gluBeginCurve(nobj: PGLUnurbs); external dllname;
-  procedure gluEndCurve(nobj: PGLUnurbs); external dllname;
-  procedure gluEndSurface(nobj: PGLUnurbs); external dllname;
-  procedure gluBeginTrim(nobj: PGLUnurbs); external dllname;
-  procedure gluEndTrim(nobj: PGLUnurbs); external dllname;
-  procedure gluPwlCurve(nobj: PGLUnurbs; count: GLint; aarray: PGLfloat; stride: GLint; atype: GLenum); external dllname;
-  procedure gluNurbsCurve(nobj: PGLUnurbs; nknots: GLint; knot: PGLfloat; stride: GLint; ctlarray: PGLfloat; order: GLint; atype: GLenum); external dllname;
-  procedure gluNurbsSurface(nobj: PGLUnurbs; sknot_count: GLint; sknot: PGLfloat; tknot_count: GLint; tknot: PGLfloat; s_stride, t_stride: GLint; ctlarray: PGLfloat; sorder, torder: GLint; atype: GLenum); external dllname;
-  procedure gluLoadSamplingMatrices(nobj: PGLUnurbs; var modelMatrix, projMatrix: T16dArray; var viewport: TViewPortArray); external dllname;
-  procedure gluNurbsProperty(nobj: PGLUnurbs; aproperty: GLenum; value: GLfloat); external dllname;
-  procedure gluGetNurbsProperty(nobj: PGLUnurbs; aproperty: GLenum; value: PGLfloat); external dllname;
-  procedure gluNurbsCallback(nobj: PGLUnurbs; which: GLenum; fn: TCallBack); external dllname;
-
-(**** Callback function prototypes ****)
-
-type
-  // gluQuadricCallback
-  GLUquadricErrorProc = procedure(p: GLenum); 
-
-  // gluTessCallback
-  GLUtessBeginProc = procedure(p: GLenum); 
-  GLUtessEdgeFlagProc = procedure(p: GLboolean); 
-  GLUtessVertexProc = procedure(p: Pointer); 
-  GLUtessEndProc = procedure; 
-  GLUtessErrorProc = procedure(p: GLenum); 
-  GLUtessCombineProc = procedure(var p1: T3dArray; p2: T4pArray; p3: T4fArray; p4: PPointer); 
-  GLUtessBeginDataProc = procedure(p1: GLenum; p2: Pointer); 
-  GLUtessEdgeFlagDataProc = procedure(p1: GLboolean; p2: Pointer); 
-  GLUtessVertexDataProc = procedure(p1, p2: Pointer); 
-  GLUtessEndDataProc = procedure(p: Pointer); 
-  GLUtessErrorDataProc = procedure(p1: GLenum; p2: Pointer); 
-  GLUtessCombineDataProc = procedure(var p1: T3dArray; var p2: T4pArray; var p3: T4fArray;
-                                     p4: PPointer; p5: Pointer); 
-
-  // gluNurbsCallback
-  GLUnurbsErrorProc = procedure(p: GLenum); 
-
-
-//***           Generic constants               ****/
-
-const
-  // Version
-  GLU_VERSION_1_1                 = 1;
-  GLU_VERSION_1_2                 = 1;
-
-  // Errors: (return value 0 = no error)
-  GLU_INVALID_ENUM                = 100900;
-  GLU_INVALID_VALUE               = 100901;
-  GLU_OUT_OF_MEMORY               = 100902;
-  GLU_INCOMPATIBLE_GL_VERSION     = 100903;
-
-  // StringName
-  GLU_VERSION                     = 100800;
-  GLU_EXTENSIONS                  = 100801;
-
-  // Boolean
-  GLU_TRUE                        = GL_TRUE;
-  GLU_FALSE                       = GL_FALSE;
-
-
-  //***           Quadric constants               ****/
-
-  // QuadricNormal
-  GLU_SMOOTH              = 100000;
-  GLU_FLAT                = 100001;
-  GLU_NONE                = 100002;
-
-  // QuadricDrawStyle
-  GLU_POINT               = 100010;
-  GLU_LINE                = 100011;
-  GLU_FILL                = 100012;
-  GLU_SILHOUETTE          = 100013;
-
-  // QuadricOrientation
-  GLU_OUTSIDE             = 100020;
-  GLU_INSIDE              = 100021;
-
-  // Callback types:
-  //      GLU_ERROR       = 100103;
-
-
-  //***           Tesselation constants           ****/
-
-  GLU_TESS_MAX_COORD              = 1.0e150;
-
-  // TessProperty
-  GLU_TESS_WINDING_RULE           = 100140;
-  GLU_TESS_BOUNDARY_ONLY          = 100141;
-  GLU_TESS_TOLERANCE              = 100142;
-
-  // TessWinding
-  GLU_TESS_WINDING_ODD            = 100130;
-  GLU_TESS_WINDING_NONZERO        = 100131;
-  GLU_TESS_WINDING_POSITIVE       = 100132;
-  GLU_TESS_WINDING_NEGATIVE       = 100133;
-  GLU_TESS_WINDING_ABS_GEQ_TWO    = 100134;
-
-  // TessCallback
-  GLU_TESS_BEGIN          = 100100;    // void (CALLBACK*)(GLenum    type)
-  GLU_TESS_VERTEX         = 100101;    // void (CALLBACK*)(void      *data)
-  GLU_TESS_END            = 100102;    // void (CALLBACK*)(void)
-  GLU_TESS_ERROR          = 100103;    // void (CALLBACK*)(GLenum    errno)
-  GLU_TESS_EDGE_FLAG      = 100104;    // void (CALLBACK*)(GLboolean boundaryEdge)
-  GLU_TESS_COMBINE        = 100105;    { void (CALLBACK*)(GLdouble  coords[3],
-                                                            void      *data[4],
-                                                            GLfloat   weight[4],
-                                                            void      **dataOut) }
-  GLU_TESS_BEGIN_DATA     = 100106;    { void (CALLBACK*)(GLenum    type,
-                                                            void      *polygon_data) }
-  GLU_TESS_VERTEX_DATA    = 100107;    { void (CALLBACK*)(void      *data,
-                                                            void      *polygon_data) }
-  GLU_TESS_END_DATA       = 100108;    // void (CALLBACK*)(void      *polygon_data)
-  GLU_TESS_ERROR_DATA     = 100109;    { void (CALLBACK*)(GLenum    errno,
-                                                            void      *polygon_data) }
-  GLU_TESS_EDGE_FLAG_DATA = 100110;    { void (CALLBACK*)(GLboolean boundaryEdge,
-                                                            void      *polygon_data) }
-  GLU_TESS_COMBINE_DATA   = 100111;    { void (CALLBACK*)(GLdouble  coords[3],
-                                                            void      *data[4],
-                                                            GLfloat   weight[4],
-                                                            void      **dataOut,
-                                                            void      *polygon_data) }
-
-  // TessError
-  GLU_TESS_ERROR1     = 100151;
-  GLU_TESS_ERROR2     = 100152;
-  GLU_TESS_ERROR3     = 100153;
-  GLU_TESS_ERROR4     = 100154;
-  GLU_TESS_ERROR5     = 100155;
-  GLU_TESS_ERROR6     = 100156;
-  GLU_TESS_ERROR7     = 100157;
-  GLU_TESS_ERROR8     = 100158;
-
-  GLU_TESS_MISSING_BEGIN_POLYGON  = GLU_TESS_ERROR1;
-  GLU_TESS_MISSING_BEGIN_CONTOUR  = GLU_TESS_ERROR2;
-  GLU_TESS_MISSING_END_POLYGON    = GLU_TESS_ERROR3;
-  GLU_TESS_MISSING_END_CONTOUR    = GLU_TESS_ERROR4;
-  GLU_TESS_COORD_TOO_LARGE        = GLU_TESS_ERROR5;
-  GLU_TESS_NEED_COMBINE_CALLBACK  = GLU_TESS_ERROR6;
-
-  //***           NURBS constants                 ****/
-
-  // NurbsProperty
-  GLU_AUTO_LOAD_MATRIX            = 100200;
-  GLU_CULLING                     = 100201;
-  GLU_SAMPLING_TOLERANCE          = 100203;
-  GLU_DISPLAY_MODE                = 100204;
-  GLU_PARAMETRIC_TOLERANCE        = 100202;
-  GLU_SAMPLING_METHOD             = 100205;
-  GLU_U_STEP                      = 100206;
-  GLU_V_STEP                      = 100207;
-
-  // NurbsSampling
-  GLU_PATH_LENGTH                 = 100215;
-  GLU_PARAMETRIC_ERROR            = 100216;
-  GLU_DOMAIN_DISTANCE             = 100217;
-
-
-  // NurbsTrim
-  GLU_MAP1_TRIM_2                 = 100210;
-  GLU_MAP1_TRIM_3                 = 100211;
-
-  // NurbsDisplay
-  //      GLU_FILL                = 100012;
-  GLU_OUTLINE_POLYGON             = 100240;
-  GLU_OUTLINE_PATCH               = 100241;
-
-  // NurbsCallback
-  //      GLU_ERROR               = 100103;
-
-  // NurbsErrors
-  GLU_NURBS_ERROR1        = 100251;
-  GLU_NURBS_ERROR2        = 100252;
-  GLU_NURBS_ERROR3        = 100253;
-  GLU_NURBS_ERROR4        = 100254;
-  GLU_NURBS_ERROR5        = 100255;
-  GLU_NURBS_ERROR6        = 100256;
-  GLU_NURBS_ERROR7        = 100257;
-  GLU_NURBS_ERROR8        = 100258;
-  GLU_NURBS_ERROR9        = 100259;
-  GLU_NURBS_ERROR10       = 100260;
-  GLU_NURBS_ERROR11       = 100261;
-  GLU_NURBS_ERROR12       = 100262;
-  GLU_NURBS_ERROR13       = 100263;
-  GLU_NURBS_ERROR14       = 100264;
-  GLU_NURBS_ERROR15       = 100265;
-  GLU_NURBS_ERROR16       = 100266;
-  GLU_NURBS_ERROR17       = 100267;
-  GLU_NURBS_ERROR18       = 100268;
-  GLU_NURBS_ERROR19       = 100269;
-  GLU_NURBS_ERROR20       = 100270;
-  GLU_NURBS_ERROR21       = 100271;
-  GLU_NURBS_ERROR22       = 100272;
-  GLU_NURBS_ERROR23       = 100273;
-  GLU_NURBS_ERROR24       = 100274;
-  GLU_NURBS_ERROR25       = 100275;
-  GLU_NURBS_ERROR26       = 100276;
-  GLU_NURBS_ERROR27       = 100277;
-  GLU_NURBS_ERROR28       = 100278;
-  GLU_NURBS_ERROR29       = 100279;
-  GLU_NURBS_ERROR30       = 100280;
-  GLU_NURBS_ERROR31       = 100281;
-  GLU_NURBS_ERROR32       = 100282;
-  GLU_NURBS_ERROR33       = 100283;
-  GLU_NURBS_ERROR34       = 100284;
-  GLU_NURBS_ERROR35       = 100285;
-  GLU_NURBS_ERROR36       = 100286;
-  GLU_NURBS_ERROR37       = 100287;
-
-//***           Backwards compatibility for old tesselator           ****/
-
-
-  procedure gluBeginPolygon(tess: PGLUtesselator); external dllname;
-  procedure gluNextContour(tess: PGLUtesselator; atype: GLenum); external dllname;
-  procedure gluEndPolygon(tess: PGLUtesselator); external dllname;
-
-const
-  // Contours types -- obsolete!
-  GLU_CW          = 100120;
-  GLU_CCW         = 100121;
-  GLU_INTERIOR    = 100122;
-  GLU_EXTERIOR    = 100123;
-  GLU_UNKNOWN     = 100124;
-
-  // Names without "TESS_" prefix
-  GLU_BEGIN       = GLU_TESS_BEGIN;
-  GLU_VERTEX      = GLU_TESS_VERTEX;
-  GLU_END         = GLU_TESS_END;
-  GLU_ERROR       = GLU_TESS_ERROR;
-  GLU_EDGE_FLAG   = GLU_TESS_EDGE_FLAG;
-
-implementation
-
-end.
diff --git a/lib/base/opengl/glut.nim b/lib/base/opengl/glut.nim
deleted file mode 100644
index 55ee18bda..000000000
--- a/lib/base/opengl/glut.nim
+++ /dev/null
@@ -1,378 +0,0 @@
-#
-#
-#  Adaption of the delphi3d.net OpenGL units to FreePascal
-#  Sebastian Guenther (sg@freepascal.org) in 2002
-#  These units are free to use
-#
-
-# Copyright (c) Mark J. Kilgard, 1994, 1995, 1996.
-# This program is freely distributable without licensing fees  and is
-#   provided without guarantee or warrantee expressed or  implied. This
-#   program is -not- in the public domain.
-#******************************************************************************
-# Converted to Delphi by Tom Nuydens (tom@delphi3d.net)
-#   Contributions by Igor Karpov (glygrik@hotbox.ru)
-#   For the latest updates, visit Delphi3D: http://www.delphi3d.net
-#******************************************************************************
-
-import
-  GL
-
-when defined(windows):
-  const dllname = "glut32.dll"
-elif defined(macosx):
-  const dllname = "/System/Library/Frameworks/GLUT.framework/GLUT"
-else:
-  const dllname = "libglut.so.3"
-
-type
-  PInteger* = ptr int
-  PPChar* = ptr cstring
-  TGlutVoidCallback* = proc (){.cdecl.}
-  TGlut1IntCallback* = proc (value: cint){.cdecl.}
-  TGlut2IntCallback* = proc (v1, v2: cint){.cdecl.}
-  TGlut3IntCallback* = proc (v1, v2, v3: cint){.cdecl.}
-  TGlut4IntCallback* = proc (v1, v2, v3, v4: cint){.cdecl.}
-  TGlut1Char2IntCallback* = proc (c: int8, v1, v2: cint){.cdecl.}
-  TGlut1UInt3IntCallback* = proc (u, v1, v2, v3: cint){.cdecl.}
-
-const
-  GLUT_API_VERSION* = 3
-  GLUT_XLIB_IMPLEMENTATION* = 12 # Display mode bit masks.
-  GLUT_RGB* = 0
-  GLUT_RGBA* = GLUT_RGB
-  GLUT_INDEX* = 1
-  GLUT_SINGLE* = 0
-  GLUT_DOUBLE* = 2
-  GLUT_ACCUM* = 4
-  GLUT_ALPHA* = 8
-  GLUT_DEPTH* = 16
-  GLUT_STENCIL* = 32
-  GLUT_MULTISAMPLE* = 128
-  GLUT_STEREO* = 256
-  GLUT_LUMINANCE* = 512       # Mouse buttons.
-  GLUT_LEFT_BUTTON* = 0
-  GLUT_MIDDLE_BUTTON* = 1
-  GLUT_RIGHT_BUTTON* = 2      # Mouse button state.
-  GLUT_DOWN* = 0
-  GLUT_UP* = 1                # function keys
-  GLUT_KEY_F1* = 1
-  GLUT_KEY_F2* = 2
-  GLUT_KEY_F3* = 3
-  GLUT_KEY_F4* = 4
-  GLUT_KEY_F5* = 5
-  GLUT_KEY_F6* = 6
-  GLUT_KEY_F7* = 7
-  GLUT_KEY_F8* = 8
-  GLUT_KEY_F9* = 9
-  GLUT_KEY_F10* = 10
-  GLUT_KEY_F11* = 11
-  GLUT_KEY_F12* = 12          # directional keys
-  GLUT_KEY_LEFT* = 100
-  GLUT_KEY_UP* = 101
-  GLUT_KEY_RIGHT* = 102
-  GLUT_KEY_DOWN* = 103
-  GLUT_KEY_PAGE_UP* = 104
-  GLUT_KEY_PAGE_DOWN* = 105
-  GLUT_KEY_HOME* = 106
-  GLUT_KEY_END* = 107
-  GLUT_KEY_INSERT* = 108      # Entry/exit  state.
-  GLUT_LEFT* = 0
-  GLUT_ENTERED* = 1           # Menu usage state.
-  GLUT_MENU_NOT_IN_USE* = 0
-  GLUT_MENU_IN_USE* = 1       # Visibility  state.
-  GLUT_NOT_VISIBLE* = 0
-  GLUT_VISIBLE* = 1           # Window status  state.
-  GLUT_HIDDEN* = 0
-  GLUT_FULLY_RETAINED* = 1
-  GLUT_PARTIALLY_RETAINED* = 2
-  GLUT_FULLY_COVERED* = 3     # Color index component selection values.
-  GLUT_RED* = 0
-  GLUT_GREEN* = 1
-  GLUT_BLUE* = 2              # Layers for use.
-  GLUT_NORMAL* = 0
-  GLUT_OVERLAY* = 1
-
-when defined(Windows):
-  const                       # Stroke font constants (use these in GLUT program).
-    GLUT_STROKE_ROMAN* = cast[Pointer](0)
-    GLUT_STROKE_MONO_ROMAN* = cast[Pointer](1) # Bitmap font constants (use these in GLUT program).
-    GLUT_BITMAP_9_BY_15* = cast[Pointer](2)
-    GLUT_BITMAP_8_BY_13* = cast[Pointer](3)
-    GLUT_BITMAP_TIMES_ROMAN_10* = cast[Pointer](4)
-    GLUT_BITMAP_TIMES_ROMAN_24* = cast[Pointer](5)
-    GLUT_BITMAP_HELVETICA_10* = cast[Pointer](6)
-    GLUT_BITMAP_HELVETICA_12* = cast[Pointer](7)
-    GLUT_BITMAP_HELVETICA_18* = cast[Pointer](8)
-else:
-  var                         # Stroke font constants (use these in GLUT program).
-    GLUT_STROKE_ROMAN*: Pointer
-    GLUT_STROKE_MONO_ROMAN*: Pointer # Bitmap font constants (use these in GLUT program).
-    GLUT_BITMAP_9_BY_15*: Pointer
-    GLUT_BITMAP_8_BY_13*: Pointer
-    GLUT_BITMAP_TIMES_ROMAN_10*: Pointer
-    GLUT_BITMAP_TIMES_ROMAN_24*: Pointer
-    GLUT_BITMAP_HELVETICA_10*: Pointer
-    GLUT_BITMAP_HELVETICA_12*: Pointer
-    GLUT_BITMAP_HELVETICA_18*: Pointer
-const                         # glutGet parameters.
-  GLUT_WINDOW_X* = 100
-  GLUT_WINDOW_Y* = 101
-  GLUT_WINDOW_WIDTH* = 102
-  GLUT_WINDOW_HEIGHT* = 103
-  GLUT_WINDOW_BUFFER_SIZE* = 104
-  GLUT_WINDOW_STENCIL_SIZE* = 105
-  GLUT_WINDOW_DEPTH_SIZE* = 106
-  GLUT_WINDOW_RED_SIZE* = 107
-  GLUT_WINDOW_GREEN_SIZE* = 108
-  GLUT_WINDOW_BLUE_SIZE* = 109
-  GLUT_WINDOW_ALPHA_SIZE* = 110
-  GLUT_WINDOW_ACCUM_RED_SIZE* = 111
-  GLUT_WINDOW_ACCUM_GREEN_SIZE* = 112
-  GLUT_WINDOW_ACCUM_BLUE_SIZE* = 113
-  GLUT_WINDOW_ACCUM_ALPHA_SIZE* = 114
-  GLUT_WINDOW_DOUBLEBUFFER* = 115
-  GLUT_WINDOW_RGBA* = 116
-  GLUT_WINDOW_PARENT* = 117
-  GLUT_WINDOW_NUM_CHILDREN* = 118
-  GLUT_WINDOW_COLORMAP_SIZE* = 119
-  GLUT_WINDOW_NUM_SAMPLES* = 120
-  GLUT_WINDOW_STEREO* = 121
-  GLUT_WINDOW_CURSOR* = 122
-  GLUT_SCREEN_WIDTH* = 200
-  GLUT_SCREEN_HEIGHT* = 201
-  GLUT_SCREEN_WIDTH_MM* = 202
-  GLUT_SCREEN_HEIGHT_MM* = 203
-  GLUT_MENU_NUM_ITEMS* = 300
-  GLUT_DISPLAY_MODE_POSSIBLE* = 400
-  GLUT_INIT_WINDOW_X* = 500
-  GLUT_INIT_WINDOW_Y* = 501
-  GLUT_INIT_WINDOW_WIDTH* = 502
-  GLUT_INIT_WINDOW_HEIGHT* = 503
-  constGLUT_INIT_DISPLAY_MODE* = 504
-  GLUT_ELAPSED_TIME* = 700
-  GLUT_WINDOW_FORMAT_ID* = 123 # glutDeviceGet parameters.
-  GLUT_HAS_KEYBOARD* = 600
-  GLUT_HAS_MOUSE* = 601
-  GLUT_HAS_SPACEBALL* = 602
-  GLUT_HAS_DIAL_AND_BUTTON_BOX* = 603
-  GLUT_HAS_TABLET* = 604
-  GLUT_NUM_MOUSE_BUTTONS* = 605
-  GLUT_NUM_SPACEBALL_BUTTONS* = 606
-  GLUT_NUM_BUTTON_BOX_BUTTONS* = 607
-  GLUT_NUM_DIALS* = 608
-  GLUT_NUM_TABLET_BUTTONS* = 609
-  GLUT_DEVICE_IGNORE_KEY_REPEAT* = 610
-  GLUT_DEVICE_KEY_REPEAT* = 611
-  GLUT_HAS_JOYSTICK* = 612
-  GLUT_OWNS_JOYSTICK* = 613
-  GLUT_JOYSTICK_BUTTONS* = 614
-  GLUT_JOYSTICK_AXES* = 615
-  GLUT_JOYSTICK_POLL_RATE* = 616 # glutLayerGet parameters.
-  GLUT_OVERLAY_POSSIBLE* = 800
-  GLUT_LAYER_IN_USE* = 801
-  GLUT_HAS_OVERLAY* = 802
-  GLUT_TRANSPARENT_INDEX* = 803
-  GLUT_NORMAL_DAMAGED* = 804
-  GLUT_OVERLAY_DAMAGED* = 805 # glutVideoResizeGet parameters.
-  GLUT_VIDEO_RESIZE_POSSIBLE* = 900
-  GLUT_VIDEO_RESIZE_IN_USE* = 901
-  GLUT_VIDEO_RESIZE_X_DELTA* = 902
-  GLUT_VIDEO_RESIZE_Y_DELTA* = 903
-  GLUT_VIDEO_RESIZE_WIDTH_DELTA* = 904
-  GLUT_VIDEO_RESIZE_HEIGHT_DELTA* = 905
-  GLUT_VIDEO_RESIZE_X* = 906
-  GLUT_VIDEO_RESIZE_Y* = 907
-  GLUT_VIDEO_RESIZE_WIDTH* = 908
-  GLUT_VIDEO_RESIZE_HEIGHT* = 909 # glutGetModifiers return mask.
-  GLUT_ACTIVE_SHIFT* = 1
-  GLUT_ACTIVE_CTRL* = 2
-  GLUT_ACTIVE_ALT* = 4        # glutSetCursor parameters.
-                              # Basic arrows.
-  GLUT_CURSOR_RIGHT_ARROW* = 0
-  GLUT_CURSOR_LEFT_ARROW* = 1 # Symbolic cursor shapes.
-  GLUT_CURSOR_INFO* = 2
-  GLUT_CURSOR_DESTROY* = 3
-  GLUT_CURSOR_HELP* = 4
-  GLUT_CURSOR_CYCLE* = 5
-  GLUT_CURSOR_SPRAY* = 6
-  GLUT_CURSOR_WAIT* = 7
-  GLUT_CURSOR_TEXT* = 8
-  GLUT_CURSOR_CROSSHAIR* = 9  # Directional cursors.
-  GLUT_CURSOR_UP_DOWN* = 10
-  GLUT_CURSOR_LEFT_RIGHT* = 11 # Sizing cursors.
-  GLUT_CURSOR_TOP_SIDE* = 12
-  GLUT_CURSOR_BOTTOM_SIDE* = 13
-  GLUT_CURSOR_LEFT_SIDE* = 14
-  GLUT_CURSOR_RIGHT_SIDE* = 15
-  GLUT_CURSOR_TOP_LEFT_CORNER* = 16
-  GLUT_CURSOR_TOP_RIGHT_CORNER* = 17
-  GLUT_CURSOR_BOTTOM_RIGHT_CORNER* = 18
-  GLUT_CURSOR_BOTTOM_LEFT_CORNER* = 19 # Inherit from parent window.
-  GLUT_CURSOR_INHERIT* = 100  # Blank cursor.
-  GLUT_CURSOR_NONE* = 101     # Fullscreen crosshair (if available).
-  GLUT_CURSOR_FULL_CROSSHAIR* = 102 # GLUT device control sub-API.
-                                    # glutSetKeyRepeat modes.
-  GLUT_KEY_REPEAT_OFF* = 0
-  GLUT_KEY_REPEAT_ON* = 1
-  GLUT_KEY_REPEAT_DEFAULT* = 2 # Joystick button masks.
-  GLUT_JOYSTICK_BUTTON_A* = 1
-  GLUT_JOYSTICK_BUTTON_B* = 2
-  GLUT_JOYSTICK_BUTTON_C* = 4
-  GLUT_JOYSTICK_BUTTON_D* = 8 # GLUT game mode sub-API.
-                              # glutGameModeGet.
-  GLUT_GAME_MODE_ACTIVE* = 0
-  GLUT_GAME_MODE_POSSIBLE* = 1
-  GLUT_GAME_MODE_WIDTH* = 2
-  GLUT_GAME_MODE_HEIGHT* = 3
-  GLUT_GAME_MODE_PIXEL_DEPTH* = 4
-  GLUT_GAME_MODE_REFRESH_RATE* = 5
-  GLUT_GAME_MODE_DISPLAY_CHANGED* = 6 # GLUT initialization sub-API.
-
-proc glutInit*(argcp: PInteger, argv: PPChar){.dynlib: dllname, importc.}
-proc glutInitDisplayMode*(mode: int16){.dynlib: dllname, importc.}
-proc glutInitDisplayString*(str: cstring){.dynlib: dllname, importc.}
-proc glutInitWindowPosition*(x, y: int){.dynlib: dllname, importc.}
-proc glutInitWindowSize*(width, height: int){.dynlib: dllname, importc.}
-proc glutMainLoop*(){.dynlib: dllname, importc.}
-  # GLUT window sub-API.
-proc glutCreateWindow*(title: cstring): int{.dynlib: dllname, importc.}
-proc glutCreateSubWindow*(win, x, y, width, height: int): int{.dynlib: dllname,
-    importc.}
-proc glutDestroyWindow*(win: int){.dynlib: dllname, importc.}
-proc glutPostRedisplay*(){.dynlib: dllname, importc.}
-proc glutPostWindowRedisplay*(win: int){.dynlib: dllname, importc.}
-proc glutSwapBuffers*(){.dynlib: dllname, importc.}
-proc glutGetWindow*(): int{.dynlib: dllname, importc.}
-proc glutSetWindow*(win: int){.dynlib: dllname, importc.}
-proc glutSetWindowTitle*(title: cstring){.dynlib: dllname, importc.}
-proc glutSetIconTitle*(title: cstring){.dynlib: dllname, importc.}
-proc glutPositionWindow*(x, y: int){.dynlib: dllname, importc.}
-proc glutReshapeWindow*(width, height: int){.dynlib: dllname, importc.}
-proc glutPopWindow*(){.dynlib: dllname, importc.}
-proc glutPushWindow*(){.dynlib: dllname, importc.}
-proc glutIconifyWindow*(){.dynlib: dllname, importc.}
-proc glutShowWindow*(){.dynlib: dllname, importc.}
-proc glutHideWindow*(){.dynlib: dllname, importc.}
-proc glutFullScreen*(){.dynlib: dllname, importc.}
-proc glutSetCursor*(cursor: int){.dynlib: dllname, importc.}
-proc glutWarpPointer*(x, y: int){.dynlib: dllname, importc.}
-  # GLUT overlay sub-API.
-proc glutEstablishOverlay*(){.dynlib: dllname, importc.}
-proc glutRemoveOverlay*(){.dynlib: dllname, importc.}
-proc glutUseLayer*(layer: TGLenum){.dynlib: dllname, importc.}
-proc glutPostOverlayRedisplay*(){.dynlib: dllname, importc.}
-proc glutPostWindowOverlayRedisplay*(win: int){.dynlib: dllname, importc.}
-proc glutShowOverlay*(){.dynlib: dllname, importc.}
-proc glutHideOverlay*(){.dynlib: dllname, importc.}
-  # GLUT menu sub-API.
-proc glutCreateMenu*(callback: TGlut1IntCallback): int{.dynlib: dllname, importc.}
-proc glutDestroyMenu*(menu: int){.dynlib: dllname, importc.}
-proc glutGetMenu*(): int{.dynlib: dllname, importc.}
-proc glutSetMenu*(menu: int){.dynlib: dllname, importc.}
-proc glutAddMenuEntry*(caption: cstring, value: int){.dynlib: dllname, importc.}
-proc glutAddSubMenu*(caption: cstring, submenu: int){.dynlib: dllname, importc.}
-proc glutChangeToMenuEntry*(item: int, caption: cstring, value: int){.
-    dynlib: dllname, importc.}
-proc glutChangeToSubMenu*(item: int, caption: cstring, submenu: int){.
-    dynlib: dllname, importc.}
-proc glutRemoveMenuItem*(item: int){.dynlib: dllname, importc.}
-proc glutAttachMenu*(button: int){.dynlib: dllname, importc.}
-proc glutDetachMenu*(button: int){.dynlib: dllname, importc.}
-  # GLUT window callback sub-API.
-proc glutDisplayFunc*(f: TGlutVoidCallback){.dynlib: dllname, importc.}
-proc glutReshapeFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutKeyboardFunc*(f: TGlut1Char2IntCallback){.dynlib: dllname, importc.}
-proc glutMouseFunc*(f: TGlut4IntCallback){.dynlib: dllname, importc.}
-proc glutMotionFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutPassiveMotionFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutEntryFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.}
-proc glutVisibilityFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.}
-proc glutIdleFunc*(f: TGlutVoidCallback){.dynlib: dllname, importc.}
-proc glutTimerFunc*(millis: int16, f: TGlut1IntCallback, value: int){.
-    dynlib: dllname, importc.}
-proc glutMenuStateFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.}
-proc glutSpecialFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.}
-proc glutSpaceballMotionFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.}
-proc glutSpaceballRotateFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.}
-proc glutSpaceballButtonFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutButtonBoxFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutDialsFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutTabletMotionFunc*(f: TGlut2IntCallback){.dynlib: dllname, importc.}
-proc glutTabletButtonFunc*(f: TGlut4IntCallback){.dynlib: dllname, importc.}
-proc glutMenuStatusFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.}
-proc glutOverlayDisplayFunc*(f: TGlutVoidCallback){.dynlib: dllname, importc.}
-proc glutWindowStatusFunc*(f: TGlut1IntCallback){.dynlib: dllname, importc.}
-proc glutKeyboardUpFunc*(f: TGlut1Char2IntCallback){.dynlib: dllname, importc.}
-proc glutSpecialUpFunc*(f: TGlut3IntCallback){.dynlib: dllname, importc.}
-proc glutJoystickFunc*(f: TGlut1UInt3IntCallback, pollInterval: int){.
-    dynlib: dllname, importc.}
-  # GLUT color index sub-API.
-proc glutSetColor*(cell: int, red, green, blue: TGLfloat){.dynlib: dllname,
-    importc.}
-proc glutGetColor*(ndx, component: int): TGLfloat{.dynlib: dllname, importc.}
-proc glutCopyColormap*(win: int){.dynlib: dllname, importc.}
-  # GLUT state retrieval sub-API.
-proc glutGet*(t: TGLenum): int{.dynlib: dllname, importc.}
-proc glutDeviceGet*(t: TGLenum): int{.dynlib: dllname, importc.}
-  # GLUT extension support sub-API
-proc glutExtensionSupported*(name: cstring): int{.dynlib: dllname, importc.}
-proc glutGetModifiers*(): int{.dynlib: dllname, importc.}
-proc glutLayerGet*(t: TGLenum): int{.dynlib: dllname, importc.}
-  # GLUT font sub-API
-proc glutBitmapCharacter*(font: pointer, character: int){.dynlib: dllname,
-    importc.}
-proc glutBitmapWidth*(font: pointer, character: int): int{.dynlib: dllname,
-    importc.}
-proc glutStrokeCharacter*(font: pointer, character: int){.dynlib: dllname,
-    importc.}
-proc glutStrokeWidth*(font: pointer, character: int): int{.dynlib: dllname,
-    importc.}
-proc glutBitmapLength*(font: pointer, str: cstring): int{.dynlib: dllname,
-    importc.}
-proc glutStrokeLength*(font: pointer, str: cstring): int{.dynlib: dllname,
-    importc.}
-  # GLUT pre-built models sub-API
-proc glutWireSphere*(radius: TGLdouble, slices, stacks: TGLint){.dynlib: dllname,
-    importc.}
-proc glutSolidSphere*(radius: TGLdouble, slices, stacks: TGLint){.dynlib: dllname,
-    importc.}
-proc glutWireCone*(base, height: TGLdouble, slices, stacks: TGLint){.
-    dynlib: dllname, importc.}
-proc glutSolidCone*(base, height: TGLdouble, slices, stacks: TGLint){.
-    dynlib: dllname, importc.}
-proc glutWireCube*(size: TGLdouble){.dynlib: dllname, importc.}
-proc glutSolidCube*(size: TGLdouble){.dynlib: dllname, importc.}
-proc glutWireTorus*(innerRadius, outerRadius: TGLdouble, sides, rings: TGLint){.
-    dynlib: dllname, importc.}
-proc glutSolidTorus*(innerRadius, outerRadius: TGLdouble, sides, rings: TGLint){.
-    dynlib: dllname, importc.}
-proc glutWireDodecahedron*(){.dynlib: dllname, importc.}
-proc glutSolidDodecahedron*(){.dynlib: dllname, importc.}
-proc glutWireTeapot*(size: TGLdouble){.dynlib: dllname, importc.}
-proc glutSolidTeapot*(size: TGLdouble){.dynlib: dllname, importc.}
-proc glutWireOctahedron*(){.dynlib: dllname, importc.}
-proc glutSolidOctahedron*(){.dynlib: dllname, importc.}
-proc glutWireTetrahedron*(){.dynlib: dllname, importc.}
-proc glutSolidTetrahedron*(){.dynlib: dllname, importc.}
-proc glutWireIcosahedron*(){.dynlib: dllname, importc.}
-proc glutSolidIcosahedron*(){.dynlib: dllname, importc.}
-  # GLUT video resize sub-API.
-proc glutVideoResizeGet*(param: TGLenum): int{.dynlib: dllname, importc.}
-proc glutSetupVideoResizing*(){.dynlib: dllname, importc.}
-proc glutStopVideoResizing*(){.dynlib: dllname, importc.}
-proc glutVideoResize*(x, y, width, height: int){.dynlib: dllname, importc.}
-proc glutVideoPan*(x, y, width, height: int){.dynlib: dllname, importc.}
-  # GLUT debugging sub-API.
-proc glutReportErrors*(){.dynlib: dllname, importc.}
-  # GLUT device control sub-API.
-proc glutIgnoreKeyRepeat*(ignore: int){.dynlib: dllname, importc.}
-proc glutSetKeyRepeat*(repeatMode: int){.dynlib: dllname, importc.}
-proc glutForceJoystickFunc*(){.dynlib: dllname, importc.}
-  # GLUT game mode sub-API.
-  #example glutGameModeString('1280x1024:32@75');
-proc glutGameModeString*(AString: cstring){.dynlib: dllname, importc.}
-proc glutEnterGameMode*(): int{.dynlib: dllname, importc.}
-proc glutLeaveGameMode*(){.dynlib: dllname, importc.}
-proc glutGameModeGet*(mode: TGLenum): int{.dynlib: dllname, importc.}
-# implementation
diff --git a/lib/base/opengl/glut.pp b/lib/base/opengl/glut.pp
deleted file mode 100644
index 3a6e7d9fc..000000000
--- a/lib/base/opengl/glut.pp
+++ /dev/null
@@ -1,436 +0,0 @@
-{
-
-  Adaption of the delphi3d.net OpenGL units to FreePascal
-  Sebastian Guenther (sg@freepascal.org) in 2002
-  These units are free to use
-}
-
-unit Glut;
-
-// Copyright (c) Mark J. Kilgard, 1994, 1995, 1996. */
-
-(* This program is freely distributable without licensing fees  and is
-   provided without guarantee or warrantee expressed or  implied. This
-   program is -not- in the public domain. *)
-
-{******************************************************************************}
-{ Converted to Delphi by Tom Nuydens (tom@delphi3d.net)                        }
-{   Contributions by Igor Karpov (glygrik@hotbox.ru)                           }
-{   For the latest updates, visit Delphi3D: http://www.delphi3d.net            }
-{******************************************************************************}
-
-interface
-
-uses
-  GL;
-  
-const
-  dllname = 'glut32.dll';
-  dynlibname = '/System/Library/Frameworks/GLUT.framework/GLUT';
-  libname = 'libglut.so.3';
-
-type
-  PInteger = ^Integer;
-  PPChar = ^PChar;
-  TGlutVoidCallback = procedure; cdecl;
-  TGlut1IntCallback = procedure(value: Integer); cdecl;
-  TGlut2IntCallback = procedure(v1, v2: Integer); cdecl;
-  TGlut3IntCallback = procedure(v1, v2, v3: Integer); cdecl;
-  TGlut4IntCallback = procedure(v1, v2, v3, v4: Integer); cdecl;
-  TGlut1Char2IntCallback = procedure(c: Byte; v1, v2: Integer); cdecl;
-  TGlut1UInt3IntCallback = procedure(u: Cardinal; v1, v2, v3: Integer); cdecl;
-
-const
-  GLUT_API_VERSION                = 3;
-  GLUT_XLIB_IMPLEMENTATION        = 12;
-  // Display mode bit masks.
-  GLUT_RGB                        = 0;
-  GLUT_RGBA                       = GLUT_RGB;
-  GLUT_INDEX                      = 1;
-  GLUT_SINGLE                     = 0;
-  GLUT_DOUBLE                     = 2;
-  GLUT_ACCUM                      = 4;
-  GLUT_ALPHA                      = 8;
-  GLUT_DEPTH                      = 16;
-  GLUT_STENCIL                    = 32;
-  GLUT_MULTISAMPLE                = 128;
-  GLUT_STEREO                     = 256;
-  GLUT_LUMINANCE                  = 512;
-
-  // Mouse buttons.
-  GLUT_LEFT_BUTTON                = 0;
-  GLUT_MIDDLE_BUTTON              = 1;
-  GLUT_RIGHT_BUTTON               = 2;
-
-  // Mouse button state.
-  GLUT_DOWN                       = 0;
-  GLUT_UP                         = 1;
-
-  // function keys
-  GLUT_KEY_F1                     = 1;
-  GLUT_KEY_F2                     = 2;
-  GLUT_KEY_F3                     = 3;
-  GLUT_KEY_F4                     = 4;
-  GLUT_KEY_F5                     = 5;
-  GLUT_KEY_F6                     = 6;
-  GLUT_KEY_F7                     = 7;
-  GLUT_KEY_F8                     = 8;
-  GLUT_KEY_F9                     = 9;
-  GLUT_KEY_F10                    = 10;
-  GLUT_KEY_F11                    = 11;
-  GLUT_KEY_F12                    = 12;
-  // directional keys
-  GLUT_KEY_LEFT                   = 100;
-  GLUT_KEY_UP                     = 101;
-  GLUT_KEY_RIGHT                  = 102;
-  GLUT_KEY_DOWN                   = 103;
-  GLUT_KEY_PAGE_UP                = 104;
-  GLUT_KEY_PAGE_DOWN              = 105;
-  GLUT_KEY_HOME                   = 106;
-  GLUT_KEY_END                    = 107;
-  GLUT_KEY_INSERT                 = 108;
-
-  // Entry/exit  state.
-  GLUT_LEFT                       = 0;
-  GLUT_ENTERED                    = 1;
-
-  // Menu usage state.
-  GLUT_MENU_NOT_IN_USE            = 0;
-  GLUT_MENU_IN_USE                = 1;
-
-  // Visibility  state.
-  GLUT_NOT_VISIBLE                = 0;
-  GLUT_VISIBLE                    = 1;
-
-  // Window status  state.
-  GLUT_HIDDEN                     = 0;
-  GLUT_FULLY_RETAINED             = 1;
-  GLUT_PARTIALLY_RETAINED         = 2;
-  GLUT_FULLY_COVERED              = 3;
-
-  // Color index component selection values.
-  GLUT_RED                        = 0;
-  GLUT_GREEN                      = 1;
-  GLUT_BLUE                       = 2;
-
-  // Layers for use.
-  GLUT_NORMAL                     = 0;
-  GLUT_OVERLAY                    = 1;
-
-{$ifdef Windows}
-const
-  // Stroke font constants (use these in GLUT program).
-  GLUT_STROKE_ROMAN               = Pointer(0);
-  GLUT_STROKE_MONO_ROMAN          = Pointer(1);
-
-  // Bitmap font constants (use these in GLUT program).
-  GLUT_BITMAP_9_BY_15             = Pointer(2);
-  GLUT_BITMAP_8_BY_13             = Pointer(3);
-  GLUT_BITMAP_TIMES_ROMAN_10      = Pointer(4);
-  GLUT_BITMAP_TIMES_ROMAN_24      = Pointer(5);
-  GLUT_BITMAP_HELVETICA_10        = Pointer(6);
-  GLUT_BITMAP_HELVETICA_12        = Pointer(7);
-  GLUT_BITMAP_HELVETICA_18        = Pointer(8);
-{$else Windows}
-var
-  // Stroke font constants (use these in GLUT program).
-  GLUT_STROKE_ROMAN               : Pointer;
-  GLUT_STROKE_MONO_ROMAN          : Pointer;
-
-  // Bitmap font constants (use these in GLUT program).
-  GLUT_BITMAP_9_BY_15             : Pointer;
-  GLUT_BITMAP_8_BY_13             : Pointer;
-  GLUT_BITMAP_TIMES_ROMAN_10      : Pointer;
-  GLUT_BITMAP_TIMES_ROMAN_24      : Pointer;
-  GLUT_BITMAP_HELVETICA_10        : Pointer;
-  GLUT_BITMAP_HELVETICA_12        : Pointer;
-  GLUT_BITMAP_HELVETICA_18        : Pointer;
-{$endif Windows}
-const
-  // glutGet parameters.
-  GLUT_WINDOW_X                   = 100;
-  GLUT_WINDOW_Y                   = 101;
-  GLUT_WINDOW_WIDTH               = 102;
-  GLUT_WINDOW_HEIGHT              = 103;
-  GLUT_WINDOW_BUFFER_SIZE         = 104;
-  GLUT_WINDOW_STENCIL_SIZE        = 105;
-  GLUT_WINDOW_DEPTH_SIZE          = 106;
-  GLUT_WINDOW_RED_SIZE            = 107;
-  GLUT_WINDOW_GREEN_SIZE          = 108;
-  GLUT_WINDOW_BLUE_SIZE           = 109;
-  GLUT_WINDOW_ALPHA_SIZE          = 110;
-  GLUT_WINDOW_ACCUM_RED_SIZE      = 111;
-  GLUT_WINDOW_ACCUM_GREEN_SIZE    = 112;
-  GLUT_WINDOW_ACCUM_BLUE_SIZE     = 113;
-  GLUT_WINDOW_ACCUM_ALPHA_SIZE    = 114;
-  GLUT_WINDOW_DOUBLEBUFFER        = 115;
-  GLUT_WINDOW_RGBA                = 116;
-  GLUT_WINDOW_PARENT              = 117;
-  GLUT_WINDOW_NUM_CHILDREN        = 118;
-  GLUT_WINDOW_COLORMAP_SIZE       = 119;
-  GLUT_WINDOW_NUM_SAMPLES         = 120;
-  GLUT_WINDOW_STEREO              = 121;
-  GLUT_WINDOW_CURSOR              = 122;
-  GLUT_SCREEN_WIDTH               = 200;
-  GLUT_SCREEN_HEIGHT              = 201;
-  GLUT_SCREEN_WIDTH_MM            = 202;
-  GLUT_SCREEN_HEIGHT_MM           = 203;
-  GLUT_MENU_NUM_ITEMS             = 300;
-  GLUT_DISPLAY_MODE_POSSIBLE      = 400;
-  GLUT_INIT_WINDOW_X              = 500;
-  GLUT_INIT_WINDOW_Y              = 501;
-  GLUT_INIT_WINDOW_WIDTH          = 502;
-  GLUT_INIT_WINDOW_HEIGHT         = 503;
-  GLUT_INIT_DISPLAY_MODE          = 504;
-  GLUT_ELAPSED_TIME               = 700;
-  GLUT_WINDOW_FORMAT_ID		  = 123;
-
-  // glutDeviceGet parameters.
-  GLUT_HAS_KEYBOARD               = 600;
-  GLUT_HAS_MOUSE                  = 601;
-  GLUT_HAS_SPACEBALL              = 602;
-  GLUT_HAS_DIAL_AND_BUTTON_BOX    = 603;
-  GLUT_HAS_TABLET                 = 604;
-  GLUT_NUM_MOUSE_BUTTONS          = 605;
-  GLUT_NUM_SPACEBALL_BUTTONS      = 606;
-  GLUT_NUM_BUTTON_BOX_BUTTONS     = 607;
-  GLUT_NUM_DIALS                  = 608;
-  GLUT_NUM_TABLET_BUTTONS         = 609;
-  GLUT_DEVICE_IGNORE_KEY_REPEAT   = 610;
-  GLUT_DEVICE_KEY_REPEAT          = 611;
-  GLUT_HAS_JOYSTICK               = 612;
-  GLUT_OWNS_JOYSTICK              = 613;
-  GLUT_JOYSTICK_BUTTONS           = 614;
-  GLUT_JOYSTICK_AXES              = 615;
-  GLUT_JOYSTICK_POLL_RATE         = 616;
-
-
-  // glutLayerGet parameters.
-  GLUT_OVERLAY_POSSIBLE           = 800;
-  GLUT_LAYER_IN_USE               = 801;
-  GLUT_HAS_OVERLAY                = 802;
-  GLUT_TRANSPARENT_INDEX          = 803;
-  GLUT_NORMAL_DAMAGED             = 804;
-  GLUT_OVERLAY_DAMAGED            = 805;
-
-  // glutVideoResizeGet parameters.
-  GLUT_VIDEO_RESIZE_POSSIBLE       = 900;
-  GLUT_VIDEO_RESIZE_IN_USE         = 901;
-  GLUT_VIDEO_RESIZE_X_DELTA        = 902;
-  GLUT_VIDEO_RESIZE_Y_DELTA        = 903;
-  GLUT_VIDEO_RESIZE_WIDTH_DELTA    = 904;
-  GLUT_VIDEO_RESIZE_HEIGHT_DELTA   = 905;
-  GLUT_VIDEO_RESIZE_X              = 906;
-  GLUT_VIDEO_RESIZE_Y              = 907;
-  GLUT_VIDEO_RESIZE_WIDTH          = 908;
-  GLUT_VIDEO_RESIZE_HEIGHT         = 909;
-
-  // glutGetModifiers return mask.
-  GLUT_ACTIVE_SHIFT                = 1;
-  GLUT_ACTIVE_CTRL                 = 2;
-  GLUT_ACTIVE_ALT                  = 4;
-
-  // glutSetCursor parameters.
-  // Basic arrows.
-  GLUT_CURSOR_RIGHT_ARROW          = 0;
-  GLUT_CURSOR_LEFT_ARROW           = 1;
-  // Symbolic cursor shapes.
-  GLUT_CURSOR_INFO                 = 2;
-  GLUT_CURSOR_DESTROY              = 3;
-  GLUT_CURSOR_HELP                 = 4;
-  GLUT_CURSOR_CYCLE                = 5;
-  GLUT_CURSOR_SPRAY                = 6;
-  GLUT_CURSOR_WAIT                 = 7;
-  GLUT_CURSOR_TEXT                 = 8;
-  GLUT_CURSOR_CROSSHAIR            = 9;
-  // Directional cursors.
-  GLUT_CURSOR_UP_DOWN              = 10;
-  GLUT_CURSOR_LEFT_RIGHT           = 11;
-  // Sizing cursors.
-  GLUT_CURSOR_TOP_SIDE             = 12;
-  GLUT_CURSOR_BOTTOM_SIDE          = 13;
-  GLUT_CURSOR_LEFT_SIDE            = 14;
-  GLUT_CURSOR_RIGHT_SIDE           = 15;
-  GLUT_CURSOR_TOP_LEFT_CORNER      = 16;
-  GLUT_CURSOR_TOP_RIGHT_CORNER     = 17;
-  GLUT_CURSOR_BOTTOM_RIGHT_CORNER  = 18;
-  GLUT_CURSOR_BOTTOM_LEFT_CORNER   = 19;
-  // Inherit from parent window.
-  GLUT_CURSOR_INHERIT              = 100;
-  // Blank cursor.
-  GLUT_CURSOR_NONE                 = 101;
-  // Fullscreen crosshair (if available).
-  GLUT_CURSOR_FULL_CROSSHAIR       = 102;
-
-  // GLUT device control sub-API.
-  // glutSetKeyRepeat modes.
-  GLUT_KEY_REPEAT_OFF      = 0;
-  GLUT_KEY_REPEAT_ON       = 1;
-  GLUT_KEY_REPEAT_DEFAULT  = 2;
-
-// Joystick button masks.
-  GLUT_JOYSTICK_BUTTON_A = 1;
-  GLUT_JOYSTICK_BUTTON_B = 2;
-  GLUT_JOYSTICK_BUTTON_C = 4;
-  GLUT_JOYSTICK_BUTTON_D = 8;
-
-  // GLUT game mode sub-API.
-  // glutGameModeGet.
-  GLUT_GAME_MODE_ACTIVE           = 0;
-  GLUT_GAME_MODE_POSSIBLE         = 1;
-  GLUT_GAME_MODE_WIDTH            = 2;
-  GLUT_GAME_MODE_HEIGHT           = 3;
-  GLUT_GAME_MODE_PIXEL_DEPTH      = 4;
-  GLUT_GAME_MODE_REFRESH_RATE     = 5;
-  GLUT_GAME_MODE_DISPLAY_CHANGED  = 6;
-
-
-// GLUT initialization sub-API.
-  procedure glutInit(argcp: PInteger; argv: PPChar); external dllname;
-  procedure glutInitDisplayMode(mode: Word); external dllname;
-  procedure glutInitDisplayString(const str: PChar); external dllname;
-  procedure glutInitWindowPosition(x, y: Integer); external dllname;
-  procedure glutInitWindowSize(width, height: Integer); external dllname;
-  procedure glutMainLoop; external dllname;
-
-// GLUT window sub-API.
-  function glutCreateWindow(const title: PChar): Integer; external dllname;
-  function glutCreateSubWindow(win, x, y, width, height: Integer): Integer; external dllname;
-  procedure glutDestroyWindow(win: Integer); external dllname;
-  procedure glutPostRedisplay; external dllname;
-  procedure glutPostWindowRedisplay(win: Integer); external dllname;
-  procedure glutSwapBuffers; external dllname;
-  function glutGetWindow: Integer; external dllname;
-  procedure glutSetWindow(win: Integer); external dllname;
-  procedure glutSetWindowTitle(const title: PChar); external dllname;
-  procedure glutSetIconTitle(const title: PChar); external dllname;
-  procedure glutPositionWindow(x, y: Integer); external dllname;
-  procedure glutReshapeWindow(width, height: Integer); external dllname;
-  procedure glutPopWindow; external dllname;
-  procedure glutPushWindow; external dllname;
-  procedure glutIconifyWindow; external dllname;
-  procedure glutShowWindow; external dllname;
-  procedure glutHideWindow; external dllname;
-  procedure glutFullScreen; external dllname;
-  procedure glutSetCursor(cursor: Integer); external dllname;
-  procedure glutWarpPointer(x, y: Integer); external dllname;
-
-// GLUT overlay sub-API.
-  procedure glutEstablishOverlay; external dllname;
-  procedure glutRemoveOverlay; external dllname;
-  procedure glutUseLayer(layer: GLenum); external dllname;
-  procedure glutPostOverlayRedisplay; external dllname;
-  procedure glutPostWindowOverlayRedisplay(win: Integer); external dllname;
-  procedure glutShowOverlay; external dllname;
-  procedure glutHideOverlay; external dllname;
-
-// GLUT menu sub-API.
-  function glutCreateMenu(callback: TGlut1IntCallback): Integer; external dllname;
-  procedure glutDestroyMenu(menu: Integer); external dllname;
-  function glutGetMenu: Integer; external dllname;
-  procedure glutSetMenu(menu: Integer); external dllname;
-  procedure glutAddMenuEntry(const caption: PChar; value: Integer); external dllname;
-  procedure glutAddSubMenu(const caption: PChar; submenu: Integer); external dllname;
-  procedure glutChangeToMenuEntry(item: Integer; const caption: PChar; value: Integer); external dllname;
-  procedure glutChangeToSubMenu(item: Integer; const caption: PChar; submenu: Integer); external dllname;
-  procedure glutRemoveMenuItem(item: Integer); external dllname;
-  procedure glutAttachMenu(button: Integer); external dllname;
-  procedure glutDetachMenu(button: Integer); external dllname;
-
-// GLUT window callback sub-API.
-  procedure glutDisplayFunc(f: TGlutVoidCallback); external dllname;
-  procedure glutReshapeFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutKeyboardFunc(f: TGlut1Char2IntCallback); external dllname;
-  procedure glutMouseFunc(f: TGlut4IntCallback); external dllname;
-  procedure glutMotionFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutPassiveMotionFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutEntryFunc(f: TGlut1IntCallback); external dllname;
-  procedure glutVisibilityFunc(f: TGlut1IntCallback); external dllname;
-  procedure glutIdleFunc(f: TGlutVoidCallback); external dllname;
-  procedure glutTimerFunc(millis: Word; f: TGlut1IntCallback; value: Integer); external dllname;
-  procedure glutMenuStateFunc(f: TGlut1IntCallback); external dllname;
-  procedure glutSpecialFunc(f: TGlut3IntCallback); external dllname;
-  procedure glutSpaceballMotionFunc(f: TGlut3IntCallback); external dllname;
-  procedure glutSpaceballRotateFunc(f: TGlut3IntCallback); external dllname;
-  procedure glutSpaceballButtonFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutButtonBoxFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutDialsFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutTabletMotionFunc(f: TGlut2IntCallback); external dllname;
-  procedure glutTabletButtonFunc(f: TGlut4IntCallback); external dllname;
-  procedure glutMenuStatusFunc(f: TGlut3IntCallback); external dllname;
-  procedure glutOverlayDisplayFunc(f:TGlutVoidCallback); external dllname;
-  procedure glutWindowStatusFunc(f: TGlut1IntCallback); external dllname;
-  procedure glutKeyboardUpFunc(f: TGlut1Char2IntCallback); external dllname;
-  procedure glutSpecialUpFunc(f: TGlut3IntCallback); external dllname;
-  procedure glutJoystickFunc(f: TGlut1UInt3IntCallback; pollInterval: Integer); external dllname;
-
-// GLUT color index sub-API.
-  procedure glutSetColor(cell: Integer; red, green, blue: GLfloat); external dllname;
-  function glutGetColor(ndx, component: Integer): GLfloat; external dllname;
-  procedure glutCopyColormap(win: Integer); external dllname;
-
-// GLUT state retrieval sub-API.
-  function glutGet(t: GLenum): Integer; external dllname;
-  function glutDeviceGet(t: GLenum): Integer; external dllname;
-
-// GLUT extension support sub-API
-  function glutExtensionSupported(const name: PChar): Integer; external dllname;
-  function glutGetModifiers: Integer; external dllname;
-  function glutLayerGet(t: GLenum): Integer; external dllname;
-
-// GLUT font sub-API
-  procedure glutBitmapCharacter(font : pointer; character: Integer); external dllname;
-  function glutBitmapWidth(font : pointer; character: Integer): Integer; external dllname;
-  procedure glutStrokeCharacter(font : pointer; character: Integer); external dllname;
-  function glutStrokeWidth(font : pointer; character: Integer): Integer; external dllname;
-  function glutBitmapLength(font: pointer; const str: PChar): Integer; external dllname;
-  function glutStrokeLength(font: pointer; const str: PChar): Integer; external dllname;
-
-// GLUT pre-built models sub-API
-  procedure glutWireSphere(radius: GLdouble; slices, stacks: GLint); external dllname;
-  procedure glutSolidSphere(radius: GLdouble; slices, stacks: GLint); external dllname;
-  procedure glutWireCone(base, height: GLdouble; slices, stacks: GLint); external dllname;
-  procedure glutSolidCone(base, height: GLdouble; slices, stacks: GLint); external dllname;
-  procedure glutWireCube(size: GLdouble); external dllname;
-  procedure glutSolidCube(size: GLdouble); external dllname;
-  procedure glutWireTorus(innerRadius, outerRadius: GLdouble; sides, rings: GLint); external dllname;
-  procedure glutSolidTorus(innerRadius, outerRadius: GLdouble; sides, rings: GLint); external dllname;
-  procedure glutWireDodecahedron; external dllname;
-  procedure glutSolidDodecahedron; external dllname;
-  procedure glutWireTeapot(size: GLdouble); external dllname;
-  procedure glutSolidTeapot(size: GLdouble); external dllname;
-  procedure glutWireOctahedron; external dllname;
-  procedure glutSolidOctahedron; external dllname;
-  procedure glutWireTetrahedron; external dllname;
-  procedure glutSolidTetrahedron; external dllname;
-  procedure glutWireIcosahedron; external dllname;
-  procedure glutSolidIcosahedron; external dllname;
-
-// GLUT video resize sub-API.
-  function glutVideoResizeGet(param: GLenum): Integer; external dllname;
-  procedure glutSetupVideoResizing; external dllname;
-  procedure glutStopVideoResizing; external dllname;
-  procedure glutVideoResize(x, y, width, height: Integer); external dllname;
-  procedure glutVideoPan(x, y, width, height: Integer); external dllname;
-
-// GLUT debugging sub-API.
-  procedure glutReportErrors; external dllname;
-
-// GLUT device control sub-API.
-
-  procedure glutIgnoreKeyRepeat(ignore: Integer); external dllname;
-  procedure glutSetKeyRepeat(repeatMode: Integer); external dllname;
-  procedure glutForceJoystickFunc; external dllname;
-
-// GLUT game mode sub-API.
-
-  //example glutGameModeString('1280x1024:32@75');
-  procedure glutGameModeString (const AString : PChar); external dllname;
-  function glutEnterGameMode : integer; external dllname;
-  procedure glutLeaveGameMode; external dllname;
-  function glutGameModeGet (mode : GLenum) : integer; external dllname;
-
-
-implementation
-
-end.
diff --git a/lib/base/opengl/glx.nim b/lib/base/opengl/glx.nim
deleted file mode 100644
index a967acfc6..000000000
--- a/lib/base/opengl/glx.nim
+++ /dev/null
@@ -1,148 +0,0 @@
-#
-#
-#  Translation of the Mesa GLX headers for FreePascal
-#  Copyright (C) 1999 Sebastian Guenther
-#
-#
-#  Mesa 3-D graphics library
-#  Version:  3.0
-#  Copyright (C) 1995-1998  Brian Paul
-#
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Library General Public
-#  License as published by the Free Software Foundation; either
-#  version 2 of the License, or (at your option) any later version.
-#
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Library General Public License for more details.
-#
-#  You should have received a copy of the GNU Library General Public
-#  License along with this library; if not, write to the Free
-#  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-
-import
-  X, XLib, XUtil, gl
-
-when defined(windows):
-  const dllname = "GL.dll"
-elif defined(macosx):
-  const dllname = "/usr/X11R6/lib/libGL.dylib"
-else:
-  const dllname = "libGL.so"
-
-const
-  GLX_USE_GL* = 1
-  GLX_BUFFER_SIZE* = 2
-  GLX_LEVEL* = 3
-  GLX_RGBA* = 4
-  GLX_DOUBLEBUFFER* = 5
-  GLX_STEREO* = 6
-  GLX_AUX_BUFFERS* = 7
-  GLX_RED_SIZE* = 8
-  GLX_GREEN_SIZE* = 9
-  GLX_BLUE_SIZE* = 10
-  GLX_ALPHA_SIZE* = 11
-  GLX_DEPTH_SIZE* = 12
-  GLX_STENCIL_SIZE* = 13
-  GLX_ACCUM_RED_SIZE* = 14
-  GLX_ACCUM_GREEN_SIZE* = 15
-  GLX_ACCUM_BLUE_SIZE* = 16
-  GLX_ACCUM_ALPHA_SIZE* = 17  # GLX_EXT_visual_info extension
-  GLX_X_VISUAL_TYPE_EXT* = 0x00000022
-  GLX_TRANSPARENT_TYPE_EXT* = 0x00000023
-  GLX_TRANSPARENT_INDEX_VALUE_EXT* = 0x00000024
-  GLX_TRANSPARENT_RED_VALUE_EXT* = 0x00000025
-  GLX_TRANSPARENT_GREEN_VALUE_EXT* = 0x00000026
-  GLX_TRANSPARENT_BLUE_VALUE_EXT* = 0x00000027
-  GLX_TRANSPARENT_ALPHA_VALUE_EXT* = 0x00000028 # Error codes returned by glXGetConfig:
-  GLX_BAD_SCREEN* = 1
-  GLX_BAD_ATTRIBUTE* = 2
-  GLX_NO_EXTENSION* = 3
-  GLX_BAD_VISUAL* = 4
-  GLX_BAD_CONTEXT* = 5
-  GLX_BAD_VALUE* = 6
-  GLX_BAD_ENUM* = 7           # GLX 1.1 and later:
-  GLX_VENDOR* = 1
-  GLX_VERSION* = 2
-  GLX_EXTENSIONS* = 3         # GLX_visual_info extension
-  GLX_TRUE_COLOR_EXT* = 0x00008002
-  GLX_DIRECT_COLOR_EXT* = 0x00008003
-  GLX_PSEUDO_COLOR_EXT* = 0x00008004
-  GLX_STATIC_COLOR_EXT* = 0x00008005
-  GLX_GRAY_SCALE_EXT* = 0x00008006
-  GLX_STATIC_GRAY_EXT* = 0x00008007
-  GLX_NONE_EXT* = 0x00008000
-  GLX_TRANSPARENT_RGB_EXT* = 0x00008008
-  GLX_TRANSPARENT_INDEX_EXT* = 0x00008009
-
-type                          # From XLib:
-  XPixmap* = TXID
-  XFont* = TXID
-  XColormap* = TXID
-  GLXContext* = Pointer
-  GLXPixmap* = TXID
-  GLXDrawable* = TXID
-  GLXContextID* = TXID
-  TXPixmap* = XPixmap
-  TXFont* = XFont
-  TXColormap* = XColormap
-  TGLXContext* = GLXContext
-  TGLXPixmap* = GLXPixmap
-  TGLXDrawable* = GLXDrawable
-  TGLXContextID* = GLXContextID
-
-proc glXChooseVisual*(dpy: PDisplay, screen: int, attribList: ptr int32): PXVisualInfo{.
-    cdecl, dynlib: dllname, importc.}
-proc glXCreateContext*(dpy: PDisplay, vis: PXVisualInfo, shareList: GLXContext,
-                       direct: bool): GLXContext{.cdecl, dynlib: dllname,
-    importc.}
-proc glXDestroyContext*(dpy: PDisplay, ctx: GLXContext){.cdecl, dynlib: dllname,
-    importc.}
-proc glXMakeCurrent*(dpy: PDisplay, drawable: GLXDrawable, ctx: GLXContext): bool{.
-    cdecl, dynlib: dllname, importc.}
-proc glXCopyContext*(dpy: PDisplay, src, dst: GLXContext, mask: int32){.cdecl,
-    dynlib: dllname, importc.}
-proc glXSwapBuffers*(dpy: PDisplay, drawable: GLXDrawable){.cdecl,
-    dynlib: dllname, importc.}
-proc glXCreateGLXPixmap*(dpy: PDisplay, visual: PXVisualInfo, pixmap: XPixmap): GLXPixmap{.
-    cdecl, dynlib: dllname, importc.}
-proc glXDestroyGLXPixmap*(dpy: PDisplay, pixmap: GLXPixmap){.cdecl,
-    dynlib: dllname, importc.}
-proc glXQueryExtension*(dpy: PDisplay, errorb, event: var int): bool{.cdecl,
-    dynlib: dllname, importc.}
-proc glXQueryVersion*(dpy: PDisplay, maj, min: var int): bool{.cdecl,
-    dynlib: dllname, importc.}
-proc glXIsDirect*(dpy: PDisplay, ctx: GLXContext): bool{.cdecl, dynlib: dllname,
-    importc.}
-proc glXGetConfig*(dpy: PDisplay, visual: PXVisualInfo, attrib: int,
-                   value: var int): int{.cdecl, dynlib: dllname, importc.}
-proc glXGetCurrentContext*(): GLXContext{.cdecl, dynlib: dllname, importc.}
-proc glXGetCurrentDrawable*(): GLXDrawable{.cdecl, dynlib: dllname, importc.}
-proc glXWaitGL*(){.cdecl, dynlib: dllname, importc.}
-proc glXWaitX*(){.cdecl, dynlib: dllname, importc.}
-proc glXUseXFont*(font: XFont, first, count, list: int){.cdecl, dynlib: dllname,
-    importc.}
-  # GLX 1.1 and later
-proc glXQueryExtensionsString*(dpy: PDisplay, screen: int): cstring{.cdecl,
-    dynlib: dllname, importc.}
-proc glXQueryServerString*(dpy: PDisplay, screen, name: int): cstring{.cdecl,
-    dynlib: dllname, importc.}
-proc glXGetClientString*(dpy: PDisplay, name: int): cstring{.cdecl,
-    dynlib: dllname, importc.}
-  # Mesa GLX Extensions
-proc glXCreateGLXPixmapMESA*(dpy: PDisplay, visual: PXVisualInfo,
-                             pixmap: XPixmap, cmap: XColormap): GLXPixmap{.
-    cdecl, dynlib: dllname, importc.}
-proc glXReleaseBufferMESA*(dpy: PDisplay, d: GLXDrawable): bool{.cdecl,
-    dynlib: dllname, importc.}
-proc glXCopySubBufferMESA*(dpy: PDisplay, drawbale: GLXDrawable,
-                           x, y, width, height: int){.cdecl, dynlib: dllname,
-    importc.}
-proc glXGetVideoSyncSGI*(counter: var int32): int{.cdecl, dynlib: dllname,
-    importc.}
-proc glXWaitVideoSyncSGI*(divisor, remainder: int, count: var int32): int{.
-    cdecl, dynlib: dllname, importc.}
-# implementation
diff --git a/lib/base/opengl/glx.pp b/lib/base/opengl/glx.pp
deleted file mode 100644
index 2b8c1eed7..000000000
--- a/lib/base/opengl/glx.pp
+++ /dev/null
@@ -1,156 +0,0 @@
-{
-
-  Translation of the Mesa GLX headers for FreePascal
-  Copyright (C) 1999 Sebastian Guenther
-
-
-  Mesa 3-D graphics library
-  Version:  3.0
-  Copyright (C) 1995-1998  Brian Paul
-
-  This library is free software; you can redistribute it and/or
-  modify it under the terms of the GNU Library General Public
-  License as published by the Free Software Foundation; either
-  version 2 of the License, or (at your option) any later version.
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  Library General Public License for more details.
-
-  You should have received a copy of the GNU Library General Public
-  License along with this library; if not, write to the Free
-  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-}
-
-unit GLX;
-
-interface
-
-{$IFDEF Unix}
-  uses
-    X, XLib, XUtil, gl;
-  {$DEFINE HasGLX}  // Activate GLX stuff
-{$ELSE}
-  {$MESSAGE Unsupported platform.}
-{$ENDIF}
-
-{$IFNDEF HasGLX}
-  {$MESSAGE GLX not present on this platform.}
-{$ENDIF}
-
-const
-  dylibname = '/usr/X11R6/lib/libGL.dylib';
-
-// =======================================================
-//   GLX consts, types and functions
-// =======================================================
-
-// Tokens for glXChooseVisual and glXGetConfig:
-const
-  GLX_USE_GL                            = 1;
-  GLX_BUFFER_SIZE                       = 2;
-  GLX_LEVEL                             = 3;
-  GLX_RGBA                              = 4;
-  GLX_DOUBLEBUFFER                      = 5;
-  GLX_STEREO                            = 6;
-  GLX_AUX_BUFFERS                       = 7;
-  GLX_RED_SIZE                          = 8;
-  GLX_GREEN_SIZE                        = 9;
-  GLX_BLUE_SIZE                         = 10;
-  GLX_ALPHA_SIZE                        = 11;
-  GLX_DEPTH_SIZE                        = 12;
-  GLX_STENCIL_SIZE                      = 13;
-  GLX_ACCUM_RED_SIZE                    = 14;
-  GLX_ACCUM_GREEN_SIZE                  = 15;
-  GLX_ACCUM_BLUE_SIZE                   = 16;
-  GLX_ACCUM_ALPHA_SIZE                  = 17;
-
-  // GLX_EXT_visual_info extension
-  GLX_X_VISUAL_TYPE_EXT                 = $22;
-  GLX_TRANSPARENT_TYPE_EXT              = $23;
-  GLX_TRANSPARENT_INDEX_VALUE_EXT       = $24;
-  GLX_TRANSPARENT_RED_VALUE_EXT         = $25;
-  GLX_TRANSPARENT_GREEN_VALUE_EXT       = $26;
-  GLX_TRANSPARENT_BLUE_VALUE_EXT        = $27;
-  GLX_TRANSPARENT_ALPHA_VALUE_EXT       = $28;
-
-
-  // Error codes returned by glXGetConfig:
-  GLX_BAD_SCREEN                        = 1;
-  GLX_BAD_ATTRIBUTE                     = 2;
-  GLX_NO_EXTENSION                      = 3;
-  GLX_BAD_VISUAL                        = 4;
-  GLX_BAD_CONTEXT                       = 5;
-  GLX_BAD_VALUE                         = 6;
-  GLX_BAD_ENUM                          = 7;
-
-  // GLX 1.1 and later:
-  GLX_VENDOR                            = 1;
-  GLX_VERSION                           = 2;
-  GLX_EXTENSIONS                        = 3;
-
-  // GLX_visual_info extension
-  GLX_TRUE_COLOR_EXT                    = $8002;
-  GLX_DIRECT_COLOR_EXT                  = $8003;
-  GLX_PSEUDO_COLOR_EXT                  = $8004;
-  GLX_STATIC_COLOR_EXT                  = $8005;
-  GLX_GRAY_SCALE_EXT                    = $8006;
-  GLX_STATIC_GRAY_EXT                   = $8007;
-  GLX_NONE_EXT                          = $8000;
-  GLX_TRANSPARENT_RGB_EXT               = $8008;
-  GLX_TRANSPARENT_INDEX_EXT             = $8009;
-
-type
-  // From XLib:
-  XPixmap = TXID;
-  XFont = TXID;
-  XColormap = TXID;
-
-  GLXContext = Pointer;
-  GLXPixmap = TXID;
-  GLXDrawable = TXID;
-  GLXContextID = TXID;
-  
-  TXPixmap = XPixmap;
-  TXFont = XFont;
-  TXColormap = XColormap;
-
-  TGLXContext = GLXContext;
-  TGLXPixmap = GLXPixmap;
-  TGLXDrawable = GLXDrawable;
-  TGLXContextID = GLXContextID;
-
-function glXChooseVisual(dpy: PDisplay; screen: Integer; attribList: PInteger): PXVisualInfo; cdecl; external dllname;
-function glXCreateContext(dpy: PDisplay; vis: PXVisualInfo; shareList: GLXContext; direct: Boolean): GLXContext; cdecl; external dllname;
-procedure glXDestroyContext(dpy: PDisplay; ctx: GLXContext); cdecl; external dllname;
-function glXMakeCurrent(dpy: PDisplay; drawable: GLXDrawable; ctx: GLXContext): Boolean; cdecl; external dllname;
-procedure glXCopyContext(dpy: PDisplay; src, dst: GLXContext; mask: LongWord); cdecl; external dllname;
-procedure glXSwapBuffers(dpy: PDisplay; drawable: GLXDrawable); cdecl; external dllname;
-function glXCreateGLXPixmap(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap): GLXPixmap; cdecl; external dllname;
-procedure glXDestroyGLXPixmap(dpy: PDisplay; pixmap: GLXPixmap); cdecl; external dllname;
-function glXQueryExtension(dpy: PDisplay; var errorb, event: Integer): Boolean; cdecl; external dllname;
-function glXQueryVersion(dpy: PDisplay; var maj, min: Integer): Boolean; cdecl; external dllname;
-function glXIsDirect(dpy: PDisplay; ctx: GLXContext): Boolean; cdecl; external dllname;
-function glXGetConfig(dpy: PDisplay; visual: PXVisualInfo; attrib: Integer; var value: Integer): Integer; cdecl; external dllname;
-function glXGetCurrentContext: GLXContext; cdecl; external dllname;
-function glXGetCurrentDrawable: GLXDrawable; cdecl; external dllname;
-procedure glXWaitGL; cdecl; external dllname;
-procedure glXWaitX; cdecl; external dllname;
-procedure glXUseXFont(font: XFont; first, count, list: Integer); cdecl; external dllname;
-
-// GLX 1.1 and later
-function glXQueryExtensionsString(dpy: PDisplay; screen: Integer): PChar; cdecl; external dllname;
-function glXQueryServerString(dpy: PDisplay; screen, name: Integer): PChar; cdecl; external dllname;
-function glXGetClientString(dpy: PDisplay; name: Integer): PChar; cdecl; external dllname;
-
-// Mesa GLX Extensions
-function glXCreateGLXPixmapMESA(dpy: PDisplay; visual: PXVisualInfo; pixmap: XPixmap; cmap: XColormap): GLXPixmap; cdecl; external dllname;
-function glXReleaseBufferMESA(dpy: PDisplay; d: GLXDrawable): Boolean; cdecl; external dllname;
-procedure glXCopySubBufferMESA(dpy: PDisplay; drawbale: GLXDrawable; x, y, width, height: Integer); cdecl; external dllname;
-function glXGetVideoSyncSGI(var counter: LongWord): Integer; cdecl; external dllname;
-function glXWaitVideoSyncSGI(divisor, remainder: Integer; var count: LongWord): Integer; cdecl; external dllname;
-
-implementation
-
-end.
diff --git a/lib/base/opengl/wingl.nim b/lib/base/opengl/wingl.nim
deleted file mode 100644
index 2cebf8622..000000000
--- a/lib/base/opengl/wingl.nim
+++ /dev/null
@@ -1,348 +0,0 @@
-
-import 
-  gl, windows
-
-proc wglGetExtensionsStringARB*(hdc: HDC): cstring{.dynlib: dllname, importc.}
-
-const 
-  WGL_FRONT_COLOR_BUFFER_BIT_ARB* = 0x00000001
-  WGL_BACK_COLOR_BUFFER_BIT_ARB* = 0x00000002
-  WGL_DEPTH_BUFFER_BIT_ARB* = 0x00000004
-  WGL_STENCIL_BUFFER_BIT_ARB* = 0x00000008
-
-proc WinChoosePixelFormat*(DC: HDC, p2: PPixelFormatDescriptor): int{.
-    dynlib: "gdi32", importc: "ChoosePixelFormat".}
-proc wglCreateBufferRegionARB*(hDC: HDC, iLayerPlane: TGLint, uType: TGLuint): THandle{.
-    dynlib: dllname, importc.}
-proc wglDeleteBufferRegionARB*(hRegion: THandle){.dynlib: dllname, importc.}
-proc wglSaveBufferRegionARB*(hRegion: THandle, x: TGLint, y: TGLint, 
-                             width: TGLint, height: TGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglRestoreBufferRegionARB*(hRegion: THandle, x: TGLint, y: TGLint, 
-                                width: TGLint, height: TGLint, xSrc: TGLint, 
-                                ySrc: TGLint): BOOL{.dynlib: dllname, importc.}
-proc wglAllocateMemoryNV*(size: TGLsizei, readFrequency: TGLfloat, 
-                          writeFrequency: TGLfloat, priority: TGLfloat): PGLvoid{.
-    dynlib: dllname, importc.}
-proc wglFreeMemoryNV*(pointer: PGLvoid){.dynlib: dllname, importc.}
-const 
-  WGL_IMAGE_BUFFER_MIN_ACCESS_I3D* = 0x00000001
-  WGL_IMAGE_BUFFER_LOCK_I3D* = 0x00000002
-
-proc wglCreateImageBufferI3D*(hDC: HDC, dwSize: DWORD, uFlags: UINT): PGLvoid{.
-    dynlib: dllname, importc.}
-proc wglDestroyImageBufferI3D*(hDC: HDC, pAddress: PGLvoid): BOOL{.
-    dynlib: dllname, importc.}
-proc wglAssociateImageBufferEventsI3D*(hdc: HDC, pEvent: PHandle, 
-                                       pAddress: PGLvoid, pSize: PDWORD, 
-                                       count: UINT): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglReleaseImageBufferEventsI3D*(hdc: HDC, pAddress: PGLvoid, count: UINT): BOOL{.
-    dynlib: dllname, importc.}
-proc wglEnableFrameLockI3D*(): BOOL{.dynlib: dllname, importc.}
-proc wglDisableFrameLockI3D*(): BOOL{.dynlib: dllname, importc.}
-proc wglIsEnabledFrameLockI3D*(pFlag: PBOOL): BOOL{.dynlib: dllname, importc.}
-proc wglQueryFrameLockMasterI3D*(pFlag: PBOOL): BOOL{.dynlib: dllname, importc.}
-proc wglGetFrameUsageI3D*(pUsage: PGLfloat): BOOL{.dynlib: dllname, importc.}
-proc wglBeginFrameTrackingI3D*(): BOOL{.dynlib: dllname, importc.}
-proc wglEndFrameTrackingI3D*(): BOOL{.dynlib: dllname, importc.}
-proc wglQueryFrameTrackingI3D*(pFrameCount: PDWORD, pMissedFrames: PDWORD, 
-                               pLastMissedUsage: PGLfloat): BOOL{.
-    dynlib: dllname, importc.}
-const 
-  WGL_NUMBER_PIXEL_FORMATS_ARB* = 0x00002000
-  WGL_DRAW_TO_WINDOW_ARB* = 0x00002001
-  WGL_DRAW_TO_BITMAP_ARB* = 0x00002002
-  WGL_ACCELERATION_ARB* = 0x00002003
-  WGL_NEED_PALETTE_ARB* = 0x00002004
-  WGL_NEED_SYSTEM_PALETTE_ARB* = 0x00002005
-  WGL_SWAP_LAYER_BUFFERS_ARB* = 0x00002006
-  WGL_SWAP_METHOD_ARB* = 0x00002007
-  WGL_NUMBER_OVERLAYS_ARB* = 0x00002008
-  WGL_NUMBER_UNDERLAYS_ARB* = 0x00002009
-  WGL_TRANSPARENT_ARB* = 0x0000200A
-  WGL_TRANSPARENT_RED_VALUE_ARB* = 0x00002037
-  WGL_TRANSPARENT_GREEN_VALUE_ARB* = 0x00002038
-  WGL_TRANSPARENT_BLUE_VALUE_ARB* = 0x00002039
-  WGL_TRANSPARENT_ALPHA_VALUE_ARB* = 0x0000203A
-  WGL_TRANSPARENT_INDEX_VALUE_ARB* = 0x0000203B
-  WGL_SHARE_DEPTH_ARB* = 0x0000200C
-  WGL_SHARE_STENCIL_ARB* = 0x0000200D
-  WGL_SHARE_ACCUM_ARB* = 0x0000200E
-  WGL_SUPPORT_GDI_ARB* = 0x0000200F
-  WGL_SUPPORT_OPENGL_ARB* = 0x00002010
-  WGL_DOUBLE_BUFFER_ARB* = 0x00002011
-  WGL_STEREO_ARB* = 0x00002012
-  WGL_PIXEL_TYPE_ARB* = 0x00002013
-  WGL_COLOR_BITS_ARB* = 0x00002014
-  WGL_RED_BITS_ARB* = 0x00002015
-  WGL_RED_SHIFT_ARB* = 0x00002016
-  WGL_GREEN_BITS_ARB* = 0x00002017
-  WGL_GREEN_SHIFT_ARB* = 0x00002018
-  WGL_BLUE_BITS_ARB* = 0x00002019
-  WGL_BLUE_SHIFT_ARB* = 0x0000201A
-  WGL_ALPHA_BITS_ARB* = 0x0000201B
-  WGL_ALPHA_SHIFT_ARB* = 0x0000201C
-  WGL_ACCUM_BITS_ARB* = 0x0000201D
-  WGL_ACCUM_RED_BITS_ARB* = 0x0000201E
-  WGL_ACCUM_GREEN_BITS_ARB* = 0x0000201F
-  WGL_ACCUM_BLUE_BITS_ARB* = 0x00002020
-  WGL_ACCUM_ALPHA_BITS_ARB* = 0x00002021
-  WGL_DEPTH_BITS_ARB* = 0x00002022
-  WGL_STENCIL_BITS_ARB* = 0x00002023
-  WGL_AUX_BUFFERS_ARB* = 0x00002024
-  WGL_NO_ACCELERATION_ARB* = 0x00002025
-  WGL_GENERIC_ACCELERATION_ARB* = 0x00002026
-  WGL_FULL_ACCELERATION_ARB* = 0x00002027
-  WGL_SWAP_EXCHANGE_ARB* = 0x00002028
-  WGL_SWAP_COPY_ARB* = 0x00002029
-  WGL_SWAP_UNDEFINED_ARB* = 0x0000202A
-  WGL_TYPE_RGBA_ARB* = 0x0000202B
-  WGL_TYPE_COLORINDEX_ARB* = 0x0000202C
-
-proc wglGetPixelFormatAttribivARB*(hdc: HDC, iPixelFormat: TGLint, 
-                                   iLayerPlane: TGLint, nAttributes: TGLuint, 
-                                   piAttributes: PGLint, piValues: PGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGetPixelFormatAttribfvARB*(hdc: HDC, iPixelFormat: TGLint, 
-                                   iLayerPlane: TGLint, nAttributes: TGLuint, 
-                                   piAttributes: PGLint, pfValues: PGLfloat): BOOL{.
-    dynlib: dllname, importc.}
-proc wglChoosePixelFormatARB*(hdc: HDC, piAttribIList: PGLint, 
-                              pfAttribFList: PGLfloat, nMaxFormats: TGLuint, 
-                              piFormats: PGLint, nNumFormats: PGLuint): BOOL{.
-    dynlib: dllname, importc.}
-const 
-  WGL_ERROR_INVALID_PIXEL_TYPE_ARB* = 0x00002043
-  WGL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB* = 0x00002054
-
-proc wglMakeContextCurrentARB*(hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGetCurrentReadDCARB*(): HDC{.dynlib: dllname, importc.}
-const 
-  WGL_DRAW_TO_PBUFFER_ARB* = 0x0000202D # WGL_DRAW_TO_PBUFFER_ARB  { already defined }
-  WGL_MAX_PBUFFER_PIXELS_ARB* = 0x0000202E
-  WGL_MAX_PBUFFER_WIDTH_ARB* = 0x0000202F
-  WGL_MAX_PBUFFER_HEIGHT_ARB* = 0x00002030
-  WGL_PBUFFER_LARGEST_ARB* = 0x00002033
-  WGL_PBUFFER_WIDTH_ARB* = 0x00002034
-  WGL_PBUFFER_HEIGHT_ARB* = 0x00002035
-  WGL_PBUFFER_LOST_ARB* = 0x00002036
-
-proc wglCreatePbufferARB*(hDC: HDC, iPixelFormat: TGLint, iWidth: TGLint, 
-                          iHeight: TGLint, piAttribList: PGLint): THandle{.
-    dynlib: dllname, importc.}
-proc wglGetPbufferDCARB*(hPbuffer: THandle): HDC{.dynlib: dllname, importc.}
-proc wglReleasePbufferDCARB*(hPbuffer: THandle, hDC: HDC): TGLint{.
-    dynlib: dllname, importc.}
-proc wglDestroyPbufferARB*(hPbuffer: THandle): BOOL{.dynlib: dllname, importc.}
-proc wglQueryPbufferARB*(hPbuffer: THandle, iAttribute: TGLint, piValue: PGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglSwapIntervalEXT*(interval: TGLint): BOOL{.dynlib: dllname, importc.}
-proc wglGetSwapIntervalEXT*(): TGLint{.dynlib: dllname, importc.}
-const 
-  WGL_BIND_TO_TEXTURE_RGB_ARB* = 0x00002070
-  WGL_BIND_TO_TEXTURE_RGBA_ARB* = 0x00002071
-  WGL_TEXTURE_FORMAT_ARB* = 0x00002072
-  WGL_TEXTURE_TARGET_ARB* = 0x00002073
-  WGL_MIPMAP_TEXTURE_ARB* = 0x00002074
-  WGL_TEXTURE_RGB_ARB* = 0x00002075
-  WGL_TEXTURE_RGBA_ARB* = 0x00002076
-  WGL_NO_TEXTURE_ARB* = 0x00002077
-  WGL_TEXTURE_CUBE_MAP_ARB* = 0x00002078
-  WGL_TEXTURE_1D_ARB* = 0x00002079
-  WGL_TEXTURE_2D_ARB* = 0x0000207A # WGL_NO_TEXTURE_ARB  { already defined }
-  WGL_MIPMAP_LEVEL_ARB* = 0x0000207B
-  WGL_CUBE_MAP_FACE_ARB* = 0x0000207C
-  WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB* = 0x0000207D
-  WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB* = 0x0000207E
-  WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB* = 0x0000207F
-  WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB* = 0x00002080
-  WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB* = 0x00002081
-  WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB* = 0x00002082
-  WGL_FRONT_LEFT_ARB* = 0x00002083
-  WGL_FRONT_RIGHT_ARB* = 0x00002084
-  WGL_BACK_LEFT_ARB* = 0x00002085
-  WGL_BACK_RIGHT_ARB* = 0x00002086
-  WGL_AUX0_ARB* = 0x00002087
-  WGL_AUX1_ARB* = 0x00002088
-  WGL_AUX2_ARB* = 0x00002089
-  WGL_AUX3_ARB* = 0x0000208A
-  WGL_AUX4_ARB* = 0x0000208B
-  WGL_AUX5_ARB* = 0x0000208C
-  WGL_AUX6_ARB* = 0x0000208D
-  WGL_AUX7_ARB* = 0x0000208E
-  WGL_AUX8_ARB* = 0x0000208F
-  WGL_AUX9_ARB* = 0x00002090
-
-proc wglBindTexImageARB*(hPbuffer: THandle, iBuffer: TGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglReleaseTexImageARB*(hPbuffer: THandle, iBuffer: TGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglSetPbufferAttribARB*(hPbuffer: THandle, piAttribList: PGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGetExtensionsStringEXT*(): cstring{.dynlib: dllname, importc.}
-proc wglMakeContextCurrentEXT*(hDrawDC: HDC, hReadDC: HDC, hglrc: HGLRC): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGetCurrentReadDCEXT*(): HDC{.dynlib: dllname, importc.}
-const 
-  WGL_DRAW_TO_PBUFFER_EXT* = 0x0000202D
-  WGL_MAX_PBUFFER_PIXELS_EXT* = 0x0000202E
-  WGL_MAX_PBUFFER_WIDTH_EXT* = 0x0000202F
-  WGL_MAX_PBUFFER_HEIGHT_EXT* = 0x00002030
-  WGL_OPTIMAL_PBUFFER_WIDTH_EXT* = 0x00002031
-  WGL_OPTIMAL_PBUFFER_HEIGHT_EXT* = 0x00002032
-  WGL_PBUFFER_LARGEST_EXT* = 0x00002033
-  WGL_PBUFFER_WIDTH_EXT* = 0x00002034
-  WGL_PBUFFER_HEIGHT_EXT* = 0x00002035
-
-proc wglCreatePbufferEXT*(hDC: HDC, iPixelFormat: TGLint, iWidth: TGLint, 
-                          iHeight: TGLint, piAttribList: PGLint): THandle{.
-    dynlib: dllname, importc.}
-proc wglGetPbufferDCEXT*(hPbuffer: THandle): HDC{.dynlib: dllname, importc.}
-proc wglReleasePbufferDCEXT*(hPbuffer: THandle, hDC: HDC): TGLint{.
-    dynlib: dllname, importc.}
-proc wglDestroyPbufferEXT*(hPbuffer: THandle): BOOL{.dynlib: dllname, importc.}
-proc wglQueryPbufferEXT*(hPbuffer: THandle, iAttribute: TGLint, piValue: PGLint): BOOL{.
-    dynlib: dllname, importc.}
-const 
-  WGL_NUMBER_PIXEL_FORMATS_EXT* = 0x00002000
-  WGL_DRAW_TO_WINDOW_EXT* = 0x00002001
-  WGL_DRAW_TO_BITMAP_EXT* = 0x00002002
-  WGL_ACCELERATION_EXT* = 0x00002003
-  WGL_NEED_PALETTE_EXT* = 0x00002004
-  WGL_NEED_SYSTEM_PALETTE_EXT* = 0x00002005
-  WGL_SWAP_LAYER_BUFFERS_EXT* = 0x00002006
-  WGL_SWAP_METHOD_EXT* = 0x00002007
-  WGL_NUMBER_OVERLAYS_EXT* = 0x00002008
-  WGL_NUMBER_UNDERLAYS_EXT* = 0x00002009
-  WGL_TRANSPARENT_EXT* = 0x0000200A
-  WGL_TRANSPARENT_VALUE_EXT* = 0x0000200B
-  WGL_SHARE_DEPTH_EXT* = 0x0000200C
-  WGL_SHARE_STENCIL_EXT* = 0x0000200D
-  WGL_SHARE_ACCUM_EXT* = 0x0000200E
-  WGL_SUPPORT_GDI_EXT* = 0x0000200F
-  WGL_SUPPORT_OPENGL_EXT* = 0x00002010
-  WGL_DOUBLE_BUFFER_EXT* = 0x00002011
-  WGL_STEREO_EXT* = 0x00002012
-  WGL_PIXEL_TYPE_EXT* = 0x00002013
-  WGL_COLOR_BITS_EXT* = 0x00002014
-  WGL_RED_BITS_EXT* = 0x00002015
-  WGL_RED_SHIFT_EXT* = 0x00002016
-  WGL_GREEN_BITS_EXT* = 0x00002017
-  WGL_GREEN_SHIFT_EXT* = 0x00002018
-  WGL_BLUE_BITS_EXT* = 0x00002019
-  WGL_BLUE_SHIFT_EXT* = 0x0000201A
-  WGL_ALPHA_BITS_EXT* = 0x0000201B
-  WGL_ALPHA_SHIFT_EXT* = 0x0000201C
-  WGL_ACCUM_BITS_EXT* = 0x0000201D
-  WGL_ACCUM_RED_BITS_EXT* = 0x0000201E
-  WGL_ACCUM_GREEN_BITS_EXT* = 0x0000201F
-  WGL_ACCUM_BLUE_BITS_EXT* = 0x00002020
-  WGL_ACCUM_ALPHA_BITS_EXT* = 0x00002021
-  WGL_DEPTH_BITS_EXT* = 0x00002022
-  WGL_STENCIL_BITS_EXT* = 0x00002023
-  WGL_AUX_BUFFERS_EXT* = 0x00002024
-  WGL_NO_ACCELERATION_EXT* = 0x00002025
-  WGL_GENERIC_ACCELERATION_EXT* = 0x00002026
-  WGL_FULL_ACCELERATION_EXT* = 0x00002027
-  WGL_SWAP_EXCHANGE_EXT* = 0x00002028
-  WGL_SWAP_COPY_EXT* = 0x00002029
-  WGL_SWAP_UNDEFINED_EXT* = 0x0000202A
-  WGL_TYPE_RGBA_EXT* = 0x0000202B
-  WGL_TYPE_COLORINDEX_EXT* = 0x0000202C
-
-proc wglGetPixelFormatAttribivEXT*(hdc: HDC, iPixelFormat: TGLint, 
-                                   iLayerPlane: TGLint, nAttributes: TGLuint, 
-                                   piAttributes: PGLint, piValues: PGLint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGetPixelFormatAttribfvEXT*(hdc: HDC, iPixelFormat: TGLint, 
-                                   iLayerPlane: TGLint, nAttributes: TGLuint, 
-                                   piAttributes: PGLint, pfValues: PGLfloat): BOOL{.
-    dynlib: dllname, importc.}
-proc wglChoosePixelFormatEXT*(hdc: HDC, piAttribIList: PGLint, 
-                              pfAttribFList: PGLfloat, nMaxFormats: TGLuint, 
-                              piFormats: PGLint, nNumFormats: PGLuint): BOOL{.
-    dynlib: dllname, importc.}
-const 
-  WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D* = 0x00002050
-  WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D* = 0x00002051
-  WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D* = 0x00002052
-  WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D* = 0x00002053
-
-proc wglGetDigitalVideoParametersI3D*(hDC: HDC, iAttribute: TGLint, 
-                                      piValue: PGLint): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglSetDigitalVideoParametersI3D*(hDC: HDC, iAttribute: TGLint, 
-                                      piValue: PGLint): BOOL{.dynlib: dllname, 
-    importc.}
-const 
-  WGL_GAMMA_TABLE_SIZE_I3D* = 0x0000204E
-  WGL_GAMMA_EXCLUDE_DESKTOP_I3D* = 0x0000204F
-
-proc wglGetGammaTableParametersI3D*(hDC: HDC, iAttribute: TGLint, 
-                                    piValue: PGLint): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglSetGammaTableParametersI3D*(hDC: HDC, iAttribute: TGLint, 
-                                    piValue: PGLint): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglGetGammaTableI3D*(hDC: HDC, iEntries: TGLint, puRed: PGLUSHORT, 
-                          puGreen: PGLUSHORT, puBlue: PGLUSHORT): BOOL{.
-    dynlib: dllname, importc.}
-proc wglSetGammaTableI3D*(hDC: HDC, iEntries: TGLint, puRed: PGLUSHORT, 
-                          puGreen: PGLUSHORT, puBlue: PGLUSHORT): BOOL{.
-    dynlib: dllname, importc.}
-const 
-  WGL_GENLOCK_SOURCE_MULTIVIEW_I3D* = 0x00002044
-  WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D* = 0x00002045
-  WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D* = 0x00002046
-  WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D* = 0x00002047
-  WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D* = 0x00002048
-  WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D* = 0x00002049
-  WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D* = 0x0000204A
-  WGL_GENLOCK_SOURCE_EDGE_RISING_I3D* = 0x0000204B
-  WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D* = 0x0000204C
-  WGL_FLOAT_COMPONENTS_NV* = 0x000020B0
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV* = 0x000020B1
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV* = 0x000020B2
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV* = 0x000020B3
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV* = 0x000020B4
-  WGL_TEXTURE_FLOAT_R_NV* = 0x000020B5
-  WGL_TEXTURE_FLOAT_RG_NV* = 0x000020B6
-  WGL_TEXTURE_FLOAT_RGB_NV* = 0x000020B7
-  WGL_TEXTURE_FLOAT_RGBA_NV* = 0x000020B8
-
-proc wglEnableGenlockI3D*(hDC: HDC): BOOL{.dynlib: dllname, importc.}
-proc wglDisableGenlockI3D*(hDC: HDC): BOOL{.dynlib: dllname, importc.}
-proc wglIsEnabledGenlockI3D*(hDC: HDC, pFlag: PBOOL): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglGenlockSourceI3D*(hDC: HDC, uSource: TGLuint): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglGetGenlockSourceI3D*(hDC: HDC, uSource: PGLUINT): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglGenlockSourceEdgeI3D*(hDC: HDC, uEdge: TGLuint): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglGetGenlockSourceEdgeI3D*(hDC: HDC, uEdge: PGLUINT): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGenlockSampleRateI3D*(hDC: HDC, uRate: TGLuint): BOOL{.dynlib: dllname, 
-    importc.}
-proc wglGetGenlockSampleRateI3D*(hDC: HDC, uRate: PGLUINT): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGenlockSourceDelayI3D*(hDC: HDC, uDelay: TGLuint): BOOL{.
-    dynlib: dllname, importc.}
-proc wglGetGenlockSourceDelayI3D*(hDC: HDC, uDelay: PGLUINT): BOOL{.
-    dynlib: dllname, importc.}
-proc wglQueryGenlockMaxSourceDelayI3D*(hDC: HDC, uMaxLineDelay: PGLUINT, 
-                                       uMaxPixelDelay: PGLUINT): BOOL{.
-    dynlib: dllname, importc.}
-const 
-  WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV* = 0x000020A0
-  WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV* = 0x000020A1
-  WGL_TEXTURE_RECTANGLE_NV* = 0x000020A2
-
-const 
-  WGL_RGBA_FLOAT_MODE_ATI* = 0x00008820
-  WGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI* = 0x00008835
-  WGL_TYPE_RGBA_FLOAT_ATI* = 0x000021A0
-
-# implementation
diff --git a/lib/base/opengl/wingl.pp b/lib/base/opengl/wingl.pp
deleted file mode 100644
index 70be6674e..000000000
--- a/lib/base/opengl/wingl.pp
+++ /dev/null
@@ -1,313 +0,0 @@
-unit wingl;
-
-interface
-
-uses gl;
-
-function wglGetExtensionsStringARB(hdc: HDC): Pchar; external dllname;
-
-function Load_WGL_ARB_extensions_string: Boolean; external dllname;
-
-const
-  WGL_FRONT_COLOR_BUFFER_BIT_ARB = $0001;
-  WGL_BACK_COLOR_BUFFER_BIT_ARB = $0002;
-  WGL_DEPTH_BUFFER_BIT_ARB = $0004;
-  WGL_STENCIL_BUFFER_BIT_ARB = $0008;
-  
-function WinChoosePixelFormat(DC: HDC; p2: PPixelFormatDescriptor): Integer; external dllname; external 'gdi32' name 'ChoosePixelFormat';
-
-function wglCreateBufferRegionARB(hDC: HDC; iLayerPlane: TGLint; uType: TGLuint): THandle; external dllname;
-procedure wglDeleteBufferRegionARB(hRegion: THandle); external dllname;
-function wglSaveBufferRegionARB(hRegion: THandle; x: TGLint; y: TGLint; width: TGLint; height: TGLint): BOOL; external dllname;
-function wglRestoreBufferRegionARB(hRegion: THandle; x: TGLint; y: TGLint; width: TGLint; height: TGLint; xSrc: TGLint; ySrc: TGLint): BOOL; external dllname;
-
-  function wglAllocateMemoryNV(size: TGLsizei; readFrequency: TGLfloat; writeFrequency: TGLfloat; priority: TGLfloat): PGLvoid; external dllname;
-  procedure wglFreeMemoryNV(pointer: PGLvoid); external dllname;
-
-const
-  WGL_IMAGE_BUFFER_MIN_ACCESS_I3D = $0001;
-  WGL_IMAGE_BUFFER_LOCK_I3D = $0002;
-
-  function wglCreateImageBufferI3D(hDC: HDC; dwSize: DWORD; uFlags: UINT): PGLvoid; external dllname;
-  function wglDestroyImageBufferI3D(hDC: HDC; pAddress: PGLvoid): BOOL; external dllname;
-  function wglAssociateImageBufferEventsI3D(hdc: HDC; pEvent: PHandle; pAddress: PGLvoid; pSize: PDWORD; count: UINT): BOOL; external dllname;
-  function wglReleaseImageBufferEventsI3D(hdc: HDC; pAddress: PGLvoid; count: UINT): BOOL; external dllname;
-
-  function wglEnableFrameLockI3D(): BOOL; external dllname;
-  function wglDisableFrameLockI3D(): BOOL; external dllname;
-  function wglIsEnabledFrameLockI3D(pFlag: PBOOL): BOOL; external dllname;
-  function wglQueryFrameLockMasterI3D(pFlag: PBOOL): BOOL; external dllname;
-
-  function wglGetFrameUsageI3D(pUsage: PGLfloat): BOOL; external dllname;
-  function wglBeginFrameTrackingI3D(): BOOL; external dllname;
-  function wglEndFrameTrackingI3D(): BOOL; external dllname;
-  function wglQueryFrameTrackingI3D(pFrameCount: PDWORD; pMissedFrames: PDWORD; pLastMissedUsage: PGLfloat): BOOL; external dllname;
-
-const
-  WGL_NUMBER_PIXEL_FORMATS_ARB = $2000;
-  WGL_DRAW_TO_WINDOW_ARB = $2001;
-  WGL_DRAW_TO_BITMAP_ARB = $2002;
-  WGL_ACCELERATION_ARB = $2003;
-  WGL_NEED_PALETTE_ARB = $2004;
-  WGL_NEED_SYSTEM_PALETTE_ARB = $2005;
-  WGL_SWAP_LAYER_BUFFERS_ARB = $2006;
-  WGL_SWAP_METHOD_ARB = $2007;
-  WGL_NUMBER_OVERLAYS_ARB = $2008;
-  WGL_NUMBER_UNDERLAYS_ARB = $2009;
-  WGL_TRANSPARENT_ARB = $200A;
-  WGL_TRANSPARENT_RED_VALUE_ARB = $2037;
-  WGL_TRANSPARENT_GREEN_VALUE_ARB = $2038;
-  WGL_TRANSPARENT_BLUE_VALUE_ARB = $2039;
-  WGL_TRANSPARENT_ALPHA_VALUE_ARB = $203A;
-  WGL_TRANSPARENT_INDEX_VALUE_ARB = $203B;
-  WGL_SHARE_DEPTH_ARB = $200C;
-  WGL_SHARE_STENCIL_ARB = $200D;
-  WGL_SHARE_ACCUM_ARB = $200E;
-  WGL_SUPPORT_GDI_ARB = $200F;
-  WGL_SUPPORT_OPENGL_ARB = $2010;
-  WGL_DOUBLE_BUFFER_ARB = $2011;
-  WGL_STEREO_ARB = $2012;
-  WGL_PIXEL_TYPE_ARB = $2013;
-  WGL_COLOR_BITS_ARB = $2014;
-  WGL_RED_BITS_ARB = $2015;
-  WGL_RED_SHIFT_ARB = $2016;
-  WGL_GREEN_BITS_ARB = $2017;
-  WGL_GREEN_SHIFT_ARB = $2018;
-  WGL_BLUE_BITS_ARB = $2019;
-  WGL_BLUE_SHIFT_ARB = $201A;
-  WGL_ALPHA_BITS_ARB = $201B;
-  WGL_ALPHA_SHIFT_ARB = $201C;
-  WGL_ACCUM_BITS_ARB = $201D;
-  WGL_ACCUM_RED_BITS_ARB = $201E;
-  WGL_ACCUM_GREEN_BITS_ARB = $201F;
-  WGL_ACCUM_BLUE_BITS_ARB = $2020;
-  WGL_ACCUM_ALPHA_BITS_ARB = $2021;
-  WGL_DEPTH_BITS_ARB = $2022;
-  WGL_STENCIL_BITS_ARB = $2023;
-  WGL_AUX_BUFFERS_ARB = $2024;
-  WGL_NO_ACCELERATION_ARB = $2025;
-  WGL_GENERIC_ACCELERATION_ARB = $2026;
-  WGL_FULL_ACCELERATION_ARB = $2027;
-  WGL_SWAP_EXCHANGE_ARB = $2028;
-  WGL_SWAP_COPY_ARB = $2029;
-  WGL_SWAP_UNDEFINED_ARB = $202A;
-  WGL_TYPE_RGBA_ARB = $202B;
-  WGL_TYPE_COLORINDEX_ARB = $202C;
-
-  function wglGetPixelFormatAttribivARB(hdc: HDC; iPixelFormat: TGLint; iLayerPlane: TGLint; nAttributes: TGLuint; const piAttributes: PGLint; piValues: PGLint): BOOL; external dllname;
-  function wglGetPixelFormatAttribfvARB(hdc: HDC; iPixelFormat: TGLint; iLayerPlane: TGLint; nAttributes: TGLuint; const piAttributes: PGLint; pfValues: PGLfloat): BOOL; external dllname;
-  function wglChoosePixelFormatARB(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: TGLuint; piFormats: PGLint; nNumFormats: PGLuint): BOOL; external dllname;
-
-
-const
-  WGL_ERROR_INVALID_PIXEL_TYPE_ARB = $2043;
-  WGL_ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB = $2054;
-
-  function wglMakeContextCurrentARB(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): BOOL; external dllname;
-  function wglGetCurrentReadDCARB(): HDC; external dllname;
-
-function Load_WGL_ARB_make_current_read: Boolean;
-
-const
-  WGL_DRAW_TO_PBUFFER_ARB = $202D;
-  // WGL_DRAW_TO_PBUFFER_ARB  { already defined }
-  WGL_MAX_PBUFFER_PIXELS_ARB = $202E;
-  WGL_MAX_PBUFFER_WIDTH_ARB = $202F;
-  WGL_MAX_PBUFFER_HEIGHT_ARB = $2030;
-  WGL_PBUFFER_LARGEST_ARB = $2033;
-  WGL_PBUFFER_WIDTH_ARB = $2034;
-  WGL_PBUFFER_HEIGHT_ARB = $2035;
-  WGL_PBUFFER_LOST_ARB = $2036;
-
-  function wglCreatePbufferARB(hDC: HDC; iPixelFormat: TGLint; iWidth: TGLint; iHeight: TGLint; const piAttribList: PGLint): THandle; external dllname;
-  function wglGetPbufferDCARB(hPbuffer: THandle): HDC; external dllname;
-  function wglReleasePbufferDCARB(hPbuffer: THandle; hDC: HDC): TGLint; external dllname;
-  function wglDestroyPbufferARB(hPbuffer: THandle): BOOL; external dllname;
-  function wglQueryPbufferARB(hPbuffer: THandle; iAttribute: TGLint; piValue: PGLint): BOOL; external dllname;
-
-
-  function wglSwapIntervalEXT(interval: TGLint): BOOL; external dllname;
-  function wglGetSwapIntervalEXT(): TGLint; external dllname;
-
-const
-  WGL_BIND_TO_TEXTURE_RGB_ARB = $2070;
-  WGL_BIND_TO_TEXTURE_RGBA_ARB = $2071;
-  WGL_TEXTURE_FORMAT_ARB = $2072;
-  WGL_TEXTURE_TARGET_ARB = $2073;
-  WGL_MIPMAP_TEXTURE_ARB = $2074;
-  WGL_TEXTURE_RGB_ARB = $2075;
-  WGL_TEXTURE_RGBA_ARB = $2076;
-  WGL_NO_TEXTURE_ARB = $2077;
-  WGL_TEXTURE_CUBE_MAP_ARB = $2078;
-  WGL_TEXTURE_1D_ARB = $2079;
-  WGL_TEXTURE_2D_ARB = $207A;
-  // WGL_NO_TEXTURE_ARB  { already defined }
-  WGL_MIPMAP_LEVEL_ARB = $207B;
-  WGL_CUBE_MAP_FACE_ARB = $207C;
-  WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = $207D;
-  WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = $207E;
-  WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = $207F;
-  WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = $2080;
-  WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = $2081;
-  WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = $2082;
-  WGL_FRONT_LEFT_ARB = $2083;
-  WGL_FRONT_RIGHT_ARB = $2084;
-  WGL_BACK_LEFT_ARB = $2085;
-  WGL_BACK_RIGHT_ARB = $2086;
-  WGL_AUX0_ARB = $2087;
-  WGL_AUX1_ARB = $2088;
-  WGL_AUX2_ARB = $2089;
-  WGL_AUX3_ARB = $208A;
-  WGL_AUX4_ARB = $208B;
-  WGL_AUX5_ARB = $208C;
-  WGL_AUX6_ARB = $208D;
-  WGL_AUX7_ARB = $208E;
-  WGL_AUX8_ARB = $208F;
-  WGL_AUX9_ARB = $2090;
-
-  function wglBindTexImageARB(hPbuffer: THandle; iBuffer: TGLint): BOOL; external dllname;
-  function wglReleaseTexImageARB(hPbuffer: THandle; iBuffer: TGLint): BOOL; external dllname;
-  function wglSetPbufferAttribARB(hPbuffer: THandle; const piAttribList: PGLint): BOOL; external dllname;
-
-
-  function wglGetExtensionsStringEXT(): Pchar; external dllname;
-
-  function wglMakeContextCurrentEXT(hDrawDC: HDC; hReadDC: HDC; hglrc: HGLRC): BOOL; external dllname;
-  function wglGetCurrentReadDCEXT(): HDC; external dllname;
-
-const
-  WGL_DRAW_TO_PBUFFER_EXT = $202D;
-  WGL_MAX_PBUFFER_PIXELS_EXT = $202E;
-  WGL_MAX_PBUFFER_WIDTH_EXT = $202F;
-  WGL_MAX_PBUFFER_HEIGHT_EXT = $2030;
-  WGL_OPTIMAL_PBUFFER_WIDTH_EXT = $2031;
-  WGL_OPTIMAL_PBUFFER_HEIGHT_EXT = $2032;
-  WGL_PBUFFER_LARGEST_EXT = $2033;
-  WGL_PBUFFER_WIDTH_EXT = $2034;
-  WGL_PBUFFER_HEIGHT_EXT = $2035;
-
-  function wglCreatePbufferEXT(hDC: HDC; iPixelFormat: TGLint; iWidth: TGLint; iHeight: TGLint; const piAttribList: PGLint): THandle; external dllname;
-  function wglGetPbufferDCEXT(hPbuffer: THandle): HDC; external dllname;
-  function wglReleasePbufferDCEXT(hPbuffer: THandle; hDC: HDC): TGLint; external dllname;
-  function wglDestroyPbufferEXT(hPbuffer: THandle): BOOL; external dllname;
-  function wglQueryPbufferEXT(hPbuffer: THandle; iAttribute: TGLint; piValue: PGLint): BOOL; external dllname;
-
-const
-  WGL_NUMBER_PIXEL_FORMATS_EXT = $2000;
-  WGL_DRAW_TO_WINDOW_EXT = $2001;
-  WGL_DRAW_TO_BITMAP_EXT = $2002;
-  WGL_ACCELERATION_EXT = $2003;
-  WGL_NEED_PALETTE_EXT = $2004;
-  WGL_NEED_SYSTEM_PALETTE_EXT = $2005;
-  WGL_SWAP_LAYER_BUFFERS_EXT = $2006;
-  WGL_SWAP_METHOD_EXT = $2007;
-  WGL_NUMBER_OVERLAYS_EXT = $2008;
-  WGL_NUMBER_UNDERLAYS_EXT = $2009;
-  WGL_TRANSPARENT_EXT = $200A;
-  WGL_TRANSPARENT_VALUE_EXT = $200B;
-  WGL_SHARE_DEPTH_EXT = $200C;
-  WGL_SHARE_STENCIL_EXT = $200D;
-  WGL_SHARE_ACCUM_EXT = $200E;
-  WGL_SUPPORT_GDI_EXT = $200F;
-  WGL_SUPPORT_OPENGL_EXT = $2010;
-  WGL_DOUBLE_BUFFER_EXT = $2011;
-  WGL_STEREO_EXT = $2012;
-  WGL_PIXEL_TYPE_EXT = $2013;
-  WGL_COLOR_BITS_EXT = $2014;
-  WGL_RED_BITS_EXT = $2015;
-  WGL_RED_SHIFT_EXT = $2016;
-  WGL_GREEN_BITS_EXT = $2017;
-  WGL_GREEN_SHIFT_EXT = $2018;
-  WGL_BLUE_BITS_EXT = $2019;
-  WGL_BLUE_SHIFT_EXT = $201A;
-  WGL_ALPHA_BITS_EXT = $201B;
-  WGL_ALPHA_SHIFT_EXT = $201C;
-  WGL_ACCUM_BITS_EXT = $201D;
-  WGL_ACCUM_RED_BITS_EXT = $201E;
-  WGL_ACCUM_GREEN_BITS_EXT = $201F;
-  WGL_ACCUM_BLUE_BITS_EXT = $2020;
-  WGL_ACCUM_ALPHA_BITS_EXT = $2021;
-  WGL_DEPTH_BITS_EXT = $2022;
-  WGL_STENCIL_BITS_EXT = $2023;
-  WGL_AUX_BUFFERS_EXT = $2024;
-  WGL_NO_ACCELERATION_EXT = $2025;
-  WGL_GENERIC_ACCELERATION_EXT = $2026;
-  WGL_FULL_ACCELERATION_EXT = $2027;
-  WGL_SWAP_EXCHANGE_EXT = $2028;
-  WGL_SWAP_COPY_EXT = $2029;
-  WGL_SWAP_UNDEFINED_EXT = $202A;
-  WGL_TYPE_RGBA_EXT = $202B;
-  WGL_TYPE_COLORINDEX_EXT = $202C;
-
-  function wglGetPixelFormatAttribivEXT(hdc: HDC; iPixelFormat: TGLint; iLayerPlane: TGLint; nAttributes: TGLuint; piAttributes: PGLint; piValues: PGLint): BOOL; external dllname;
-  function wglGetPixelFormatAttribfvEXT(hdc: HDC; iPixelFormat: TGLint; iLayerPlane: TGLint; nAttributes: TGLuint; piAttributes: PGLint; pfValues: PGLfloat): BOOL; external dllname;
-  function wglChoosePixelFormatEXT(hdc: HDC; const piAttribIList: PGLint; const pfAttribFList: PGLfloat; nMaxFormats: TGLuint; piFormats: PGLint; nNumFormats: PGLuint): BOOL; external dllname;
-
-
-const
-  WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D = $2050;
-  WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D = $2051;
-  WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D = $2052;
-  WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D = $2053;
-
-  function wglGetDigitalVideoParametersI3D(hDC: HDC; iAttribute: TGLint; piValue: PGLint): BOOL; external dllname;
-  function wglSetDigitalVideoParametersI3D(hDC: HDC; iAttribute: TGLint; const piValue: PGLint): BOOL; external dllname;
-
-
-const
-  WGL_GAMMA_TABLE_SIZE_I3D = $204E;
-  WGL_GAMMA_EXCLUDE_DESKTOP_I3D = $204F;
-
-  function wglGetGammaTableParametersI3D(hDC: HDC; iAttribute: TGLint; piValue: PGLint): BOOL; external dllname;
-  function wglSetGammaTableParametersI3D(hDC: HDC; iAttribute: TGLint; const piValue: PGLint): BOOL; external dllname;
-  function wglGetGammaTableI3D(hDC: HDC; iEntries: TGLint; puRed: PGLUSHORT; puGreen: PGLUSHORT; puBlue: PGLUSHORT): BOOL; external dllname;
-  function wglSetGammaTableI3D(hDC: HDC; iEntries: TGLint; const puRed: PGLUSHORT; const puGreen: PGLUSHORT; const puBlue: PGLUSHORT): BOOL; external dllname;
-
-const
-  WGL_GENLOCK_SOURCE_MULTIVIEW_I3D = $2044;
-  WGL_GENLOCK_SOURCE_EXTERNAL_SYNC_I3D = $2045;
-  WGL_GENLOCK_SOURCE_EXTERNAL_FIELD_I3D = $2046;
-  WGL_GENLOCK_SOURCE_EXTERNAL_TTL_I3D = $2047;
-  WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D = $2048;
-  WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D = $2049;
-  WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D = $204A;
-  WGL_GENLOCK_SOURCE_EDGE_RISING_I3D = $204B;
-  WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D = $204C;
-
-  WGL_FLOAT_COMPONENTS_NV = $20B0;
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV = $20B1;
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV = $20B2;
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV = $20B3;
-  WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV = $20B4;
-  WGL_TEXTURE_FLOAT_R_NV = $20B5;
-  WGL_TEXTURE_FLOAT_RG_NV = $20B6;
-  WGL_TEXTURE_FLOAT_RGB_NV = $20B7;
-  WGL_TEXTURE_FLOAT_RGBA_NV = $20B8;
-
-  function wglEnableGenlockI3D(hDC: HDC): BOOL; external dllname;
-  function wglDisableGenlockI3D(hDC: HDC): BOOL; external dllname;
-  function wglIsEnabledGenlockI3D(hDC: HDC; pFlag: PBOOL): BOOL; external dllname;
-  function wglGenlockSourceI3D(hDC: HDC; uSource: TGLuint): BOOL; external dllname;
-  function wglGetGenlockSourceI3D(hDC: HDC; uSource: PGLUINT): BOOL; external dllname;
-  function wglGenlockSourceEdgeI3D(hDC: HDC; uEdge: TGLuint): BOOL; external dllname;
-  function wglGetGenlockSourceEdgeI3D(hDC: HDC; uEdge: PGLUINT): BOOL; external dllname;
-  function wglGenlockSampleRateI3D(hDC: HDC; uRate: TGLuint): BOOL; external dllname;
-  function wglGetGenlockSampleRateI3D(hDC: HDC; uRate: PGLUINT): BOOL; external dllname;
-  function wglGenlockSourceDelayI3D(hDC: HDC; uDelay: TGLuint): BOOL; external dllname;
-  function wglGetGenlockSourceDelayI3D(hDC: HDC; uDelay: PGLUINT): BOOL; external dllname;
-  function wglQueryGenlockMaxSourceDelayI3D(hDC: HDC; uMaxLineDelay: PGLUINT; uMaxPixelDelay: PGLUINT): BOOL; external dllname;
-
-const
-  WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV = $20A0;
-  WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV = $20A1;
-  WGL_TEXTURE_RECTANGLE_NV = $20A2;
-
-
-const
-  WGL_RGBA_FLOAT_MODE_ATI = $8820;
-  WGL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = $8835;
-  WGL_TYPE_RGBA_FLOAT_ATI = $21A0;
-
-implementation
-
-end.