OpenGL_GL_v4.cs
Dynamic display compass
OpenGL_GL_v4.cs
// Copyright 2006 ESRI
// 
// All rights reserved under the copyright laws of the United States
// and applicable international laws, treaties, and conventions.
// 
// You may freely redistribute and use this sample code, with or
// without modification, provided you include the original copyright
// notice and use restrictions.
// 
// See the use restrictions.
// 

// ############################################################################
// ############################################################################
// ############################################################################
// ############################################################################
//
// Namespace:     OpenGL
// Class:         GL
// File Version:  4.0 (2003 Feb 14; Second Public Release)
//
// Description: C# Wrapper for OpenGL GL API.
//
// WARNING: This class must be compiled using the /unsafe C# compiler switch
//          since many OpenGL functions involve pointers.
//
// Development Notes:
//
//   This file was almost entirely generated from the following file:
// "C:\\Program Files\\Microsoft Visual Studio\\VC98\\Include\\GL\\GL.H"
// (69,083 bytes; Friday, April 24, 1998, 12:00:00 AM).
//
//   All aspects of GL.H were converted and emitted as C# code,
// except for typedef's (such as typedef's of function pointers
// for OpenGL extensions).  All pointer types in arguments and return
// types has been preserved.
//
//   After exposing all constants and functions as closely as possible to
// the original "C" code prototypes, we expose any function involving pointers
// again, overloading the same function name, but changing pointer types to
// C# array types (e.g., float[] instead of float *), or using the "IntPtr"
// type.  These convenient function overloads appear after all of the 
// "faithful" versions of the GL functions
//
// Planned Modifications:
//
//    Functions returning values need to be implemented.  This is simply
// something that was just a little too tricky for my automated file conversion.
//
// Future Versions of this File:
//
//   This file is the first public release of a particular C# wrapper for
// the GL portion of the OpenGL API.  Please visit the following web page
// for updates to this file:
//
//     http://www.colinfahey.com/opengl/csharp.htm
//
//   Send any bug reports or minor implementation enhancement suggestions
// to the following e-mail address:
//
//     cpfahey@earthlink.net      (Colin P. Fahey)
//
// ############################################################################
// ############################################################################
// ############################################################################
// ############################################################################
//
//
using System;
using System.Runtime.InteropServices; // Necessary for [DllImport(...)]
namespace OpenGL
{
[ComVisible(false)]
public class GL
{
public const string GL_DLL = "opengl32";
//
// ############################################################################
// ############################################################################
// ############################################################################
// ############################################################################
//
//
/*++ 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.
*/

/*************************************************************/

/* Version */
public const uint  GL_VERSION_1_1                       =            1;

/* AccumOp */
public const uint  GL_ACCUM                             =       0x0100;
public const uint  GL_LOAD                              =       0x0101;
public const uint  GL_RETURN                            =       0x0102;
public const uint  GL_MULT                              =       0x0103;
public const uint  GL_ADD                               =       0x0104;

/* AlphaFunction */
public const uint  GL_NEVER                             =       0x0200;
public const uint  GL_LESS                              =       0x0201;
public const uint  GL_EQUAL                             =       0x0202;
public const uint  GL_LEQUAL                            =       0x0203;
public const uint  GL_GREATER                           =       0x0204;
public const uint  GL_NOTEQUAL                          =       0x0205;
public const uint  GL_GEQUAL                            =       0x0206;
public const uint  GL_ALWAYS                            =       0x0207;

/* AttribMask */
public const uint  GL_CURRENT_BIT                       =   0x00000001;
public const uint  GL_POINT_BIT                         =   0x00000002;
public const uint  GL_LINE_BIT                          =   0x00000004;
public const uint  GL_POLYGON_BIT                       =   0x00000008;
public const uint  GL_POLYGON_STIPPLE_BIT               =   0x00000010;
public const uint  GL_PIXEL_MODE_BIT                    =   0x00000020;
public const uint  GL_LIGHTING_BIT                      =   0x00000040;
public const uint  GL_FOG_BIT                           =   0x00000080;
public const uint  GL_DEPTH_BUFFER_BIT                  =   0x00000100;
public const uint  GL_ACCUM_BUFFER_BIT                  =   0x00000200;
public const uint  GL_STENCIL_BUFFER_BIT                =   0x00000400;
public const uint  GL_VIEWPORT_BIT                      =   0x00000800;
public const uint  GL_TRANSFORM_BIT                     =   0x00001000;
public const uint  GL_ENABLE_BIT                        =   0x00002000;
public const uint  GL_COLOR_BUFFER_BIT                  =   0x00004000;
public const uint  GL_HINT_BIT                          =   0x00008000;
public const uint  GL_EVAL_BIT                          =   0x00010000;
public const uint  GL_LIST_BIT                          =   0x00020000;
public const uint  GL_TEXTURE_BIT                       =   0x00040000;
public const uint  GL_SCISSOR_BIT                       =   0x00080000;
public const uint  GL_ALL_ATTRIB_BITS                   =   0x000fffff;

/* BeginMode */
public const uint  GL_POINTS                            =       0x0000;
public const uint  GL_LINES                             =       0x0001;
public const uint  GL_LINE_LOOP                         =       0x0002;
public const uint  GL_LINE_STRIP                        =       0x0003;
public const uint  GL_TRIANGLES                         =       0x0004;
public const uint  GL_TRIANGLE_STRIP                    =       0x0005;
public const uint  GL_TRIANGLE_FAN                      =       0x0006;
public const uint  GL_QUADS                             =       0x0007;
public const uint  GL_QUAD_STRIP                        =       0x0008;
public const uint  GL_POLYGON                           =       0x0009;

/* BlendingFactorDest */
public const uint  GL_ZERO                              =            0;
public const uint  GL_ONE                               =            1;
public const uint  GL_SRC_COLOR                         =       0x0300;
public const uint  GL_ONE_MINUS_SRC_COLOR               =       0x0301;
public const uint  GL_SRC_ALPHA                         =       0x0302;
public const uint  GL_ONE_MINUS_SRC_ALPHA               =       0x0303;
public const uint  GL_DST_ALPHA                         =       0x0304;
public const uint  GL_ONE_MINUS_DST_ALPHA               =       0x0305;

/* BlendingFactorSrc */
/*      GL_ZERO */
/*      GL_ONE */
public const uint  GL_DST_COLOR                         =       0x0306;
public const uint  GL_ONE_MINUS_DST_COLOR               =       0x0307;
public const uint  GL_SRC_ALPHA_SATURATE                =       0x0308;
/*      GL_SRC_ALPHA */
/*      GL_ONE_MINUS_SRC_ALPHA */
/*      GL_DST_ALPHA */
/*      GL_ONE_MINUS_DST_ALPHA */

/* Boolean */
public const uint  GL_TRUE                              =            1;
public const uint  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 */
public const uint  GL_CLIP_PLANE0                       =       0x3000;
public const uint  GL_CLIP_PLANE1                       =       0x3001;
public const uint  GL_CLIP_PLANE2                       =       0x3002;
public const uint  GL_CLIP_PLANE3                       =       0x3003;
public const uint  GL_CLIP_PLANE4                       =       0x3004;
public const uint  GL_CLIP_PLANE5                       =       0x3005;

/* 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 */
public const uint  GL_BYTE                              =       0x1400;
public const uint  GL_UNSIGNED_BYTE                     =       0x1401;
public const uint  GL_SHORT                             =       0x1402;
public const uint  GL_UNSIGNED_SHORT                    =       0x1403;
public const uint  GL_INT                               =       0x1404;
public const uint  GL_UNSIGNED_INT                      =       0x1405;
public const uint  GL_FLOAT                             =       0x1406;
public const uint  GL_2_BYTES                           =       0x1407;
public const uint  GL_3_BYTES                           =       0x1408;
public const uint  GL_4_BYTES                           =       0x1409;
public const uint  GL_DOUBLE                            =       0x140a;

/* DepthFunction */
/*      GL_NEVER */
/*      GL_LESS */
/*      GL_EQUAL */
/*      GL_LEQUAL */
/*      GL_GREATER */
/*      GL_NOTEQUAL */
/*      GL_GEQUAL */
/*      GL_ALWAYS */

/* DrawBufferMode */
public const uint  GL_NONE                              =            0;
public const uint  GL_FRONT_LEFT                        =       0x0400;
public const uint  GL_FRONT_RIGHT                       =       0x0401;
public const uint  GL_BACK_LEFT                         =       0x0402;
public const uint  GL_BACK_RIGHT                        =       0x0403;
public const uint  GL_FRONT                             =       0x0404;
public const uint  GL_BACK                              =       0x0405;
public const uint  GL_LEFT                              =       0x0406;
public const uint  GL_RIGHT                             =       0x0407;
public const uint  GL_FRONT_AND_BACK                    =       0x0408;
public const uint  GL_AUX0                              =       0x0409;
public const uint  GL_AUX1                              =       0x040a;
public const uint  GL_AUX2                              =       0x040b;
public const uint  GL_AUX3                              =       0x040c;

/* 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 */
public const uint  GL_NO_ERROR                          =            0;
public const uint  GL_INVALID_ENUM                      =       0x0500;
public const uint  GL_INVALID_VALUE                     =       0x0501;
public const uint  GL_INVALID_OPERATION                 =       0x0502;
public const uint  GL_STACK_OVERFLOW                    =       0x0503;
public const uint  GL_STACK_UNDERFLOW                   =       0x0504;
public const uint  GL_OUT_OF_MEMORY                     =       0x0505;

/* FeedBackMode */
public const uint  GL_2D                                =       0x0600;
public const uint  GL_3D                                =       0x0601;
public const uint  GL_3D_COLOR                          =       0x0602;
public const uint  GL_3D_COLOR_TEXTURE                  =       0x0603;
public const uint  GL_4D_COLOR_TEXTURE                  =       0x0604;

/* FeedBackToken */
public const uint  GL_PASS_THROUGH_TOKEN                =       0x0700;
public const uint  GL_POINT_TOKEN                       =       0x0701;
public const uint  GL_LINE_TOKEN                        =       0x0702;
public const uint  GL_POLYGON_TOKEN                     =       0x0703;
public const uint  GL_BITMAP_TOKEN                      =       0x0704;
public const uint  GL_DRAW_PIXEL_TOKEN                  =       0x0705;
public const uint  GL_COPY_PIXEL_TOKEN                  =       0x0706;
public const uint  GL_LINE_RESET_TOKEN                  =       0x0707;

/* FogMode */
/*      GL_LINEAR */
public const uint  GL_EXP                               =       0x0800;
public const uint  GL_EXP2                              =       0x0801;

/* FogParameter */
/*      GL_FOG_COLOR */
/*      GL_FOG_DENSITY */
/*      GL_FOG_END */
/*      GL_FOG_INDEX */
/*      GL_FOG_MODE */
/*      GL_FOG_START */

/* FrontFaceDirection */
public const uint  GL_CW                                =       0x0900;
public const uint  GL_CCW                               =       0x0901;

/* GetMapTarget */
public const uint  GL_COEFF                             =       0x0a00;
public const uint  GL_ORDER                             =       0x0a01;
public const uint  GL_DOMAIN                            =       0x0a02;

/* 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 */
public const uint  GL_CURRENT_COLOR                     =       0x0b00;
public const uint  GL_CURRENT_INDEX                     =       0x0b01;
public const uint  GL_CURRENT_NORMAL                    =       0x0b02;
public const uint  GL_CURRENT_TEXTURE_COORDS            =       0x0b03;
public const uint  GL_CURRENT_RASTER_COLOR              =       0x0b04;
public const uint  GL_CURRENT_RASTER_INDEX              =       0x0b05;
public const uint  GL_CURRENT_RASTER_TEXTURE_COORDS     =       0x0b06;
public const uint  GL_CURRENT_RASTER_POSITION           =       0x0b07;
public const uint  GL_CURRENT_RASTER_POSITION_VALID     =       0x0b08;
public const uint  GL_CURRENT_RASTER_DISTANCE           =       0x0b09;
public const uint  GL_POINT_SMOOTH                      =       0x0b10;
public const uint  GL_POINT_SIZE                        =       0x0b11;
public const uint  GL_POINT_SIZE_RANGE                  =       0x0b12;
public const uint  GL_POINT_SIZE_GRANULARITY            =       0x0b13;
public const uint  GL_LINE_SMOOTH                       =       0x0b20;
public const uint  GL_LINE_WIDTH                        =       0x0b21;
public const uint  GL_LINE_WIDTH_RANGE                  =       0x0b22;
public const uint  GL_LINE_WIDTH_GRANULARITY            =       0x0b23;
public const uint  GL_LINE_STIPPLE                      =       0x0b24;
public const uint  GL_LINE_STIPPLE_PATTERN              =       0x0b25;
public const uint  GL_LINE_STIPPLE_REPEAT               =       0x0b26;
public const uint  GL_LIST_MODE                         =       0x0b30;
public const uint  GL_MAX_LIST_NESTING                  =       0x0b31;
public const uint  GL_LIST_BASE                         =       0x0b32;
public const uint  GL_LIST_INDEX                        =       0x0b33;
public const uint  GL_POLYGON_MODE                      =       0x0b40;
public const uint  GL_POLYGON_SMOOTH                    =       0x0b41;
public const uint  GL_POLYGON_STIPPLE                   =       0x0b42;
public const uint  GL_EDGE_FLAG                         =       0x0b43;
public const uint  GL_CULL_FACE                         =       0x0b44;
public const uint  GL_CULL_FACE_MODE                    =       0x0b45;
public const uint  GL_FRONT_FACE                        =       0x0b46;
public const uint  GL_LIGHTING                          =       0x0b50;
public const uint  GL_LIGHT_MODEL_LOCAL_VIEWER          =       0x0b51;
public const uint  GL_LIGHT_MODEL_TWO_SIDE              =       0x0b52;
public const uint  GL_LIGHT_MODEL_AMBIENT               =       0x0b53;
public const uint  GL_SHADE_MODEL                       =       0x0b54;
public const uint  GL_COLOR_MATERIAL_FACE               =       0x0b55;
public const uint  GL_COLOR_MATERIAL_PARAMETER          =       0x0b56;
public const uint  GL_COLOR_MATERIAL                    =       0x0b57;
public const uint  GL_FOG                               =       0x0b60;
public const uint  GL_FOG_INDEX                         =       0x0b61;
public const uint  GL_FOG_DENSITY                       =       0x0b62;
public const uint  GL_FOG_START                         =       0x0b63;
public const uint  GL_FOG_END                           =       0x0b64;
public const uint  GL_FOG_MODE                          =       0x0b65;
public const uint  GL_FOG_COLOR                         =       0x0b66;
public const uint  GL_DEPTH_RANGE                       =       0x0b70;
public const uint  GL_DEPTH_TEST                        =       0x0b71;
public const uint  GL_DEPTH_WRITEMASK                   =       0x0b72;
public const uint  GL_DEPTH_CLEAR_VALUE                 =       0x0b73;
public const uint  GL_DEPTH_FUNC                        =       0x0b74;
public const uint  GL_ACCUM_CLEAR_VALUE                 =       0x0b80;
public const uint  GL_STENCIL_TEST                      =       0x0b90;
public const uint  GL_STENCIL_CLEAR_VALUE               =       0x0b91;
public const uint  GL_STENCIL_FUNC                      =       0x0b92;
public const uint  GL_STENCIL_VALUE_MASK                =       0x0b93;
public const uint  GL_STENCIL_FAIL                      =       0x0b94;
public const uint  GL_STENCIL_PASS_DEPTH_FAIL           =       0x0b95;
public const uint  GL_STENCIL_PASS_DEPTH_PASS           =       0x0b96;
public const uint  GL_STENCIL_REF                       =       0x0b97;
public const uint  GL_STENCIL_WRITEMASK                 =       0x0b98;
public const uint  GL_MATRIX_MODE                       =       0x0ba0;
public const uint  GL_NORMALIZE                         =       0x0ba1;
public const uint  GL_VIEWPORT                          =       0x0ba2;
public const uint  GL_MODELVIEW_STACK_DEPTH             =       0x0ba3;
public const uint  GL_PROJECTION_STACK_DEPTH            =       0x0ba4;
public const uint  GL_TEXTURE_STACK_DEPTH               =       0x0ba5;
public const uint  GL_MODELVIEW_MATRIX                  =       0x0ba6;
public const uint  GL_PROJECTION_MATRIX                 =       0x0ba7;
public const uint  GL_TEXTURE_MATRIX                    =       0x0ba8;
public const uint  GL_ATTRIB_STACK_DEPTH                =       0x0bb0;
public const uint  GL_CLIENT_ATTRIB_STACK_DEPTH         =       0x0bb1;
public const uint  GL_ALPHA_TEST                        =       0x0bc0;
public const uint  GL_ALPHA_TEST_FUNC                   =       0x0bc1;
public const uint  GL_ALPHA_TEST_REF                    =       0x0bc2;
public const uint  GL_DITHER                            =       0x0bd0;
public const uint  GL_BLEND_DST                         =       0x0be0;
public const uint  GL_BLEND_SRC                         =       0x0be1;
public const uint  GL_BLEND                             =       0x0be2;
public const uint  GL_LOGIC_OP_MODE                     =       0x0bf0;
public const uint  GL_INDEX_LOGIC_OP                    =       0x0bf1;
public const uint  GL_COLOR_LOGIC_OP                    =       0x0bf2;
public const uint  GL_AUX_BUFFERS                       =       0x0c00;
public const uint  GL_DRAW_BUFFER                       =       0x0c01;
public const uint  GL_READ_BUFFER                       =       0x0c02;
public const uint  GL_SCISSOR_BOX                       =       0x0c10;
public const uint  GL_SCISSOR_TEST                      =       0x0c11;
public const uint  GL_INDEX_CLEAR_VALUE                 =       0x0c20;
public const uint  GL_INDEX_WRITEMASK                   =       0x0c21;
public const uint  GL_COLOR_CLEAR_VALUE                 =       0x0c22;
public const uint  GL_COLOR_WRITEMASK                   =       0x0c23;
public const uint  GL_INDEX_MODE                        =       0x0c30;
public const uint  GL_RGBA_MODE                         =       0x0c31;
public const uint  GL_DOUBLEBUFFER                      =       0x0c32;
public const uint  GL_STEREO                            =       0x0c33;
public const uint  GL_RENDER_MODE                       =       0x0c40;
public const uint  GL_PERSPECTIVE_CORRECTION_HINT       =       0x0c50;
public const uint  GL_POINT_SMOOTH_HINT                 =       0x0c51;
public const uint  GL_LINE_SMOOTH_HINT                  =       0x0c52;
public const uint  GL_POLYGON_SMOOTH_HINT               =       0x0c53;
public const uint  GL_FOG_HINT                          =       0x0c54;
public const uint  GL_TEXTURE_GEN_S                     =       0x0c60;
public const uint  GL_TEXTURE_GEN_T                     =       0x0c61;
public const uint  GL_TEXTURE_GEN_R                     =       0x0c62;
public const uint  GL_TEXTURE_GEN_Q                     =       0x0c63;
public const uint  GL_PIXEL_MAP_I_TO_I                  =       0x0c70;
public const uint  GL_PIXEL_MAP_S_TO_S                  =       0x0c71;
public const uint  GL_PIXEL_MAP_I_TO_R                  =       0x0c72;
public const uint  GL_PIXEL_MAP_I_TO_G                  =       0x0c73;
public const uint  GL_PIXEL_MAP_I_TO_B                  =       0x0c74;
public const uint  GL_PIXEL_MAP_I_TO_A                  =       0x0c75;
public const uint  GL_PIXEL_MAP_R_TO_R                  =       0x0c76;
public const uint  GL_PIXEL_MAP_G_TO_G                  =       0x0c77;
public const uint  GL_PIXEL_MAP_B_TO_B                  =       0x0c78;
public const uint  GL_PIXEL_MAP_A_TO_A                  =       0x0c79;
public const uint  GL_PIXEL_MAP_I_TO_I_SIZE             =       0x0cb0;
public const uint  GL_PIXEL_MAP_S_TO_S_SIZE             =       0x0cb1;
public const uint  GL_PIXEL_MAP_I_TO_R_SIZE             =       0x0cb2;
public const uint  GL_PIXEL_MAP_I_TO_G_SIZE             =       0x0cb3;
public const uint  GL_PIXEL_MAP_I_TO_B_SIZE             =       0x0cb4;
public const uint  GL_PIXEL_MAP_I_TO_A_SIZE             =       0x0cb5;
public const uint  GL_PIXEL_MAP_R_TO_R_SIZE             =       0x0cb6;
public const uint  GL_PIXEL_MAP_G_TO_G_SIZE             =       0x0cb7;
public const uint  GL_PIXEL_MAP_B_TO_B_SIZE             =       0x0cb8;
public const uint  GL_PIXEL_MAP_A_TO_A_SIZE             =       0x0cb9;
public const uint  GL_UNPACK_SWAP_BYTES                 =       0x0cf0;
public const uint  GL_UNPACK_LSB_FIRST                  =       0x0cf1;
public const uint  GL_UNPACK_ROW_LENGTH                 =       0x0cf2;
public const uint  GL_UNPACK_SKIP_ROWS                  =       0x0cf3;
public const uint  GL_UNPACK_SKIP_PIXELS                =       0x0cf4;
public const uint  GL_UNPACK_ALIGNMENT                  =       0x0cf5;
public const uint  GL_PACK_SWAP_BYTES                   =       0x0d00;
public const uint  GL_PACK_LSB_FIRST                    =       0x0d01;
public const uint  GL_PACK_ROW_LENGTH                   =       0x0d02;
public const uint  GL_PACK_SKIP_ROWS                    =       0x0d03;
public const uint  GL_PACK_SKIP_PIXELS                  =       0x0d04;
public const uint  GL_PACK_ALIGNMENT                    =       0x0d05;
public const uint  GL_MAP_COLOR                         =       0x0d10;
public const uint  GL_MAP_STENCIL                       =       0x0d11;
public const uint  GL_INDEX_SHIFT                       =       0x0d12;
public const uint  GL_INDEX_OFFSET                      =       0x0d13;
public const uint  GL_RED_SCALE                         =       0x0d14;
public const uint  GL_RED_BIAS                          =       0x0d15;
public const uint  GL_ZOOM_X                            =       0x0d16;
public const uint  GL_ZOOM_Y                            =       0x0d17;
public const uint  GL_GREEN_SCALE                       =       0x0d18;
public const uint  GL_GREEN_BIAS                        =       0x0d19;
public const uint  GL_BLUE_SCALE                        =       0x0d1a;
public const uint  GL_BLUE_BIAS                         =       0x0d1b;
public const uint  GL_ALPHA_SCALE                       =       0x0d1c;
public const uint  GL_ALPHA_BIAS                        =       0x0d1d;
public const uint  GL_DEPTH_SCALE                       =       0x0d1e;
public const uint  GL_DEPTH_BIAS                        =       0x0d1f;
public const uint  GL_MAX_EVAL_ORDER                    =       0x0d30;
public const uint  GL_MAX_LIGHTS                        =       0x0d31;
public const uint  GL_MAX_CLIP_PLANES                   =       0x0d32;
public const uint  GL_MAX_TEXTURE_SIZE                  =       0x0d33;
public const uint  GL_MAX_PIXEL_MAP_TABLE               =       0x0d34;
public const uint  GL_MAX_ATTRIB_STACK_DEPTH            =       0x0d35;
public const uint  GL_MAX_MODELVIEW_STACK_DEPTH         =       0x0d36;
public const uint  GL_MAX_NAME_STACK_DEPTH              =       0x0d37;
public const uint  GL_MAX_PROJECTION_STACK_DEPTH        =       0x0d38;
public const uint  GL_MAX_TEXTURE_STACK_DEPTH           =       0x0d39;
public const uint  GL_MAX_VIEWPORT_DIMS                 =       0x0d3a;
public const uint  GL_MAX_CLIENT_ATTRIB_STACK_DEPTH     =       0x0d3b;
public const uint  GL_SUBPIXEL_BITS                     =       0x0d50;
public const uint  GL_INDEX_BITS                        =       0x0d51;
public const uint  GL_RED_BITS                          =       0x0d52;
public const uint  GL_GREEN_BITS                        =       0x0d53;
public const uint  GL_BLUE_BITS                         =       0x0d54;
public const uint  GL_ALPHA_BITS                        =       0x0d55;
public const uint  GL_DEPTH_BITS                        =       0x0d56;
public const uint  GL_STENCIL_BITS                      =       0x0d57;
public const uint  GL_ACCUM_RED_BITS                    =       0x0d58;
public const uint  GL_ACCUM_GREEN_BITS                  =       0x0d59;
public const uint  GL_ACCUM_BLUE_BITS                   =       0x0d5a;
public const uint  GL_ACCUM_ALPHA_BITS                  =       0x0d5b;
public const uint  GL_NAME_STACK_DEPTH                  =       0x0d70;
public const uint  GL_AUTO_NORMAL                       =       0x0d80;
public const uint  GL_MAP1_COLOR_4                      =       0x0d90;
public const uint  GL_MAP1_INDEX                        =       0x0d91;
public const uint  GL_MAP1_NORMAL                       =       0x0d92;
public const uint  GL_MAP1_TEXTURE_COORD_1              =       0x0d93;
public const uint  GL_MAP1_TEXTURE_COORD_2              =       0x0d94;
public const uint  GL_MAP1_TEXTURE_COORD_3              =       0x0d95;
public const uint  GL_MAP1_TEXTURE_COORD_4              =       0x0d96;
public const uint  GL_MAP1_VERTEX_3                     =       0x0d97;
public const uint  GL_MAP1_VERTEX_4                     =       0x0d98;
public const uint  GL_MAP2_COLOR_4                      =       0x0db0;
public const uint  GL_MAP2_INDEX                        =       0x0db1;
public const uint  GL_MAP2_NORMAL                       =       0x0db2;
public const uint  GL_MAP2_TEXTURE_COORD_1              =       0x0db3;
public const uint  GL_MAP2_TEXTURE_COORD_2              =       0x0db4;
public const uint  GL_MAP2_TEXTURE_COORD_3              =       0x0db5;
public const uint  GL_MAP2_TEXTURE_COORD_4              =       0x0db6;
public const uint  GL_MAP2_VERTEX_3                     =       0x0db7;
public const uint  GL_MAP2_VERTEX_4                     =       0x0db8;
public const uint  GL_MAP1_GRID_DOMAIN                  =       0x0dd0;
public const uint  GL_MAP1_GRID_SEGMENTS                =       0x0dd1;
public const uint  GL_MAP2_GRID_DOMAIN                  =       0x0dd2;
public const uint  GL_MAP2_GRID_SEGMENTS                =       0x0dd3;
public const uint  GL_TEXTURE_1D                        =       0x0de0;
public const uint  GL_TEXTURE_2D                        =       0x0de1;
public const uint  GL_FEEDBACK_BUFFER_POINTER           =       0x0df0;
public const uint  GL_FEEDBACK_BUFFER_SIZE              =       0x0df1;
public const uint  GL_FEEDBACK_BUFFER_TYPE              =       0x0df2;
public const uint  GL_SELECTION_BUFFER_POINTER          =       0x0df3;
public const uint  GL_SELECTION_BUFFER_SIZE             =       0x0df4;
/*      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 */
public const uint  GL_TEXTURE_WIDTH                     =       0x1000;
public const uint  GL_TEXTURE_HEIGHT                    =       0x1001;
public const uint  GL_TEXTURE_INTERNAL_FORMAT           =       0x1003;
public const uint  GL_TEXTURE_BORDER_COLOR              =       0x1004;
public const uint  GL_TEXTURE_BORDER                    =       0x1005;
/*      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 */
public const uint  GL_DONT_CARE                         =       0x1100;
public const uint  GL_FASTEST                           =       0x1101;
public const uint  GL_NICEST                            =       0x1102;

/* HintTarget */
/*      GL_PERSPECTIVE_CORRECTION_HINT */
/*      GL_POINT_SMOOTH_HINT */
/*      GL_LINE_SMOOTH_HINT */
/*      GL_POLYGON_SMOOTH_HINT */
/*      GL_FOG_HINT */
/*      GL_PHONG_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 */
public const uint  GL_LIGHT0                            =       0x4000;
public const uint  GL_LIGHT1                            =       0x4001;
public const uint  GL_LIGHT2                            =       0x4002;
public const uint  GL_LIGHT3                            =       0x4003;
public const uint  GL_LIGHT4                            =       0x4004;
public const uint  GL_LIGHT5                            =       0x4005;
public const uint  GL_LIGHT6                            =       0x4006;
public const uint  GL_LIGHT7                            =       0x4007;

/* LightParameter */
public const uint  GL_AMBIENT                           =       0x1200;
public const uint  GL_DIFFUSE                           =       0x1201;
public const uint  GL_SPECULAR                          =       0x1202;
public const uint  GL_POSITION                          =       0x1203;
public const uint  GL_SPOT_DIRECTION                    =       0x1204;
public const uint  GL_SPOT_EXPONENT                     =       0x1205;
public const uint  GL_SPOT_CUTOFF                       =       0x1206;
public const uint  GL_CONSTANT_ATTENUATION              =       0x1207;
public const uint  GL_LINEAR_ATTENUATION                =       0x1208;
public const uint  GL_QUADRATIC_ATTENUATION             =       0x1209;

/* 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 */
public const uint  GL_COMPILE                           =       0x1300;
public const uint  GL_COMPILE_AND_EXECUTE               =       0x1301;

/* 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 */
public const uint  GL_CLEAR                             =       0x1500;
public const uint  GL_AND                               =       0x1501;
public const uint  GL_AND_REVERSE                       =       0x1502;
public const uint  GL_COPY                              =       0x1503;
public const uint  GL_AND_INVERTED                      =       0x1504;
public const uint  GL_NOOP                              =       0x1505;
public const uint  GL_XOR                               =       0x1506;
public const uint  GL_OR                                =       0x1507;
public const uint  GL_NOR                               =       0x1508;
public const uint  GL_EQUIV                             =       0x1509;
public const uint  GL_INVERT                            =       0x150a;
public const uint  GL_OR_REVERSE                        =       0x150b;
public const uint  GL_COPY_INVERTED                     =       0x150c;
public const uint  GL_OR_INVERTED                       =       0x150d;
public const uint  GL_NAND                              =       0x150e;
public const uint  GL_SET                               =       0x150f;

/* 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 */
public const uint  GL_EMISSION                          =       0x1600;
public const uint  GL_SHININESS                         =       0x1601;
public const uint  GL_AMBIENT_AND_DIFFUSE               =       0x1602;
public const uint  GL_COLOR_INDEXES                     =       0x1603;
/*      GL_AMBIENT */
/*      GL_DIFFUSE */
/*      GL_SPECULAR */

/* MatrixMode */
public const uint  GL_MODELVIEW                         =       0x1700;
public const uint  GL_PROJECTION                        =       0x1701;
public const uint  GL_TEXTURE                           =       0x1702;

/* MeshMode1 */
/*      GL_POINT */
/*      GL_LINE */

/* MeshMode2 */
/*      GL_POINT */
/*      GL_LINE */
/*      GL_FILL */

/* NormalPointerType */
/*      GL_BYTE */
/*      GL_SHORT */
/*      GL_INT */
/*      GL_FLOAT */
/*      GL_DOUBLE */

/* PixelCopyType */
public const uint  GL_COLOR                             =       0x1800;
public const uint  GL_DEPTH                             =       0x1801;
public const uint  GL_STENCIL                           =       0x1802;

/* PixelFormat */
public const uint  GL_COLOR_INDEX                       =       0x1900;
public const uint  GL_STENCIL_INDEX                     =       0x1901;
public const uint  GL_DEPTH_COMPONENT                   =       0x1902;
public const uint  GL_RED                               =       0x1903;
public const uint  GL_GREEN                             =       0x1904;
public const uint  GL_BLUE                              =       0x1905;
public const uint  GL_ALPHA                             =       0x1906;
public const uint  GL_RGB                               =       0x1907;
public const uint  GL_RGBA                              =       0x1908;
public const uint  GL_LUMINANCE                         =       0x1909;
public const uint  GL_LUMINANCE_ALPHA                   =       0x190a;

/* 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 */
public const uint  GL_BITMAP                            =       0x1a00;
/*      GL_BYTE */
/*      GL_UNSIGNED_BYTE */
/*      GL_SHORT */
/*      GL_UNSIGNED_SHORT */
/*      GL_INT */
/*      GL_UNSIGNED_INT */
/*      GL_FLOAT */

/* PolygonMode */
public const uint  GL_POINT                             =       0x1b00;
public const uint  GL_LINE                              =       0x1b01;
public const uint  GL_FILL                              =       0x1b02;

/* 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 */
public const uint  GL_RENDER                            =       0x1c00;
public const uint  GL_FEEDBACK                          =       0x1c01;
public const uint  GL_SELECT                            =       0x1c02;

/* ShadingModel */
public const uint  GL_FLAT                              =       0x1d00;
public const uint  GL_SMOOTH                            =       0x1d01;

/* StencilFunction */
/*      GL_NEVER */
/*      GL_LESS */
/*      GL_EQUAL */
/*      GL_LEQUAL */
/*      GL_GREATER */
/*      GL_NOTEQUAL */
/*      GL_GEQUAL */
/*      GL_ALWAYS */

/* StencilOp */
/*      GL_ZERO */
public const uint  GL_KEEP                              =       0x1e00;
public const uint  GL_REPLACE                           =       0x1e01;
public const uint  GL_INCR                              =       0x1e02;
public const uint  GL_DECR                              =       0x1e03;
/*      GL_INVERT */

/* StringName */
public const uint  GL_VENDOR                            =       0x1f00;
public const uint  GL_RENDERER                          =       0x1f01;
public const uint  GL_VERSION                           =       0x1f02;
public const uint  GL_EXTENSIONS                        =       0x1f03;

/* TextureCoordName */
public const uint  GL_S                                 =       0x2000;
public const uint  GL_T                                 =       0x2001;
public const uint  GL_R                                 =       0x2002;
public const uint  GL_Q                                 =       0x2003;

/* TexCoordPointerType */
/*      GL_SHORT */
/*      GL_INT */
/*      GL_FLOAT */
/*      GL_DOUBLE */

/* TextureEnvMode */
public const uint  GL_MODULATE                          =       0x2100;
public const uint  GL_DECAL                             =       0x2101;
/*      GL_BLEND */
/*      GL_REPLACE */

/* TextureEnvParameter */
public const uint  GL_TEXTURE_ENV_MODE                  =       0x2200;
public const uint  GL_TEXTURE_ENV_COLOR                 =       0x2201;

/* TextureEnvTarget */
public const uint  GL_TEXTURE_ENV                       =       0x2300;

/* TextureGenMode */
public const uint  GL_EYE_LINEAR                        =       0x2400;
public const uint  GL_OBJECT_LINEAR                     =       0x2401;
public const uint  GL_SPHERE_MAP                        =       0x2402;

/* TextureGenParameter */
public const uint  GL_TEXTURE_GEN_MODE                  =       0x2500;
public const uint  GL_OBJECT_PLANE                      =       0x2501;
public const uint  GL_EYE_PLANE                         =       0x2502;

/* TextureMagFilter */
public const uint  GL_NEAREST                           =       0x2600;
public const uint  GL_LINEAR                            =       0x2601;

/* TextureMinFilter */
/*      GL_NEAREST */
/*      GL_LINEAR */
public const uint  GL_NEAREST_MIPMAP_NEAREST            =       0x2700;
public const uint  GL_LINEAR_MIPMAP_NEAREST             =       0x2701;
public const uint  GL_NEAREST_MIPMAP_LINEAR             =       0x2702;
public const uint  GL_LINEAR_MIPMAP_LINEAR              =       0x2703;

/* TextureParameterName */
public const uint  GL_TEXTURE_MAG_FILTER                =       0x2800;
public const uint  GL_TEXTURE_MIN_FILTER                =       0x2801;
public const uint  GL_TEXTURE_WRAP_S                    =       0x2802;
public const uint  GL_TEXTURE_WRAP_T                    =       0x2803;
/*      GL_TEXTURE_BORDER_COLOR */
/*      GL_TEXTURE_PRIORITY */

/* TextureTarget */
/*      GL_TEXTURE_1D */
/*      GL_TEXTURE_2D */
/*      GL_PROXY_TEXTURE_1D */
/*      GL_PROXY_TEXTURE_2D */

/* TextureWrapMode */
public const uint  GL_CLAMP                             =       0x2900;
public const uint  GL_REPEAT                            =       0x2901;

/* VertexPointerType */
/*      GL_SHORT */
/*      GL_INT */
/*      GL_FLOAT */
/*      GL_DOUBLE */

/* ClientAttribMask */
public const uint  GL_CLIENT_PIXEL_STORE_BIT            =   0x00000001;
public const uint  GL_CLIENT_VERTEX_ARRAY_BIT           =   0x00000002;
public const uint  GL_CLIENT_ALL_ATTRIB_BITS            =   0xffffffff;

/* polygon_offset */
public const uint  GL_POLYGON_OFFSET_FACTOR             =       0x8038;
public const uint  GL_POLYGON_OFFSET_UNITS              =       0x2a00;
public const uint  GL_POLYGON_OFFSET_POINT              =       0x2a01;
public const uint  GL_POLYGON_OFFSET_LINE               =       0x2a02;
public const uint  GL_POLYGON_OFFSET_FILL               =       0x8037;

/* texture */
public const uint  GL_ALPHA4                            =       0x803b;
public const uint  GL_ALPHA8                            =       0x803c;
public const uint  GL_ALPHA12                           =       0x803d;
public const uint  GL_ALPHA16                           =       0x803e;
public const uint  GL_LUMINANCE4                        =       0x803f;
public const uint  GL_LUMINANCE8                        =       0x8040;
public const uint  GL_LUMINANCE12                       =       0x8041;
public const uint  GL_LUMINANCE16                       =       0x8042;
public const uint  GL_LUMINANCE4_ALPHA4                 =       0x8043;
public const uint  GL_LUMINANCE6_ALPHA2                 =       0x8044;
public const uint  GL_LUMINANCE8_ALPHA8                 =       0x8045;
public const uint  GL_LUMINANCE12_ALPHA4                =       0x8046;
public const uint  GL_LUMINANCE12_ALPHA12               =       0x8047;
public const uint  GL_LUMINANCE16_ALPHA16               =       0x8048;
public const uint  GL_INTENSITY                         =       0x8049;
public const uint  GL_INTENSITY4                        =       0x804a;
public const uint  GL_INTENSITY8                        =       0x804b;
public const uint  GL_INTENSITY12                       =       0x804c;
public const uint  GL_INTENSITY16                       =       0x804d;
public const uint  GL_R3_G3_B2                          =       0x2a10;
public const uint  GL_RGB4                              =       0x804f;
public const uint  GL_RGB5                              =       0x8050;
public const uint  GL_RGB8                              =       0x8051;
public const uint  GL_RGB10                             =       0x8052;
public const uint  GL_RGB12                             =       0x8053;
public const uint  GL_RGB16                             =       0x8054;
public const uint  GL_RGBA2                             =       0x8055;
public const uint  GL_RGBA4                             =       0x8056;
public const uint  GL_RGB5_A1                           =       0x8057;
public const uint  GL_RGBA8                             =       0x8058;
public const uint  GL_RGB10_A2                          =       0x8059;
public const uint  GL_RGBA12                            =       0x805a;
public const uint  GL_RGBA16                            =       0x805b;
public const uint  GL_TEXTURE_RED_SIZE                  =       0x805c;
public const uint  GL_TEXTURE_GREEN_SIZE                =       0x805d;
public const uint  GL_TEXTURE_BLUE_SIZE                 =       0x805e;
public const uint  GL_TEXTURE_ALPHA_SIZE                =       0x805f;
public const uint  GL_TEXTURE_LUMINANCE_SIZE            =       0x8060;
public const uint  GL_TEXTURE_INTENSITY_SIZE            =       0x8061;
public const uint  GL_PROXY_TEXTURE_1D                  =       0x8063;
public const uint  GL_PROXY_TEXTURE_2D                  =       0x8064;

/* texture_object */
public const uint  GL_TEXTURE_PRIORITY                  =       0x8066;
public const uint  GL_TEXTURE_RESIDENT                  =       0x8067;
public const uint  GL_TEXTURE_BINDING_1D                =       0x8068;
public const uint  GL_TEXTURE_BINDING_2D                =       0x8069;

/* vertex_array */
public const uint  GL_VERTEX_ARRAY                      =       0x8074;
public const uint  GL_NORMAL_ARRAY                      =       0x8075;
public const uint  GL_COLOR_ARRAY                       =       0x8076;
public const uint  GL_INDEX_ARRAY                       =       0x8077;
public const uint  GL_TEXTURE_COORD_ARRAY               =       0x8078;
public const uint  GL_EDGE_FLAG_ARRAY                   =       0x8079;
public const uint  GL_VERTEX_ARRAY_SIZE                 =       0x807a;
public const uint  GL_VERTEX_ARRAY_TYPE                 =       0x807b;
public const uint  GL_VERTEX_ARRAY_STRIDE               =       0x807c;
public const uint  GL_NORMAL_ARRAY_TYPE                 =       0x807e;
public const uint  GL_NORMAL_ARRAY_STRIDE               =       0x807f;
public const uint  GL_COLOR_ARRAY_SIZE                  =       0x8081;
public const uint  GL_COLOR_ARRAY_TYPE                  =       0x8082;
public const uint  GL_COLOR_ARRAY_STRIDE                =       0x8083;
public const uint  GL_INDEX_ARRAY_TYPE                  =       0x8085;
public const uint  GL_INDEX_ARRAY_STRIDE                =       0x8086;
public const uint  GL_TEXTURE_COORD_ARRAY_SIZE          =       0x8088;
public const uint  GL_TEXTURE_COORD_ARRAY_TYPE          =       0x8089;
public const uint  GL_TEXTURE_COORD_ARRAY_STRIDE        =       0x808a;
public const uint  GL_EDGE_FLAG_ARRAY_STRIDE            =       0x808c;
public const uint  GL_VERTEX_ARRAY_POINTER              =       0x808e;
public const uint  GL_NORMAL_ARRAY_POINTER              =       0x808f;
public const uint  GL_COLOR_ARRAY_POINTER               =       0x8090;
public const uint  GL_INDEX_ARRAY_POINTER               =       0x8091;
public const uint  GL_TEXTURE_COORD_ARRAY_POINTER       =       0x8092;
public const uint  GL_EDGE_FLAG_ARRAY_POINTER           =       0x8093;
public const uint  GL_V2F                               =       0x2a20;
public const uint  GL_V3F                               =       0x2a21;
public const uint  GL_C4UB_V2F                          =       0x2a22;
public const uint  GL_C4UB_V3F                          =       0x2a23;
public const uint  GL_C3F_V3F                           =       0x2a24;
public const uint  GL_N3F_V3F                           =       0x2a25;
public const uint  GL_C4F_N3F_V3F                       =       0x2a26;
public const uint  GL_T2F_V3F                           =       0x2a27;
public const uint  GL_T4F_V4F                           =       0x2a28;
public const uint  GL_T2F_C4UB_V3F                      =       0x2a29;
public const uint  GL_T2F_C3F_V3F                       =       0x2a2a;
public const uint  GL_T2F_N3F_V3F                       =       0x2a2b;
public const uint  GL_T2F_C4F_N3F_V3F                   =       0x2a2c;
public const uint  GL_T4F_C4F_N3F_V4F                   =       0x2a2d;

/* Extensions */
public const uint  GL_EXT_vertex_array                  =            1;
public const uint  GL_EXT_bgra                          =            1;
public const uint  GL_EXT_paletted_texture              =            1;
public const uint  GL_WIN_swap_hint                     =            1;
public const uint  GL_WIN_draw_range_elements           =            1;
// #define GL_WIN_phong_shading              1
// #define GL_WIN_specular_fog               1

/* EXT_vertex_array */
public const uint  GL_VERTEX_ARRAY_EXT                  =       0x8074;
public const uint  GL_NORMAL_ARRAY_EXT                  =       0x8075;
public const uint  GL_COLOR_ARRAY_EXT                   =       0x8076;
public const uint  GL_INDEX_ARRAY_EXT                   =       0x8077;
public const uint  GL_TEXTURE_COORD_ARRAY_EXT           =       0x8078;
public const uint  GL_EDGE_FLAG_ARRAY_EXT               =       0x8079;
public const uint  GL_VERTEX_ARRAY_SIZE_EXT             =       0x807a;
public const uint  GL_VERTEX_ARRAY_TYPE_EXT             =       0x807b;
public const uint  GL_VERTEX_ARRAY_STRIDE_EXT           =       0x807c;
public const uint  GL_VERTEX_ARRAY_COUNT_EXT            =       0x807d;
public const uint  GL_NORMAL_ARRAY_TYPE_EXT             =       0x807e;
public const uint  GL_NORMAL_ARRAY_STRIDE_EXT           =       0x807f;
public const uint  GL_NORMAL_ARRAY_COUNT_EXT            =       0x8080;
public const uint  GL_COLOR_ARRAY_SIZE_EXT              =       0x8081;
public const uint  GL_COLOR_ARRAY_TYPE_EXT              =       0x8082;
public const uint  GL_COLOR_ARRAY_STRIDE_EXT            =       0x8083;
public const uint  GL_COLOR_ARRAY_COUNT_EXT             =       0x8084;
public const uint  GL_INDEX_ARRAY_TYPE_EXT              =       0x8085;
public const uint  GL_INDEX_ARRAY_STRIDE_EXT            =       0x8086;
public const uint  GL_INDEX_ARRAY_COUNT_EXT             =       0x8087;
public const uint  GL_TEXTURE_COORD_ARRAY_SIZE_EXT      =       0x8088;
public const uint  GL_TEXTURE_COORD_ARRAY_TYPE_EXT      =       0x8089;
public const uint  GL_TEXTURE_COORD_ARRAY_STRIDE_EXT    =       0x808a;
public const uint  GL_TEXTURE_COORD_ARRAY_COUNT_EXT     =       0x808b;
public const uint  GL_EDGE_FLAG_ARRAY_STRIDE_EXT        =       0x808c;
public const uint  GL_EDGE_FLAG_ARRAY_COUNT_EXT         =       0x808d;
public const uint  GL_VERTEX_ARRAY_POINTER_EXT          =       0x808e;
public const uint  GL_NORMAL_ARRAY_POINTER_EXT          =       0x808f;
public const uint  GL_COLOR_ARRAY_POINTER_EXT           =       0x8090;
public const uint  GL_INDEX_ARRAY_POINTER_EXT           =       0x8091;
public const uint  GL_TEXTURE_COORD_ARRAY_POINTER_EXT   =       0x8092;
public const uint  GL_EDGE_FLAG_ARRAY_POINTER_EXT       =       0x8093;
public const uint  GL_DOUBLE_EXT                        =    GL_DOUBLE;

/* EXT_bgra */
public const uint  GL_BGR_EXT                           =       0x80e0;
public const uint  GL_BGRA_EXT                          =       0x80e1;

/* EXT_paletted_texture */

/* These must match the GL_COLOR_TABLE_*_SGI enumerants */
public const uint  GL_COLOR_TABLE_FORMAT_EXT            =       0x80d8;
public const uint  GL_COLOR_TABLE_WIDTH_EXT             =       0x80d9;
public const uint  GL_COLOR_TABLE_RED_SIZE_EXT          =       0x80da;
public const uint  GL_COLOR_TABLE_GREEN_SIZE_EXT        =       0x80db;
public const uint  GL_COLOR_TABLE_BLUE_SIZE_EXT         =       0x80dc;
public const uint  GL_COLOR_TABLE_ALPHA_SIZE_EXT        =       0x80dd;
public const uint  GL_COLOR_TABLE_LUMINANCE_SIZE_EXT    =       0x80de;
public const uint  GL_COLOR_TABLE_INTENSITY_SIZE_EXT    =       0x80df;

public const uint  GL_COLOR_INDEX1_EXT                  =       0x80e2;
public const uint  GL_COLOR_INDEX2_EXT                  =       0x80e3;
public const uint  GL_COLOR_INDEX4_EXT                  =       0x80e4;
public const uint  GL_COLOR_INDEX8_EXT                  =       0x80e5;
public const uint  GL_COLOR_INDEX12_EXT                 =       0x80e6;
public const uint  GL_COLOR_INDEX16_EXT                 =       0x80e7;

/* WIN_draw_range_elements */
public const uint  GL_MAX_ELEMENTS_VERTICES_WIN         =       0x80e8;
public const uint  GL_MAX_ELEMENTS_INDICES_WIN          =       0x80e9;

/* WIN_phong_shading */
public const uint  GL_PHONG_WIN                         =       0x80ea;
public const uint  GL_PHONG_HINT_WIN                    =       0x80eb;

/* WIN_specular_fog */
public const uint  GL_FOG_SPECULAR_TEXTURE_WIN          =       0x80ec;

/* For compatibility with OpenGL v1.0 */
public const uint  GL_LOGIC_OP                          = GL_INDEX_LOGIC_OP;
public const uint  GL_TEXTURE_COMPONENTS                = GL_TEXTURE_INTERNAL_FORMAT;

/*************************************************************/

/* EXT_vertex_array */

/* WIN_draw_range_elements */

/* WIN_swap_hint */

/* EXT_paletted_texture */

/* __GL_H__ */
/* __gl_h_ */
//
//
// ############################################################################
// ############################################################################
// ############################################################################
// ############################################################################
//
//
// OpenGL functions from GL.H with pointer types intact.
//
//
[DllImport(GL_DLL)] public unsafe static extern void   glAccum                  ( uint op, float valuex );
[DllImport(GL_DLL)] public unsafe static extern void   glAlphaFunc              ( uint func, float refx );
[DllImport(GL_DLL)] public unsafe static extern byte   glAreTexturesResident    ( int n, uint * textures, byte * residences );
[DllImport(GL_DLL)] public unsafe static extern void   glArrayElement           ( int i );
[DllImport(GL_DLL)] public unsafe static extern void   glBegin                  ( uint mode );
[DllImport(GL_DLL)] public unsafe static extern void   glBindTexture            ( uint target, uint texture );
[DllImport(GL_DLL)] public unsafe static extern void   glBitmap                 ( int width, int height, float xorig, float yorig, float xmove, float ymove, byte * bitmap );
[DllImport(GL_DLL)] public unsafe static extern void   glBlendFunc              ( uint sfactor, uint dfactor );
[DllImport(GL_DLL)] public unsafe static extern void   glCallList               ( uint list );
[DllImport(GL_DLL)] public unsafe static extern void   glCallLists              ( int n, uint type, void * lists );
[DllImport(GL_DLL)] public unsafe static extern void   glClear                  ( uint mask );
[DllImport(GL_DLL)] public unsafe static extern void   glClearAccum             ( float red, float green, float blue, float alpha );
[DllImport(GL_DLL)] public unsafe static extern void   glClearColor             ( float red, float green, float blue, float alpha );
[DllImport(GL_DLL)] public unsafe static extern void   glClearDepth             ( double depth );
[DllImport(GL_DLL)] public unsafe static extern void   glClearIndex             ( float c );
[DllImport(GL_DLL)] public unsafe static extern void   glClearStencil           ( int s );
[DllImport(GL_DLL)] public unsafe static extern void   glClipPlane              ( uint plane, double * equation );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3b                ( sbyte red, sbyte green, sbyte blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3bv               ( sbyte * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3d                ( double red, double green, double blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3dv               ( double * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3f                ( float red, float green, float blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3fv               ( float * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3i                ( int red, int green, int blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3iv               ( int * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3s                ( short red, short green, short blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3sv               ( short * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3ub               ( byte red, byte green, byte blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3ubv              ( byte * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3ui               ( uint red, uint green, uint blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3uiv              ( uint * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3us               ( ushort red, ushort green, ushort blue );
[DllImport(GL_DLL)] public unsafe static extern void   glColor3usv              ( ushort * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor4b                ( sbyte red, sbyte green, sbyte blue, sbyte alpha );
[DllImport(GL_DLL)] public unsafe static extern void   glColor4bv               ( sbyte * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor4d                ( double red, double green, double blue, double alpha );
[DllImport(GL_DLL)] public unsafe static extern void   glColor4dv               ( double * v );
[DllImport(GL_DLL)] public unsafe static extern void   glColor4f                ( float red, float green, float blue, float alpha );
[DllImport(GL_DLL)] public unsafe static extern void   glColor4fv               ( float * v );
[DllImport(GL_DLL)] public unsafe static extern void