summary refs log tree commit diff stats
path: root/lib/oldwrappers/opengl/gl.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/oldwrappers/opengl/gl.nim')
-rwxr-xr-xlib/oldwrappers/opengl/gl.nim1432
1 files changed, 0 insertions, 1432 deletions
diff --git a/lib/oldwrappers/opengl/gl.nim b/lib/oldwrappers/opengl/gl.nim
deleted file mode 100755
index 79f09b544..000000000
--- a/lib/oldwrappers/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