Logo Search packages:      
Sourcecode: taoframework version File versions  Download package

Gl.cs

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Tao.OpenGl
{
    using System;
    using System.Runtime.InteropServices;
    using System.Text;
    using GLsizei = System.Int32;
    using GLsizeiptr = System.IntPtr;
    using GLintptr = System.IntPtr;
    using GLenum = System.Int32;
    using GLboolean = System.Int32;
    using GLbitfield = System.Int32;
    using GLvoid = System.Object;
    using GLchar = System.Char;
    using GLbyte = System.Byte;
    using GLubyte = System.Byte;
    using GLshort = System.Int16;
    using GLushort = System.Int16;
    using GLint = System.Int32;
    using GLuint = System.Int32;
    using GLfloat = System.Single;
    using GLclampf = System.Single;
    using GLdouble = System.Double;
    using GLclampd = System.Double;
    using GLstring = System.String;
    using GLsizeiptrARB = System.IntPtr;
    using GLintptrARB = System.IntPtr;
    using GLhandleARB = System.Int32;
    using GLhalfARB = System.Int16;
    using GLhalfNV = System.Int16;
    using GLcharARB = System.Char;
    using GLint64EXT = System.Int64;
    using GLuint64EXT = System.Int64;
    using GLint64 = System.Int64;
    using GLuint64 = System.Int64;
    
    #region GL class
00047     public partial class Gl
    {
        #pragma warning disable 1591

        #region Private Constants

        #region string GL_NATIVE_LIBRARY
        /// <summary>
        /// Specifies OpenGl's native library archive.
        /// </summary>
        /// <remarks>
        /// Specifies opengl32.dll everywhere; will be mapped via .config for mono.
        /// </remarks>
00060         internal const string GL_NATIVE_LIBRARY = "opengl32.dll";
        #endregion string GL_NATIVE_LIBRARY

        #endregion Private Constants

        #region OpenGL constants
        public const Int32 GL_1PASS_EXT = 0x80A1;
        public const Int32 GL_1PASS_SGIS = 0x80A1;
        public const Int32 GL_2_BYTES = 0x1407;
        public const Int32 GL_2D = 0x0600;
        public const Int32 GL_2PASS_0_EXT = 0x80A2;
        public const Int32 GL_2PASS_0_SGIS = 0x80A2;
        public const Int32 GL_2PASS_1_EXT = 0x80A3;
        public const Int32 GL_2PASS_1_SGIS = 0x80A3;
        public const Int32 GL_2X_BIT_ATI = 0x00000001;
        public const Int32 GL_3_BYTES = 0x1408;
        public const Int32 GL_3D = 0x0601;
        public const Int32 GL_3D_COLOR = 0x0602;
        public const Int32 GL_3D_COLOR_TEXTURE = 0x0603;
        public const Int32 GL_4_BYTES = 0x1409;
        public const Int32 GL_422_AVERAGE_EXT = 0x80CE;
        public const Int32 GL_422_EXT = 0x80CC;
        public const Int32 GL_422_REV_AVERAGE_EXT = 0x80CF;
        public const Int32 GL_422_REV_EXT = 0x80CD;
        public const Int32 GL_4D_COLOR_TEXTURE = 0x0604;
        public const Int32 GL_4PASS_0_EXT = 0x80A4;
        public const Int32 GL_4PASS_0_SGIS = 0x80A4;
        public const Int32 GL_4PASS_1_EXT = 0x80A5;
        public const Int32 GL_4PASS_1_SGIS = 0x80A5;
        public const Int32 GL_4PASS_2_EXT = 0x80A6;
        public const Int32 GL_4PASS_2_SGIS = 0x80A6;
        public const Int32 GL_4PASS_3_EXT = 0x80A7;
        public const Int32 GL_4PASS_3_SGIS = 0x80A7;
        public const Int32 GL_4X_BIT_ATI = 0x00000002;
        public const Int32 GL_8X_BIT_ATI = 0x00000004;
        public const Int32 GL_ABGR_EXT = 0x8000;
        public const Int32 GL_ACCUM = 0x0100;
        public const Int32 GL_ACCUM_ALPHA_BITS = 0x0D5B;
        public const Int32 GL_ACCUM_BLUE_BITS = 0x0D5A;
        public const Int32 GL_ACCUM_BUFFER_BIT = 0x00000200;
        public const Int32 GL_ACCUM_CLEAR_VALUE = 0x0B80;
        public const Int32 GL_ACCUM_GREEN_BITS = 0x0D59;
        public const Int32 GL_ACCUM_RED_BITS = 0x0D58;
        public const Int32 GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A;
        public const Int32 GL_ACTIVE_ATTRIBUTES = 0x8B89;
        public const Int32 GL_ACTIVE_STENCIL_FACE_EXT = 0x8911;
        public const Int32 GL_ACTIVE_TEXTURE = 0x84E0;
        public const Int32 GL_ACTIVE_TEXTURE_ARB = 0x84E0;
        public const Int32 GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87;
        public const Int32 GL_ACTIVE_UNIFORMS = 0x8B86;
        public const Int32 GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82;
        public const Int32 GL_ACTIVE_VARYINGS_NV = 0x8C81;
        public const Int32 GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5;
        public const Int32 GL_ADD = 0x0104;
        public const Int32 GL_ADD_ATI = 0x8963;
        public const Int32 GL_ADD_SIGNED = 0x8574;
        public const Int32 GL_ADD_SIGNED_ARB = 0x8574;
        public const Int32 GL_ADD_SIGNED_EXT = 0x8574;
        public const Int32 GL_ALIASED_LINE_WIDTH_RANGE = 0x846E;
        public const Int32 GL_ALIASED_POINT_SIZE_RANGE = 0x846D;
        public const Int32 GL_ALL_ATTRIB_BITS = unchecked((Int32)0xFFFFFFFF);
        public const Int32 GL_ALL_COMPLETED_NV = 0x84F2;
        public const Int32 GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210;
        public const Int32 GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211;
        public const Int32 GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E;
        public const Int32 GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F;
        public const Int32 GL_ALPHA = 0x1906;
        public const Int32 GL_ALPHA_BIAS = 0x0D1D;
        public const Int32 GL_ALPHA_BITS = 0x0D55;
        public const Int32 GL_ALPHA_FLOAT16_ATI = 0x881C;
        public const Int32 GL_ALPHA_FLOAT32_ATI = 0x8816;
        public const Int32 GL_ALPHA_INTEGER_EXT = 0x8D97;
        public const Int32 GL_ALPHA_MAX_CLAMP_INGR = 0x8567;
        public const Int32 GL_ALPHA_MAX_SGIX = 0x8321;
        public const Int32 GL_ALPHA_MIN_CLAMP_INGR = 0x8563;
        public const Int32 GL_ALPHA_MIN_SGIX = 0x8320;
        public const Int32 GL_ALPHA_SCALE = 0x0D1C;
        public const Int32 GL_ALPHA_TEST = 0x0BC0;
        public const Int32 GL_ALPHA_TEST_FUNC = 0x0BC1;
        public const Int32 GL_ALPHA_TEST_REF = 0x0BC2;
        public const Int32 GL_ALPHA12 = 0x803D;
        public const Int32 GL_ALPHA12_EXT = 0x803D;
        public const Int32 GL_ALPHA16 = 0x803E;
        public const Int32 GL_ALPHA16_EXT = 0x803E;
        public const Int32 GL_ALPHA16F_ARB = 0x881C;
        public const Int32 GL_ALPHA16I_EXT = 0x8D8A;
        public const Int32 GL_ALPHA16UI_EXT = 0x8D78;
        public const Int32 GL_ALPHA32F_ARB = 0x8816;
        public const Int32 GL_ALPHA32I_EXT = 0x8D84;
        public const Int32 GL_ALPHA32UI_EXT = 0x8D72;
        public const Int32 GL_ALPHA4 = 0x803B;
        public const Int32 GL_ALPHA4_EXT = 0x803B;
        public const Int32 GL_ALPHA8 = 0x803C;
        public const Int32 GL_ALPHA8_EXT = 0x803C;
        public const Int32 GL_ALPHA8I_EXT = 0x8D90;
        public const Int32 GL_ALPHA8UI_EXT = 0x8D7E;
        public const Int32 GL_ALWAYS = 0x0207;
        public const Int32 GL_ALWAYS_FAST_HINT_PGI = 0x1A20C;
        public const Int32 GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D;
        public const Int32 GL_AMBIENT = 0x1200;
        public const Int32 GL_AMBIENT_AND_DIFFUSE = 0x1602;
        public const Int32 GL_AND = 0x1501;
        public const Int32 GL_AND_INVERTED = 0x1504;
        public const Int32 GL_AND_REVERSE = 0x1502;
        public const Int32 GL_ARB_imaging = 1;
        public const Int32 GL_ARRAY_BUFFER = 0x8892;
        public const Int32 GL_ARRAY_BUFFER_ARB = 0x8892;
        public const Int32 GL_ARRAY_BUFFER_BINDING = 0x8894;
        public const Int32 GL_ARRAY_BUFFER_BINDING_ARB = 0x8894;
        public const Int32 GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9;
        public const Int32 GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8;
        public const Int32 GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766;
        public const Int32 GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767;
        public const Int32 GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D;
        public const Int32 GL_ASYNC_HISTOGRAM_SGIX = 0x832C;
        public const Int32 GL_ASYNC_MARKER_SGIX = 0x8329;
        public const Int32 GL_ASYNC_READ_PIXELS_SGIX = 0x835E;
        public const Int32 GL_ASYNC_TEX_IMAGE_SGIX = 0x835C;
        public const Int32 GL_ATTACHED_SHADERS = 0x8B85;
        public const Int32 GL_ATTENUATION_EXT = 0x834D;
        public const Int32 GL_ATTRIB_ARRAY_POINTER_NV = 0x8645;
        public const Int32 GL_ATTRIB_ARRAY_SIZE_NV = 0x8623;
        public const Int32 GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624;
        public const Int32 GL_ATTRIB_ARRAY_TYPE_NV = 0x8625;
        public const Int32 GL_ATTRIB_STACK_DEPTH = 0x0BB0;
        public const Int32 GL_AUTO_NORMAL = 0x0D80;
        public const Int32 GL_AUX_BUFFERS = 0x0C00;
        public const Int32 GL_AUX0 = 0x0409;
        public const Int32 GL_AUX1 = 0x040A;
        public const Int32 GL_AUX2 = 0x040B;
        public const Int32 GL_AUX3 = 0x040C;
        public const Int32 GL_AVERAGE_EXT = 0x8335;
        public const Int32 GL_AVERAGE_HP = 0x8160;
        public const Int32 GL_BACK = 0x0405;
        public const Int32 GL_BACK_LEFT = 0x0402;
        public const Int32 GL_BACK_NORMALS_HINT_PGI = 0x1A223;
        public const Int32 GL_BACK_PRIMARY_COLOR_NV = 0x8C77;
        public const Int32 GL_BACK_RIGHT = 0x0403;
        public const Int32 GL_BACK_SECONDARY_COLOR_NV = 0x8C78;
        public const Int32 GL_BGR = 0x80E0;
        public const Int32 GL_BGR_EXT = 0x80E0;
        public const Int32 GL_BGR_INTEGER_EXT = 0x8D9A;
        public const Int32 GL_BGRA = 0x80E1;
        public const Int32 GL_BGRA_EXT = 0x80E1;
        public const Int32 GL_BGRA_INTEGER_EXT = 0x8D9B;
        public const Int32 GL_BIAS_BIT_ATI = 0x00000008;
        public const Int32 GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541;
        public const Int32 GL_BINORMAL_ARRAY_EXT = 0x843A;
        public const Int32 GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443;
        public const Int32 GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441;
        public const Int32 GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440;
        public const Int32 GL_BITMAP = 0x1A00;
        public const Int32 GL_BITMAP_TOKEN = 0x0704;
        public const Int32 GL_BLEND = 0x0BE2;
        public const Int32 GL_BLEND_COLOR = 0x8005;
        public const Int32 GL_BLEND_COLOR_EXT = 0x8005;
        public const Int32 GL_BLEND_DST = 0x0BE0;
        public const Int32 GL_BLEND_DST_ALPHA = 0x80CA;
        public const Int32 GL_BLEND_DST_ALPHA_EXT = 0x80CA;
        public const Int32 GL_BLEND_DST_RGB = 0x80C8;
        public const Int32 GL_BLEND_DST_RGB_EXT = 0x80C8;
        public const Int32 GL_BLEND_EQUATION = 0x8009;
        public const Int32 GL_BLEND_EQUATION_ALPHA = 0x883D;
        public const Int32 GL_BLEND_EQUATION_ALPHA_EXT = 0x883D;
        public const Int32 GL_BLEND_EQUATION_EXT = 0x8009;
        public const Int32 GL_BLEND_EQUATION_RGB = GL_BLEND_EQUATION;
        public const Int32 GL_BLEND_EQUATION_RGB_EXT = GL_BLEND_EQUATION;
        public const Int32 GL_BLEND_SRC = 0x0BE1;
        public const Int32 GL_BLEND_SRC_ALPHA = 0x80CB;
        public const Int32 GL_BLEND_SRC_ALPHA_EXT = 0x80CB;
        public const Int32 GL_BLEND_SRC_RGB = 0x80C9;
        public const Int32 GL_BLEND_SRC_RGB_EXT = 0x80C9;
        public const Int32 GL_BLUE = 0x1905;
        public const Int32 GL_BLUE_BIAS = 0x0D1B;
        public const Int32 GL_BLUE_BIT_ATI = 0x00000004;
        public const Int32 GL_BLUE_BITS = 0x0D54;
        public const Int32 GL_BLUE_INTEGER_EXT = 0x8D96;
        public const Int32 GL_BLUE_MAX_CLAMP_INGR = 0x8566;
        public const Int32 GL_BLUE_MIN_CLAMP_INGR = 0x8562;
        public const Int32 GL_BLUE_SCALE = 0x0D1A;
        public const Int32 GL_BOOL = 0x8B56;
        public const Int32 GL_BOOL_ARB = 0x8B56;
        public const Int32 GL_BOOL_VEC2 = 0x8B57;
        public const Int32 GL_BOOL_VEC2_ARB = 0x8B57;
        public const Int32 GL_BOOL_VEC3 = 0x8B58;
        public const Int32 GL_BOOL_VEC3_ARB = 0x8B58;
        public const Int32 GL_BOOL_VEC4 = 0x8B59;
        public const Int32 GL_BOOL_VEC4_ARB = 0x8B59;
        public const Int32 GL_BUFFER_ACCESS = 0x88BB;
        public const Int32 GL_BUFFER_ACCESS_ARB = 0x88BB;
        public const Int32 GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13;
        public const Int32 GL_BUFFER_MAP_POINTER = 0x88BD;
        public const Int32 GL_BUFFER_MAP_POINTER_ARB = 0x88BD;
        public const Int32 GL_BUFFER_MAPPED = 0x88BC;
        public const Int32 GL_BUFFER_MAPPED_ARB = 0x88BC;
        public const Int32 GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12;
        public const Int32 GL_BUFFER_SIZE = 0x8764;
        public const Int32 GL_BUFFER_SIZE_ARB = 0x8764;
        public const Int32 GL_BUFFER_USAGE = 0x8765;
        public const Int32 GL_BUFFER_USAGE_ARB = 0x8765;
        public const Int32 GL_BUMP_ENVMAP_ATI = 0x877B;
        public const Int32 GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777;
        public const Int32 GL_BUMP_ROT_MATRIX_ATI = 0x8775;
        public const Int32 GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776;
        public const Int32 GL_BUMP_TARGET_ATI = 0x877C;
        public const Int32 GL_BUMP_TEX_UNITS_ATI = 0x8778;
        public const Int32 GL_BYTE = 0x1400;
        public const Int32 GL_C3F_V3F = 0x2A24;
        public const Int32 GL_C4F_N3F_V3F = 0x2A26;
        public const Int32 GL_C4UB_V2F = 0x2A22;
        public const Int32 GL_C4UB_V3F = 0x2A23;
        public const Int32 GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183;
        public const Int32 GL_CCW = 0x0901;
        public const Int32 GL_CLAMP = 0x2900;
        public const Int32 GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B;
        public const Int32 GL_CLAMP_READ_COLOR_ARB = 0x891C;
        public const Int32 GL_CLAMP_TO_BORDER = 0x812D;
        public const Int32 GL_CLAMP_TO_BORDER_ARB = 0x812D;
        public const Int32 GL_CLAMP_TO_BORDER_SGIS = 0x812D;
        public const Int32 GL_CLAMP_TO_EDGE = 0x812F;
        public const Int32 GL_CLAMP_TO_EDGE_SGIS = 0x812F;
        public const Int32 GL_CLAMP_VERTEX_COLOR_ARB = 0x891A;
        public const Int32 GL_CLEAR = 0x1500;
        public const Int32 GL_CLIENT_ACTIVE_TEXTURE = 0x84E1;
        public const Int32 GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1;
        public const Int32 GL_CLIENT_ALL_ATTRIB_BITS = unchecked((Int32)0xFFFFFFFF);
        public const Int32 GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1;
        public const Int32 GL_CLIENT_PIXEL_STORE_BIT = 0x00000001;
        public const Int32 GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002;
        public const Int32 GL_CLIP_DISTANCE_NV = 0x8C7A;
        public const Int32 GL_CLIP_FAR_HINT_PGI = 0x1A221;
        public const Int32 GL_CLIP_NEAR_HINT_PGI = 0x1A220;
        public const Int32 GL_CLIP_PLANE0 = 0x3000;
        public const Int32 GL_CLIP_PLANE1 = 0x3001;
        public const Int32 GL_CLIP_PLANE2 = 0x3002;
        public const Int32 GL_CLIP_PLANE3 = 0x3003;
        public const Int32 GL_CLIP_PLANE4 = 0x3004;
        public const Int32 GL_CLIP_PLANE5 = 0x3005;
        public const Int32 GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0;
        public const Int32 GL_CMYK_EXT = 0x800C;
        public const Int32 GL_CMYKA_EXT = 0x800D;
        public const Int32 GL_CND_ATI = 0x896A;
        public const Int32 GL_CND0_ATI = 0x896B;
        public const Int32 GL_COEFF = 0x0A00;
        public const Int32 GL_COLOR = 0x1800;
        public const Int32 GL_COLOR_ALPHA_PAIRING_ATI = 0x8975;
        public const Int32 GL_COLOR_ARRAY = 0x8076;
        public const Int32 GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898;
        public const Int32 GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898;
        public const Int32 GL_COLOR_ARRAY_COUNT_EXT = 0x8084;
        public const Int32 GL_COLOR_ARRAY_EXT = 0x8076;
        public const Int32 GL_COLOR_ARRAY_LIST_IBM = 103072;
        public const Int32 GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082;
        public const Int32 GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7;
        public const Int32 GL_COLOR_ARRAY_POINTER = 0x8090;
        public const Int32 GL_COLOR_ARRAY_POINTER_EXT = 0x8090;
        public const Int32 GL_COLOR_ARRAY_SIZE = 0x8081;
        public const Int32 GL_COLOR_ARRAY_SIZE_EXT = 0x8081;
        public const Int32 GL_COLOR_ARRAY_STRIDE = 0x8083;
        public const Int32 GL_COLOR_ARRAY_STRIDE_EXT = 0x8083;
        public const Int32 GL_COLOR_ARRAY_TYPE = 0x8082;
        public const Int32 GL_COLOR_ARRAY_TYPE_EXT = 0x8082;
        public const Int32 GL_COLOR_ATTACHMENT0_EXT = 0x8CE0;
        public const Int32 GL_COLOR_ATTACHMENT1_EXT = 0x8CE1;
        public const Int32 GL_COLOR_ATTACHMENT10_EXT = 0x8CEA;
        public const Int32 GL_COLOR_ATTACHMENT11_EXT = 0x8CEB;
        public const Int32 GL_COLOR_ATTACHMENT12_EXT = 0x8CEC;
        public const Int32 GL_COLOR_ATTACHMENT13_EXT = 0x8CED;
        public const Int32 GL_COLOR_ATTACHMENT14_EXT = 0x8CEE;
        public const Int32 GL_COLOR_ATTACHMENT15_EXT = 0x8CEF;
        public const Int32 GL_COLOR_ATTACHMENT2_EXT = 0x8CE2;
        public const Int32 GL_COLOR_ATTACHMENT3_EXT = 0x8CE3;
        public const Int32 GL_COLOR_ATTACHMENT4_EXT = 0x8CE4;
        public const Int32 GL_COLOR_ATTACHMENT5_EXT = 0x8CE5;
        public const Int32 GL_COLOR_ATTACHMENT6_EXT = 0x8CE6;
        public const Int32 GL_COLOR_ATTACHMENT7_EXT = 0x8CE7;
        public const Int32 GL_COLOR_ATTACHMENT8_EXT = 0x8CE8;
        public const Int32 GL_COLOR_ATTACHMENT9_EXT = 0x8CE9;
        public const Int32 GL_COLOR_BUFFER_BIT = 0x00004000;
        public const Int32 GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835;
        public const Int32 GL_COLOR_CLEAR_VALUE = 0x0C22;
        public const Int32 GL_COLOR_INDEX = 0x1900;
        public const Int32 GL_COLOR_INDEX1_EXT = 0x80E2;
        public const Int32 GL_COLOR_INDEX12_EXT = 0x80E6;
        public const Int32 GL_COLOR_INDEX16_EXT = 0x80E7;
        public const Int32 GL_COLOR_INDEX2_EXT = 0x80E3;
        public const Int32 GL_COLOR_INDEX4_EXT = 0x80E4;
        public const Int32 GL_COLOR_INDEX8_EXT = 0x80E5;
        public const Int32 GL_COLOR_INDEXES = 0x1603;
        public const Int32 GL_COLOR_LOGIC_OP = 0x0BF2;
        public const Int32 GL_COLOR_MATERIAL = 0x0B57;
        public const Int32 GL_COLOR_MATERIAL_FACE = 0x0B55;
        public const Int32 GL_COLOR_MATERIAL_PARAMETER = 0x0B56;
        public const Int32 GL_COLOR_MATRIX = 0x80B1;
        public const Int32 GL_COLOR_MATRIX_SGI = 0x80B1;
        public const Int32 GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2;
        public const Int32 GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2;
        public const Int32 GL_COLOR_SUM = 0x8458;
        public const Int32 GL_COLOR_SUM_ARB = 0x8458;
        public const Int32 GL_COLOR_SUM_CLAMP_NV = 0x854F;
        public const Int32 GL_COLOR_SUM_EXT = 0x8458;
        public const Int32 GL_COLOR_TABLE = 0x80D0;
        public const Int32 GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD;
        public const Int32 GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD;
        public const Int32 GL_COLOR_TABLE_BIAS = 0x80D7;
        public const Int32 GL_COLOR_TABLE_BIAS_SGI = 0x80D7;
        public const Int32 GL_COLOR_TABLE_BLUE_SIZE = 0x80DC;
        public const Int32 GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC;
        public const Int32 GL_COLOR_TABLE_FORMAT = 0x80D8;
        public const Int32 GL_COLOR_TABLE_FORMAT_SGI = 0x80D8;
        public const Int32 GL_COLOR_TABLE_GREEN_SIZE = 0x80DB;
        public const Int32 GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB;
        public const Int32 GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF;
        public const Int32 GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF;
        public const Int32 GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE;
        public const Int32 GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE;
        public const Int32 GL_COLOR_TABLE_RED_SIZE = 0x80DA;
        public const Int32 GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA;
        public const Int32 GL_COLOR_TABLE_SCALE = 0x80D6;
        public const Int32 GL_COLOR_TABLE_SCALE_SGI = 0x80D6;
        public const Int32 GL_COLOR_TABLE_SGI = 0x80D0;
        public const Int32 GL_COLOR_TABLE_WIDTH = 0x80D9;
        public const Int32 GL_COLOR_TABLE_WIDTH_SGI = 0x80D9;
        public const Int32 GL_COLOR_WRITEMASK = 0x0C23;
        public const Int32 GL_COLOR3_BIT_PGI = 0x00010000;
        public const Int32 GL_COLOR4_BIT_PGI = 0x00020000;
        public const Int32 GL_COMBINE = 0x8570;
        public const Int32 GL_COMBINE_ALPHA = 0x8572;
        public const Int32 GL_COMBINE_ALPHA_ARB = 0x8572;
        public const Int32 GL_COMBINE_ALPHA_EXT = 0x8572;
        public const Int32 GL_COMBINE_ARB = 0x8570;
        public const Int32 GL_COMBINE_EXT = 0x8570;
        public const Int32 GL_COMBINE_RGB = 0x8571;
        public const Int32 GL_COMBINE_RGB_ARB = 0x8571;
        public const Int32 GL_COMBINE_RGB_EXT = 0x8571;
        public const Int32 GL_COMBINE4_NV = 0x8503;
        public const Int32 GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545;
        public const Int32 GL_COMBINER_AB_OUTPUT_NV = 0x854A;
        public const Int32 GL_COMBINER_BIAS_NV = 0x8549;
        public const Int32 GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546;
        public const Int32 GL_COMBINER_CD_OUTPUT_NV = 0x854B;
        public const Int32 GL_COMBINER_COMPONENT_USAGE_NV = 0x8544;
        public const Int32 GL_COMBINER_INPUT_NV = 0x8542;
        public const Int32 GL_COMBINER_MAPPING_NV = 0x8543;
        public const Int32 GL_COMBINER_MUX_SUM_NV = 0x8547;
        public const Int32 GL_COMBINER_SCALE_NV = 0x8548;
        public const Int32 GL_COMBINER_SUM_OUTPUT_NV = 0x854C;
        public const Int32 GL_COMBINER0_NV = 0x8550;
        public const Int32 GL_COMBINER1_NV = 0x8551;
        public const Int32 GL_COMBINER2_NV = 0x8552;
        public const Int32 GL_COMBINER3_NV = 0x8553;
        public const Int32 GL_COMBINER4_NV = 0x8554;
        public const Int32 GL_COMBINER5_NV = 0x8555;
        public const Int32 GL_COMBINER6_NV = 0x8556;
        public const Int32 GL_COMBINER7_NV = 0x8557;
        public const Int32 GL_COMP_BIT_ATI = 0x00000002;
        public const Int32 GL_COMPARE_R_TO_TEXTURE = 0x884E;
        public const Int32 GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E;
        public const Int32 GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E;
        public const Int32 GL_COMPILE = 0x1300;
        public const Int32 GL_COMPILE_AND_EXECUTE = 0x1301;
        public const Int32 GL_COMPILE_STATUS = 0x8B81;
        public const Int32 GL_COMPRESSED_ALPHA = 0x84E9;
        public const Int32 GL_COMPRESSED_ALPHA_ARB = 0x84E9;
        public const Int32 GL_COMPRESSED_INTENSITY = 0x84EC;
        public const Int32 GL_COMPRESSED_INTENSITY_ARB = 0x84EC;
        public const Int32 GL_COMPRESSED_LUMINANCE = 0x84EA;
        public const Int32 GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB;
        public const Int32 GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB;
        public const Int32 GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72;
        public const Int32 GL_COMPRESSED_LUMINANCE_ARB = 0x84EA;
        public const Int32 GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70;
        public const Int32 GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD;
        public const Int32 GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB;
        public const Int32 GL_COMPRESSED_RGB = 0x84ED;
        public const Int32 GL_COMPRESSED_RGB_ARB = 0x84ED;
        public const Int32 GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0;
        public const Int32 GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0;
        public const Int32 GL_COMPRESSED_RGBA = 0x84EE;
        public const Int32 GL_COMPRESSED_RGBA_ARB = 0x84EE;
        public const Int32 GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1;
        public const Int32 GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1;
        public const Int32 GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2;
        public const Int32 GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3;
        public const Int32 GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73;
        public const Int32 GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71;
        public const Int32 GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE;
        public const Int32 GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC;
        public const Int32 GL_COMPRESSED_SLUMINANCE = 0x8C4A;
        public const Int32 GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B;
        public const Int32 GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B;
        public const Int32 GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A;
        public const Int32 GL_COMPRESSED_SRGB = 0x8C48;
        public const Int32 GL_COMPRESSED_SRGB_ALPHA = 0x8C49;
        public const Int32 GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49;
        public const Int32 GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D;
        public const Int32 GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E;
        public const Int32 GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F;
        public const Int32 GL_COMPRESSED_SRGB_EXT = 0x8C48;
        public const Int32 GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C;
        public const Int32 GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3;
        public const Int32 GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3;
        public const Int32 GL_CON_0_ATI = 0x8941;
        public const Int32 GL_CON_1_ATI = 0x8942;
        public const Int32 GL_CON_10_ATI = 0x894B;
        public const Int32 GL_CON_11_ATI = 0x894C;
        public const Int32 GL_CON_12_ATI = 0x894D;
        public const Int32 GL_CON_13_ATI = 0x894E;
        public const Int32 GL_CON_14_ATI = 0x894F;
        public const Int32 GL_CON_15_ATI = 0x8950;
        public const Int32 GL_CON_16_ATI = 0x8951;
        public const Int32 GL_CON_17_ATI = 0x8952;
        public const Int32 GL_CON_18_ATI = 0x8953;
        public const Int32 GL_CON_19_ATI = 0x8954;
        public const Int32 GL_CON_2_ATI = 0x8943;
        public const Int32 GL_CON_20_ATI = 0x8955;
        public const Int32 GL_CON_21_ATI = 0x8956;
        public const Int32 GL_CON_22_ATI = 0x8957;
        public const Int32 GL_CON_23_ATI = 0x8958;
        public const Int32 GL_CON_24_ATI = 0x8959;
        public const Int32 GL_CON_25_ATI = 0x895A;
        public const Int32 GL_CON_26_ATI = 0x895B;
        public const Int32 GL_CON_27_ATI = 0x895C;
        public const Int32 GL_CON_28_ATI = 0x895D;
        public const Int32 GL_CON_29_ATI = 0x895E;
        public const Int32 GL_CON_3_ATI = 0x8944;
        public const Int32 GL_CON_30_ATI = 0x895F;
        public const Int32 GL_CON_31_ATI = 0x8960;
        public const Int32 GL_CON_4_ATI = 0x8945;
        public const Int32 GL_CON_5_ATI = 0x8946;
        public const Int32 GL_CON_6_ATI = 0x8947;
        public const Int32 GL_CON_7_ATI = 0x8948;
        public const Int32 GL_CON_8_ATI = 0x8949;
        public const Int32 GL_CON_9_ATI = 0x894A;
        public const Int32 GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD;
        public const Int32 GL_CONST_EYE_NV = 0x86E5;
        public const Int32 GL_CONSTANT = 0x8576;
        public const Int32 GL_CONSTANT_ALPHA = 0x8003;
        public const Int32 GL_CONSTANT_ALPHA_EXT = 0x8003;
        public const Int32 GL_CONSTANT_ARB = 0x8576;
        public const Int32 GL_CONSTANT_ATTENUATION = 0x1207;
        public const Int32 GL_CONSTANT_BORDER = 0x8151;
        public const Int32 GL_CONSTANT_BORDER_HP = 0x8151;
        public const Int32 GL_CONSTANT_COLOR = 0x8001;
        public const Int32 GL_CONSTANT_COLOR_EXT = 0x8001;
        public const Int32 GL_CONSTANT_COLOR0_NV = 0x852A;
        public const Int32 GL_CONSTANT_COLOR1_NV = 0x852B;
        public const Int32 GL_CONSTANT_EXT = 0x8576;
        public const Int32 GL_CONVOLUTION_1D = 0x8010;
        public const Int32 GL_CONVOLUTION_1D_EXT = 0x8010;
        public const Int32 GL_CONVOLUTION_2D = 0x8011;
        public const Int32 GL_CONVOLUTION_2D_EXT = 0x8011;
        public const Int32 GL_CONVOLUTION_BORDER_COLOR = 0x8154;
        public const Int32 GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154;
        public const Int32 GL_CONVOLUTION_BORDER_MODE = 0x8013;
        public const Int32 GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013;
        public const Int32 GL_CONVOLUTION_FILTER_BIAS = 0x8015;
        public const Int32 GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015;
        public const Int32 GL_CONVOLUTION_FILTER_SCALE = 0x8014;
        public const Int32 GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014;
        public const Int32 GL_CONVOLUTION_FORMAT = 0x8017;
        public const Int32 GL_CONVOLUTION_FORMAT_EXT = 0x8017;
        public const Int32 GL_CONVOLUTION_HEIGHT = 0x8019;
        public const Int32 GL_CONVOLUTION_HEIGHT_EXT = 0x8019;
        public const Int32 GL_CONVOLUTION_HINT_SGIX = 0x8316;
        public const Int32 GL_CONVOLUTION_WIDTH = 0x8018;
        public const Int32 GL_CONVOLUTION_WIDTH_EXT = 0x8018;
        public const Int32 GL_COORD_REPLACE = 0x8862;
        public const Int32 GL_COORD_REPLACE_ARB = 0x8862;
        public const Int32 GL_COORD_REPLACE_NV = 0x8862;
        public const Int32 GL_COPY = 0x1503;
        public const Int32 GL_COPY_INVERTED = 0x150C;
        public const Int32 GL_COPY_PIXEL_TOKEN = 0x0706;
        public const Int32 GL_CUBIC_EXT = 0x8334;
        public const Int32 GL_CUBIC_HP = 0x815F;
        public const Int32 GL_CULL_FACE = 0x0B44;
        public const Int32 GL_CULL_FACE_MODE = 0x0B45;
        public const Int32 GL_CULL_FRAGMENT_NV = 0x86E7;
        public const Int32 GL_CULL_MODES_NV = 0x86E0;
        public const Int32 GL_CULL_VERTEX_EXT = 0x81AA;
        public const Int32 GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB;
        public const Int32 GL_CULL_VERTEX_IBM = 103050;
        public const Int32 GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC;
        public const Int32 GL_CURRENT_ATTRIB_NV = 0x8626;
        public const Int32 GL_CURRENT_BINORMAL_EXT = 0x843C;
        public const Int32 GL_CURRENT_BIT = 0x00000001;
        public const Int32 GL_CURRENT_COLOR = 0x0B00;
        public const Int32 GL_CURRENT_FOG_COORD = GL_CURRENT_FOG_COORDINATE;
        public const Int32 GL_CURRENT_FOG_COORDINATE = 0x8453;
        public const Int32 GL_CURRENT_FOG_COORDINATE_EXT = 0x8453;
        public const Int32 GL_CURRENT_INDEX = 0x0B01;
        public const Int32 GL_CURRENT_MATRIX_ARB = 0x8641;
        public const Int32 GL_CURRENT_MATRIX_INDEX_ARB = 0x8845;
        public const Int32 GL_CURRENT_MATRIX_NV = 0x8641;
        public const Int32 GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640;
        public const Int32 GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640;
        public const Int32 GL_CURRENT_NORMAL = 0x0B02;
        public const Int32 GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865;
        public const Int32 GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843;
        public const Int32 GL_CURRENT_PROGRAM = 0x8B8D;
        public const Int32 GL_CURRENT_QUERY = 0x8865;
        public const Int32 GL_CURRENT_QUERY_ARB = 0x8865;
        public const Int32 GL_CURRENT_RASTER_COLOR = 0x0B04;
        public const Int32 GL_CURRENT_RASTER_DISTANCE = 0x0B09;
        public const Int32 GL_CURRENT_RASTER_INDEX = 0x0B05;
        public const Int32 GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406;
        public const Int32 GL_CURRENT_RASTER_POSITION = 0x0B07;
        public const Int32 GL_CURRENT_RASTER_POSITION_VALID = 0x0B08;
        public const Int32 GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F;
        public const Int32 GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06;
        public const Int32 GL_CURRENT_SECONDARY_COLOR = 0x8459;
        public const Int32 GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459;
        public const Int32 GL_CURRENT_TANGENT_EXT = 0x843B;
        public const Int32 GL_CURRENT_TEXTURE_COORDS = 0x0B03;
        public const Int32 GL_CURRENT_VERTEX_ATTRIB = 0x8626;
        public const Int32 GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626;
        public const Int32 GL_CURRENT_VERTEX_EXT = 0x87E2;
        public const Int32 GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B;
        public const Int32 GL_CURRENT_WEIGHT_ARB = 0x86A8;
        public const Int32 GL_CW = 0x0900;
        public const Int32 GL_DECAL = 0x2101;
        public const Int32 GL_DECR = 0x1E03;
        public const Int32 GL_DECR_WRAP = 0x8508;
        public const Int32 GL_DECR_WRAP_EXT = 0x8508;
        public const Int32 GL_DEFORMATIONS_MASK_SGIX = 0x8196;
        public const Int32 GL_DELETE_STATUS = 0x8B80;
        public const Int32 GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9;
        public const Int32 GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA;
        public const Int32 GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858;
        public const Int32 GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859;
        public const Int32 GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A;
        public const Int32 GL_DEPTH = 0x1801;
        public const Int32 GL_DEPTH_ATTACHMENT_EXT = 0x8D00;
        public const Int32 GL_DEPTH_BIAS = 0x0D1F;
        public const Int32 GL_DEPTH_BITS = 0x0D56;
        public const Int32 GL_DEPTH_BOUNDS_EXT = 0x8891;
        public const Int32 GL_DEPTH_BOUNDS_TEST_EXT = 0x8890;
        public const Int32 GL_DEPTH_BUFFER_BIT = 0x00000100;
        public const Int32 GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF;
        public const Int32 GL_DEPTH_CLAMP_NV = 0x864F;
        public const Int32 GL_DEPTH_CLEAR_VALUE = 0x0B73;
        public const Int32 GL_DEPTH_COMPONENT = 0x1902;
        public const Int32 GL_DEPTH_COMPONENT16 = 0x81A5;
        public const Int32 GL_DEPTH_COMPONENT16_ARB = 0x81A5;
        public const Int32 GL_DEPTH_COMPONENT16_SGIX = 0x81A5;
        public const Int32 GL_DEPTH_COMPONENT24 = 0x81A6;
        public const Int32 GL_DEPTH_COMPONENT24_ARB = 0x81A6;
        public const Int32 GL_DEPTH_COMPONENT24_SGIX = 0x81A6;
        public const Int32 GL_DEPTH_COMPONENT32 = 0x81A7;
        public const Int32 GL_DEPTH_COMPONENT32_ARB = 0x81A7;
        public const Int32 GL_DEPTH_COMPONENT32_SGIX = 0x81A7;
        public const Int32 GL_DEPTH_COMPONENT32F_NV = 0x8DAB;
        public const Int32 GL_DEPTH_FUNC = 0x0B74;
        public const Int32 GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311;
        public const Int32 GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312;
        public const Int32 GL_DEPTH_PASS_INSTRUMENT_SGIX = 0x8310;
        public const Int32 GL_DEPTH_RANGE = 0x0B70;
        public const Int32 GL_DEPTH_SCALE = 0x0D1E;
        public const Int32 GL_DEPTH_STENCIL_EXT = 0x84F9;
        public const Int32 GL_DEPTH_STENCIL_NV = 0x84F9;
        public const Int32 GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F;
        public const Int32 GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E;
        public const Int32 GL_DEPTH_TEST = 0x0B71;
        public const Int32 GL_DEPTH_TEXTURE_MODE = 0x884B;
        public const Int32 GL_DEPTH_TEXTURE_MODE_ARB = 0x884B;
        public const Int32 GL_DEPTH_WRITEMASK = 0x0B72;
        public const Int32 GL_DEPTH24_STENCIL8_EXT = 0x88F0;
        public const Int32 GL_DEPTH32F_STENCIL8_NV = 0x8DAC;
        public const Int32 GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096;
        public const Int32 GL_DETAIL_TEXTURE_2D_SGIS = 0x8095;
        public const Int32 GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C;
        public const Int32 GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A;
        public const Int32 GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B;
        public const Int32 GL_DIFFUSE = 0x1201;
        public const Int32 GL_DISCARD_ATI = 0x8763;
        public const Int32 GL_DISCARD_NV = 0x8530;
        public const Int32 GL_DISTANCE_ATTENUATION_EXT = 0x8129;
        public const Int32 GL_DISTANCE_ATTENUATION_SGIS = 0x8129;
        public const Int32 GL_DITHER = 0x0BD0;
        public const Int32 GL_DOMAIN = 0x0A02;
        public const Int32 GL_DONT_CARE = 0x1100;
        public const Int32 GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D;
        public const Int32 GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3;
        public const Int32 GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED;
        public const Int32 GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1;
        public const Int32 GL_DOT_PRODUCT_NV = 0x86EC;
        public const Int32 GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B;
        public const Int32 GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2;
        public const Int32 GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C;
        public const Int32 GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE;
        public const Int32 GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF;
        public const Int32 GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0;
        public const Int32 GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E;
        public const Int32 GL_DOT2_ADD_ATI = 0x896C;
        public const Int32 GL_DOT3_ATI = 0x8966;
        public const Int32 GL_DOT3_RGB = 0x86AE;
        public const Int32 GL_DOT3_RGB_ARB = 0x86AE;
        public const Int32 GL_DOT3_RGB_EXT = 0x8740;
        public const Int32 GL_DOT3_RGBA = 0x86AF;
        public const Int32 GL_DOT3_RGBA_ARB = 0x86AF;
        public const Int32 GL_DOT3_RGBA_EXT = 0x8741;
        public const Int32 GL_DOT4_ATI = 0x8967;
        public const Int32 GL_DOUBLE = 0x140A;
        public const Int32 GL_DOUBLE_EXT = 0x140A;
        public const Int32 GL_DOUBLEBUFFER = 0x0C32;
        public const Int32 GL_DRAW_BUFFER = 0x0C01;
        public const Int32 GL_DRAW_BUFFER0 = 0x8825;
        public const Int32 GL_DRAW_BUFFER0_ARB = 0x8825;
        public const Int32 GL_DRAW_BUFFER0_ATI = 0x8825;
        public const Int32 GL_DRAW_BUFFER1 = 0x8826;
        public const Int32 GL_DRAW_BUFFER1_ARB = 0x8826;
        public const Int32 GL_DRAW_BUFFER1_ATI = 0x8826;
        public const Int32 GL_DRAW_BUFFER10 = 0x882F;
        public const Int32 GL_DRAW_BUFFER10_ARB = 0x882F;
        public const Int32 GL_DRAW_BUFFER10_ATI = 0x882F;
        public const Int32 GL_DRAW_BUFFER11 = 0x8830;
        public const Int32 GL_DRAW_BUFFER11_ARB = 0x8830;
        public const Int32 GL_DRAW_BUFFER11_ATI = 0x8830;
        public const Int32 GL_DRAW_BUFFER12 = 0x8831;
        public const Int32 GL_DRAW_BUFFER12_ARB = 0x8831;
        public const Int32 GL_DRAW_BUFFER12_ATI = 0x8831;
        public const Int32 GL_DRAW_BUFFER13 = 0x8832;
        public const Int32 GL_DRAW_BUFFER13_ARB = 0x8832;
        public const Int32 GL_DRAW_BUFFER13_ATI = 0x8832;
        public const Int32 GL_DRAW_BUFFER14 = 0x8833;
        public const Int32 GL_DRAW_BUFFER14_ARB = 0x8833;
        public const Int32 GL_DRAW_BUFFER14_ATI = 0x8833;
        public const Int32 GL_DRAW_BUFFER15 = 0x8834;
        public const Int32 GL_DRAW_BUFFER15_ARB = 0x8834;
        public const Int32 GL_DRAW_BUFFER15_ATI = 0x8834;
        public const Int32 GL_DRAW_BUFFER2 = 0x8827;
        public const Int32 GL_DRAW_BUFFER2_ARB = 0x8827;
        public const Int32 GL_DRAW_BUFFER2_ATI = 0x8827;
        public const Int32 GL_DRAW_BUFFER3 = 0x8828;
        public const Int32 GL_DRAW_BUFFER3_ARB = 0x8828;
        public const Int32 GL_DRAW_BUFFER3_ATI = 0x8828;
        public const Int32 GL_DRAW_BUFFER4 = 0x8829;
        public const Int32 GL_DRAW_BUFFER4_ARB = 0x8829;
        public const Int32 GL_DRAW_BUFFER4_ATI = 0x8829;
        public const Int32 GL_DRAW_BUFFER5 = 0x882A;
        public const Int32 GL_DRAW_BUFFER5_ARB = 0x882A;
        public const Int32 GL_DRAW_BUFFER5_ATI = 0x882A;
        public const Int32 GL_DRAW_BUFFER6 = 0x882B;
        public const Int32 GL_DRAW_BUFFER6_ARB = 0x882B;
        public const Int32 GL_DRAW_BUFFER6_ATI = 0x882B;
        public const Int32 GL_DRAW_BUFFER7 = 0x882C;
        public const Int32 GL_DRAW_BUFFER7_ARB = 0x882C;
        public const Int32 GL_DRAW_BUFFER7_ATI = 0x882C;
        public const Int32 GL_DRAW_BUFFER8 = 0x882D;
        public const Int32 GL_DRAW_BUFFER8_ARB = 0x882D;
        public const Int32 GL_DRAW_BUFFER8_ATI = 0x882D;
        public const Int32 GL_DRAW_BUFFER9 = 0x882E;
        public const Int32 GL_DRAW_BUFFER9_ARB = 0x882E;
        public const Int32 GL_DRAW_BUFFER9_ATI = 0x882E;
        public const Int32 GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CAA;
        public const Int32 GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9;
        public const Int32 GL_DRAW_PIXEL_TOKEN = 0x0705;
        public const Int32 GL_DRAW_PIXELS_APPLE = 0x8A0A;
        public const Int32 GL_DS_BIAS_NV = 0x8716;
        public const Int32 GL_DS_SCALE_NV = 0x8710;
        public const Int32 GL_DSDT_MAG_INTENSITY_NV = 0x86DC;
        public const Int32 GL_DSDT_MAG_NV = 0x86F6;
        public const Int32 GL_DSDT_MAG_VIB_NV = 0x86F7;
        public const Int32 GL_DSDT_NV = 0x86F5;
        public const Int32 GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B;
        public const Int32 GL_DSDT8_MAG8_NV = 0x870A;
        public const Int32 GL_DSDT8_NV = 0x8709;
        public const Int32 GL_DST_ALPHA = 0x0304;
        public const Int32 GL_DST_COLOR = 0x0306;
        public const Int32 GL_DT_BIAS_NV = 0x8717;
        public const Int32 GL_DT_SCALE_NV = 0x8711;
        public const Int32 GL_DU8DV8_ATI = 0x877A;
        public const Int32 GL_DUAL_ALPHA12_SGIS = 0x8112;
        public const Int32 GL_DUAL_ALPHA16_SGIS = 0x8113;
        public const Int32 GL_DUAL_ALPHA4_SGIS = 0x8110;
        public const Int32 GL_DUAL_ALPHA8_SGIS = 0x8111;
        public const Int32 GL_DUAL_INTENSITY12_SGIS = 0x811A;
        public const Int32 GL_DUAL_INTENSITY16_SGIS = 0x811B;
        public const Int32 GL_DUAL_INTENSITY4_SGIS = 0x8118;
        public const Int32 GL_DUAL_INTENSITY8_SGIS = 0x8119;
        public const Int32 GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C;
        public const Int32 GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D;
        public const Int32 GL_DUAL_LUMINANCE12_SGIS = 0x8116;
        public const Int32 GL_DUAL_LUMINANCE16_SGIS = 0x8117;
        public const Int32 GL_DUAL_LUMINANCE4_SGIS = 0x8114;
        public const Int32 GL_DUAL_LUMINANCE8_SGIS = 0x8115;
        public const Int32 GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124;
        public const Int32 GL_DUDV_ATI = 0x8779;
        public const Int32 GL_DYNAMIC_ATI = 0x8761;
        public const Int32 GL_DYNAMIC_COPY = 0x88EA;
        public const Int32 GL_DYNAMIC_COPY_ARB = 0x88EA;
        public const Int32 GL_DYNAMIC_DRAW = 0x88E8;
        public const Int32 GL_DYNAMIC_DRAW_ARB = 0x88E8;
        public const Int32 GL_DYNAMIC_READ = 0x88E9;
        public const Int32 GL_DYNAMIC_READ_ARB = 0x88E9;
        public const Int32 GL_E_TIMES_F_NV = 0x8531;
        public const Int32 GL_EDGE_FLAG = 0x0B43;
        public const Int32 GL_EDGE_FLAG_ARRAY = 0x8079;
        public const Int32 GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B;
        public const Int32 GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B;
        public const Int32 GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D;
        public const Int32 GL_EDGE_FLAG_ARRAY_EXT = 0x8079;
        public const Int32 GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075;
        public const Int32 GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085;
        public const Int32 GL_EDGE_FLAG_ARRAY_POINTER = 0x8093;
        public const Int32 GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093;
        public const Int32 GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C;
        public const Int32 GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C;
        public const Int32 GL_EDGEFLAG_BIT_PGI = 0x00040000;
        public const Int32 GL_EIGHTH_BIT_ATI = 0x00000020;
        public const Int32 GL_ELEMENT_ARRAY_APPLE = 0x8768;
        public const Int32 GL_ELEMENT_ARRAY_ATI = 0x8768;
        public const Int32 GL_ELEMENT_ARRAY_BUFFER = 0x8893;
        public const Int32 GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893;
        public const Int32 GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895;
        public const Int32 GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895;
        public const Int32 GL_ELEMENT_ARRAY_POINTER_APPLE = 0x876A;
        public const Int32 GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A;
        public const Int32 GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8769;
        public const Int32 GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769;
        public const Int32 GL_EMBOSS_CONSTANT_NV = 0x855E;
        public const Int32 GL_EMBOSS_LIGHT_NV = 0x855D;
        public const Int32 GL_EMBOSS_MAP_NV = 0x855F;
        public const Int32 GL_EMISSION = 0x1600;
        public const Int32 GL_ENABLE_BIT = 0x00002000;
        public const Int32 GL_EQUAL = 0x0202;
        public const Int32 GL_EQUIV = 0x1509;
        public const Int32 GL_EVAL_2D_NV = 0x86C0;
        public const Int32 GL_EVAL_BIT = 0x00010000;
        public const Int32 GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5;
        public const Int32 GL_EVAL_TRIANGULAR_2D_NV = 0x86C1;
        public const Int32 GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6;
        public const Int32 GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7;
        public const Int32 GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0;
        public const Int32 GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1;
        public const Int32 GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2;
        public const Int32 GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3;
        public const Int32 GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4;
        public const Int32 GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5;
        public const Int32 GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8;
        public const Int32 GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9;
        public const Int32 GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA;
        public const Int32 GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB;
        public const Int32 GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC;
        public const Int32 GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD;
        public const Int32 GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE;
        public const Int32 GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF;
        public const Int32 GL_EXP = 0x0800;
        public const Int32 GL_EXP2 = 0x0801;
        public const Int32 GL_EXPAND_NEGATE_NV = 0x8539;
        public const Int32 GL_EXPAND_NORMAL_NV = 0x8538;
        public const Int32 GL_EXT_abgr = 1;
        public const Int32 GL_EXT_blend_color = 1;
        public const Int32 GL_EXT_blend_logic_op = 1;
        public const Int32 GL_EXT_blend_minmax = 1;
        public const Int32 GL_EXT_blend_subtract = 1;
        public const Int32 GL_EXT_cmyka = 1;
        public const Int32 GL_EXT_convolution = 1;
        public const Int32 GL_EXT_copy_texture = 1;
        public const Int32 GL_EXT_histogram = 1;
        public const Int32 GL_EXT_packed_pixels = 1;
        public const Int32 GL_EXT_point_parameters = 1;
        public const Int32 GL_EXT_polygon_offset = 1;
        public const Int32 GL_EXT_rescale_normal = 1;
        public const Int32 GL_EXT_shared_texture_palette = 1;
        public const Int32 GL_EXT_subtexture = 1;
        public const Int32 GL_EXT_texture = 1;
        public const Int32 GL_EXT_texture_object = 1;
        public const Int32 GL_EXT_texture3D = 1;
        public const Int32 GL_EXT_vertex_array = 1;
        public const Int32 GL_EXTENSIONS = 0x1F03;
        public const Int32 GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2;
        public const Int32 GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0;
        public const Int32 GL_EYE_LINE_SGIS = 0x81F6;
        public const Int32 GL_EYE_LINEAR = 0x2400;
        public const Int32 GL_EYE_PLANE = 0x2502;
        public const Int32 GL_EYE_PLANE_ABSOLUTE_NV = 0x855C;
        public const Int32 GL_EYE_POINT_SGIS = 0x81F4;
        public const Int32 GL_EYE_RADIAL_NV = 0x855B;
        public const Int32 GL_FALSE = 0;
        public const Int32 GL_FASTEST = 0x1101;
        public const Int32 GL_FEEDBACK = 0x1C01;
        public const Int32 GL_FEEDBACK_BUFFER_POINTER = 0x0DF0;
        public const Int32 GL_FEEDBACK_BUFFER_SIZE = 0x0DF1;
        public const Int32 GL_FEEDBACK_BUFFER_TYPE = 0x0DF2;
        public const Int32 GL_FENCE_APPLE = 0x8A0B;
        public const Int32 GL_FENCE_CONDITION_NV = 0x84F4;
        public const Int32 GL_FENCE_STATUS_NV = 0x84F3;
        public const Int32 GL_FILL = 0x1B02;
        public const Int32 GL_FILTER4_SGIS = 0x8146;
        public const Int32 GL_FIXED_ONLY_ARB = 0x891D;
        public const Int32 GL_FLAT = 0x1D00;
        public const Int32 GL_FLOAT = 0x1406;
        public const Int32 GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD;
        public const Int32 GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D;
        public const Int32 GL_FLOAT_MAT2 = 0x8B5A;
        public const Int32 GL_FLOAT_MAT2_ARB = 0x8B5A;
        public const Int32 GL_FLOAT_MAT2x3 = 0x8B65;
        public const Int32 GL_FLOAT_MAT2x4 = 0x8B66;
        public const Int32 GL_FLOAT_MAT3 = 0x8B5B;
        public const Int32 GL_FLOAT_MAT3_ARB = 0x8B5B;
        public const Int32 GL_FLOAT_MAT3x2 = 0x8B67;
        public const Int32 GL_FLOAT_MAT3x4 = 0x8B68;
        public const Int32 GL_FLOAT_MAT4 = 0x8B5C;
        public const Int32 GL_FLOAT_MAT4_ARB = 0x8B5C;
        public const Int32 GL_FLOAT_MAT4x2 = 0x8B69;
        public const Int32 GL_FLOAT_MAT4x3 = 0x8B6A;
        public const Int32 GL_FLOAT_R_NV = 0x8880;
        public const Int32 GL_FLOAT_R16_NV = 0x8884;
        public const Int32 GL_FLOAT_R32_NV = 0x8885;
        public const Int32 GL_FLOAT_RG_NV = 0x8881;
        public const Int32 GL_FLOAT_RG16_NV = 0x8886;
        public const Int32 GL_FLOAT_RG32_NV = 0x8887;
        public const Int32 GL_FLOAT_RGB_NV = 0x8882;
        public const Int32 GL_FLOAT_RGB16_NV = 0x8888;
        public const Int32 GL_FLOAT_RGB32_NV = 0x8889;
        public const Int32 GL_FLOAT_RGBA_MODE_NV = 0x888E;
        public const Int32 GL_FLOAT_RGBA_NV = 0x8883;
        public const Int32 GL_FLOAT_RGBA16_NV = 0x888A;
        public const Int32 GL_FLOAT_RGBA32_NV = 0x888B;
        public const Int32 GL_FLOAT_VEC2 = 0x8B50;
        public const Int32 GL_FLOAT_VEC2_ARB = 0x8B50;
        public const Int32 GL_FLOAT_VEC3 = 0x8B51;
        public const Int32 GL_FLOAT_VEC3_ARB = 0x8B51;
        public const Int32 GL_FLOAT_VEC4 = 0x8B52;
        public const Int32 GL_FLOAT_VEC4_ARB = 0x8B52;
        public const Int32 GL_FOG = 0x0B60;
        public const Int32 GL_FOG_BIT = 0x00000080;
        public const Int32 GL_FOG_COLOR = 0x0B66;
        public const Int32 GL_FOG_COORD = GL_FOG_COORDINATE;
        public const Int32 GL_FOG_COORD_ARRAY = GL_FOG_COORDINATE_ARRAY;
        public const Int32 GL_FOG_COORD_ARRAY_BUFFER_BINDING = GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING;
        public const Int32 GL_FOG_COORD_ARRAY_POINTER = GL_FOG_COORDINATE_ARRAY_POINTER;
        public const Int32 GL_FOG_COORD_ARRAY_STRIDE = GL_FOG_COORDINATE_ARRAY_STRIDE;
        public const Int32 GL_FOG_COORD_ARRAY_TYPE = GL_FOG_COORDINATE_ARRAY_TYPE;
        public const Int32 GL_FOG_COORD_SRC = GL_FOG_COORDINATE_SOURCE;
        public const Int32 GL_FOG_COORDINATE = 0x8451;
        public const Int32 GL_FOG_COORDINATE_ARRAY = 0x8457;
        public const Int32 GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D;
        public const Int32 GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D;
        public const Int32 GL_FOG_COORDINATE_ARRAY_EXT = 0x8457;
        public const Int32 GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076;
        public const Int32 GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086;
        public const Int32 GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456;
        public const Int32 GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456;
        public const Int32 GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455;
        public const Int32 GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455;
        public const Int32 GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454;
        public const Int32 GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454;
        public const Int32 GL_FOG_COORDINATE_EXT = 0x8451;
        public const Int32 GL_FOG_COORDINATE_SOURCE = 0x8450;
        public const Int32 GL_FOG_COORDINATE_SOURCE_EXT = 0x8450;
        public const Int32 GL_FOG_DENSITY = 0x0B62;
        public const Int32 GL_FOG_DISTANCE_MODE_NV = 0x855A;
        public const Int32 GL_FOG_END = 0x0B64;
        public const Int32 GL_FOG_FACTOR_TO_ALPHA_SGIX = 0x836F;
        public const Int32 GL_FOG_FUNC_POINTS_SGIS = 0x812B;
        public const Int32 GL_FOG_FUNC_SGIS = 0x812A;
        public const Int32 GL_FOG_HINT = 0x0C54;
        public const Int32 GL_FOG_INDEX = 0x0B61;
        public const Int32 GL_FOG_MODE = 0x0B65;
        public const Int32 GL_FOG_OFFSET_SGIX = 0x8198;
        public const Int32 GL_FOG_OFFSET_VALUE_SGIX = 0x8199;
        public const Int32 GL_FOG_SCALE_SGIX = 0x81FC;
        public const Int32 GL_FOG_SCALE_VALUE_SGIX = 0x81FD;
        public const Int32 GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC;
        public const Int32 GL_FOG_START = 0x0B63;
        public const Int32 GL_FORCE_BLUE_TO_ONE_NV = 0x8860;
        public const Int32 GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982;
        public const Int32 GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983;
        public const Int32 GL_FRAGMENT_COLOR_EXT = 0x834C;
        public const Int32 GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402;
        public const Int32 GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403;
        public const Int32 GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401;
        public const Int32 GL_FRAGMENT_DEPTH = 0x8452;
        public const Int32 GL_FRAGMENT_DEPTH_EXT = 0x8452;
        public const Int32 GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A;
        public const Int32 GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408;
        public const Int32 GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B;
        public const Int32 GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409;
        public const Int32 GL_FRAGMENT_LIGHT0_SGIX = 0x840C;
        public const Int32 GL_FRAGMENT_LIGHT1_SGIX = 0x840D;
        public const Int32 GL_FRAGMENT_LIGHT2_SGIX = 0x840E;
        public const Int32 GL_FRAGMENT_LIGHT3_SGIX = 0x840F;
        public const Int32 GL_FRAGMENT_LIGHT4_SGIX = 0x8410;
        public const Int32 GL_FRAGMENT_LIGHT5_SGIX = 0x8411;
        public const Int32 GL_FRAGMENT_LIGHT6_SGIX = 0x8412;
        public const Int32 GL_FRAGMENT_LIGHT7_SGIX = 0x8413;
        public const Int32 GL_FRAGMENT_LIGHTING_SGIX = 0x8400;
        public const Int32 GL_FRAGMENT_MATERIAL_EXT = 0x8349;
        public const Int32 GL_FRAGMENT_NORMAL_EXT = 0x834A;
        public const Int32 GL_FRAGMENT_PROGRAM_ARB = 0x8804;
        public const Int32 GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873;
        public const Int32 GL_FRAGMENT_PROGRAM_NV = 0x8870;
        public const Int32 GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4;
        public const Int32 GL_FRAGMENT_SHADER = 0x8B30;
        public const Int32 GL_FRAGMENT_SHADER_ARB = 0x8B30;
        public const Int32 GL_FRAGMENT_SHADER_ATI = 0x8920;
        public const Int32 GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B;
        public const Int32 GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4;
        public const Int32 GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2;
        public const Int32 GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6;
        public const Int32 GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5;
        public const Int32 GL_FRAMEBUFFER_EXT = 0x8D40;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56;
        public const Int32 GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC;
        public const Int32 GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA;
        public const Int32 GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9;
        public const Int32 GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD;
        public const Int32 GL_FRAMEZOOM_FACTOR_SGIX = 0x818C;
        public const Int32 GL_FRAMEZOOM_SGIX = 0x818B;
        public const Int32 GL_FRONT = 0x0404;
        public const Int32 GL_FRONT_AND_BACK = 0x0408;
        public const Int32 GL_FRONT_FACE = 0x0B46;
        public const Int32 GL_FRONT_LEFT = 0x0400;
        public const Int32 GL_FRONT_RIGHT = 0x0401;
        public const Int32 GL_FULL_RANGE_EXT = 0x87E1;
        public const Int32 GL_FULL_STIPPLE_HINT_PGI = 0x1A219;
        public const Int32 GL_FUNC_ADD = 0x8006;
        public const Int32 GL_FUNC_ADD_EXT = 0x8006;
        public const Int32 GL_FUNC_REVERSE_SUBTRACT = 0x800B;
        public const Int32 GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B;
        public const Int32 GL_FUNC_SUBTRACT = 0x800A;
        public const Int32 GL_FUNC_SUBTRACT_EXT = 0x800A;
        public const Int32 GL_GENERATE_MIPMAP = 0x8191;
        public const Int32 GL_GENERATE_MIPMAP_HINT = 0x8192;
        public const Int32 GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192;
        public const Int32 GL_GENERATE_MIPMAP_SGIS = 0x8191;
        public const Int32 GL_GENERIC_ATTRIB_NV = 0x8C7D;
        public const Int32 GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002;
        public const Int32 GL_GEOMETRY_DEFORMATION_SGIX = 0x8194;
        public const Int32 GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB;
        public const Int32 GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC;
        public const Int32 GL_GEOMETRY_PROGRAM_NV = 0x8C26;
        public const Int32 GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3;
        public const Int32 GL_GEOMETRY_SHADER_EXT = 0x8DD9;
        public const Int32 GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA;
        public const Int32 GL_GEQUAL = 0x0206;
        public const Int32 GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA;
        public const Int32 GL_GLOBAL_ALPHA_SUN = 0x81D9;
        public const Int32 GL_GREATER = 0x0204;
        public const Int32 GL_GREEN = 0x1904;
        public const Int32 GL_GREEN_BIAS = 0x0D19;
        public const Int32 GL_GREEN_BIT_ATI = 0x00000002;
        public const Int32 GL_GREEN_BITS = 0x0D53;
        public const Int32 GL_GREEN_INTEGER_EXT = 0x8D95;
        public const Int32 GL_GREEN_MAX_CLAMP_INGR = 0x8565;
        public const Int32 GL_GREEN_MIN_CLAMP_INGR = 0x8561;
        public const Int32 GL_GREEN_SCALE = 0x0D18;
        public const Int32 GL_HALF_BIAS_NEGATE_NV = 0x853B;
        public const Int32 GL_HALF_BIAS_NORMAL_NV = 0x853A;
        public const Int32 GL_HALF_BIT_ATI = 0x00000008;
        public const Int32 GL_HALF_FLOAT_ARB = 0x140B;
        public const Int32 GL_HALF_FLOAT_NV = 0x140B;
        public const Int32 GL_HI_BIAS_NV = 0x8714;
        public const Int32 GL_HI_SCALE_NV = 0x870E;
        public const Int32 GL_HILO_NV = 0x86F4;
        public const Int32 GL_HILO16_NV = 0x86F8;
        public const Int32 GL_HILO8_NV = 0x885E;
        public const Int32 GL_HINT_BIT = 0x00008000;
        public const Int32 GL_HISTOGRAM = 0x8024;
        public const Int32 GL_HISTOGRAM_ALPHA_SIZE = 0x802B;
        public const Int32 GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B;
        public const Int32 GL_HISTOGRAM_BLUE_SIZE = 0x802A;
        public const Int32 GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A;
        public const Int32 GL_HISTOGRAM_EXT = 0x8024;
        public const Int32 GL_HISTOGRAM_FORMAT = 0x8027;
        public const Int32 GL_HISTOGRAM_FORMAT_EXT = 0x8027;
        public const Int32 GL_HISTOGRAM_GREEN_SIZE = 0x8029;
        public const Int32 GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029;
        public const Int32 GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C;
        public const Int32 GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C;
        public const Int32 GL_HISTOGRAM_RED_SIZE = 0x8028;
        public const Int32 GL_HISTOGRAM_RED_SIZE_EXT = 0x8028;
        public const Int32 GL_HISTOGRAM_SINK = 0x802D;
        public const Int32 GL_HISTOGRAM_SINK_EXT = 0x802D;
        public const Int32 GL_HISTOGRAM_WIDTH = 0x8026;
        public const Int32 GL_HISTOGRAM_WIDTH_EXT = 0x8026;
        public const Int32 GL_IDENTITY_NV = 0x862A;
        public const Int32 GL_IGNORE_BORDER_HP = 0x8150;
        public const Int32 GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E;
        public const Int32 GL_IMAGE_MAG_FILTER_HP = 0x815C;
        public const Int32 GL_IMAGE_MIN_FILTER_HP = 0x815D;
        public const Int32 GL_IMAGE_ROTATE_ANGLE_HP = 0x8159;
        public const Int32 GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A;
        public const Int32 GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B;
        public const Int32 GL_IMAGE_SCALE_X_HP = 0x8155;
        public const Int32 GL_IMAGE_SCALE_Y_HP = 0x8156;
        public const Int32 GL_IMAGE_TRANSFORM_2D_HP = 0x8161;
        public const Int32 GL_IMAGE_TRANSLATE_X_HP = 0x8157;
        public const Int32 GL_IMAGE_TRANSLATE_Y_HP = 0x8158;
        public const Int32 GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B;
        public const Int32 GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A;
        public const Int32 GL_INCR = 0x1E02;
        public const Int32 GL_INCR_WRAP = 0x8507;
        public const Int32 GL_INCR_WRAP_EXT = 0x8507;
        public const Int32 GL_INDEX_ARRAY = 0x8077;
        public const Int32 GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899;
        public const Int32 GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899;
        public const Int32 GL_INDEX_ARRAY_COUNT_EXT = 0x8087;
        public const Int32 GL_INDEX_ARRAY_EXT = 0x8077;
        public const Int32 GL_INDEX_ARRAY_LIST_IBM = 103073;
        public const Int32 GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083;
        public const Int32 GL_INDEX_ARRAY_POINTER = 0x8091;
        public const Int32 GL_INDEX_ARRAY_POINTER_EXT = 0x8091;
        public const Int32 GL_INDEX_ARRAY_STRIDE = 0x8086;
        public const Int32 GL_INDEX_ARRAY_STRIDE_EXT = 0x8086;
        public const Int32 GL_INDEX_ARRAY_TYPE = 0x8085;
        public const Int32 GL_INDEX_ARRAY_TYPE_EXT = 0x8085;
        public const Int32 GL_INDEX_BIT_PGI = 0x00080000;
        public const Int32 GL_INDEX_BITS = 0x0D51;
        public const Int32 GL_INDEX_CLEAR_VALUE = 0x0C20;
        public const Int32 GL_INDEX_LOGIC_OP = 0x0BF1;
        public const Int32 GL_INDEX_MATERIAL_EXT = 0x81B8;
        public const Int32 GL_INDEX_MATERIAL_FACE_EXT = 0x81BA;
        public const Int32 GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9;
        public const Int32 GL_INDEX_MODE = 0x0C30;
        public const Int32 GL_INDEX_OFFSET = 0x0D13;
        public const Int32 GL_INDEX_SHIFT = 0x0D12;
        public const Int32 GL_INDEX_TEST_EXT = 0x81B5;
        public const Int32 GL_INDEX_TEST_FUNC_EXT = 0x81B6;
        public const Int32 GL_INDEX_TEST_REF_EXT = 0x81B7;
        public const Int32 GL_INDEX_WRITEMASK = 0x0C21;
        public const Int32 GL_INFO_LOG_LENGTH = 0x8B84;
        public const Int32 GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180;
        public const Int32 GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181;
        public const Int32 GL_INT = 0x1404;
        public const Int32 GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE;
        public const Int32 GL_INT_SAMPLER_1D_EXT = 0x8DC9;
        public const Int32 GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF;
        public const Int32 GL_INT_SAMPLER_2D_EXT = 0x8DCA;
        public const Int32 GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD;
        public const Int32 GL_INT_SAMPLER_3D_EXT = 0x8DCB;
        public const Int32 GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0;
        public const Int32 GL_INT_SAMPLER_CUBE_EXT = 0x8DCC;
        public const Int32 GL_INT_VEC2 = 0x8B53;
        public const Int32 GL_INT_VEC2_ARB = 0x8B53;
        public const Int32 GL_INT_VEC3 = 0x8B54;
        public const Int32 GL_INT_VEC3_ARB = 0x8B54;
        public const Int32 GL_INT_VEC4 = 0x8B55;
        public const Int32 GL_INT_VEC4_ARB = 0x8B55;
        public const Int32 GL_INTENSITY = 0x8049;
        public const Int32 GL_INTENSITY_EXT = 0x8049;
        public const Int32 GL_INTENSITY_FLOAT16_ATI = 0x881D;
        public const Int32 GL_INTENSITY_FLOAT32_ATI = 0x8817;
        public const Int32 GL_INTENSITY12 = 0x804C;
        public const Int32 GL_INTENSITY12_EXT = 0x804C;
        public const Int32 GL_INTENSITY16 = 0x804D;
        public const Int32 GL_INTENSITY16_EXT = 0x804D;
        public const Int32 GL_INTENSITY16F_ARB = 0x881D;
        public const Int32 GL_INTENSITY16I_EXT = 0x8D8B;
        public const Int32 GL_INTENSITY16UI_EXT = 0x8D79;
        public const Int32 GL_INTENSITY32F_ARB = 0x8817;
        public const Int32 GL_INTENSITY32I_EXT = 0x8D85;
        public const Int32 GL_INTENSITY32UI_EXT = 0x8D73;
        public const Int32 GL_INTENSITY4 = 0x804A;
        public const Int32 GL_INTENSITY4_EXT = 0x804A;
        public const Int32 GL_INTENSITY8 = 0x804B;
        public const Int32 GL_INTENSITY8_EXT = 0x804B;
        public const Int32 GL_INTENSITY8I_EXT = 0x8D91;
        public const Int32 GL_INTENSITY8UI_EXT = 0x8D7F;
        public const Int32 GL_INTERLACE_OML = 0x8980;
        public const Int32 GL_INTERLACE_READ_INGR = 0x8568;
        public const Int32 GL_INTERLACE_READ_OML = 0x8981;
        public const Int32 GL_INTERLACE_SGIX = 0x8094;
        public const Int32 GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C;
        public const Int32 GL_INTERPOLATE = 0x8575;
        public const Int32 GL_INTERPOLATE_ARB = 0x8575;
        public const Int32 GL_INTERPOLATE_EXT = 0x8575;
        public const Int32 GL_INVALID_ENUM = 0x0500;
        public const Int32 GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506;
        public const Int32 GL_INVALID_OPERATION = 0x0502;
        public const Int32 GL_INVALID_VALUE = 0x0501;
        public const Int32 GL_INVARIANT_DATATYPE_EXT = 0x87EB;
        public const Int32 GL_INVARIANT_EXT = 0x87C2;
        public const Int32 GL_INVARIANT_VALUE_EXT = 0x87EA;
        public const Int32 GL_INVERSE_NV = 0x862B;
        public const Int32 GL_INVERSE_TRANSPOSE_NV = 0x862D;
        public const Int32 GL_INVERT = 0x150A;
        public const Int32 GL_INVERTED_SCREEN_W_REND = 0x8491;
        public const Int32 GL_IR_INSTRUMENT1_SGIX = 0x817F;
        public const Int32 GL_IUI_N3F_V2F_EXT = 0x81AF;
        public const Int32 GL_IUI_N3F_V3F_EXT = 0x81B0;
        public const Int32 GL_IUI_V2F_EXT = 0x81AD;
        public const Int32 GL_IUI_V3F_EXT = 0x81AE;
        public const Int32 GL_KEEP = 0x1E00;
        public const Int32 GL_LEFT = 0x0406;
        public const Int32 GL_LEQUAL = 0x0203;
        public const Int32 GL_LERP_ATI = 0x8969;
        public const Int32 GL_LESS = 0x0201;
        public const Int32 GL_LIGHT_ENV_MODE_SGIX = 0x8407;
        public const Int32 GL_LIGHT_MODEL_AMBIENT = 0x0B53;
        public const Int32 GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8;
        public const Int32 GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8;
        public const Int32 GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51;
        public const Int32 GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0;
        public const Int32 GL_LIGHT_MODEL_TWO_SIDE = 0x0B52;
        public const Int32 GL_LIGHT0 = 0x4000;
        public const Int32 GL_LIGHT1 = 0x4001;
        public const Int32 GL_LIGHT2 = 0x4002;
        public const Int32 GL_LIGHT3 = 0x4003;
        public const Int32 GL_LIGHT4 = 0x4004;
        public const Int32 GL_LIGHT5 = 0x4005;
        public const Int32 GL_LIGHT6 = 0x4006;
        public const Int32 GL_LIGHT7 = 0x4007;
        public const Int32 GL_LIGHTING = 0x0B50;
        public const Int32 GL_LIGHTING_BIT = 0x00000040;
        public const Int32 GL_LINE = 0x1B01;
        public const Int32 GL_LINE_BIT = 0x00000004;
        public const Int32 GL_LINE_LOOP = 0x0002;
        public const Int32 GL_LINE_RESET_TOKEN = 0x0707;
        public const Int32 GL_LINE_SMOOTH = 0x0B20;
        public const Int32 GL_LINE_SMOOTH_HINT = 0x0C52;
        public const Int32 GL_LINE_STIPPLE = 0x0B24;
        public const Int32 GL_LINE_STIPPLE_PATTERN = 0x0B25;
        public const Int32 GL_LINE_STIPPLE_REPEAT = 0x0B26;
        public const Int32 GL_LINE_STRIP = 0x0003;
        public const Int32 GL_LINE_STRIP_ADJACENCY_EXT = 0x000B;
        public const Int32 GL_LINE_TOKEN = 0x0702;
        public const Int32 GL_LINE_WIDTH = 0x0B21;
        public const Int32 GL_LINE_WIDTH_GRANULARITY = 0x0B23;
        public const Int32 GL_LINE_WIDTH_RANGE = 0x0B22;
        public const Int32 GL_LINEAR = 0x2601;
        public const Int32 GL_LINEAR_ATTENUATION = 0x1208;
        public const Int32 GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170;
        public const Int32 GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F;
        public const Int32 GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098;
        public const Int32 GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099;
        public const Int32 GL_LINEAR_DETAIL_SGIS = 0x8097;
        public const Int32 GL_LINEAR_MIPMAP_LINEAR = 0x2703;
        public const Int32 GL_LINEAR_MIPMAP_NEAREST = 0x2701;
        public const Int32 GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE;
        public const Int32 GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF;
        public const Int32 GL_LINEAR_SHARPEN_SGIS = 0x80AD;
        public const Int32 GL_LINES = 0x0001;
        public const Int32 GL_LINES_ADJACENCY_EXT = 0x000A;
        public const Int32 GL_LINK_STATUS = 0x8B82;
        public const Int32 GL_LIST_BASE = 0x0B32;
        public const Int32 GL_LIST_BIT = 0x00020000;
        public const Int32 GL_LIST_INDEX = 0x0B33;
        public const Int32 GL_LIST_MODE = 0x0B30;
        public const Int32 GL_LIST_PRIORITY_SGIX = 0x8182;
        public const Int32 GL_LO_BIAS_NV = 0x8715;
        public const Int32 GL_LO_SCALE_NV = 0x870F;
        public const Int32 GL_LOAD = 0x0101;
        public const Int32 GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED;
        public const Int32 GL_LOCAL_CONSTANT_EXT = 0x87C3;
        public const Int32 GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC;
        public const Int32 GL_LOCAL_EXT = 0x87C4;
        public const Int32 GL_LOGIC_OP = 0x0BF1;
        public const Int32 GL_LOGIC_OP_MODE = 0x0BF0;
        public const Int32 GL_LOWER_LEFT = 0x8CA1;
        public const Int32 GL_LUMINANCE = 0x1909;
        public const Int32 GL_LUMINANCE_ALPHA = 0x190A;
        public const Int32 GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F;
        public const Int32 GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819;
        public const Int32 GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D;
        public const Int32 GL_LUMINANCE_ALPHA16F_ARB = 0x881F;
        public const Int32 GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D;
        public const Int32 GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B;
        public const Int32 GL_LUMINANCE_ALPHA32F_ARB = 0x8819;
        public const Int32 GL_LUMINANCE_ALPHA32I_EXT = 0x8D87;
        public const Int32 GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75;
        public const Int32 GL_LUMINANCE_ALPHA8I_EXT = 0x8D93;
        public const Int32 GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81;
        public const Int32 GL_LUMINANCE_FLOAT16_ATI = 0x881E;
        public const Int32 GL_LUMINANCE_FLOAT32_ATI = 0x8818;
        public const Int32 GL_LUMINANCE_INTEGER_EXT = 0x8D9C;
        public const Int32 GL_LUMINANCE12 = 0x8041;
        public const Int32 GL_LUMINANCE12_ALPHA12 = 0x8047;
        public const Int32 GL_LUMINANCE12_ALPHA12_EXT = 0x8047;
        public const Int32 GL_LUMINANCE12_ALPHA4 = 0x8046;
        public const Int32 GL_LUMINANCE12_ALPHA4_EXT = 0x8046;
        public const Int32 GL_LUMINANCE12_EXT = 0x8041;
        public const Int32 GL_LUMINANCE16 = 0x8042;
        public const Int32 GL_LUMINANCE16_ALPHA16 = 0x8048;
        public const Int32 GL_LUMINANCE16_ALPHA16_EXT = 0x8048;
        public const Int32 GL_LUMINANCE16_EXT = 0x8042;
        public const Int32 GL_LUMINANCE16F_ARB = 0x881E;
        public const Int32 GL_LUMINANCE16I_EXT = 0x8D8C;
        public const Int32 GL_LUMINANCE16UI_EXT = 0x8D7A;
        public const Int32 GL_LUMINANCE32F_ARB = 0x8818;
        public const Int32 GL_LUMINANCE32I_EXT = 0x8D86;
        public const Int32 GL_LUMINANCE32UI_EXT = 0x8D74;
        public const Int32 GL_LUMINANCE4 = 0x803F;
        public const Int32 GL_LUMINANCE4_ALPHA4 = 0x8043;
        public const Int32 GL_LUMINANCE4_ALPHA4_EXT = 0x8043;
        public const Int32 GL_LUMINANCE4_EXT = 0x803F;
        public const Int32 GL_LUMINANCE6_ALPHA2 = 0x8044;
        public const Int32 GL_LUMINANCE6_ALPHA2_EXT = 0x8044;
        public const Int32 GL_LUMINANCE8 = 0x8040;
        public const Int32 GL_LUMINANCE8_ALPHA8 = 0x8045;
        public const Int32 GL_LUMINANCE8_ALPHA8_EXT = 0x8045;
        public const Int32 GL_LUMINANCE8_EXT = 0x8040;
        public const Int32 GL_LUMINANCE8I_EXT = 0x8D92;
        public const Int32 GL_LUMINANCE8UI_EXT = 0x8D80;
        public const Int32 GL_MAD_ATI = 0x8968;
        public const Int32 GL_MAGNITUDE_BIAS_NV = 0x8718;
        public const Int32 GL_MAGNITUDE_SCALE_NV = 0x8712;
        public const Int32 GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3;
        public const Int32 GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4;
        public const Int32 GL_MAP_COLOR = 0x0D10;
        public const Int32 GL_MAP_STENCIL = 0x0D11;
        public const Int32 GL_MAP_TESSELLATION_NV = 0x86C2;
        public const Int32 GL_MAP1_BINORMAL_EXT = 0x8446;
        public const Int32 GL_MAP1_COLOR_4 = 0x0D90;
        public const Int32 GL_MAP1_GRID_DOMAIN = 0x0DD0;
        public const Int32 GL_MAP1_GRID_SEGMENTS = 0x0DD1;
        public const Int32 GL_MAP1_INDEX = 0x0D91;
        public const Int32 GL_MAP1_NORMAL = 0x0D92;
        public const Int32 GL_MAP1_TANGENT_EXT = 0x8444;
        public const Int32 GL_MAP1_TEXTURE_COORD_1 = 0x0D93;
        public const Int32 GL_MAP1_TEXTURE_COORD_2 = 0x0D94;
        public const Int32 GL_MAP1_TEXTURE_COORD_3 = 0x0D95;
        public const Int32 GL_MAP1_TEXTURE_COORD_4 = 0x0D96;
        public const Int32 GL_MAP1_VERTEX_3 = 0x0D97;
        public const Int32 GL_MAP1_VERTEX_4 = 0x0D98;
        public const Int32 GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660;
        public const Int32 GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661;
        public const Int32 GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A;
        public const Int32 GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B;
        public const Int32 GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C;
        public const Int32 GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D;
        public const Int32 GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E;
        public const Int32 GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F;
        public const Int32 GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662;
        public const Int32 GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663;
        public const Int32 GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664;
        public const Int32 GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665;
        public const Int32 GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666;
        public const Int32 GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667;
        public const Int32 GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668;
        public const Int32 GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669;
        public const Int32 GL_MAP2_BINORMAL_EXT = 0x8447;
        public const Int32 GL_MAP2_COLOR_4 = 0x0DB0;
        public const Int32 GL_MAP2_GRID_DOMAIN = 0x0DD2;
        public const Int32 GL_MAP2_GRID_SEGMENTS = 0x0DD3;
        public const Int32 GL_MAP2_INDEX = 0x0DB1;
        public const Int32 GL_MAP2_NORMAL = 0x0DB2;
        public const Int32 GL_MAP2_TANGENT_EXT = 0x8445;
        public const Int32 GL_MAP2_TEXTURE_COORD_1 = 0x0DB3;
        public const Int32 GL_MAP2_TEXTURE_COORD_2 = 0x0DB4;
        public const Int32 GL_MAP2_TEXTURE_COORD_3 = 0x0DB5;
        public const Int32 GL_MAP2_TEXTURE_COORD_4 = 0x0DB6;
        public const Int32 GL_MAP2_VERTEX_3 = 0x0DB7;
        public const Int32 GL_MAP2_VERTEX_4 = 0x0DB8;
        public const Int32 GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670;
        public const Int32 GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671;
        public const Int32 GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A;
        public const Int32 GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B;
        public const Int32 GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C;
        public const Int32 GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D;
        public const Int32 GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E;
        public const Int32 GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F;
        public const Int32 GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672;
        public const Int32 GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673;
        public const Int32 GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674;
        public const Int32 GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675;
        public const Int32 GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676;
        public const Int32 GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677;
        public const Int32 GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678;
        public const Int32 GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679;
        public const Int32 GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000;
        public const Int32 GL_MAT_AMBIENT_BIT_PGI = 0x00100000;
        public const Int32 GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000;
        public const Int32 GL_MAT_DIFFUSE_BIT_PGI = 0x00400000;
        public const Int32 GL_MAT_EMISSION_BIT_PGI = 0x00800000;
        public const Int32 GL_MAT_SHININESS_BIT_PGI = 0x02000000;
        public const Int32 GL_MAT_SPECULAR_BIT_PGI = 0x04000000;
        public const Int32 GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C;
        public const Int32 GL_MATRIX_EXT = 0x87C0;
        public const Int32 GL_MATRIX_INDEX_ARRAY_ARB = 0x8844;
        public const Int32 GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849;
        public const Int32 GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846;
        public const Int32 GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848;
        public const Int32 GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847;
        public const Int32 GL_MATRIX_MODE = 0x0BA0;
        public const Int32 GL_MATRIX_PALETTE_ARB = 0x8840;
        public const Int32 GL_MATRIX0_ARB = 0x88C0;
        public const Int32 GL_MATRIX0_NV = 0x8630;
        public const Int32 GL_MATRIX1_ARB = 0x88C1;
        public const Int32 GL_MATRIX1_NV = 0x8631;
        public const Int32 GL_MATRIX10_ARB = 0x88CA;
        public const Int32 GL_MATRIX11_ARB = 0x88CB;
        public const Int32 GL_MATRIX12_ARB = 0x88CC;
        public const Int32 GL_MATRIX13_ARB = 0x88CD;
        public const Int32 GL_MATRIX14_ARB = 0x88CE;
        public const Int32 GL_MATRIX15_ARB = 0x88CF;
        public const Int32 GL_MATRIX16_ARB = 0x88D0;
        public const Int32 GL_MATRIX17_ARB = 0x88D1;
        public const Int32 GL_MATRIX18_ARB = 0x88D2;
        public const Int32 GL_MATRIX19_ARB = 0x88D3;
        public const Int32 GL_MATRIX2_ARB = 0x88C2;
        public const Int32 GL_MATRIX2_NV = 0x8632;
        public const Int32 GL_MATRIX20_ARB = 0x88D4;
        public const Int32 GL_MATRIX21_ARB = 0x88D5;
        public const Int32 GL_MATRIX22_ARB = 0x88D6;
        public const Int32 GL_MATRIX23_ARB = 0x88D7;
        public const Int32 GL_MATRIX24_ARB = 0x88D8;
        public const Int32 GL_MATRIX25_ARB = 0x88D9;
        public const Int32 GL_MATRIX26_ARB = 0x88DA;
        public const Int32 GL_MATRIX27_ARB = 0x88DB;
        public const Int32 GL_MATRIX28_ARB = 0x88DC;
        public const Int32 GL_MATRIX29_ARB = 0x88DD;
        public const Int32 GL_MATRIX3_ARB = 0x88C3;
        public const Int32 GL_MATRIX3_NV = 0x8633;
        public const Int32 GL_MATRIX30_ARB = 0x88DE;
        public const Int32 GL_MATRIX31_ARB = 0x88DF;
        public const Int32 GL_MATRIX4_ARB = 0x88C4;
        public const Int32 GL_MATRIX4_NV = 0x8634;
        public const Int32 GL_MATRIX5_ARB = 0x88C5;
        public const Int32 GL_MATRIX5_NV = 0x8635;
        public const Int32 GL_MATRIX6_ARB = 0x88C6;
        public const Int32 GL_MATRIX6_NV = 0x8636;
        public const Int32 GL_MATRIX7_ARB = 0x88C7;
        public const Int32 GL_MATRIX7_NV = 0x8637;
        public const Int32 GL_MATRIX8_ARB = 0x88C8;
        public const Int32 GL_MATRIX9_ARB = 0x88C9;
        public const Int32 GL_MAX = 0x8008;
        public const Int32 GL_MAX_3D_TEXTURE_SIZE = 0x8073;
        public const Int32 GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073;
        public const Int32 GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138;
        public const Int32 GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405;
        public const Int32 GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF;
        public const Int32 GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360;
        public const Int32 GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D;
        public const Int32 GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361;
        public const Int32 GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F;
        public const Int32 GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35;
        public const Int32 GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED;
        public const Int32 GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B;
        public const Int32 GL_MAX_CLIP_PLANES = 0x0D32;
        public const Int32 GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177;
        public const Int32 GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178;
        public const Int32 GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF;
        public const Int32 GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3;
        public const Int32 GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3;
        public const Int32 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D;
        public const Int32 GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D;
        public const Int32 GL_MAX_CONVOLUTION_HEIGHT = 0x801B;
        public const Int32 GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B;
        public const Int32 GL_MAX_CONVOLUTION_WIDTH = 0x801A;
        public const Int32 GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A;
        public const Int32 GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
        public const Int32 GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C;
        public const Int32 GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C;
        public const Int32 GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197;
        public const Int32 GL_MAX_DRAW_BUFFERS = 0x8824;
        public const Int32 GL_MAX_DRAW_BUFFERS_ARB = 0x8824;
        public const Int32 GL_MAX_DRAW_BUFFERS_ATI = 0x8824;
        public const Int32 GL_MAX_ELEMENTS_INDICES = 0x80E9;
        public const Int32 GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9;
        public const Int32 GL_MAX_ELEMENTS_VERTICES = 0x80E8;
        public const Int32 GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8;
        public const Int32 GL_MAX_EVAL_ORDER = 0x0D30;
        public const Int32 GL_MAX_EXT = 0x8008;
        public const Int32 GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C;
        public const Int32 GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3;
        public const Int32 GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404;
        public const Int32 GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868;
        public const Int32 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49;
        public const Int32 GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49;
        public const Int32 GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D;
        public const Int32 GL_MAX_GENERAL_COMBINERS_NV = 0x854D;
        public const Int32 GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4;
        public const Int32 GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0;
        public const Int32 GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29;
        public const Int32 GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1;
        public const Int32 GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF;
        public const Int32 GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD;
        public const Int32 GL_MAX_LIGHTS = 0x0D31;
        public const Int32 GL_MAX_LIST_NESTING = 0x0B31;
        public const Int32 GL_MAX_MAP_TESSELLATION_NV = 0x86D6;
        public const Int32 GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841;
        public const Int32 GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36;
        public const Int32 GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11;
        public const Int32 GL_MAX_NAME_STACK_DEPTH = 0x0D37;
        public const Int32 GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA;
        public const Int32 GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD;
        public const Int32 GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC;
        public const Int32 GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE;
        public const Int32 GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB;
        public const Int32 GL_MAX_PALETTE_MATRICES_ARB = 0x8842;
        public const Int32 GL_MAX_PIXEL_MAP_TABLE = 0x0D34;
        public const Int32 GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337;
        public const Int32 GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1;
        public const Int32 GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1;
        public const Int32 GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B;
        public const Int32 GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908;
        public const Int32 GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD;
        public const Int32 GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5;
        public const Int32 GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5;
        public const Int32 GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4;
        public const Int32 GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5;
        public const Int32 GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6;
        public const Int32 GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6;
        public const Int32 GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1;
        public const Int32 GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4;
        public const Int32 GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8;
        public const Int32 GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7;
        public const Int32 GL_MAX_PROGRAM_MATRICES_ARB = 0x862F;
        public const Int32 GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E;
        public const Int32 GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3;
        public const Int32 GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E;
        public const Int32 GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF;
        public const Int32 GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3;
        public const Int32 GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB;
        public const Int32 GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7;
        public const Int32 GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810;
        public const Int32 GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F;
        public const Int32 GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27;
        public const Int32 GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0;
        public const Int32 GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1;
        public const Int32 GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9;
        public const Int32 GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909;
        public const Int32 GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5;
        public const Int32 GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D;
        public const Int32 GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C;
        public const Int32 GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905;
        public const Int32 GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28;
        public const Int32 GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38;
        public const Int32 GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7;
        public const Int32 GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8;
        public const Int32 GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8;
        public const Int32 GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8;
        public const Int32 GL_MAX_SAMPLES_EXT = 0x8D57;
        public const Int32 GL_MAX_SHININESS_NV = 0x8504;
        public const Int32 GL_MAX_SPOT_EXPONENT_NV = 0x8505;
        public const Int32 GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B;
        public const Int32 GL_MAX_TEXTURE_COORDS = 0x8871;
        public const Int32 GL_MAX_TEXTURE_COORDS_ARB = 0x8871;
        public const Int32 GL_MAX_TEXTURE_COORDS_NV = 0x8871;
        public const Int32 GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872;
        public const Int32 GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872;
        public const Int32 GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872;
        public const Int32 GL_MAX_TEXTURE_LOD_BIAS = 0x84FD;
        public const Int32 GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD;
        public const Int32 GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF;
        public const Int32 GL_MAX_TEXTURE_SIZE = 0x0D33;
        public const Int32 GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39;
        public const Int32 GL_MAX_TEXTURE_UNITS = 0x84E2;
        public const Int32 GL_MAX_TEXTURE_UNITS_ARB = 0x84E2;
        public const Int32 GL_MAX_TRACK_MATRICES_NV = 0x862F;
        public const Int32 GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E;
        public const Int32 GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_ATTRIBS_NV = 0x8C8A;
        public const Int32 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B;
        public const Int32 GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80;
        public const Int32 GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B;
        public const Int32 GL_MAX_VARYING_FLOATS = 0x8B4B;
        public const Int32 GL_MAX_VARYING_FLOATS_ARB = 0x8B4B;
        public const Int32 GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520;
        public const Int32 GL_MAX_VERTEX_ATTRIBS = 0x8869;
        public const Int32 GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869;
        public const Int32 GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2;
        public const Int32 GL_MAX_VERTEX_HINT_PGI = 0x1A22D;
        public const Int32 GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5;
        public const Int32 GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7;
        public const Int32 GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8;
        public const Int32 GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9;
        public const Int32 GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6;
        public const Int32 GL_MAX_VERTEX_STREAMS_ATI = 0x876B;
        public const Int32 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C;
        public const Int32 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C;
        public const Int32 GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A;
        public const Int32 GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A;
        public const Int32 GL_MAX_VERTEX_UNITS_ARB = 0x86A4;
        public const Int32 GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE;
        public const Int32 GL_MAX_VIEWPORT_DIMS = 0x0D3A;
        public const Int32 GL_MIN = 0x8007;
        public const Int32 GL_MIN_EXT = 0x8007;
        public const Int32 GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904;
        public const Int32 GL_MINMAX = 0x802E;
        public const Int32 GL_MINMAX_EXT = 0x802E;
        public const Int32 GL_MINMAX_FORMAT = 0x802F;
        public const Int32 GL_MINMAX_FORMAT_EXT = 0x802F;
        public const Int32 GL_MINMAX_SINK = 0x8030;
        public const Int32 GL_MINMAX_SINK_EXT = 0x8030;
        public const Int32 GL_MIRROR_CLAMP_ATI = 0x8742;
        public const Int32 GL_MIRROR_CLAMP_EXT = 0x8742;
        public const Int32 GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912;
        public const Int32 GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743;
        public const Int32 GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743;
        public const Int32 GL_MIRRORED_REPEAT = 0x8370;
        public const Int32 GL_MIRRORED_REPEAT_ARB = 0x8370;
        public const Int32 GL_MIRRORED_REPEAT_IBM = 0x8370;
        public const Int32 GL_MODELVIEW = 0x1700;
        public const Int32 GL_MODELVIEW_MATRIX = 0x0BA6;
        public const Int32 GL_MODELVIEW_PROJECTION_NV = 0x8629;
        public const Int32 GL_MODELVIEW_STACK_DEPTH = 0x0BA3;
        public const Int32 GL_MODELVIEW0_ARB = 0x1700;
        public const Int32 GL_MODELVIEW0_EXT = GL_MODELVIEW;
        public const Int32 GL_MODELVIEW0_MATRIX_EXT = GL_MODELVIEW_MATRIX;
        public const Int32 GL_MODELVIEW0_STACK_DEPTH_EXT = GL_MODELVIEW_STACK_DEPTH;
        public const Int32 GL_MODELVIEW1_ARB = 0x850A;
        public const Int32 GL_MODELVIEW1_EXT = 0x850A;
        public const Int32 GL_MODELVIEW1_MATRIX_EXT = 0x8506;
        public const Int32 GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502;
        public const Int32 GL_MODELVIEW10_ARB = 0x872A;
        public const Int32 GL_MODELVIEW11_ARB = 0x872B;
        public const Int32 GL_MODELVIEW12_ARB = 0x872C;
        public const Int32 GL_MODELVIEW13_ARB = 0x872D;
        public const Int32 GL_MODELVIEW14_ARB = 0x872E;
        public const Int32 GL_MODELVIEW15_ARB = 0x872F;
        public const Int32 GL_MODELVIEW16_ARB = 0x8730;
        public const Int32 GL_MODELVIEW17_ARB = 0x8731;
        public const Int32 GL_MODELVIEW18_ARB = 0x8732;
        public const Int32 GL_MODELVIEW19_ARB = 0x8733;
        public const Int32 GL_MODELVIEW2_ARB = 0x8722;
        public const Int32 GL_MODELVIEW20_ARB = 0x8734;
        public const Int32 GL_MODELVIEW21_ARB = 0x8735;
        public const Int32 GL_MODELVIEW22_ARB = 0x8736;
        public const Int32 GL_MODELVIEW23_ARB = 0x8737;
        public const Int32 GL_MODELVIEW24_ARB = 0x8738;
        public const Int32 GL_MODELVIEW25_ARB = 0x8739;
        public const Int32 GL_MODELVIEW26_ARB = 0x873A;
        public const Int32 GL_MODELVIEW27_ARB = 0x873B;
        public const Int32 GL_MODELVIEW28_ARB = 0x873C;
        public const Int32 GL_MODELVIEW29_ARB = 0x873D;
        public const Int32 GL_MODELVIEW3_ARB = 0x8723;
        public const Int32 GL_MODELVIEW30_ARB = 0x873E;
        public const Int32 GL_MODELVIEW31_ARB = 0x873F;
        public const Int32 GL_MODELVIEW4_ARB = 0x8724;
        public const Int32 GL_MODELVIEW5_ARB = 0x8725;
        public const Int32 GL_MODELVIEW6_ARB = 0x8726;
        public const Int32 GL_MODELVIEW7_ARB = 0x8727;
        public const Int32 GL_MODELVIEW8_ARB = 0x8728;
        public const Int32 GL_MODELVIEW9_ARB = 0x8729;
        public const Int32 GL_MODULATE = 0x2100;
        public const Int32 GL_MODULATE_ADD_ATI = 0x8744;
        public const Int32 GL_MODULATE_SIGNED_ADD_ATI = 0x8745;
        public const Int32 GL_MODULATE_SUBTRACT_ATI = 0x8746;
        public const Int32 GL_MOV_ATI = 0x8961;
        public const Int32 GL_MUL_ATI = 0x8964;
        public const Int32 GL_MULT = 0x0103;
        public const Int32 GL_MULTISAMPLE = 0x809D;
        public const Int32 GL_MULTISAMPLE_3DFX = 0x86B2;
        public const Int32 GL_MULTISAMPLE_ARB = 0x809D;
        public const Int32 GL_MULTISAMPLE_BIT = 0x20000000;
        public const Int32 GL_MULTISAMPLE_BIT_3DFX = 0x20000000;
        public const Int32 GL_MULTISAMPLE_BIT_ARB = 0x20000000;
        public const Int32 GL_MULTISAMPLE_BIT_EXT = 0x20000000;
        public const Int32 GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12;
        public const Int32 GL_MULTISAMPLE_EXT = 0x809D;
        public const Int32 GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534;
        public const Int32 GL_MULTISAMPLE_SGIS = 0x809D;
        public const Int32 GL_MVP_MATRIX_EXT = 0x87E3;
        public const Int32 GL_N3F_V3F = 0x2A25;
        public const Int32 GL_NAME_STACK_DEPTH = 0x0D70;
        public const Int32 GL_NAND = 0x150E;
        public const Int32 GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203;
        public const Int32 GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204;
        public const Int32 GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202;
        public const Int32 GL_NEAREST = 0x2600;
        public const Int32 GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E;
        public const Int32 GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D;
        public const Int32 GL_NEAREST_MIPMAP_LINEAR = 0x2702;
        public const Int32 GL_NEAREST_MIPMAP_NEAREST = 0x2700;
        public const Int32 GL_NEGATE_BIT_ATI = 0x00000004;
        public const Int32 GL_NEGATIVE_ONE_EXT = 0x87DF;
        public const Int32 GL_NEGATIVE_W_EXT = 0x87DC;
        public const Int32 GL_NEGATIVE_X_EXT = 0x87D9;
        public const Int32 GL_NEGATIVE_Y_EXT = 0x87DA;
        public const Int32 GL_NEGATIVE_Z_EXT = 0x87DB;
        public const Int32 GL_NEVER = 0x0200;
        public const Int32 GL_NICEST = 0x1102;
        public const Int32 GL_NO_ERROR = 0;
        public const Int32 GL_NONE = 0;
        public const Int32 GL_NOOP = 0x1505;
        public const Int32 GL_NOR = 0x1508;
        public const Int32 GL_NORMAL_ARRAY = 0x8075;
        public const Int32 GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897;
        public const Int32 GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897;
        public const Int32 GL_NORMAL_ARRAY_COUNT_EXT = 0x8080;
        public const Int32 GL_NORMAL_ARRAY_EXT = 0x8075;
        public const Int32 GL_NORMAL_ARRAY_LIST_IBM = 103071;
        public const Int32 GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081;
        public const Int32 GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6;
        public const Int32 GL_NORMAL_ARRAY_POINTER = 0x808F;
        public const Int32 GL_NORMAL_ARRAY_POINTER_EXT = 0x808F;
        public const Int32 GL_NORMAL_ARRAY_STRIDE = 0x807F;
        public const Int32 GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F;
        public const Int32 GL_NORMAL_ARRAY_TYPE = 0x807E;
        public const Int32 GL_NORMAL_ARRAY_TYPE_EXT = 0x807E;
        public const Int32 GL_NORMAL_BIT_PGI = 0x08000000;
        public const Int32 GL_NORMAL_MAP = 0x8511;
        public const Int32 GL_NORMAL_MAP_ARB = 0x8511;
        public const Int32 GL_NORMAL_MAP_EXT = 0x8511;
        public const Int32 GL_NORMAL_MAP_NV = 0x8511;
        public const Int32 GL_NORMALIZE = 0x0BA1;
        public const Int32 GL_NORMALIZED_RANGE_EXT = 0x87E0;
        public const Int32 GL_NOTEQUAL = 0x0205;
        public const Int32 GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2;
        public const Int32 GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2;
        public const Int32 GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F;
        public const Int32 GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E;
        public const Int32 GL_NUM_GENERAL_COMBINERS_NV = 0x854E;
        public const Int32 GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973;
        public const Int32 GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971;
        public const Int32 GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972;
        public const Int32 GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974;
        public const Int32 GL_NUM_PASSES_ATI = 0x8970;
        public const Int32 GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A;
        public const Int32 GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89;
        public const Int32 GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87;
        public const Int32 GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86;
        public const Int32 GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85;
        public const Int32 GL_OBJECT_BUFFER_SIZE_ATI = 0x8764;
        public const Int32 GL_OBJECT_BUFFER_USAGE_ATI = 0x8765;
        public const Int32 GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81;
        public const Int32 GL_OBJECT_DELETE_STATUS_ARB = 0x8B80;
        public const Int32 GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3;
        public const Int32 GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1;
        public const Int32 GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84;
        public const Int32 GL_OBJECT_LINE_SGIS = 0x81F7;
        public const Int32 GL_OBJECT_LINEAR = 0x2401;
        public const Int32 GL_OBJECT_LINK_STATUS_ARB = 0x8B82;
        public const Int32 GL_OBJECT_PLANE = 0x2501;
        public const Int32 GL_OBJECT_POINT_SGIS = 0x81F5;
        public const Int32 GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88;
        public const Int32 GL_OBJECT_SUBTYPE_ARB = 0x8B4F;
        public const Int32 GL_OBJECT_TYPE_ARB = 0x8B4E;
        public const Int32 GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83;
        public const Int32 GL_OCCLUSION_TEST_HP = 0x8165;
        public const Int32 GL_OCCLUSION_TEST_RESULT_HP = 0x8166;
        public const Int32 GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856;
        public const Int32 GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857;
        public const Int32 GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854;
        public const Int32 GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855;
        public const Int32 GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850;
        public const Int32 GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851;
        public const Int32 GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852;
        public const Int32 GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853;
        public const Int32 GL_OFFSET_TEXTURE_2D_BIAS_NV = GL_OFFSET_TEXTURE_BIAS_NV;
        public const Int32 GL_OFFSET_TEXTURE_2D_MATRIX_NV = GL_OFFSET_TEXTURE_MATRIX_NV;
        public const Int32 GL_OFFSET_TEXTURE_2D_NV = 0x86E8;
        public const Int32 GL_OFFSET_TEXTURE_2D_SCALE_NV = GL_OFFSET_TEXTURE_SCALE_NV;
        public const Int32 GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3;
        public const Int32 GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1;
        public const Int32 GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C;
        public const Int32 GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D;
        public const Int32 GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2;
        public const Int32 GL_ONE = 1;
        public const Int32 GL_ONE_EXT = 0x87DE;
        public const Int32 GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004;
        public const Int32 GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004;
        public const Int32 GL_ONE_MINUS_CONSTANT_COLOR = 0x8002;
        public const Int32 GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002;
        public const Int32 GL_ONE_MINUS_DST_ALPHA = 0x0305;
        public const Int32 GL_ONE_MINUS_DST_COLOR = 0x0307;
        public const Int32 GL_ONE_MINUS_SRC_ALPHA = 0x0303;
        public const Int32 GL_ONE_MINUS_SRC_COLOR = 0x0301;
        public const Int32 GL_OP_ADD_EXT = 0x8787;
        public const Int32 GL_OP_CLAMP_EXT = 0x878E;
        public const Int32 GL_OP_CROSS_PRODUCT_EXT = 0x8797;
        public const Int32 GL_OP_DOT3_EXT = 0x8784;
        public const Int32 GL_OP_DOT4_EXT = 0x8785;
        public const Int32 GL_OP_EXP_BASE_2_EXT = 0x8791;
        public const Int32 GL_OP_FLOOR_EXT = 0x878F;
        public const Int32 GL_OP_FRAC_EXT = 0x8789;
        public const Int32 GL_OP_INDEX_EXT = 0x8782;
        public const Int32 GL_OP_LOG_BASE_2_EXT = 0x8792;
        public const Int32 GL_OP_MADD_EXT = 0x8788;
        public const Int32 GL_OP_MAX_EXT = 0x878A;
        public const Int32 GL_OP_MIN_EXT = 0x878B;
        public const Int32 GL_OP_MOV_EXT = 0x8799;
        public const Int32 GL_OP_MUL_EXT = 0x8786;
        public const Int32 GL_OP_MULTIPLY_MATRIX_EXT = 0x8798;
        public const Int32 GL_OP_NEGATE_EXT = 0x8783;
        public const Int32 GL_OP_POWER_EXT = 0x8793;
        public const Int32 GL_OP_RECIP_EXT = 0x8794;
        public const Int32 GL_OP_RECIP_SQRT_EXT = 0x8795;
        public const Int32 GL_OP_ROUND_EXT = 0x8790;
        public const Int32 GL_OP_SET_GE_EXT = 0x878C;
        public const Int32 GL_OP_SET_LT_EXT = 0x878D;
        public const Int32 GL_OP_SUB_EXT = 0x8796;
        public const Int32 GL_OPERAND0_ALPHA = 0x8598;
        public const Int32 GL_OPERAND0_ALPHA_ARB = 0x8598;
        public const Int32 GL_OPERAND0_ALPHA_EXT = 0x8598;
        public const Int32 GL_OPERAND0_RGB = 0x8590;
        public const Int32 GL_OPERAND0_RGB_ARB = 0x8590;
        public const Int32 GL_OPERAND0_RGB_EXT = 0x8590;
        public const Int32 GL_OPERAND1_ALPHA = 0x8599;
        public const Int32 GL_OPERAND1_ALPHA_ARB = 0x8599;
        public const Int32 GL_OPERAND1_ALPHA_EXT = 0x8599;
        public const Int32 GL_OPERAND1_RGB = 0x8591;
        public const Int32 GL_OPERAND1_RGB_ARB = 0x8591;
        public const Int32 GL_OPERAND1_RGB_EXT = 0x8591;
        public const Int32 GL_OPERAND2_ALPHA = 0x859A;
        public const Int32 GL_OPERAND2_ALPHA_ARB = 0x859A;
        public const Int32 GL_OPERAND2_ALPHA_EXT = 0x859A;
        public const Int32 GL_OPERAND2_RGB = 0x8592;
        public const Int32 GL_OPERAND2_RGB_ARB = 0x8592;
        public const Int32 GL_OPERAND2_RGB_EXT = 0x8592;
        public const Int32 GL_OPERAND3_ALPHA_NV = 0x859B;
        public const Int32 GL_OPERAND3_RGB_NV = 0x8593;
        public const Int32 GL_OR = 0x1507;
        public const Int32 GL_OR_INVERTED = 0x150D;
        public const Int32 GL_OR_REVERSE = 0x150B;
        public const Int32 GL_ORDER = 0x0A01;
        public const Int32 GL_OUT_OF_MEMORY = 0x0505;
        public const Int32 GL_OUTPUT_COLOR0_EXT = 0x879B;
        public const Int32 GL_OUTPUT_COLOR1_EXT = 0x879C;
        public const Int32 GL_OUTPUT_FOG_EXT = 0x87BD;
        public const Int32 GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D;
        public const Int32 GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E;
        public const Int32 GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7;
        public const Int32 GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8;
        public const Int32 GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9;
        public const Int32 GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA;
        public const Int32 GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB;
        public const Int32 GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC;
        public const Int32 GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD;
        public const Int32 GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE;
        public const Int32 GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF;
        public const Int32 GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0;
        public const Int32 GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F;
        public const Int32 GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1;
        public const Int32 GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2;
        public const Int32 GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3;
        public const Int32 GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4;
        public const Int32 GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5;
        public const Int32 GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6;
        public const Int32 GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7;
        public const Int32 GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8;
        public const Int32 GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9;
        public const Int32 GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA;
        public const Int32 GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0;
        public const Int32 GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB;
        public const Int32 GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC;
        public const Int32 GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1;
        public const Int32 GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2;
        public const Int32 GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3;
        public const Int32 GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4;
        public const Int32 GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5;
        public const Int32 GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6;
        public const Int32 GL_OUTPUT_VERTEX_EXT = 0x879A;
        public const Int32 GL_PACK_ALIGNMENT = 0x0D05;
        public const Int32 GL_PACK_CMYK_HINT_EXT = 0x800E;
        public const Int32 GL_PACK_IMAGE_DEPTH_SGIS = 0x8131;
        public const Int32 GL_PACK_IMAGE_HEIGHT = 0x806C;
        public const Int32 GL_PACK_IMAGE_HEIGHT_EXT = 0x806C;
        public const Int32 GL_PACK_INVERT_MESA = 0x8758;
        public const Int32 GL_PACK_LSB_FIRST = 0x0D01;
        public const Int32 GL_PACK_RESAMPLE_OML = 0x8984;
        public const Int32 GL_PACK_RESAMPLE_SGIX = 0x842C;
        public const Int32 GL_PACK_ROW_LENGTH = 0x0D02;
        public const Int32 GL_PACK_SKIP_IMAGES = 0x806B;
        public const Int32 GL_PACK_SKIP_IMAGES_EXT = 0x806B;
        public const Int32 GL_PACK_SKIP_PIXELS = 0x0D04;
        public const Int32 GL_PACK_SKIP_ROWS = 0x0D03;
        public const Int32 GL_PACK_SKIP_VOLUMES_SGIS = 0x8130;
        public const Int32 GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0;
        public const Int32 GL_PACK_SWAP_BYTES = 0x0D00;
        public const Int32 GL_PARALLEL_ARRAYS_INTEL = 0x83F4;
        public const Int32 GL_PASS_THROUGH_NV = 0x86E6;
        public const Int32 GL_PASS_THROUGH_TOKEN = 0x0700;
        public const Int32 GL_PER_STAGE_CONSTANTS_NV = 0x8535;
        public const Int32 GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50;
        public const Int32 GL_PERTURB_EXT = 0x85AE;
        public const Int32 GL_PHONG_HINT_WIN = 0x80EB;
        public const Int32 GL_PHONG_WIN = 0x80EA;
        public const Int32 GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867;
        public const Int32 GL_PIXEL_COUNT_NV = 0x8866;
        public const Int32 GL_PIXEL_COUNTER_BITS_NV = 0x8864;
        public const Int32 GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333;
        public const Int32 GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355;
        public const Int32 GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354;
        public const Int32 GL_PIXEL_GROUP_COLOR_SGIS = 0x8356;
        public const Int32 GL_PIXEL_MAG_FILTER_EXT = 0x8331;
        public const Int32 GL_PIXEL_MAP_A_TO_A = 0x0C79;
        public const Int32 GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9;
        public const Int32 GL_PIXEL_MAP_B_TO_B = 0x0C78;
        public const Int32 GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8;
        public const Int32 GL_PIXEL_MAP_G_TO_G = 0x0C77;
        public const Int32 GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7;
        public const Int32 GL_PIXEL_MAP_I_TO_A = 0x0C75;
        public const Int32 GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5;
        public const Int32 GL_PIXEL_MAP_I_TO_B = 0x0C74;
        public const Int32 GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4;
        public const Int32 GL_PIXEL_MAP_I_TO_G = 0x0C73;
        public const Int32 GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3;
        public const Int32 GL_PIXEL_MAP_I_TO_I = 0x0C70;
        public const Int32 GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0;
        public const Int32 GL_PIXEL_MAP_I_TO_R = 0x0C72;
        public const Int32 GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2;
        public const Int32 GL_PIXEL_MAP_R_TO_R = 0x0C76;
        public const Int32 GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6;
        public const Int32 GL_PIXEL_MAP_S_TO_S = 0x0C71;
        public const Int32 GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1;
        public const Int32 GL_PIXEL_MIN_FILTER_EXT = 0x8332;
        public const Int32 GL_PIXEL_MODE_BIT = 0x00000020;
        public const Int32 GL_PIXEL_PACK_BUFFER = 0x88EB;
        public const Int32 GL_PIXEL_PACK_BUFFER_ARB = 0x88EB;
        public const Int32 GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED;
        public const Int32 GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED;
        public const Int32 GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED;
        public const Int32 GL_PIXEL_PACK_BUFFER_EXT = 0x88EB;
        public const Int32 GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3;
        public const Int32 GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4;
        public const Int32 GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2;
        public const Int32 GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189;
        public const Int32 GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A;
        public const Int32 GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188;
        public const Int32 GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187;
        public const Int32 GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B;
        public const Int32 GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184;
        public const Int32 GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186;
        public const Int32 GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185;
        public const Int32 GL_PIXEL_TEX_GEN_SGIX = 0x8139;
        public const Int32 GL_PIXEL_TEXTURE_SGIS = 0x8353;
        public const Int32 GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E;
        public const Int32 GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F;
        public const Int32 GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145;
        public const Int32 GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144;
        public const Int32 GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143;
        public const Int32 GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142;
        public const Int32 GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141;
        public const Int32 GL_PIXEL_TILE_WIDTH_SGIX = 0x8140;
        public const Int32 GL_PIXEL_TRANSFORM_2D_EXT = 0x8330;
        public const Int32 GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338;
        public const Int32 GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336;
        public const Int32 GL_PIXEL_UNPACK_BUFFER = 0x88EC;
        public const Int32 GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC;
        public const Int32 GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF;
        public const Int32 GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF;
        public const Int32 GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF;
        public const Int32 GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC;
        public const Int32 GL_PN_TRIANGLES_ATI = 0x87F0;
        public const Int32 GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3;
        public const Int32 GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7;
        public const Int32 GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8;
        public const Int32 GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2;
        public const Int32 GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6;
        public const Int32 GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5;
        public const Int32 GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4;
        public const Int32 GL_POINT = 0x1B00;
        public const Int32 GL_POINT_BIT = 0x00000002;
        public const Int32 GL_POINT_DISTANCE_ATTENUATION = 0x8129;
        public const Int32 GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129;
        public const Int32 GL_POINT_FADE_THRESHOLD_SIZE = 0x8128;
        public const Int32 GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128;
        public const Int32 GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128;
        public const Int32 GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128;
        public const Int32 GL_POINT_SIZE = 0x0B11;
        public const Int32 GL_POINT_SIZE_GRANULARITY = 0x0B13;
        public const Int32 GL_POINT_SIZE_MAX = 0x8127;
        public const Int32 GL_POINT_SIZE_MAX_ARB = 0x8127;
        public const Int32 GL_POINT_SIZE_MAX_EXT = 0x8127;
        public const Int32 GL_POINT_SIZE_MAX_SGIS = 0x8127;
        public const Int32 GL_POINT_SIZE_MIN = 0x8126;
        public const Int32 GL_POINT_SIZE_MIN_ARB = 0x8126;
        public const Int32 GL_POINT_SIZE_MIN_EXT = 0x8126;
        public const Int32 GL_POINT_SIZE_MIN_SGIS = 0x8126;
        public const Int32 GL_POINT_SIZE_RANGE = 0x0B12;
        public const Int32 GL_POINT_SMOOTH = 0x0B10;
        public const Int32 GL_POINT_SMOOTH_HINT = 0x0C51;
        public const Int32 GL_POINT_SPRITE = 0x8861;
        public const Int32 GL_POINT_SPRITE_ARB = 0x8861;
        public const Int32 GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0;
        public const Int32 GL_POINT_SPRITE_NV = 0x8861;
        public const Int32 GL_POINT_SPRITE_R_MODE_NV = 0x8863;
        public const Int32 GL_POINT_TOKEN = 0x0701;
        public const Int32 GL_POINTS = 0x0000;
        public const Int32 GL_POLYGON = 0x0009;
        public const Int32 GL_POLYGON_BIT = 0x00000008;
        public const Int32 GL_POLYGON_MODE = 0x0B40;
        public const Int32 GL_POLYGON_OFFSET_BIAS_EXT = 0x8039;
        public const Int32 GL_POLYGON_OFFSET_EXT = 0x8037;
        public const Int32 GL_POLYGON_OFFSET_FACTOR = 0x8038;
        public const Int32 GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038;
        public const Int32 GL_POLYGON_OFFSET_FILL = 0x8037;
        public const Int32 GL_POLYGON_OFFSET_LINE = 0x2A02;
        public const Int32 GL_POLYGON_OFFSET_POINT = 0x2A01;
        public const Int32 GL_POLYGON_OFFSET_UNITS = 0x2A00;
        public const Int32 GL_POLYGON_SMOOTH = 0x0B41;
        public const Int32 GL_POLYGON_SMOOTH_HINT = 0x0C53;
        public const Int32 GL_POLYGON_STIPPLE = 0x0B42;
        public const Int32 GL_POLYGON_STIPPLE_BIT = 0x00000010;
        public const Int32 GL_POLYGON_TOKEN = 0x0703;
        public const Int32 GL_POSITION = 0x1203;
        public const Int32 GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB;
        public const Int32 GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB;
        public const Int32 GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7;
        public const Int32 GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7;
        public const Int32 GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA;
        public const Int32 GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA;
        public const Int32 GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6;
        public const Int32 GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6;
        public const Int32 GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2;
        public const Int32 GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2;
        public const Int32 GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9;
        public const Int32 GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9;
        public const Int32 GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5;
        public const Int32 GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5;
        public const Int32 GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8;
        public const Int32 GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8;
        public const Int32 GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4;
        public const Int32 GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4;
        public const Int32 GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023;
        public const Int32 GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023;
        public const Int32 GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F;
        public const Int32 GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F;
        public const Int32 GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022;
        public const Int32 GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022;
        public const Int32 GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E;
        public const Int32 GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E;
        public const Int32 GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1;
        public const Int32 GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1;
        public const Int32 GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021;
        public const Int32 GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021;
        public const Int32 GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D;
        public const Int32 GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D;
        public const Int32 GL_POST_CONVOLUTION_RED_BIAS = 0x8020;
        public const Int32 GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020;
        public const Int32 GL_POST_CONVOLUTION_RED_SCALE = 0x801C;
        public const Int32 GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C;
        public const Int32 GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162;
        public const Int32 GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B;
        public const Int32 GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179;
        public const Int32 GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C;
        public const Int32 GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A;
        public const Int32 GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8;
        public const Int32 GL_PRESERVE_ATI = 0x8762;
        public const Int32 GL_PREVIOUS = 0x8578;
        public const Int32 GL_PREVIOUS_ARB = 0x8578;
        public const Int32 GL_PREVIOUS_EXT = 0x8578;
        public const Int32 GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4;
        public const Int32 GL_PRIMARY_COLOR = 0x8577;
        public const Int32 GL_PRIMARY_COLOR_ARB = 0x8577;
        public const Int32 GL_PRIMARY_COLOR_EXT = 0x8577;
        public const Int32 GL_PRIMARY_COLOR_NV = 0x852C;
        public const Int32 GL_PRIMITIVE_ID_NV = 0x8C7C;
        public const Int32 GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559;
        public const Int32 GL_PRIMITIVE_RESTART_NV = 0x8558;
        public const Int32 GL_PRIMITIVES_GENERATED_NV = 0x8C87;
        public const Int32 GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0;
        public const Int32 GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805;
        public const Int32 GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906;
        public const Int32 GL_PROGRAM_ATTRIBS_ARB = 0x88AC;
        public const Int32 GL_PROGRAM_BINDING_ARB = 0x8677;
        public const Int32 GL_PROGRAM_ERROR_POSITION_ARB = 0x864B;
        public const Int32 GL_PROGRAM_ERROR_POSITION_NV = 0x864B;
        public const Int32 GL_PROGRAM_ERROR_STRING_ARB = 0x8874;
        public const Int32 GL_PROGRAM_ERROR_STRING_NV = 0x8874;
        public const Int32 GL_PROGRAM_FORMAT_ARB = 0x8876;
        public const Int32 GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875;
        public const Int32 GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0;
        public const Int32 GL_PROGRAM_LENGTH_ARB = 0x8627;
        public const Int32 GL_PROGRAM_LENGTH_NV = 0x8627;
        public const Int32 GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2;
        public const Int32 GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808;
        public const Int32 GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE;
        public const Int32 GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2;
        public const Int32 GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA;
        public const Int32 GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6;
        public const Int32 GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A;
        public const Int32 GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809;
        public const Int32 GL_PROGRAM_OBJECT_ARB = 0x8B40;
        public const Int32 GL_PROGRAM_PARAMETER_NV = 0x8644;
        public const Int32 GL_PROGRAM_PARAMETERS_ARB = 0x88A8;
        public const Int32 GL_PROGRAM_POINT_SIZE_EXT = 0x8642;
        public const Int32 GL_PROGRAM_RESIDENT_NV = 0x8647;
        public const Int32 GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907;
        public const Int32 GL_PROGRAM_STRING_ARB = 0x8628;
        public const Int32 GL_PROGRAM_STRING_NV = 0x8628;
        public const Int32 GL_PROGRAM_TARGET_NV = 0x8646;
        public const Int32 GL_PROGRAM_TEMPORARIES_ARB = 0x88A4;
        public const Int32 GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807;
        public const Int32 GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806;
        public const Int32 GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6;
        public const Int32 GL_PROJECTION = 0x1701;
        public const Int32 GL_PROJECTION_MATRIX = 0x0BA7;
        public const Int32 GL_PROJECTION_STACK_DEPTH = 0x0BA4;
        public const Int32 GL_PROXY_COLOR_TABLE = 0x80D3;
        public const Int32 GL_PROXY_COLOR_TABLE_SGI = 0x80D3;
        public const Int32 GL_PROXY_HISTOGRAM = 0x8025;
        public const Int32 GL_PROXY_HISTOGRAM_EXT = 0x8025;
        public const Int32 GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5;
        public const Int32 GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5;
        public const Int32 GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4;
        public const Int32 GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4;
        public const Int32 GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163;
        public const Int32 GL_PROXY_TEXTURE_1D = 0x8063;
        public const Int32 GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19;
        public const Int32 GL_PROXY_TEXTURE_1D_EXT = 0x8063;
        public const Int32 GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B;
        public const Int32 GL_PROXY_TEXTURE_2D = 0x8064;
        public const Int32 GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B;
        public const Int32 GL_PROXY_TEXTURE_2D_EXT = 0x8064;
        public const Int32 GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C;
        public const Int32 GL_PROXY_TEXTURE_3D = 0x8070;
        public const Int32 GL_PROXY_TEXTURE_3D_EXT = 0x8070;
        public const Int32 GL_PROXY_TEXTURE_4D_SGIS = 0x8135;
        public const Int32 GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD;
        public const Int32 GL_PROXY_TEXTURE_CUBE_MAP = 0x851B;
        public const Int32 GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B;
        public const Int32 GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B;
        public const Int32 GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7;
        public const Int32 GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7;
        public const Int32 GL_Q = 0x2003;
        public const Int32 GL_QUAD_ALPHA4_SGIS = 0x811E;
        public const Int32 GL_QUAD_ALPHA8_SGIS = 0x811F;
        public const Int32 GL_QUAD_INTENSITY4_SGIS = 0x8122;
        public const Int32 GL_QUAD_INTENSITY8_SGIS = 0x8123;
        public const Int32 GL_QUAD_LUMINANCE4_SGIS = 0x8120;
        public const Int32 GL_QUAD_LUMINANCE8_SGIS = 0x8121;
        public const Int32 GL_QUAD_MESH_SUN = 0x8614;
        public const Int32 GL_QUAD_STRIP = 0x0008;
        public const Int32 GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125;
        public const Int32 GL_QUADRATIC_ATTENUATION = 0x1209;
        public const Int32 GL_QUADS = 0x0007;
        public const Int32 GL_QUARTER_BIT_ATI = 0x00000010;
        public const Int32 GL_QUERY_COUNTER_BITS = 0x8864;
        public const Int32 GL_QUERY_COUNTER_BITS_ARB = 0x8864;
        public const Int32 GL_QUERY_RESULT = 0x8866;
        public const Int32 GL_QUERY_RESULT_ARB = 0x8866;
        public const Int32 GL_QUERY_RESULT_AVAILABLE = 0x8867;
        public const Int32 GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867;
        public const Int32 GL_R = 0x2002;
        public const Int32 GL_R11F_G11F_B10F_EXT = 0x8C3A;
        public const Int32 GL_R1UI_C3F_V3F_SUN = 0x85C6;
        public const Int32 GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8;
        public const Int32 GL_R1UI_C4UB_V3F_SUN = 0x85C5;
        public const Int32 GL_R1UI_N3F_V3F_SUN = 0x85C7;
        public const Int32 GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB;
        public const Int32 GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA;
        public const Int32 GL_R1UI_T2F_V3F_SUN = 0x85C9;
        public const Int32 GL_R1UI_V3F_SUN = 0x85C4;
        public const Int32 GL_R3_G3_B2 = 0x2A10;
        public const Int32 GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262;
        public const Int32 GL_RASTERIZER_DISCARD_NV = 0x8C89;
        public const Int32 GL_READ_BUFFER = 0x0C02;
        public const Int32 GL_READ_FRAMEBUFFER_BINDING_EXT = GL_FRAMEBUFFER_BINDING_EXT;
        public const Int32 GL_READ_FRAMEBUFFER_EXT = 0x8CA8;
        public const Int32 GL_READ_ONLY = 0x88B8;
        public const Int32 GL_READ_ONLY_ARB = 0x88B8;
        public const Int32 GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B;
        public const Int32 GL_READ_PIXEL_DATA_RANGE_NV = 0x8879;
        public const Int32 GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D;
        public const Int32 GL_READ_WRITE = 0x88BA;
        public const Int32 GL_READ_WRITE_ARB = 0x88BA;
        public const Int32 GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE;
        public const Int32 GL_RED = 0x1903;
        public const Int32 GL_RED_BIAS = 0x0D15;
        public const Int32 GL_RED_BIT_ATI = 0x00000001;
        public const Int32 GL_RED_BITS = 0x0D52;
        public const Int32 GL_RED_INTEGER_EXT = 0x8D94;
        public const Int32 GL_RED_MAX_CLAMP_INGR = 0x8564;
        public const Int32 GL_RED_MIN_CLAMP_INGR = 0x8560;
        public const Int32 GL_RED_SCALE = 0x0D14;
        public const Int32 GL_REDUCE = 0x8016;
        public const Int32 GL_REDUCE_EXT = 0x8016;
        public const Int32 GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E;
        public const Int32 GL_REFERENCE_PLANE_SGIX = 0x817D;
        public const Int32 GL_REFLECTION_MAP = 0x8512;
        public const Int32 GL_REFLECTION_MAP_ARB = 0x8512;
        public const Int32 GL_REFLECTION_MAP_EXT = 0x8512;
        public const Int32 GL_REFLECTION_MAP_NV = 0x8512;
        public const Int32 GL_REG_0_ATI = 0x8921;
        public const Int32 GL_REG_1_ATI = 0x8922;
        public const Int32 GL_REG_10_ATI = 0x892B;
        public const Int32 GL_REG_11_ATI = 0x892C;
        public const Int32 GL_REG_12_ATI = 0x892D;
        public const Int32 GL_REG_13_ATI = 0x892E;
        public const Int32 GL_REG_14_ATI = 0x892F;
        public const Int32 GL_REG_15_ATI = 0x8930;
        public const Int32 GL_REG_16_ATI = 0x8931;
        public const Int32 GL_REG_17_ATI = 0x8932;
        public const Int32 GL_REG_18_ATI = 0x8933;
        public const Int32 GL_REG_19_ATI = 0x8934;
        public const Int32 GL_REG_2_ATI = 0x8923;
        public const Int32 GL_REG_20_ATI = 0x8935;
        public const Int32 GL_REG_21_ATI = 0x8936;
        public const Int32 GL_REG_22_ATI = 0x8937;
        public const Int32 GL_REG_23_ATI = 0x8938;
        public const Int32 GL_REG_24_ATI = 0x8939;
        public const Int32 GL_REG_25_ATI = 0x893A;
        public const Int32 GL_REG_26_ATI = 0x893B;
        public const Int32 GL_REG_27_ATI = 0x893C;
        public const Int32 GL_REG_28_ATI = 0x893D;
        public const Int32 GL_REG_29_ATI = 0x893E;
        public const Int32 GL_REG_3_ATI = 0x8924;
        public const Int32 GL_REG_30_ATI = 0x893F;
        public const Int32 GL_REG_31_ATI = 0x8940;
        public const Int32 GL_REG_4_ATI = 0x8925;
        public const Int32 GL_REG_5_ATI = 0x8926;
        public const Int32 GL_REG_6_ATI = 0x8927;
        public const Int32 GL_REG_7_ATI = 0x8928;
        public const Int32 GL_REG_8_ATI = 0x8929;
        public const Int32 GL_REG_9_ATI = 0x892A;
        public const Int32 GL_REGISTER_COMBINERS_NV = 0x8522;
        public const Int32 GL_RENDER = 0x1C00;
        public const Int32 GL_RENDER_MODE = 0x0C40;
        public const Int32 GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53;
        public const Int32 GL_RENDERBUFFER_BINDING_EXT = 0x8CA7;
        public const Int32 GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52;
        public const Int32 GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10;
        public const Int32 GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB;
        public const Int32 GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54;
        public const Int32 GL_RENDERBUFFER_EXT = 0x8D41;
        public const Int32 GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51;
        public const Int32 GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43;
        public const Int32 GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44;
        public const Int32 GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50;
        public const Int32 GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB;
        public const Int32 GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55;
        public const Int32 GL_RENDERBUFFER_WIDTH_EXT = 0x8D42;
        public const Int32 GL_RENDERER = 0x1F01;
        public const Int32 GL_REPEAT = 0x2901;
        public const Int32 GL_REPLACE = 0x1E01;
        public const Int32 GL_REPLACE_EXT = 0x8062;
        public const Int32 GL_REPLACE_MIDDLE_SUN = 0x0002;
        public const Int32 GL_REPLACE_OLDEST_SUN = 0x0003;
        public const Int32 GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3;
        public const Int32 GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2;
        public const Int32 GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0;
        public const Int32 GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1;
        public const Int32 GL_REPLACEMENT_CODE_SUN = 0x81D8;
        public const Int32 GL_REPLICATE_BORDER = 0x8153;
        public const Int32 GL_REPLICATE_BORDER_HP = 0x8153;
        public const Int32 GL_RESAMPLE_AVERAGE_OML = 0x8988;
        public const Int32 GL_RESAMPLE_DECIMATE_OML = 0x8989;
        public const Int32 GL_RESAMPLE_DECIMATE_SGIX = 0x8430;
        public const Int32 GL_RESAMPLE_REPLICATE_OML = 0x8986;
        public const Int32 GL_RESAMPLE_REPLICATE_SGIX = 0x842E;
        public const Int32 GL_RESAMPLE_ZERO_FILL_OML = 0x8987;
        public const Int32 GL_RESAMPLE_ZERO_FILL_SGIX = 0x842F;
        public const Int32 GL_RESCALE_NORMAL = 0x803A;
        public const Int32 GL_RESCALE_NORMAL_EXT = 0x803A;
        public const Int32 GL_RESTART_SUN = 0x0001;
        public const Int32 GL_RETURN = 0x0102;
        public const Int32 GL_RGB = 0x1907;
        public const Int32 GL_RGB_FLOAT16_ATI = 0x881B;
        public const Int32 GL_RGB_FLOAT32_ATI = 0x8815;
        public const Int32 GL_RGB_INTEGER_EXT = 0x8D98;
        public const Int32 GL_RGB_S3TC = 0x83A0;
        public const Int32 GL_RGB_SCALE = 0x8573;
        public const Int32 GL_RGB_SCALE_ARB = 0x8573;
        public const Int32 GL_RGB_SCALE_EXT = 0x8573;
        public const Int32 GL_RGB10 = 0x8052;
        public const Int32 GL_RGB10_A2 = 0x8059;
        public const Int32 GL_RGB10_A2_EXT = 0x8059;
        public const Int32 GL_RGB10_EXT = 0x8052;
        public const Int32 GL_RGB12 = 0x8053;
        public const Int32 GL_RGB12_EXT = 0x8053;
        public const Int32 GL_RGB16 = 0x8054;
        public const Int32 GL_RGB16_EXT = 0x8054;
        public const Int32 GL_RGB16F_ARB = 0x881B;
        public const Int32 GL_RGB16I_EXT = 0x8D89;
        public const Int32 GL_RGB16UI_EXT = 0x8D77;
        public const Int32 GL_RGB2_EXT = 0x804E;
        public const Int32 GL_RGB32F_ARB = 0x8815;
        public const Int32 GL_RGB32I_EXT = 0x8D83;
        public const Int32 GL_RGB32UI_EXT = 0x8D71;
        public const Int32 GL_RGB4 = 0x804F;
        public const Int32 GL_RGB4_EXT = 0x804F;
        public const Int32 GL_RGB4_S3TC = 0x83A1;
        public const Int32 GL_RGB5 = 0x8050;
        public const Int32 GL_RGB5_A1 = 0x8057;
        public const Int32 GL_RGB5_A1_EXT = 0x8057;
        public const Int32 GL_RGB5_EXT = 0x8050;
        public const Int32 GL_RGB8 = 0x8051;
        public const Int32 GL_RGB8_EXT = 0x8051;
        public const Int32 GL_RGB8I_EXT = 0x8D8F;
        public const Int32 GL_RGB8UI_EXT = 0x8D7D;
        public const Int32 GL_RGB9_E5_EXT = 0x8C3D;
        public const Int32 GL_RGBA = 0x1908;
        public const Int32 GL_RGBA_FLOAT_MODE_ARB = 0x8820;
        public const Int32 GL_RGBA_FLOAT16_ATI = 0x881A;
        public const Int32 GL_RGBA_FLOAT32_ATI = 0x8814;
        public const Int32 GL_RGBA_INTEGER_EXT = 0x8D99;
        public const Int32 GL_RGBA_INTEGER_MODE_EXT = 0x8D9E;
        public const Int32 GL_RGBA_MODE = 0x0C31;
        public const Int32 GL_RGBA_S3TC = 0x83A2;
        public const Int32 GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C;
        public const Int32 GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9;
        public const Int32 GL_RGBA12 = 0x805A;
        public const Int32 GL_RGBA12_EXT = 0x805A;
        public const Int32 GL_RGBA16 = 0x805B;
        public const Int32 GL_RGBA16_EXT = 0x805B;
        public const Int32 GL_RGBA16F_ARB = 0x881A;
        public const Int32 GL_RGBA16I_EXT = 0x8D88;
        public const Int32 GL_RGBA16UI_EXT = 0x8D76;
        public const Int32 GL_RGBA2 = 0x8055;
        public const Int32 GL_RGBA2_EXT = 0x8055;
        public const Int32 GL_RGBA32F_ARB = 0x8814;
        public const Int32 GL_RGBA32I_EXT = 0x8D82;
        public const Int32 GL_RGBA32UI_EXT = 0x8D70;
        public const Int32 GL_RGBA4 = 0x8056;
        public const Int32 GL_RGBA4_EXT = 0x8056;
        public const Int32 GL_RGBA4_S3TC = 0x83A3;
        public const Int32 GL_RGBA8 = 0x8058;
        public const Int32 GL_RGBA8_EXT = 0x8058;
        public const Int32 GL_RGBA8I_EXT = 0x8D8E;
        public const Int32 GL_RGBA8UI_EXT = 0x8D7C;
        public const Int32 GL_RIGHT = 0x0407;
        public const Int32 GL_S = 0x2000;
        public const Int32 GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E;
        public const Int32 GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E;
        public const Int32 GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E;
        public const Int32 GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E;
        public const Int32 GL_SAMPLE_ALPHA_TO_ONE = 0x809F;
        public const Int32 GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F;
        public const Int32 GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F;
        public const Int32 GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F;
        public const Int32 GL_SAMPLE_BUFFERS = 0x80A8;
        public const Int32 GL_SAMPLE_BUFFERS_3DFX = 0x86B3;
        public const Int32 GL_SAMPLE_BUFFERS_ARB = 0x80A8;
        public const Int32 GL_SAMPLE_BUFFERS_EXT = 0x80A8;
        public const Int32 GL_SAMPLE_BUFFERS_SGIS = 0x80A8;
        public const Int32 GL_SAMPLE_COVERAGE = 0x80A0;
        public const Int32 GL_SAMPLE_COVERAGE_ARB = 0x80A0;
        public const Int32 GL_SAMPLE_COVERAGE_INVERT = 0x80AB;
        public const Int32 GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB;
        public const Int32 GL_SAMPLE_COVERAGE_VALUE = 0x80AA;
        public const Int32 GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA;
        public const Int32 GL_SAMPLE_MASK_EXT = 0x80A0;
        public const Int32 GL_SAMPLE_MASK_INVERT_EXT = 0x80AB;
        public const Int32 GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB;
        public const Int32 GL_SAMPLE_MASK_SGIS = 0x80A0;
        public const Int32 GL_SAMPLE_MASK_VALUE_EXT = 0x80AA;
        public const Int32 GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA;
        public const Int32 GL_SAMPLE_PATTERN_EXT = 0x80AC;
        public const Int32 GL_SAMPLE_PATTERN_SGIS = 0x80AC;
        public const Int32 GL_SAMPLER_1D = 0x8B5D;
        public const Int32 GL_SAMPLER_1D_ARB = 0x8B5D;
        public const Int32 GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0;
        public const Int32 GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3;
        public const Int32 GL_SAMPLER_1D_SHADOW = 0x8B61;
        public const Int32 GL_SAMPLER_1D_SHADOW_ARB = 0x8B61;
        public const Int32 GL_SAMPLER_2D = 0x8B5E;
        public const Int32 GL_SAMPLER_2D_ARB = 0x8B5E;
        public const Int32 GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1;
        public const Int32 GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4;
        public const Int32 GL_SAMPLER_2D_RECT_ARB = 0x8B63;
        public const Int32 GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64;
        public const Int32 GL_SAMPLER_2D_SHADOW = 0x8B62;
        public const Int32 GL_SAMPLER_2D_SHADOW_ARB = 0x8B62;
        public const Int32 GL_SAMPLER_3D = 0x8B5F;
        public const Int32 GL_SAMPLER_3D_ARB = 0x8B5F;
        public const Int32 GL_SAMPLER_BUFFER_EXT = 0x8DC2;
        public const Int32 GL_SAMPLER_CUBE = 0x8B60;
        public const Int32 GL_SAMPLER_CUBE_ARB = 0x8B60;
        public const Int32 GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5;
        public const Int32 GL_SAMPLES = 0x80A9;
        public const Int32 GL_SAMPLES_3DFX = 0x86B4;
        public const Int32 GL_SAMPLES_ARB = 0x80A9;
        public const Int32 GL_SAMPLES_EXT = 0x80A9;
        public const Int32 GL_SAMPLES_PASSED = 0x8914;
        public const Int32 GL_SAMPLES_PASSED_ARB = 0x8914;
        public const Int32 GL_SAMPLES_SGIS = 0x80A9;
        public const Int32 GL_SATURATE_BIT_ATI = 0x00000040;
        public const Int32 GL_SCALAR_EXT = 0x87BE;
        public const Int32 GL_SCALE_BY_FOUR_NV = 0x853F;
        public const Int32 GL_SCALE_BY_ONE_HALF_NV = 0x8540;
        public const Int32 GL_SCALE_BY_TWO_NV = 0x853E;
        public const Int32 GL_SCALEBIAS_HINT_SGIX = 0x8322;
        public const Int32 GL_SCISSOR_BIT = 0x00080000;
        public const Int32 GL_SCISSOR_BOX = 0x0C10;
        public const Int32 GL_SCISSOR_TEST = 0x0C11;
        public const Int32 GL_SCREEN_COORDINATES_REND = 0x8490;
        public const Int32 GL_SECONDARY_COLOR_ARRAY = 0x845E;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B;
        public const Int32 GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B;
        public const Int32 GL_SECONDARY_COLOR_NV = 0x852D;
        public const Int32 GL_SECONDARY_INTERPOLATOR_ATI = 0x896D;
        public const Int32 GL_SELECT = 0x1C02;
        public const Int32 GL_SELECTION_BUFFER_POINTER = 0x0DF3;
        public const Int32 GL_SELECTION_BUFFER_SIZE = 0x0DF4;
        public const Int32 GL_SEPARABLE_2D = 0x8012;
        public const Int32 GL_SEPARABLE_2D_EXT = 0x8012;
        public const Int32 GL_SEPARATE_ATTRIBS_NV = 0x8C8D;
        public const Int32 GL_SEPARATE_SPECULAR_COLOR = 0x81FA;
        public const Int32 GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA;
        public const Int32 GL_SET = 0x150F;
        public const Int32 GL_SGI_color_matrix = 1;
        public const Int32 GL_SGI_color_table = 1;
        public const Int32 GL_SGI_texture_color_table = 1;
        public const Int32 GL_SGIS_detail_texture = 1;
        public const Int32 GL_SGIS_fog_function = 1;
        public const Int32 GL_SGIS_generate_mipmap = 1;
        public const Int32 GL_SGIS_multisample = 1;
        public const Int32 GL_SGIS_pixel_texture = 1;
        public const Int32 GL_SGIS_point_line_texgen = 1;
        public const Int32 GL_SGIS_point_parameters = 1;
        public const Int32 GL_SGIS_sharpen_texture = 1;
        public const Int32 GL_SGIS_texture_border_clamp = 1;
        public const Int32 GL_SGIS_texture_edge_clamp = 1;
        public const Int32 GL_SGIS_texture_filter4 = 1;
        public const Int32 GL_SGIS_texture_lod = 1;
        public const Int32 GL_SGIS_texture_select = 1;
        public const Int32 GL_SGIS_texture4D = 1;
        public const Int32 GL_SGIX_async = 1;
        public const Int32 GL_SGIX_async_histogram = 1;
        public const Int32 GL_SGIX_async_pixel = 1;
        public const Int32 GL_SGIX_blend_alpha_minmax = 1;
        public const Int32 GL_SGIX_calligraphic_fragment = 1;
        public const Int32 GL_SGIX_clipmap = 1;
        public const Int32 GL_SGIX_convolution_accuracy = 1;
        public const Int32 GL_SGIX_depth_texture = 1;
        public const Int32 GL_SGIX_flush_raster = 1;
        public const Int32 GL_SGIX_fog_offset = 1;
        public const Int32 GL_SGIX_fragment_lighting = 1;
        public const Int32 GL_SGIX_framezoom = 1;
        public const Int32 GL_SGIX_icc_texture = 1;
        public const Int32 GL_SGIX_impact_pixel_texture = 1;
        public const Int32 GL_SGIX_instruments = 1;
        public const Int32 GL_SGIX_interlace = 1;
        public const Int32 GL_SGIX_ir_instrument1 = 1;
        public const Int32 GL_SGIX_list_priority = 1;
        public const Int32 GL_SGIX_pixel_texture = 1;
        public const Int32 GL_SGIX_pixel_tiles = 1;
        public const Int32 GL_SGIX_polynomial_ffd = 1;
        public const Int32 GL_SGIX_reference_plane = 1;
        public const Int32 GL_SGIX_resample = 1;
        public const Int32 GL_SGIX_scalebias_hint = 1;
        public const Int32 GL_SGIX_shadow = 1;
        public const Int32 GL_SGIX_shadow_ambient = 1;
        public const Int32 GL_SGIX_sprite = 1;
        public const Int32 GL_SGIX_subsample = 1;
        public const Int32 GL_SGIX_tag_sample_buffer = 1;
        public const Int32 GL_SGIX_texture_add_env = 1;
        public const Int32 GL_SGIX_texture_coordinate_clamp = 1;
        public const Int32 GL_SGIX_texture_lod_bias = 1;
        public const Int32 GL_SGIX_texture_multi_buffer = 1;
        public const Int32 GL_SGIX_texture_scale_bias = 1;
        public const Int32 GL_SGIX_vertex_preclip = 1;
        public const Int32 GL_SGIX_ycrcb = 1;
        public const Int32 GL_SHADE_MODEL = 0x0B54;
        public const Int32 GL_SHADER_CONSISTENT_NV = 0x86DD;
        public const Int32 GL_SHADER_OBJECT_ARB = 0x8B48;
        public const Int32 GL_SHADER_OPERATION_NV = 0x86DF;
        public const Int32 GL_SHADER_SOURCE_LENGTH = 0x8B88;
        public const Int32 GL_SHADER_TYPE = 0x8B4F;
        public const Int32 GL_SHADING_LANGUAGE_VERSION = 0x8B8C;
        public const Int32 GL_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C;
        public const Int32 GL_SHADOW_AMBIENT_SGIX = 0x80BF;
        public const Int32 GL_SHADOW_ATTENUATION_EXT = 0x834E;
        public const Int32 GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB;
        public const Int32 GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0;
        public const Int32 GL_SHININESS = 0x1601;
        public const Int32 GL_SHORT = 0x1402;
        public const Int32 GL_SIGNED_ALPHA_NV = 0x8705;
        public const Int32 GL_SIGNED_ALPHA8_NV = 0x8706;
        public const Int32 GL_SIGNED_HILO_NV = 0x86F9;
        public const Int32 GL_SIGNED_HILO16_NV = 0x86FA;
        public const Int32 GL_SIGNED_HILO8_NV = 0x885F;
        public const Int32 GL_SIGNED_IDENTITY_NV = 0x853C;
        public const Int32 GL_SIGNED_INTENSITY_NV = 0x8707;
        public const Int32 GL_SIGNED_INTENSITY8_NV = 0x8708;
        public const Int32 GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703;
        public const Int32 GL_SIGNED_LUMINANCE_NV = 0x8701;
        public const Int32 GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704;
        public const Int32 GL_SIGNED_LUMINANCE8_NV = 0x8702;
        public const Int32 GL_SIGNED_NEGATE_NV = 0x853D;
        public const Int32 GL_SIGNED_RGB_NV = 0x86FE;
        public const Int32 GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C;
        public const Int32 GL_SIGNED_RGB8_NV = 0x86FF;
        public const Int32 GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D;
        public const Int32 GL_SIGNED_RGBA_NV = 0x86FB;
        public const Int32 GL_SIGNED_RGBA8_NV = 0x86FC;
        public const Int32 GL_SINGLE_COLOR = 0x81F9;
        public const Int32 GL_SINGLE_COLOR_EXT = 0x81F9;
        public const Int32 GL_SLICE_ACCUM_SUN = 0x85CC;
        public const Int32 GL_SLUMINANCE = 0x8C46;
        public const Int32 GL_SLUMINANCE_ALPHA = 0x8C44;
        public const Int32 GL_SLUMINANCE_ALPHA_EXT = 0x8C44;
        public const Int32 GL_SLUMINANCE_EXT = 0x8C46;
        public const Int32 GL_SLUMINANCE8 = 0x8C47;
        public const Int32 GL_SLUMINANCE8_ALPHA8 = 0x8C45;
        public const Int32 GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45;
        public const Int32 GL_SLUMINANCE8_EXT = 0x8C47;
        public const Int32 GL_SMOOTH = 0x1D01;
        public const Int32 GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23;
        public const Int32 GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22;
        public const Int32 GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13;
        public const Int32 GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12;
        public const Int32 GL_SOURCE0_ALPHA = 0x8588;
        public const Int32 GL_SOURCE0_ALPHA_ARB = 0x8588;
        public const Int32 GL_SOURCE0_ALPHA_EXT = 0x8588;
        public const Int32 GL_SOURCE0_RGB = 0x8580;
        public const Int32 GL_SOURCE0_RGB_ARB = 0x8580;
        public const Int32 GL_SOURCE0_RGB_EXT = 0x8580;
        public const Int32 GL_SOURCE1_ALPHA = 0x8589;
        public const Int32 GL_SOURCE1_ALPHA_ARB = 0x8589;
        public const Int32 GL_SOURCE1_ALPHA_EXT = 0x8589;
        public const Int32 GL_SOURCE1_RGB = 0x8581;
        public const Int32 GL_SOURCE1_RGB_ARB = 0x8581;
        public const Int32 GL_SOURCE1_RGB_EXT = 0x8581;
        public const Int32 GL_SOURCE2_ALPHA = 0x858A;
        public const Int32 GL_SOURCE2_ALPHA_ARB = 0x858A;
        public const Int32 GL_SOURCE2_ALPHA_EXT = 0x858A;
        public const Int32 GL_SOURCE2_RGB = 0x8582;
        public const Int32 GL_SOURCE2_RGB_ARB = 0x8582;
        public const Int32 GL_SOURCE2_RGB_EXT = 0x8582;
        public const Int32 GL_SOURCE3_ALPHA_NV = 0x858B;
        public const Int32 GL_SOURCE3_RGB_NV = 0x8583;
        public const Int32 GL_SPARE0_NV = 0x852E;
        public const Int32 GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532;
        public const Int32 GL_SPARE1_NV = 0x852F;
        public const Int32 GL_SPECULAR = 0x1202;
        public const Int32 GL_SPHERE_MAP = 0x2402;
        public const Int32 GL_SPOT_CUTOFF = 0x1206;
        public const Int32 GL_SPOT_DIRECTION = 0x1204;
        public const Int32 GL_SPOT_EXPONENT = 0x1205;
        public const Int32 GL_SPRITE_AXIAL_SGIX = 0x814C;
        public const Int32 GL_SPRITE_AXIS_SGIX = 0x814A;
        public const Int32 GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E;
        public const Int32 GL_SPRITE_MODE_SGIX = 0x8149;
        public const Int32 GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D;
        public const Int32 GL_SPRITE_SGIX = 0x8148;
        public const Int32 GL_SPRITE_TRANSLATION_SGIX = 0x814B;
        public const Int32 GL_SRC_ALPHA = 0x0302;
        public const Int32 GL_SRC_ALPHA_SATURATE = 0x0308;
        public const Int32 GL_SRC_COLOR = 0x0300;
        public const Int32 GL_SRC0_ALPHA = GL_SOURCE0_ALPHA;
        public const Int32 GL_SRC0_RGB = GL_SOURCE0_RGB;
        public const Int32 GL_SRC1_ALPHA = GL_SOURCE1_ALPHA;
        public const Int32 GL_SRC1_RGB = GL_SOURCE1_RGB;
        public const Int32 GL_SRC2_ALPHA = GL_SOURCE2_ALPHA;
        public const Int32 GL_SRC2_RGB = GL_SOURCE2_RGB;
        public const Int32 GL_SRGB = 0x8C40;
        public const Int32 GL_SRGB_ALPHA = 0x8C42;
        public const Int32 GL_SRGB_ALPHA_EXT = 0x8C42;
        public const Int32 GL_SRGB_EXT = 0x8C40;
        public const Int32 GL_SRGB8 = 0x8C41;
        public const Int32 GL_SRGB8_ALPHA8 = 0x8C43;
        public const Int32 GL_SRGB8_ALPHA8_EXT = 0x8C43;
        public const Int32 GL_SRGB8_EXT = 0x8C41;
        public const Int32 GL_STACK_OVERFLOW = 0x0503;
        public const Int32 GL_STACK_UNDERFLOW = 0x0504;
        public const Int32 GL_STATIC_ATI = 0x8760;
        public const Int32 GL_STATIC_COPY = 0x88E6;
        public const Int32 GL_STATIC_COPY_ARB = 0x88E6;
        public const Int32 GL_STATIC_DRAW = 0x88E4;
        public const Int32 GL_STATIC_DRAW_ARB = 0x88E4;
        public const Int32 GL_STATIC_READ = 0x88E5;
        public const Int32 GL_STATIC_READ_ARB = 0x88E5;
        public const Int32 GL_STENCIL = 0x1802;
        public const Int32 GL_STENCIL_ATTACHMENT_EXT = 0x8D20;
        public const Int32 GL_STENCIL_BACK_FAIL = 0x8801;
        public const Int32 GL_STENCIL_BACK_FAIL_ATI = 0x8801;
        public const Int32 GL_STENCIL_BACK_FUNC = 0x8800;
        public const Int32 GL_STENCIL_BACK_FUNC_ATI = 0x8800;
        public const Int32 GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802;
        public const Int32 GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802;
        public const Int32 GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803;
        public const Int32 GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803;
        public const Int32 GL_STENCIL_BACK_REF = 0x8CA3;
        public const Int32 GL_STENCIL_BACK_VALUE_MASK = 0x8CA4;
        public const Int32 GL_STENCIL_BACK_WRITEMASK = 0x8CA5;
        public const Int32 GL_STENCIL_BITS = 0x0D57;
        public const Int32 GL_STENCIL_BUFFER_BIT = 0x00000400;
        public const Int32 GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3;
        public const Int32 GL_STENCIL_CLEAR_VALUE = 0x0B91;
        public const Int32 GL_STENCIL_FAIL = 0x0B94;
        public const Int32 GL_STENCIL_FUNC = 0x0B92;
        public const Int32 GL_STENCIL_INDEX = 0x1901;
        public const Int32 GL_STENCIL_INDEX1_EXT = 0x8D46;
        public const Int32 GL_STENCIL_INDEX16_EXT = 0x8D49;
        public const Int32 GL_STENCIL_INDEX4_EXT = 0x8D47;
        public const Int32 GL_STENCIL_INDEX8_EXT = 0x8D48;
        public const Int32 GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95;
        public const Int32 GL_STENCIL_PASS_DEPTH_PASS = 0x0B96;
        public const Int32 GL_STENCIL_REF = 0x0B97;
        public const Int32 GL_STENCIL_TAG_BITS_EXT = 0x88F2;
        public const Int32 GL_STENCIL_TEST = 0x0B90;
        public const Int32 GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910;
        public const Int32 GL_STENCIL_VALUE_MASK = 0x0B93;
        public const Int32 GL_STENCIL_WRITEMASK = 0x0B98;
        public const Int32 GL_STEREO = 0x0C33;
        public const Int32 GL_STORAGE_CACHED_APPLE = 0x85BE;
        public const Int32 GL_STORAGE_SHARED_APPLE = 0x85BF;
        public const Int32 GL_STREAM_COPY = 0x88E2;
        public const Int32 GL_STREAM_COPY_ARB = 0x88E2;
        public const Int32 GL_STREAM_DRAW = 0x88E0;
        public const Int32 GL_STREAM_DRAW_ARB = 0x88E0;
        public const Int32 GL_STREAM_READ = 0x88E1;
        public const Int32 GL_STREAM_READ_ARB = 0x88E1;
        public const Int32 GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216;
        public const Int32 GL_STRICT_LIGHTING_HINT_PGI = 0x1A217;
        public const Int32 GL_STRICT_SCISSOR_HINT_PGI = 0x1A218;
        public const Int32 GL_SUB_ATI = 0x8965;
        public const Int32 GL_SUBPIXEL_BITS = 0x0D50;
        public const Int32 GL_SUBTRACT = 0x84E7;
        public const Int32 GL_SUBTRACT_ARB = 0x84E7;
        public const Int32 GL_SWIZZLE_STQ_ATI = 0x8977;
        public const Int32 GL_SWIZZLE_STQ_DQ_ATI = 0x8979;
        public const Int32 GL_SWIZZLE_STR_ATI = 0x8976;
        public const Int32 GL_SWIZZLE_STR_DR_ATI = 0x8978;
        public const Int32 GL_SWIZZLE_STRQ_ATI = 0x897A;
        public const Int32 GL_SWIZZLE_STRQ_DQ_ATI = 0x897B;
        public const Int32 GL_T = 0x2001;
        public const Int32 GL_T2F_C3F_V3F = 0x2A2A;
        public const Int32 GL_T2F_C4F_N3F_V3F = 0x2A2C;
        public const Int32 GL_T2F_C4UB_V3F = 0x2A29;
        public const Int32 GL_T2F_IUI_N3F_V2F_EXT = 0x81B3;
        public const Int32 GL_T2F_IUI_N3F_V3F_EXT = 0x81B4;
        public const Int32 GL_T2F_IUI_V2F_EXT = 0x81B1;
        public const Int32 GL_T2F_IUI_V3F_EXT = 0x81B2;
        public const Int32 GL_T2F_N3F_V3F = 0x2A2B;
        public const Int32 GL_T2F_V3F = 0x2A27;
        public const Int32 GL_T4F_C4F_N3F_V4F = 0x2A2D;
        public const Int32 GL_T4F_V4F = 0x2A28;
        public const Int32 GL_TABLE_TOO_LARGE = 0x8031;
        public const Int32 GL_TABLE_TOO_LARGE_EXT = 0x8031;
        public const Int32 GL_TANGENT_ARRAY_EXT = 0x8439;
        public const Int32 GL_TANGENT_ARRAY_POINTER_EXT = 0x8442;
        public const Int32 GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F;
        public const Int32 GL_TANGENT_ARRAY_TYPE_EXT = 0x843E;
        public const Int32 GL_TEXCOORD1_BIT_PGI = 0x10000000;
        public const Int32 GL_TEXCOORD2_BIT_PGI = 0x20000000;
        public const Int32 GL_TEXCOORD3_BIT_PGI = 0x40000000;
        public const Int32 GL_TEXCOORD4_BIT_PGI = unchecked((Int32)0x80000000);
        public const Int32 GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200;
        public const Int32 GL_TEXTURE = 0x1702;
        public const Int32 GL_TEXTURE_1D = 0x0DE0;
        public const Int32 GL_TEXTURE_1D_ARRAY_EXT = 0x8C18;
        public const Int32 GL_TEXTURE_1D_BINDING_EXT = 0x8068;
        public const Int32 GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D;
        public const Int32 GL_TEXTURE_1D_STACK_MESAX = 0x8759;
        public const Int32 GL_TEXTURE_2D = 0x0DE1;
        public const Int32 GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A;
        public const Int32 GL_TEXTURE_2D_BINDING_EXT = 0x8069;
        public const Int32 GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E;
        public const Int32 GL_TEXTURE_2D_STACK_MESAX = 0x875A;
        public const Int32 GL_TEXTURE_3D = 0x806F;
        public const Int32 GL_TEXTURE_3D_BINDING_EXT = 0x806A;
        public const Int32 GL_TEXTURE_3D_EXT = 0x806F;
        public const Int32 GL_TEXTURE_4D_BINDING_SGIS = 0x814F;
        public const Int32 GL_TEXTURE_4D_SGIS = 0x8134;
        public const Int32 GL_TEXTURE_4DSIZE_SGIS = 0x8136;
        public const Int32 GL_TEXTURE_ALPHA_SIZE = 0x805F;
        public const Int32 GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F;
        public const Int32 GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13;
        public const Int32 GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F;
        public const Int32 GL_TEXTURE_BASE_LEVEL = 0x813C;
        public const Int32 GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C;
        public const Int32 GL_TEXTURE_BINDING_1D = 0x8068;
        public const Int32 GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C;
        public const Int32 GL_TEXTURE_BINDING_2D = 0x8069;
        public const Int32 GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D;
        public const Int32 GL_TEXTURE_BINDING_3D = 0x806A;
        public const Int32 GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C;
        public const Int32 GL_TEXTURE_BINDING_CUBE_MAP = 0x8514;
        public const Int32 GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514;
        public const Int32 GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514;
        public const Int32 GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6;
        public const Int32 GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6;
        public const Int32 GL_TEXTURE_BIT = 0x00040000;
        public const Int32 GL_TEXTURE_BLUE_SIZE = 0x805E;
        public const Int32 GL_TEXTURE_BLUE_SIZE_EXT = 0x805E;
        public const Int32 GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12;
        public const Int32 GL_TEXTURE_BORDER = 0x1005;
        public const Int32 GL_TEXTURE_BORDER_COLOR = 0x1004;
        public const Int32 GL_TEXTURE_BORDER_VALUES_NV = 0x871A;
        public const Int32 GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D;
        public const Int32 GL_TEXTURE_BUFFER_EXT = 0x8C2A;
        public const Int32 GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E;
        public const Int32 GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171;
        public const Int32 GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176;
        public const Int32 GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172;
        public const Int32 GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175;
        public const Int32 GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173;
        public const Int32 GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174;
        public const Int32 GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC;
        public const Int32 GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF;
        public const Int32 GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF;
        public const Int32 GL_TEXTURE_COMPARE_FUNC = 0x884D;
        public const Int32 GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D;
        public const Int32 GL_TEXTURE_COMPARE_MODE = 0x884C;
        public const Int32 GL_TEXTURE_COMPARE_MODE_ARB = 0x884C;
        public const Int32 GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B;
        public const Int32 GL_TEXTURE_COMPARE_SGIX = 0x819A;
        public const Int32 GL_TEXTURE_COMPONENTS = 0x1003;
        public const Int32 GL_TEXTURE_COMPRESSED = 0x86A1;
        public const Int32 GL_TEXTURE_COMPRESSED_ARB = 0x86A1;
        public const Int32 GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0;
        public const Int32 GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0;
        public const Int32 GL_TEXTURE_COMPRESSION_HINT = 0x84EF;
        public const Int32 GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF;
        public const Int32 GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6;
        public const Int32 GL_TEXTURE_COORD_ARRAY = 0x8078;
        public const Int32 GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A;
        public const Int32 GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A;
        public const Int32 GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B;
        public const Int32 GL_TEXTURE_COORD_ARRAY_EXT = 0x8078;
        public const Int32 GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074;
        public const Int32 GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084;
        public const Int32 GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8;
        public const Int32 GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092;
        public const Int32 GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092;
        public const Int32 GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088;
        public const Int32 GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088;
        public const Int32 GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A;
        public const Int32 GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A;
        public const Int32 GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089;
        public const Int32 GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089;
        public const Int32 GL_TEXTURE_COORD_NV = 0x8C79;
        public const Int32 GL_TEXTURE_CUBE_MAP = 0x8513;
        public const Int32 GL_TEXTURE_CUBE_MAP_ARB = 0x8513;
        public const Int32 GL_TEXTURE_CUBE_MAP_EXT = 0x8513;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A;
        public const Int32 GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519;
        public const Int32 GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519;
        public const Int32 GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001;
        public const Int32 GL_TEXTURE_DEFORMATION_SGIX = 0x8195;
        public const Int32 GL_TEXTURE_DEPTH = 0x8071;
        public const Int32 GL_TEXTURE_DEPTH_EXT = 0x8071;
        public const Int32 GL_TEXTURE_DEPTH_SIZE = 0x884A;
        public const Int32 GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A;
        public const Int32 GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16;
        public const Int32 GL_TEXTURE_DS_SIZE_NV = 0x871D;
        public const Int32 GL_TEXTURE_DT_SIZE_NV = 0x871E;
        public const Int32 GL_TEXTURE_ENV = 0x2300;
        public const Int32 GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE;
        public const Int32 GL_TEXTURE_ENV_COLOR = 0x2201;
        public const Int32 GL_TEXTURE_ENV_MODE = 0x2200;
        public const Int32 GL_TEXTURE_FILTER_CONTROL = 0x8500;
        public const Int32 GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500;
        public const Int32 GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147;
        public const Int32 GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C;
        public const Int32 GL_TEXTURE_GEN_MODE = 0x2500;
        public const Int32 GL_TEXTURE_GEN_Q = 0x0C63;
        public const Int32 GL_TEXTURE_GEN_R = 0x0C62;
        public const Int32 GL_TEXTURE_GEN_S = 0x0C60;
        public const Int32 GL_TEXTURE_GEN_T = 0x0C61;
        public const Int32 GL_TEXTURE_GEQUAL_R_SGIX = 0x819D;
        public const Int32 GL_TEXTURE_GREEN_SIZE = 0x805D;
        public const Int32 GL_TEXTURE_GREEN_SIZE_EXT = 0x805D;
        public const Int32 GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11;
        public const Int32 GL_TEXTURE_HEIGHT = 0x1001;
        public const Int32 GL_TEXTURE_HI_SIZE_NV = 0x871B;
        public const Int32 GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED;
        public const Int32 GL_TEXTURE_INTENSITY_SIZE = 0x8061;
        public const Int32 GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061;
        public const Int32 GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15;
        public const Int32 GL_TEXTURE_INTERNAL_FORMAT = 0x1003;
        public const Int32 GL_TEXTURE_LEQUAL_R_SGIX = 0x819C;
        public const Int32 GL_TEXTURE_LIGHT_EXT = 0x8350;
        public const Int32 GL_TEXTURE_LIGHTING_MODE_HP = 0x8167;
        public const Int32 GL_TEXTURE_LO_SIZE_NV = 0x871C;
        public const Int32 GL_TEXTURE_LOD_BIAS = 0x8501;
        public const Int32 GL_TEXTURE_LOD_BIAS_EXT = 0x8501;
        public const Int32 GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190;
        public const Int32 GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E;
        public const Int32 GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F;
        public const Int32 GL_TEXTURE_LUMINANCE_SIZE = 0x8060;
        public const Int32 GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060;
        public const Int32 GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14;
        public const Int32 GL_TEXTURE_MAG_FILTER = 0x2800;
        public const Int32 GL_TEXTURE_MAG_SIZE_NV = 0x871F;
        public const Int32 GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351;
        public const Int32 GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352;
        public const Int32 GL_TEXTURE_MATRIX = 0x0BA8;
        public const Int32 GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE;
        public const Int32 GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B;
        public const Int32 GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369;
        public const Int32 GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A;
        public const Int32 GL_TEXTURE_MAX_LEVEL = 0x813D;
        public const Int32 GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D;
        public const Int32 GL_TEXTURE_MAX_LOD = 0x813B;
        public const Int32 GL_TEXTURE_MAX_LOD_SGIS = 0x813B;
        public const Int32 GL_TEXTURE_MIN_FILTER = 0x2801;
        public const Int32 GL_TEXTURE_MIN_LOD = 0x813A;
        public const Int32 GL_TEXTURE_MIN_LOD_SGIS = 0x813A;
        public const Int32 GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E;
        public const Int32 GL_TEXTURE_NORMAL_EXT = 0x85AF;
        public const Int32 GL_TEXTURE_POST_SPECULAR_HP = 0x8168;
        public const Int32 GL_TEXTURE_PRE_SPECULAR_HP = 0x8169;
        public const Int32 GL_TEXTURE_PRIORITY = 0x8066;
        public const Int32 GL_TEXTURE_PRIORITY_EXT = 0x8066;
        public const Int32 GL_TEXTURE_RECTANGLE_ARB = 0x84F5;
        public const Int32 GL_TEXTURE_RECTANGLE_NV = 0x84F5;
        public const Int32 GL_TEXTURE_RED_SIZE = 0x805C;
        public const Int32 GL_TEXTURE_RED_SIZE_EXT = 0x805C;
        public const Int32 GL_TEXTURE_RED_TYPE_ARB = 0x8C10;
        public const Int32 GL_TEXTURE_RESIDENT = 0x8067;
        public const Int32 GL_TEXTURE_RESIDENT_EXT = 0x8067;
        public const Int32 GL_TEXTURE_SHADER_NV = 0x86DE;
        public const Int32 GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F;
        public const Int32 GL_TEXTURE_STACK_DEPTH = 0x0BA5;
        public const Int32 GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1;
        public const Int32 GL_TEXTURE_TOO_LARGE_EXT = 0x8065;
        public const Int32 GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F;
        public const Int32 GL_TEXTURE_WIDTH = 0x1000;
        public const Int32 GL_TEXTURE_WRAP_Q_SGIS = 0x8137;
        public const Int32 GL_TEXTURE_WRAP_R = 0x8072;
        public const Int32 GL_TEXTURE_WRAP_R_EXT = 0x8072;
        public const Int32 GL_TEXTURE_WRAP_S = 0x2802;
        public const Int32 GL_TEXTURE_WRAP_T = 0x2803;
        public const Int32 GL_TEXTURE0 = 0x84C0;
        public const Int32 GL_TEXTURE0_ARB = 0x84C0;
        public const Int32 GL_TEXTURE1 = 0x84C1;
        public const Int32 GL_TEXTURE1_ARB = 0x84C1;
        public const Int32 GL_TEXTURE10 = 0x84CA;
        public const Int32 GL_TEXTURE10_ARB = 0x84CA;
        public const Int32 GL_TEXTURE11 = 0x84CB;
        public const Int32 GL_TEXTURE11_ARB = 0x84CB;
        public const Int32 GL_TEXTURE12 = 0x84CC;
        public const Int32 GL_TEXTURE12_ARB = 0x84CC;
        public const Int32 GL_TEXTURE13 = 0x84CD;
        public const Int32 GL_TEXTURE13_ARB = 0x84CD;
        public const Int32 GL_TEXTURE14 = 0x84CE;
        public const Int32 GL_TEXTURE14_ARB = 0x84CE;
        public const Int32 GL_TEXTURE15 = 0x84CF;
        public const Int32 GL_TEXTURE15_ARB = 0x84CF;
        public const Int32 GL_TEXTURE16 = 0x84D0;
        public const Int32 GL_TEXTURE16_ARB = 0x84D0;
        public const Int32 GL_TEXTURE17 = 0x84D1;
        public const Int32 GL_TEXTURE17_ARB = 0x84D1;
        public const Int32 GL_TEXTURE18 = 0x84D2;
        public const Int32 GL_TEXTURE18_ARB = 0x84D2;
        public const Int32 GL_TEXTURE19 = 0x84D3;
        public const Int32 GL_TEXTURE19_ARB = 0x84D3;
        public const Int32 GL_TEXTURE2 = 0x84C2;
        public const Int32 GL_TEXTURE2_ARB = 0x84C2;
        public const Int32 GL_TEXTURE20 = 0x84D4;
        public const Int32 GL_TEXTURE20_ARB = 0x84D4;
        public const Int32 GL_TEXTURE21 = 0x84D5;
        public const Int32 GL_TEXTURE21_ARB = 0x84D5;
        public const Int32 GL_TEXTURE22 = 0x84D6;
        public const Int32 GL_TEXTURE22_ARB = 0x84D6;
        public const Int32 GL_TEXTURE23 = 0x84D7;
        public const Int32 GL_TEXTURE23_ARB = 0x84D7;
        public const Int32 GL_TEXTURE24 = 0x84D8;
        public const Int32 GL_TEXTURE24_ARB = 0x84D8;
        public const Int32 GL_TEXTURE25 = 0x84D9;
        public const Int32 GL_TEXTURE25_ARB = 0x84D9;
        public const Int32 GL_TEXTURE26 = 0x84DA;
        public const Int32 GL_TEXTURE26_ARB = 0x84DA;
        public const Int32 GL_TEXTURE27 = 0x84DB;
        public const Int32 GL_TEXTURE27_ARB = 0x84DB;
        public const Int32 GL_TEXTURE28 = 0x84DC;
        public const Int32 GL_TEXTURE28_ARB = 0x84DC;
        public const Int32 GL_TEXTURE29 = 0x84DD;
        public const Int32 GL_TEXTURE29_ARB = 0x84DD;
        public const Int32 GL_TEXTURE3 = 0x84C3;
        public const Int32 GL_TEXTURE3_ARB = 0x84C3;
        public const Int32 GL_TEXTURE30 = 0x84DE;
        public const Int32 GL_TEXTURE30_ARB = 0x84DE;
        public const Int32 GL_TEXTURE31 = 0x84DF;
        public const Int32 GL_TEXTURE31_ARB = 0x84DF;
        public const Int32 GL_TEXTURE4 = 0x84C4;
        public const Int32 GL_TEXTURE4_ARB = 0x84C4;
        public const Int32 GL_TEXTURE5 = 0x84C5;
        public const Int32 GL_TEXTURE5_ARB = 0x84C5;
        public const Int32 GL_TEXTURE6 = 0x84C6;
        public const Int32 GL_TEXTURE6_ARB = 0x84C6;
        public const Int32 GL_TEXTURE7 = 0x84C7;
        public const Int32 GL_TEXTURE7_ARB = 0x84C7;
        public const Int32 GL_TEXTURE8 = 0x84C8;
        public const Int32 GL_TEXTURE8_ARB = 0x84C8;
        public const Int32 GL_TEXTURE9 = 0x84C9;
        public const Int32 GL_TEXTURE9_ARB = 0x84C9;
        public const Int32 GL_TIME_ELAPSED_EXT = 0x88BF;
        public const Int32 GL_TRACK_MATRIX_NV = 0x8648;
        public const Int32 GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649;
        public const Int32 GL_TRANSFORM_BIT = 0x00001000;
        public const Int32 GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E;
        public const Int32 GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F;
        public const Int32 GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F;
        public const Int32 GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E;
        public const Int32 GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85;
        public const Int32 GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84;
        public const Int32 GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88;
        public const Int32 GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86;
        public const Int32 GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83;
        public const Int32 GL_TRANSFORM_HINT_APPLE = 0x85B1;
        public const Int32 GL_TRANSPOSE_COLOR_MATRIX = 0x84E6;
        public const Int32 GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6;
        public const Int32 GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7;
        public const Int32 GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3;
        public const Int32 GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3;
        public const Int32 GL_TRANSPOSE_NV = 0x862C;
        public const Int32 GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4;
        public const Int32 GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4;
        public const Int32 GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5;
        public const Int32 GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5;
        public const Int32 GL_TRIANGLE_FAN = 0x0006;
        public const Int32 GL_TRIANGLE_LIST_SUN = 0x81D7;
        public const Int32 GL_TRIANGLE_MESH_SUN = 0x8615;
        public const Int32 GL_TRIANGLE_STRIP = 0x0005;
        public const Int32 GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D;
        public const Int32 GL_TRIANGLES = 0x0004;
        public const Int32 GL_TRIANGLES_ADJACENCY_EXT = 0x000C;
        public const Int32 GL_TRUE = 1;
        public const Int32 GL_TYPE_RGBA_FLOAT_ATI = 0x8820;
        public const Int32 GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF;
        public const Int32 GL_UNIFORM_BUFFER_EXT = 0x8DEE;
        public const Int32 GL_UNPACK_ALIGNMENT = 0x0CF5;
        public const Int32 GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2;
        public const Int32 GL_UNPACK_CMYK_HINT_EXT = 0x800F;
        public const Int32 GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5;
        public const Int32 GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133;
        public const Int32 GL_UNPACK_IMAGE_HEIGHT = 0x806E;
        public const Int32 GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E;
        public const Int32 GL_UNPACK_LSB_FIRST = 0x0CF1;
        public const Int32 GL_UNPACK_RESAMPLE_OML = 0x8985;
        public const Int32 GL_UNPACK_RESAMPLE_SGIX = 0x842D;
        public const Int32 GL_UNPACK_ROW_LENGTH = 0x0CF2;
        public const Int32 GL_UNPACK_SKIP_IMAGES = 0x806D;
        public const Int32 GL_UNPACK_SKIP_IMAGES_EXT = 0x806D;
        public const Int32 GL_UNPACK_SKIP_PIXELS = 0x0CF4;
        public const Int32 GL_UNPACK_SKIP_ROWS = 0x0CF3;
        public const Int32 GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132;
        public const Int32 GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1;
        public const Int32 GL_UNPACK_SWAP_BYTES = 0x0CF0;
        public const Int32 GL_UNSIGNED_BYTE = 0x1401;
        public const Int32 GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362;
        public const Int32 GL_UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362;
        public const Int32 GL_UNSIGNED_BYTE_3_3_2 = 0x8032;
        public const Int32 GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032;
        public const Int32 GL_UNSIGNED_IDENTITY_NV = 0x8536;
        public const Int32 GL_UNSIGNED_INT = 0x1405;
        public const Int32 GL_UNSIGNED_INT_10_10_10_2 = 0x8036;
        public const Int32 GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036;
        public const Int32 GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B;
        public const Int32 GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368;
        public const Int32 GL_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368;
        public const Int32 GL_UNSIGNED_INT_24_8_EXT = 0x84FA;
        public const Int32 GL_UNSIGNED_INT_24_8_NV = 0x84FA;
        public const Int32 GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E;
        public const Int32 GL_UNSIGNED_INT_8_8_8_8 = 0x8035;
        public const Int32 GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035;
        public const Int32 GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367;
        public const Int32 GL_UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367;
        public const Int32 GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB;
        public const Int32 GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8;
        public const Int32 GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4;
        public const Int32 GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6;
        public const Int32 GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7;
        public const Int32 GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8;
        public const Int32 GL_UNSIGNED_INVERT_NV = 0x8537;
        public const Int32 GL_UNSIGNED_NORMALIZED_ARB = 0x8C17;
        public const Int32 GL_UNSIGNED_SHORT = 0x1403;
        public const Int32 GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366;
        public const Int32 GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366;
        public const Int32 GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033;
        public const Int32 GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033;
        public const Int32 GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365;
        public const Int32 GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365;
        public const Int32 GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034;
        public const Int32 GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034;
        public const Int32 GL_UNSIGNED_SHORT_5_6_5 = 0x8363;
        public const Int32 GL_UNSIGNED_SHORT_5_6_5_EXT = 0x8363;
        public const Int32 GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364;
        public const Int32 GL_UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364;
        public const Int32 GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA;
        public const Int32 GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA;
        public const Int32 GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB;
        public const Int32 GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB;
        public const Int32 GL_UPPER_LEFT = 0x8CA2;
        public const Int32 GL_V2F = 0x2A20;
        public const Int32 GL_V3F = 0x2A21;
        public const Int32 GL_VALIDATE_STATUS = 0x8B83;
        public const Int32 GL_VARIABLE_A_NV = 0x8523;
        public const Int32 GL_VARIABLE_B_NV = 0x8524;
        public const Int32 GL_VARIABLE_C_NV = 0x8525;
        public const Int32 GL_VARIABLE_D_NV = 0x8526;
        public const Int32 GL_VARIABLE_E_NV = 0x8527;
        public const Int32 GL_VARIABLE_F_NV = 0x8528;
        public const Int32 GL_VARIABLE_G_NV = 0x8529;
        public const Int32 GL_VARIANT_ARRAY_EXT = 0x87E8;
        public const Int32 GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9;
        public const Int32 GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6;
        public const Int32 GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7;
        public const Int32 GL_VARIANT_DATATYPE_EXT = 0x87E5;
        public const Int32 GL_VARIANT_EXT = 0x87C1;
        public const Int32 GL_VARIANT_VALUE_EXT = 0x87E4;
        public const Int32 GL_VECTOR_EXT = 0x87BF;
        public const Int32 GL_VENDOR = 0x1F00;
        public const Int32 GL_VERSION = 0x1F02;
        public const Int32 GL_VERSION_1_1 = 1;
        public const Int32 GL_VERSION_1_2 = 1;
        public const Int32 GL_VERSION_1_3 = 1;
        public const Int32 GL_VERSION_1_4 = 1;
        public const Int32 GL_VERSION_1_5 = 1;
        public const Int32 GL_VERTEX_ARRAY = 0x8074;
        public const Int32 GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5;
        public const Int32 GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896;
        public const Int32 GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896;
        public const Int32 GL_VERTEX_ARRAY_COUNT_EXT = 0x807D;
        public const Int32 GL_VERTEX_ARRAY_EXT = 0x8074;
        public const Int32 GL_VERTEX_ARRAY_LIST_IBM = 103070;
        public const Int32 GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080;
        public const Int32 GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5;
        public const Int32 GL_VERTEX_ARRAY_POINTER = 0x808E;
        public const Int32 GL_VERTEX_ARRAY_POINTER_EXT = 0x808E;
        public const Int32 GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D;
        public const Int32 GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E;
        public const Int32 GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E;
        public const Int32 GL_VERTEX_ARRAY_RANGE_NV = 0x851D;
        public const Int32 GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521;
        public const Int32 GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521;
        public const Int32 GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F;
        public const Int32 GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533;
        public const Int32 GL_VERTEX_ARRAY_SIZE = 0x807A;
        public const Int32 GL_VERTEX_ARRAY_SIZE_EXT = 0x807A;
        public const Int32 GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F;
        public const Int32 GL_VERTEX_ARRAY_STRIDE = 0x807C;
        public const Int32 GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C;
        public const Int32 GL_VERTEX_ARRAY_TYPE = 0x807B;
        public const Int32 GL_VERTEX_ARRAY_TYPE_EXT = 0x807B;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658;
        public const Int32 GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659;
        public const Int32 GL_VERTEX_BLEND_ARB = 0x86A7;
        public const Int32 GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B;
        public const Int32 GL_VERTEX_DATA_HINT_PGI = 0x1A22A;
        public const Int32 GL_VERTEX_ID_NV = 0x8C7B;
        public const Int32 GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF;
        public const Int32 GL_VERTEX_PRECLIP_SGIX = 0x83EE;
        public const Int32 GL_VERTEX_PROGRAM_ARB = 0x8620;
        public const Int32 GL_VERTEX_PROGRAM_BINDING_NV = 0x864A;
        public const Int32 GL_VERTEX_PROGRAM_NV = 0x8620;
        public const Int32 GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2;
        public const Int32 GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642;
        public const Int32 GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642;
        public const Int32 GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642;
        public const Int32 GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643;
        public const Int32 GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643;
        public const Int32 GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643;
        public const Int32 GL_VERTEX_SHADER = 0x8B31;
        public const Int32 GL_VERTEX_SHADER_ARB = 0x8B31;
        public const Int32 GL_VERTEX_SHADER_BINDING_EXT = 0x8781;
        public const Int32 GL_VERTEX_SHADER_EXT = 0x8780;
        public const Int32 GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF;
        public const Int32 GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1;
        public const Int32 GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2;
        public const Int32 GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3;
        public const Int32 GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4;
        public const Int32 GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0;
        public const Int32 GL_VERTEX_SOURCE_ATI = 0x8774;
        public const Int32 GL_VERTEX_STATE_PROGRAM_NV = 0x8621;
        public const Int32 GL_VERTEX_STREAM0_ATI = 0x876C;
        public const Int32 GL_VERTEX_STREAM1_ATI = 0x876D;
        public const Int32 GL_VERTEX_STREAM2_ATI = 0x876E;
        public const Int32 GL_VERTEX_STREAM3_ATI = 0x876F;
        public const Int32 GL_VERTEX_STREAM4_ATI = 0x8770;
        public const Int32 GL_VERTEX_STREAM5_ATI = 0x8771;
        public const Int32 GL_VERTEX_STREAM6_ATI = 0x8772;
        public const Int32 GL_VERTEX_STREAM7_ATI = 0x8773;
        public const Int32 GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C;
        public const Int32 GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510;
        public const Int32 GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D;
        public const Int32 GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F;
        public const Int32 GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E;
        public const Int32 GL_VERTEX_WEIGHTING_EXT = 0x8509;
        public const Int32 GL_VERTEX23_BIT_PGI = 0x00000004;
        public const Int32 GL_VERTEX4_BIT_PGI = 0x00000008;
        public const Int32 GL_VIBRANCE_BIAS_NV = 0x8719;
        public const Int32 GL_VIBRANCE_SCALE_NV = 0x8713;
        public const Int32 GL_VIEWPORT = 0x0BA2;
        public const Int32 GL_VIEWPORT_BIT = 0x00000800;
        public const Int32 GL_W_EXT = 0x87D8;
        public const Int32 GL_WEIGHT_ARRAY_ARB = 0x86AD;
        public const Int32 GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E;
        public const Int32 GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E;
        public const Int32 GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC;
        public const Int32 GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB;
        public const Int32 GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA;
        public const Int32 GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9;
        public const Int32 GL_WEIGHT_SUM_UNITY_ARB = 0x86A6;
        public const Int32 GL_WIDE_LINE_HINT_PGI = 0x1A222;
        public const Int32 GL_WRAP_BORDER_SUN = 0x81D4;
        public const Int32 GL_WRITE_ONLY = 0x88B9;
        public const Int32 GL_WRITE_ONLY_ARB = 0x88B9;
        public const Int32 GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A;
        public const Int32 GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878;
        public const Int32 GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C;
        public const Int32 GL_X_EXT = 0x87D5;
        public const Int32 GL_XOR = 0x1506;
        public const Int32 GL_Y_EXT = 0x87D6;
        public const Int32 GL_YCBCR_422_APPLE = 0x85B9;
        public const Int32 GL_YCBCR_MESA = 0x8757;
        public const Int32 GL_YCRCB_422_SGIX = 0x81BB;
        public const Int32 GL_YCRCB_444_SGIX = 0x81BC;
        public const Int32 GL_YCRCB_SGIX = 0x8318;
        public const Int32 GL_YCRCBA_SGIX = 0x8319;
        public const Int32 GL_Z_EXT = 0x87D7;
        public const Int32 GL_ZERO = 0;
        public const Int32 GL_ZERO_EXT = 0x87DD;
        public const Int32 GL_ZOOM_X = 0x0D16;
        public const Int32 GL_ZOOM_Y = 0x0D17;
        #endregion
        #region OpenGL functions
        public static void glAccum(GLenum op, GLfloat value)
        {
            Delegates.glAccum(op, value);
        }
        public static void glActiveStencilFaceEXT(GLenum face)
        {
            Delegates.glActiveStencilFaceEXT(face);
        }
        public static void glActiveTexture(GLenum texture)
        {
            Delegates.glActiveTexture(texture);
        }
        public static void glActiveTextureARB(GLenum texture)
        {
            Delegates.glActiveTextureARB(texture);
        }
        public static void glActiveVaryingNV(GLuint program, string name)
        {
            Delegates.glActiveVaryingNV(program, name);
        }
        public static void glAlphaFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)
        {
            Delegates.glAlphaFragmentOp1ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod);
        }
        public static void glAlphaFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)
        {
            Delegates.glAlphaFragmentOp2ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);
        }
        public static void glAlphaFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)
        {
            Delegates.glAlphaFragmentOp3ATI(op, dst, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);
        }
        public static void glAlphaFunc(GLenum func, GLclampf @ref)
        {
            Delegates.glAlphaFunc(func, @ref);
        }
        public static void glApplyTextureEXT(GLenum mode)
        {
            Delegates.glApplyTextureEXT(mode);
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, GLuint[] programs, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, GLuint[] programs, [In, Out()] System.IntPtr residences)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            residences = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (System.IntPtr)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, System.IntPtr programs, out GLboolean residences)
        {
            residences = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, programs, h0.AddrOfPinnedObject());
                residences = (GLboolean)h0.Target;
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, GLuint[] programs, out GLboolean residences)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            residences = default(GLboolean);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (GLboolean)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, ref GLuint programs, out GLboolean residences)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            residences = default(GLboolean);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (GLboolean)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, ref GLuint programs, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, ref GLuint programs, [In, Out()] System.IntPtr residences)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            residences = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (System.IntPtr)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, System.IntPtr programs, [In, Out()] System.IntPtr residences)
        {
            return Delegates.glAreProgramsResidentNV(n, programs, residences);
        }
        public static GLboolean glAreProgramsResidentNV(GLsizei n, System.IntPtr programs, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreProgramsResidentNV(n, programs, h0.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, GLuint[] textures, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, System.IntPtr textures, [In, Out()] System.IntPtr residences)
        {
            return Delegates.glAreTexturesResident(n, textures, residences);
        }
        public static GLboolean glAreTexturesResident(GLsizei n, System.IntPtr textures, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, textures, h0.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, GLuint[] textures, out GLboolean residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(GLboolean);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (GLboolean)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, ref GLuint textures, out GLboolean residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(GLboolean);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (GLboolean)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, ref GLuint textures, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, ref GLuint textures, [In, Out()] System.IntPtr residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (System.IntPtr)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, System.IntPtr textures, out GLboolean residences)
        {
            residences = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, textures, h0.AddrOfPinnedObject());
                residences = (GLboolean)h0.Target;
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLboolean glAreTexturesResident(GLsizei n, GLuint[] textures, [In, Out()] System.IntPtr residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResident(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (System.IntPtr)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, GLuint[] textures, out GLboolean residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(GLboolean);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (GLboolean)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, GLuint[] textures, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, ref GLuint textures, [In, Out()] System.IntPtr residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (System.IntPtr)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, ref GLuint textures, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, System.IntPtr textures, [In, Out()] System.IntPtr residences)
        {
            return Delegates.glAreTexturesResidentEXT(n, textures, residences);
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, GLuint[] textures, [In, Out()] System.IntPtr residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (System.IntPtr)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, System.IntPtr textures, GLboolean[] residences)
        {
            GCHandle h0 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, textures, h0.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, ref GLuint textures, out GLboolean residences)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            residences = default(GLboolean);
            GCHandle h1 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                residences = (GLboolean)h1.Target;
                return retval;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLboolean glAreTexturesResidentEXT(GLsizei n, System.IntPtr textures, out GLboolean residences)
        {
            residences = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(residences, GCHandleType.Pinned);
            try
            {
                GLboolean retval;
                retval = Delegates.glAreTexturesResidentEXT(n, textures, h0.AddrOfPinnedObject());
                residences = (GLboolean)h0.Target;
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glArrayElement(GLint i)
        {
            Delegates.glArrayElement(i);
        }
        public static void glArrayElementEXT(GLint i)
        {
            Delegates.glArrayElementEXT(i);
        }
        public static void glArrayObjectATI(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset)
        {
            Delegates.glArrayObjectATI(array, size, type, stride, buffer, offset);
        }
        public static void glAsyncMarkerSGIX(GLuint marker)
        {
            Delegates.glAsyncMarkerSGIX(marker);
        }
        public static void glAttachObjectARB(GLhandleARB containerObj, GLhandleARB obj)
        {
            Delegates.glAttachObjectARB(containerObj, obj);
        }
        public static void glAttachShader(GLuint program, GLuint shader)
        {
            Delegates.glAttachShader(program, shader);
        }
        public static void glBegin(GLenum mode)
        {
            Delegates.glBegin(mode);
        }
        public static void glBeginFragmentShaderATI()
        {
            Delegates.glBeginFragmentShaderATI();
        }
        public static void glBeginOcclusionQueryNV(GLuint id)
        {
            Delegates.glBeginOcclusionQueryNV(id);
        }
        public static void glBeginQuery(GLenum target, GLuint id)
        {
            Delegates.glBeginQuery(target, id);
        }
        public static void glBeginQueryARB(GLenum target, GLuint id)
        {
            Delegates.glBeginQueryARB(target, id);
        }
        public static void glBeginTransformFeedbackNV(GLenum primitiveMode)
        {
            Delegates.glBeginTransformFeedbackNV(primitiveMode);
        }
        public static void glBeginVertexShaderEXT()
        {
            Delegates.glBeginVertexShaderEXT();
        }
        public static void glBindAttribLocation(GLuint program, GLuint index, string name)
        {
            Delegates.glBindAttribLocation(program, index, name);
        }
        public static void glBindAttribLocationARB(GLhandleARB programObj, GLuint index, string name)
        {
            Delegates.glBindAttribLocationARB(programObj, index, name);
        }
        public static void glBindBuffer(GLenum target, GLuint buffer)
        {
            Delegates.glBindBuffer(target, buffer);
        }
        public static void glBindBufferARB(GLenum target, GLuint buffer)
        {
            Delegates.glBindBufferARB(target, buffer);
        }
        public static void glBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer)
        {
            Delegates.glBindBufferBaseNV(target, index, buffer);
        }
        public static void glBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset)
        {
            Delegates.glBindBufferOffsetNV(target, index, buffer, offset);
        }
        public static void glBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
        {
            Delegates.glBindBufferRangeNV(target, index, buffer, offset, size);
        }
        public static void glBindFragDataLocationEXT(GLuint program, GLuint color, string name)
        {
            Delegates.glBindFragDataLocationEXT(program, color, name);
        }
        public static void glBindFragmentShaderATI(GLuint id)
        {
            Delegates.glBindFragmentShaderATI(id);
        }
        public static void glBindFramebufferEXT(GLenum target, GLuint framebuffer)
        {
            Delegates.glBindFramebufferEXT(target, framebuffer);
        }
        public static GLuint glBindLightParameterEXT(GLenum light, GLenum value)
        {
            return Delegates.glBindLightParameterEXT(light, value);
        }
        public static GLuint glBindMaterialParameterEXT(GLenum face, GLenum value)
        {
            return Delegates.glBindMaterialParameterEXT(face, value);
        }
        public static GLuint glBindParameterEXT(GLenum value)
        {
            return Delegates.glBindParameterEXT(value);
        }
        public static void glBindProgramARB(GLenum target, GLuint program)
        {
            Delegates.glBindProgramARB(target, program);
        }
        public static void glBindProgramNV(GLenum target, GLuint id)
        {
            Delegates.glBindProgramNV(target, id);
        }
        public static void glBindRenderbufferEXT(GLenum target, GLuint renderbuffer)
        {
            Delegates.glBindRenderbufferEXT(target, renderbuffer);
        }
        public static GLuint glBindTexGenParameterEXT(GLenum unit, GLenum coord, GLenum value)
        {
            return Delegates.glBindTexGenParameterEXT(unit, coord, value);
        }
        public static void glBindTexture(GLenum target, GLuint texture)
        {
            Delegates.glBindTexture(target, texture);
        }
        public static void glBindTextureEXT(GLenum target, GLuint texture)
        {
            Delegates.glBindTextureEXT(target, texture);
        }
        public static GLuint glBindTextureUnitParameterEXT(GLenum unit, GLenum value)
        {
            return Delegates.glBindTextureUnitParameterEXT(unit, value);
        }
        public static void glBindVertexArrayAPPLE(GLuint array)
        {
            Delegates.glBindVertexArrayAPPLE(array);
        }
        public static void glBindVertexShaderEXT(GLuint id)
        {
            Delegates.glBindVertexShaderEXT(id);
        }
        public static void glBinormal3bEXT(GLbyte bx, GLbyte by, GLbyte bz)
        {
            Delegates.glBinormal3bEXT(bx, by, bz);
        }
        public static void glBinormal3bvEXT(ref GLbyte v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3bvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3bvEXT(System.IntPtr v)
        {
            Delegates.glBinormal3bvEXT(v);
        }
        public static void glBinormal3bvEXT(GLbyte[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3bvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3dEXT(GLdouble bx, GLdouble by, GLdouble bz)
        {
            Delegates.glBinormal3dEXT(bx, by, bz);
        }
        public static void glBinormal3dvEXT(ref GLdouble v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3dvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3dvEXT(GLdouble[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3dvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3dvEXT(System.IntPtr v)
        {
            Delegates.glBinormal3dvEXT(v);
        }
        public static void glBinormal3fEXT(GLfloat bx, GLfloat by, GLfloat bz)
        {
            Delegates.glBinormal3fEXT(bx, by, bz);
        }
        public static void glBinormal3fvEXT(GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3fvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3fvEXT(ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3fvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3fvEXT(System.IntPtr v)
        {
            Delegates.glBinormal3fvEXT(v);
        }
        public static void glBinormal3iEXT(GLint bx, GLint by, GLint bz)
        {
            Delegates.glBinormal3iEXT(bx, by, bz);
        }
        public static void glBinormal3ivEXT(GLint[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3ivEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3ivEXT(System.IntPtr v)
        {
            Delegates.glBinormal3ivEXT(v);
        }
        public static void glBinormal3ivEXT(ref GLint v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3ivEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3sEXT(GLshort bx, GLshort by, GLshort bz)
        {
            Delegates.glBinormal3sEXT(bx, by, bz);
        }
        public static void glBinormal3svEXT(ref GLshort v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3svEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormal3svEXT(System.IntPtr v)
        {
            Delegates.glBinormal3svEXT(v);
        }
        public static void glBinormal3svEXT(GLshort[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormal3svEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBinormalPointerEXT(GLenum type, GLsizei stride, System.IntPtr pointer)
        {
            Delegates.glBinormalPointerEXT(type, stride, pointer);
        }
        public static void glBinormalPointerEXT(GLenum type, GLsizei stride, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glBinormalPointerEXT(type, stride, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, GLubyte[] bitmap)
        {
            GCHandle h0 = GCHandle.Alloc(bitmap, GCHandleType.Pinned);
            try
            {
                Delegates.glBitmap(width, height, xorig, yorig, xmove, ymove, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, System.IntPtr bitmap)
        {
            Delegates.glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap);
        }
        public static void glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, ref GLubyte bitmap)
        {
            GCHandle h0 = GCHandle.Alloc(bitmap, GCHandleType.Pinned);
            try
            {
                Delegates.glBitmap(width, height, xorig, yorig, xmove, ymove, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
        {
            Delegates.glBlendColor(red, green, blue, alpha);
        }
        public static void glBlendColorEXT(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
        {
            Delegates.glBlendColorEXT(red, green, blue, alpha);
        }
        public static void glBlendEquation(GLenum mode)
        {
            Delegates.glBlendEquation(mode);
        }
        public static void glBlendEquationEXT(GLenum mode)
        {
            Delegates.glBlendEquationEXT(mode);
        }
        public static void glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
        {
            Delegates.glBlendEquationSeparate(modeRGB, modeAlpha);
        }
        public static void glBlendEquationSeparateEXT(GLenum modeRGB, GLenum modeAlpha)
        {
            Delegates.glBlendEquationSeparateEXT(modeRGB, modeAlpha);
        }
        public static void glBlendFunc(GLenum sfactor, GLenum dfactor)
        {
            Delegates.glBlendFunc(sfactor, dfactor);
        }
        public static void glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
        {
            Delegates.glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
        }
        public static void glBlendFuncSeparateEXT(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
        {
            Delegates.glBlendFuncSeparateEXT(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
        }
        public static void glBlendFuncSeparateINGR(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
        {
            Delegates.glBlendFuncSeparateINGR(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
        }
        public static void glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
        {
            Delegates.glBlitFramebufferEXT(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
        }
        public static void glBufferData(GLenum target, GLsizeiptr size, object data, GLenum usage)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glBufferData(target, size, h0.AddrOfPinnedObject(), usage);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBufferData(GLenum target, GLsizeiptr size, System.IntPtr data, GLenum usage)
        {
            Delegates.glBufferData(target, size, data, usage);
        }
        public static void glBufferDataARB(GLenum target, GLsizeiptrARB size, object data, GLenum usage)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glBufferDataARB(target, size, h0.AddrOfPinnedObject(), usage);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBufferDataARB(GLenum target, GLsizeiptrARB size, System.IntPtr data, GLenum usage)
        {
            Delegates.glBufferDataARB(target, size, data, usage);
        }
        public static void glBufferParameteriAPPLE(GLenum target, GLenum pname, GLint param)
        {
            Delegates.glBufferParameteriAPPLE(target, pname, param);
        }
        public static void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, System.IntPtr data)
        {
            Delegates.glBufferSubData(target, offset, size, data);
        }
        public static void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glBufferSubData(target, offset, size, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glBufferSubDataARB(target, offset, size, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, System.IntPtr data)
        {
            Delegates.glBufferSubDataARB(target, offset, size, data);
        }
        public static void glCallList(GLuint list)
        {
            Delegates.glCallList(list);
        }
        public static void glCallLists(GLsizei n, GLenum type, object lists)
        {
            GCHandle h0 = GCHandle.Alloc(lists, GCHandleType.Pinned);
            try
            {
                Delegates.glCallLists(n, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCallLists(GLsizei n, GLenum type, System.IntPtr lists)
        {
            Delegates.glCallLists(n, type, lists);
        }
        public static GLenum glCheckFramebufferStatusEXT(GLenum target)
        {
            return Delegates.glCheckFramebufferStatusEXT(target);
        }
        public static void glClampColorARB(GLenum target, GLenum clamp)
        {
            Delegates.glClampColorARB(target, clamp);
        }
        public static void glClear(GLbitfield mask)
        {
            Delegates.glClear(mask);
        }
        public static void glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
        {
            Delegates.glClearAccum(red, green, blue, alpha);
        }
        public static void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
        {
            Delegates.glClearColor(red, green, blue, alpha);
        }
        public static void glClearColorIiEXT(GLint red, GLint green, GLint blue, GLint alpha)
        {
            Delegates.glClearColorIiEXT(red, green, blue, alpha);
        }
        public static void glClearColorIuiEXT(GLuint red, GLuint green, GLuint blue, GLuint alpha)
        {
            Delegates.glClearColorIuiEXT(red, green, blue, alpha);
        }
        public static void glClearDepth(GLclampd depth)
        {
            Delegates.glClearDepth(depth);
        }
        public static void glClearDepthdNV(GLdouble depth)
        {
            Delegates.glClearDepthdNV(depth);
        }
        public static void glClearIndex(GLfloat c)
        {
            Delegates.glClearIndex(c);
        }
        public static void glClearStencil(GLint s)
        {
            Delegates.glClearStencil(s);
        }
        public static void glClientActiveTexture(GLenum texture)
        {
            Delegates.glClientActiveTexture(texture);
        }
        public static void glClientActiveTextureARB(GLenum texture)
        {
            Delegates.glClientActiveTextureARB(texture);
        }
        public static void glClientActiveVertexStreamATI(GLenum stream)
        {
            Delegates.glClientActiveVertexStreamATI(stream);
        }
        public static void glClipPlane(GLenum plane, System.IntPtr equation)
        {
            Delegates.glClipPlane(plane, equation);
        }
        public static void glClipPlane(GLenum plane, GLdouble[] equation)
        {
            GCHandle h0 = GCHandle.Alloc(equation, GCHandleType.Pinned);
            try
            {
                Delegates.glClipPlane(plane, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glClipPlane(GLenum plane, ref GLdouble equation)
        {
            GCHandle h0 = GCHandle.Alloc(equation, GCHandleType.Pinned);
            try
            {
                Delegates.glClipPlane(plane, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3b(GLbyte red, GLbyte green, GLbyte blue)
        {
            Delegates.glColor3b(red, green, blue);
        }
        public static void glColor3bv(ref GLbyte v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3bv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3bv(GLbyte[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3bv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3bv(System.IntPtr v)
        {
            Delegates.glColor3bv(v);
        }
        public static void glColor3d(GLdouble red, GLdouble green, GLdouble blue)
        {
            Delegates.glColor3d(red, green, blue);
        }
        public static void glColor3dv(ref GLdouble v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3dv(GLdouble[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3dv(System.IntPtr v)
        {
            Delegates.glColor3dv(v);
        }
        public static void glColor3f(GLfloat red, GLfloat green, GLfloat blue)
        {
            Delegates.glColor3f(red, green, blue);
        }
        public static void glColor3fv(ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3fv(System.IntPtr v)
        {
            Delegates.glColor3fv(v);
        }
        public static void glColor3fv(GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)
        {
            Delegates.glColor3fVertex3fSUN(r, g, b, x, y, z);
        }
        public static void glColor3fVertex3fvSUN(ref GLfloat c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(System.IntPtr c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(c, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(ref GLfloat c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(ref GLfloat c, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(GLfloat[] c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(GLfloat[] c, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(GLfloat[] c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(System.IntPtr c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3fVertex3fvSUN(c, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3fVertex3fvSUN(System.IntPtr c, System.IntPtr v)
        {
            Delegates.glColor3fVertex3fvSUN(c, v);
        }
        public static void glColor3hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue)
        {
            Delegates.glColor3hNV(red, green, blue);
        }
        public static void glColor3hvNV(System.IntPtr v)
        {
            Delegates.glColor3hvNV(v);
        }
        public static void glColor3hvNV(ref GLhalfNV v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3hvNV(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3hvNV(GLhalfNV[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3hvNV(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3i(GLint red, GLint green, GLint blue)
        {
            Delegates.glColor3i(red, green, blue);
        }
        public static void glColor3iv(GLint[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3iv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3iv(ref GLint v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3iv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3iv(System.IntPtr v)
        {
            Delegates.glColor3iv(v);
        }
        public static void glColor3s(GLshort red, GLshort green, GLshort blue)
        {
            Delegates.glColor3s(red, green, blue);
        }
        public static void glColor3sv(ref GLshort v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3sv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3sv(System.IntPtr v)
        {
            Delegates.glColor3sv(v);
        }
        public static void glColor3sv(GLshort[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3sv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3ub(GLubyte red, GLubyte green, GLubyte blue)
        {
            Delegates.glColor3ub(red, green, blue);
        }
        public static void glColor3ubv(GLubyte[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3ubv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3ubv(ref GLubyte v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3ubv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3ubv(System.IntPtr v)
        {
            Delegates.glColor3ubv(v);
        }
        public static void glColor3ui(GLuint red, GLuint green, GLuint blue)
        {
            Delegates.glColor3ui(red, green, blue);
        }
        public static void glColor3uiv(GLuint[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3uiv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3uiv(System.IntPtr v)
        {
            Delegates.glColor3uiv(v);
        }
        public static void glColor3uiv(ref GLuint v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3uiv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3us(GLushort red, GLushort green, GLushort blue)
        {
            Delegates.glColor3us(red, green, blue);
        }
        public static void glColor3usv(GLushort[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3usv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor3usv(System.IntPtr v)
        {
            Delegates.glColor3usv(v);
        }
        public static void glColor3usv(ref GLushort v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor3usv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
        {
            Delegates.glColor4b(red, green, blue, alpha);
        }
        public static void glColor4bv(GLbyte[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4bv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4bv(ref GLbyte v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4bv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4bv(System.IntPtr v)
        {
            Delegates.glColor4bv(v);
        }
        public static void glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
        {
            Delegates.glColor4d(red, green, blue, alpha);
        }
        public static void glColor4dv(System.IntPtr v)
        {
            Delegates.glColor4dv(v);
        }
        public static void glColor4dv(GLdouble[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4dv(ref GLdouble v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
        {
            Delegates.glColor4f(red, green, blue, alpha);
        }
        public static void glColor4fNormal3fVertex3fSUN(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)
        {
            Delegates.glColor4fNormal3fVertex3fSUN(r, g, b, a, nx, ny, nz, x, y, z);
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, System.IntPtr n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), n, v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, System.IntPtr n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), n, h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, ref GLfloat n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, GLfloat[] n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, System.IntPtr n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), n, v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, ref GLfloat n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, ref GLfloat n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, GLfloat[] n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, System.IntPtr n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), n, h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(GLfloat[] c, GLfloat[] n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, System.IntPtr n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), n, h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, System.IntPtr n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), n, h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, ref GLfloat n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(n, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, GLfloat[] n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, ref GLfloat n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, ref GLfloat n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, GLfloat[] n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, System.IntPtr n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, System.IntPtr n, System.IntPtr v)
        {
            Delegates.glColor4fNormal3fVertex3fvSUN(c, n, v);
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, GLfloat[] n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(n, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, System.IntPtr n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, ref GLfloat n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, GLfloat[] n, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(System.IntPtr c, ref GLfloat n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(c, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, GLfloat[] n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, ref GLfloat n, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4fNormal3fVertex3fvSUN(ref GLfloat c, GLfloat[] n, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(n, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fNormal3fVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glColor4fv(GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4fv(System.IntPtr v)
        {
            Delegates.glColor4fv(v);
        }
        public static void glColor4fv(ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4hNV(GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha)
        {
            Delegates.glColor4hNV(red, green, blue, alpha);
        }
        public static void glColor4hvNV(System.IntPtr v)
        {
            Delegates.glColor4hvNV(v);
        }
        public static void glColor4hvNV(GLhalfNV[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4hvNV(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4hvNV(ref GLhalfNV v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4hvNV(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4i(GLint red, GLint green, GLint blue, GLint alpha)
        {
            Delegates.glColor4i(red, green, blue, alpha);
        }
        public static void glColor4iv(ref GLint v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4iv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4iv(GLint[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4iv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4iv(System.IntPtr v)
        {
            Delegates.glColor4iv(v);
        }
        public static void glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
        {
            Delegates.glColor4s(red, green, blue, alpha);
        }
        public static void glColor4sv(GLshort[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4sv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4sv(System.IntPtr v)
        {
            Delegates.glColor4sv(v);
        }
        public static void glColor4sv(ref GLshort v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4sv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
        {
            Delegates.glColor4ub(red, green, blue, alpha);
        }
        public static void glColor4ubv(GLubyte[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubv(ref GLubyte v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubv(System.IntPtr v)
        {
            Delegates.glColor4ubv(v);
        }
        public static void glColor4ubVertex2fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y)
        {
            Delegates.glColor4ubVertex2fSUN(r, g, b, a, x, y);
        }
        public static void glColor4ubVertex2fvSUN(ref GLubyte c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(System.IntPtr c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(c, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(GLubyte[] c, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(System.IntPtr c, System.IntPtr v)
        {
            Delegates.glColor4ubVertex2fvSUN(c, v);
        }
        public static void glColor4ubVertex2fvSUN(System.IntPtr c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(c, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(ref GLubyte c, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(ref GLubyte c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(GLubyte[] c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex2fvSUN(GLubyte[] c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex2fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex3fSUN(GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z)
        {
            Delegates.glColor4ubVertex3fSUN(r, g, b, a, x, y, z);
        }
        public static void glColor4ubVertex3fvSUN(GLubyte[] c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(ref GLubyte c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(ref GLubyte c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(ref GLubyte c, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(GLubyte[] c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(System.IntPtr c, ref GLfloat v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(c, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(System.IntPtr c, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(c, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ubVertex3fvSUN(System.IntPtr c, System.IntPtr v)
        {
            Delegates.glColor4ubVertex3fvSUN(c, v);
        }
        public static void glColor4ubVertex3fvSUN(GLubyte[] c, System.IntPtr v)
        {
            GCHandle h0 = GCHandle.Alloc(c, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4ubVertex3fvSUN(h0.AddrOfPinnedObject(), v);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
        {
            Delegates.glColor4ui(red, green, blue, alpha);
        }
        public static void glColor4uiv(GLuint[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4uiv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4uiv(ref GLuint v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4uiv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4uiv(System.IntPtr v)
        {
            Delegates.glColor4uiv(v);
        }
        public static void glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
        {
            Delegates.glColor4us(red, green, blue, alpha);
        }
        public static void glColor4usv(ref GLushort v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4usv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4usv(GLushort[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glColor4usv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColor4usv(System.IntPtr v)
        {
            Delegates.glColor4usv(v);
        }
        public static void glColorFragmentOp1ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)
        {
            Delegates.glColorFragmentOp1ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod);
        }
        public static void glColorFragmentOp2ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)
        {
            Delegates.glColorFragmentOp2ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod);
        }
        public static void glColorFragmentOp3ATI(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)
        {
            Delegates.glColorFragmentOp3ATI(op, dst, dstMask, dstMod, arg1, arg1Rep, arg1Mod, arg2, arg2Rep, arg2Mod, arg3, arg3Rep, arg3Mod);
        }
        public static void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
        {
            Delegates.glColorMask(red, green, blue, alpha);
        }
        public static void glColorMaskIndexedEXT(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
        {
            Delegates.glColorMaskIndexedEXT(index, r, g, b, a);
        }
        public static void glColorMaterial(GLenum face, GLenum mode)
        {
            Delegates.glColorMaterial(face, mode);
        }
        public static void glColorPointer(GLint size, GLenum type, GLsizei stride, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glColorPointer(size, type, stride, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorPointer(GLint size, GLenum type, GLsizei stride, System.IntPtr pointer)
        {
            Delegates.glColorPointer(size, type, stride, pointer);
        }
        public static void glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, System.IntPtr pointer)
        {
            Delegates.glColorPointerEXT(size, type, stride, count, pointer);
        }
        public static void glColorPointerEXT(GLint size, GLenum type, GLsizei stride, GLsizei count, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glColorPointerEXT(size, type, stride, count, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorPointerListIBM(GLint size, GLenum type, GLint stride, System.IntPtr pointer, GLint ptrstride)
        {
            Delegates.glColorPointerListIBM(size, type, stride, pointer, ptrstride);
        }
        public static void glColorPointervINTEL(GLint size, GLenum type, System.IntPtr pointer)
        {
            Delegates.glColorPointervINTEL(size, type, pointer);
        }
        public static void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, System.IntPtr data)
        {
            Delegates.glColorSubTable(target, start, count, format, type, data);
        }
        public static void glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glColorSubTable(target, start, count, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, System.IntPtr data)
        {
            Delegates.glColorSubTableEXT(target, start, count, format, type, data);
        }
        public static void glColorSubTableEXT(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glColorSubTableEXT(target, start, count, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, object table)
        {
            GCHandle h0 = GCHandle.Alloc(table, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTable(target, internalformat, width, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, System.IntPtr table)
        {
            Delegates.glColorTable(target, internalformat, width, format, type, table);
        }
        public static void glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, object table)
        {
            GCHandle h0 = GCHandle.Alloc(table, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableEXT(target, internalFormat, width, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableEXT(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, System.IntPtr table)
        {
            Delegates.glColorTableEXT(target, internalFormat, width, format, type, table);
        }
        public static void glColorTableParameterfv(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glColorTableParameterfv(target, pname, @params);
        }
        public static void glColorTableParameterfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameterfv(GLenum target, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameterfvSGI(GLenum target, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameterfvSGI(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameterfvSGI(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glColorTableParameterfvSGI(target, pname, @params);
        }
        public static void glColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameterfvSGI(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameteriv(GLenum target, GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameteriv(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glColorTableParameteriv(target, pname, @params);
        }
        public static void glColorTableParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameterivSGI(GLenum target, GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameterivSGI(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameterivSGI(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableParameterivSGI(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableParameterivSGI(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glColorTableParameterivSGI(target, pname, @params);
        }
        public static void glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, object table)
        {
            GCHandle h0 = GCHandle.Alloc(table, GCHandleType.Pinned);
            try
            {
                Delegates.glColorTableSGI(target, internalformat, width, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glColorTableSGI(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, System.IntPtr table)
        {
            Delegates.glColorTableSGI(target, internalformat, width, format, type, table);
        }
        public static void glCombinerInputNV(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
        {
            Delegates.glCombinerInputNV(stage, portion, variable, input, mapping, componentUsage);
        }
        public static void glCombinerOutputNV(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)
        {
            Delegates.glCombinerOutputNV(stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum);
        }
        public static void glCombinerParameterfNV(GLenum pname, GLfloat param)
        {
            Delegates.glCombinerParameterfNV(pname, param);
        }
        public static void glCombinerParameterfvNV(GLenum pname, System.IntPtr @params)
        {
            Delegates.glCombinerParameterfvNV(pname, @params);
        }
        public static void glCombinerParameterfvNV(GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCombinerParameterfvNV(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCombinerParameterfvNV(GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCombinerParameterfvNV(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCombinerParameteriNV(GLenum pname, GLint param)
        {
            Delegates.glCombinerParameteriNV(pname, param);
        }
        public static void glCombinerParameterivNV(GLenum pname, System.IntPtr @params)
        {
            Delegates.glCombinerParameterivNV(pname, @params);
        }
        public static void glCombinerParameterivNV(GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCombinerParameterivNV(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCombinerParameterivNV(GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCombinerParameterivNV(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCombinerStageParameterfvNV(stage, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCombinerStageParameterfvNV(GLenum stage, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCombinerStageParameterfvNV(stage, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCombinerStageParameterfvNV(GLenum stage, GLenum pname, System.IntPtr @params)
        {
            Delegates.glCombinerStageParameterfvNV(stage, pname, @params);
        }
        public static void glCompileShader(GLuint shader)
        {
            Delegates.glCompileShader(shader);
        }
        public static void glCompileShaderARB(GLhandleARB shaderObj)
        {
            Delegates.glCompileShaderARB(shaderObj);
        }
        public static void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
        }
        public static void glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, data);
        }
        public static void glCompressedTexImage1DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexImage1DARB(target, level, internalformat, width, border, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
        }
        public static void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, data);
        }
        public static void glCompressedTexImage2DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexImage2DARB(target, level, internalformat, width, height, border, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
        }
        public static void glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexImage3DARB(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imageSize, data);
        }
        public static void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
        }
        public static void glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexSubImage1DARB(target, level, xoffset, width, format, imageSize, data);
        }
        public static void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
        }
        public static void glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imageSize, data);
        }
        public static void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
        }
        public static void glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, System.IntPtr data)
        {
            Delegates.glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
        }
        public static void glCompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, System.IntPtr image)
        {
            Delegates.glConvolutionFilter1D(target, internalformat, width, format, type, image);
        }
        public static void glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, object image)
        {
            GCHandle h0 = GCHandle.Alloc(image, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionFilter1D(target, internalformat, width, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, System.IntPtr image)
        {
            Delegates.glConvolutionFilter1DEXT(target, internalformat, width, format, type, image);
        }
        public static void glConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, object image)
        {
            GCHandle h0 = GCHandle.Alloc(image, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionFilter1DEXT(target, internalformat, width, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, object image)
        {
            GCHandle h0 = GCHandle.Alloc(image, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionFilter2D(target, internalformat, width, height, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, System.IntPtr image)
        {
            Delegates.glConvolutionFilter2D(target, internalformat, width, height, format, type, image);
        }
        public static void glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, object image)
        {
            GCHandle h0 = GCHandle.Alloc(image, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionFilter2DEXT(target, internalformat, width, height, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, System.IntPtr image)
        {
            Delegates.glConvolutionFilter2DEXT(target, internalformat, width, height, format, type, image);
        }
        public static void glConvolutionParameterf(GLenum target, GLenum pname, GLfloat @params)
        {
            Delegates.glConvolutionParameterf(target, pname, @params);
        }
        public static void glConvolutionParameterfEXT(GLenum target, GLenum pname, GLfloat @params)
        {
            Delegates.glConvolutionParameterfEXT(target, pname, @params);
        }
        public static void glConvolutionParameterfv(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glConvolutionParameterfv(target, pname, @params);
        }
        public static void glConvolutionParameterfv(GLenum target, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameterfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameterfvEXT(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glConvolutionParameterfvEXT(target, pname, @params);
        }
        public static void glConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameterfvEXT(GLenum target, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameteri(GLenum target, GLenum pname, GLint @params)
        {
            Delegates.glConvolutionParameteri(target, pname, @params);
        }
        public static void glConvolutionParameteriEXT(GLenum target, GLenum pname, GLint @params)
        {
            Delegates.glConvolutionParameteriEXT(target, pname, @params);
        }
        public static void glConvolutionParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameteriv(GLenum target, GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameteriv(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glConvolutionParameteriv(target, pname, @params);
        }
        public static void glConvolutionParameterivEXT(GLenum target, GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameterivEXT(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glConvolutionParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glConvolutionParameterivEXT(GLenum target, GLenum pname, System.IntPtr @params)
        {
            Delegates.glConvolutionParameterivEXT(target, pname, @params);
        }
        public static void glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyColorSubTable(target, start, x, y, width);
        }
        public static void glCopyColorSubTableEXT(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyColorSubTableEXT(target, start, x, y, width);
        }
        public static void glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyColorTable(target, internalformat, x, y, width);
        }
        public static void glCopyColorTableSGI(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyColorTableSGI(target, internalformat, x, y, width);
        }
        public static void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyConvolutionFilter1D(target, internalformat, x, y, width);
        }
        public static void glCopyConvolutionFilter1DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyConvolutionFilter1DEXT(target, internalformat, x, y, width);
        }
        public static void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
        {
            Delegates.glCopyConvolutionFilter2D(target, internalformat, x, y, width, height);
        }
        public static void glCopyConvolutionFilter2DEXT(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
        {
            Delegates.glCopyConvolutionFilter2DEXT(target, internalformat, x, y, width, height);
        }
        public static void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
        {
            Delegates.glCopyPixels(x, y, width, height, type);
        }
        public static void glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
        {
            Delegates.glCopyTexImage1D(target, level, internalformat, x, y, width, border);
        }
        public static void glCopyTexImage1DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
        {
            Delegates.glCopyTexImage1DEXT(target, level, internalformat, x, y, width, border);
        }
        public static void glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
        {
            Delegates.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
        }
        public static void glCopyTexImage2DEXT(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
        {
            Delegates.glCopyTexImage2DEXT(target, level, internalformat, x, y, width, height, border);
        }
        public static void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyTexSubImage1D(target, level, xoffset, x, y, width);
        }
        public static void glCopyTexSubImage1DEXT(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
        {
            Delegates.glCopyTexSubImage1DEXT(target, level, xoffset, x, y, width);
        }
        public static void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
        {
            Delegates.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
        }
        public static void glCopyTexSubImage2DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
        {
            Delegates.glCopyTexSubImage2DEXT(target, level, xoffset, yoffset, x, y, width, height);
        }
        public static void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
        {
            Delegates.glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
        }
        public static void glCopyTexSubImage3DEXT(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
        {
            Delegates.glCopyTexSubImage3DEXT(target, level, xoffset, yoffset, zoffset, x, y, width, height);
        }
        public static GLuint glCreateProgram()
        {
            return Delegates.glCreateProgram();
        }
        public static GLhandleARB glCreateProgramObjectARB()
        {
            return Delegates.glCreateProgramObjectARB();
        }
        public static GLuint glCreateShader(GLenum type)
        {
            return Delegates.glCreateShader(type);
        }
        public static GLhandleARB glCreateShaderObjectARB(GLenum shaderType)
        {
            return Delegates.glCreateShaderObjectARB(shaderType);
        }
        public static void glCullFace(GLenum mode)
        {
            Delegates.glCullFace(mode);
        }
        public static void glCullParameterdvEXT(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glCullParameterdvEXT(pname, @params);
        }
        public static void glCullParameterdvEXT(GLenum pname, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCullParameterdvEXT(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCullParameterdvEXT(GLenum pname, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCullParameterdvEXT(pname, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCullParameterfvEXT(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glCullParameterfvEXT(pname, @params);
        }
        public static void glCullParameterfvEXT(GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCullParameterfvEXT(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCullParameterfvEXT(GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glCullParameterfvEXT(pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glCurrentPaletteMatrixARB(GLint index)
        {
            Delegates.glCurrentPaletteMatrixARB(index);
        }
        public static void glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, GLdouble[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glDeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, System.IntPtr points)
        {
            Delegates.glDeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points);
        }
        public static void glDeformationMap3dSGIX(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, ref GLdouble points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glDeformationMap3dSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, System.IntPtr points)
        {
            Delegates.glDeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, points);
        }
        public static void glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, ref GLfloat points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glDeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeformationMap3fSGIX(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, GLfloat[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glDeformationMap3fSGIX(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, w1, w2, wstride, worder, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeformSGIX(GLbitfield mask)
        {
            Delegates.glDeformSGIX(mask);
        }
        public static void glDeleteAsyncMarkersSGIX(GLuint marker, GLsizei range)
        {
            Delegates.glDeleteAsyncMarkersSGIX(marker, range);
        }
        public static void glDeleteBuffers(GLsizei n, GLuint[] buffers)
        {
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteBuffers(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteBuffers(GLsizei n, System.IntPtr buffers)
        {
            Delegates.glDeleteBuffers(n, buffers);
        }
        public static void glDeleteBuffers(GLsizei n, ref GLuint buffers)
        {
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteBuffers(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteBuffersARB(GLsizei n, System.IntPtr buffers)
        {
            Delegates.glDeleteBuffersARB(n, buffers);
        }
        public static void glDeleteBuffersARB(GLsizei n, ref GLuint buffers)
        {
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteBuffersARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteBuffersARB(GLsizei n, GLuint[] buffers)
        {
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteBuffersARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFencesAPPLE(GLsizei n, ref GLuint fences)
        {
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteFencesAPPLE(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFencesAPPLE(GLsizei n, System.IntPtr fences)
        {
            Delegates.glDeleteFencesAPPLE(n, fences);
        }
        public static void glDeleteFencesAPPLE(GLsizei n, GLuint[] fences)
        {
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteFencesAPPLE(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFencesNV(GLsizei n, ref GLuint fences)
        {
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteFencesNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFencesNV(GLsizei n, GLuint[] fences)
        {
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteFencesNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFencesNV(GLsizei n, System.IntPtr fences)
        {
            Delegates.glDeleteFencesNV(n, fences);
        }
        public static void glDeleteFragmentShaderATI(GLuint id)
        {
            Delegates.glDeleteFragmentShaderATI(id);
        }
        public static void glDeleteFramebuffersEXT(GLsizei n, GLuint[] framebuffers)
        {
            GCHandle h0 = GCHandle.Alloc(framebuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteFramebuffersEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFramebuffersEXT(GLsizei n, ref GLuint framebuffers)
        {
            GCHandle h0 = GCHandle.Alloc(framebuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteFramebuffersEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteFramebuffersEXT(GLsizei n, System.IntPtr framebuffers)
        {
            Delegates.glDeleteFramebuffersEXT(n, framebuffers);
        }
        public static void glDeleteLists(GLuint list, GLsizei range)
        {
            Delegates.glDeleteLists(list, range);
        }
        public static void glDeleteObjectARB(GLhandleARB obj)
        {
            Delegates.glDeleteObjectARB(obj);
        }
        public static void glDeleteOcclusionQueriesNV(GLsizei n, System.IntPtr ids)
        {
            Delegates.glDeleteOcclusionQueriesNV(n, ids);
        }
        public static void glDeleteOcclusionQueriesNV(GLsizei n, ref GLuint ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteOcclusionQueriesNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteOcclusionQueriesNV(GLsizei n, GLuint[] ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteOcclusionQueriesNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteProgram(GLuint program)
        {
            Delegates.glDeleteProgram(program);
        }
        public static void glDeleteProgramsARB(GLsizei n, ref GLuint programs)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteProgramsARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteProgramsARB(GLsizei n, System.IntPtr programs)
        {
            Delegates.glDeleteProgramsARB(n, programs);
        }
        public static void glDeleteProgramsARB(GLsizei n, GLuint[] programs)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteProgramsARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteProgramsNV(GLsizei n, ref GLuint programs)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteProgramsNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteProgramsNV(GLsizei n, System.IntPtr programs)
        {
            Delegates.glDeleteProgramsNV(n, programs);
        }
        public static void glDeleteProgramsNV(GLsizei n, GLuint[] programs)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteProgramsNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteQueries(GLsizei n, ref GLuint ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteQueries(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteQueries(GLsizei n, System.IntPtr ids)
        {
            Delegates.glDeleteQueries(n, ids);
        }
        public static void glDeleteQueries(GLsizei n, GLuint[] ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteQueries(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteQueriesARB(GLsizei n, ref GLuint ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteQueriesARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteQueriesARB(GLsizei n, GLuint[] ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteQueriesARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteQueriesARB(GLsizei n, System.IntPtr ids)
        {
            Delegates.glDeleteQueriesARB(n, ids);
        }
        public static void glDeleteRenderbuffersEXT(GLsizei n, GLuint[] renderbuffers)
        {
            GCHandle h0 = GCHandle.Alloc(renderbuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteRenderbuffersEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteRenderbuffersEXT(GLsizei n, System.IntPtr renderbuffers)
        {
            Delegates.glDeleteRenderbuffersEXT(n, renderbuffers);
        }
        public static void glDeleteRenderbuffersEXT(GLsizei n, ref GLuint renderbuffers)
        {
            GCHandle h0 = GCHandle.Alloc(renderbuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteRenderbuffersEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteShader(GLuint shader)
        {
            Delegates.glDeleteShader(shader);
        }
        public static void glDeleteTextures(GLsizei n, ref GLuint textures)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteTextures(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteTextures(GLsizei n, GLuint[] textures)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteTextures(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteTextures(GLsizei n, System.IntPtr textures)
        {
            Delegates.glDeleteTextures(n, textures);
        }
        public static void glDeleteTexturesEXT(GLsizei n, ref GLuint textures)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteTexturesEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteTexturesEXT(GLsizei n, GLuint[] textures)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteTexturesEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteTexturesEXT(GLsizei n, System.IntPtr textures)
        {
            Delegates.glDeleteTexturesEXT(n, textures);
        }
        public static void glDeleteVertexArraysAPPLE(GLsizei n, ref GLuint arrays)
        {
            GCHandle h0 = GCHandle.Alloc(arrays, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteVertexArraysAPPLE(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteVertexArraysAPPLE(GLsizei n, System.IntPtr arrays)
        {
            Delegates.glDeleteVertexArraysAPPLE(n, arrays);
        }
        public static void glDeleteVertexArraysAPPLE(GLsizei n, GLuint[] arrays)
        {
            GCHandle h0 = GCHandle.Alloc(arrays, GCHandleType.Pinned);
            try
            {
                Delegates.glDeleteVertexArraysAPPLE(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDeleteVertexShaderEXT(GLuint id)
        {
            Delegates.glDeleteVertexShaderEXT(id);
        }
        public static void glDepthBoundsdNV(GLdouble zmin, GLdouble zmax)
        {
            Delegates.glDepthBoundsdNV(zmin, zmax);
        }
        public static void glDepthBoundsEXT(GLclampd zmin, GLclampd zmax)
        {
            Delegates.glDepthBoundsEXT(zmin, zmax);
        }
        public static void glDepthFunc(GLenum func)
        {
            Delegates.glDepthFunc(func);
        }
        public static void glDepthMask(GLboolean flag)
        {
            Delegates.glDepthMask(flag);
        }
        public static void glDepthRange(GLclampd near, GLclampd far)
        {
            Delegates.glDepthRange(near, far);
        }
        public static void glDepthRangedNV(GLdouble zNear, GLdouble zFar)
        {
            Delegates.glDepthRangedNV(zNear, zFar);
        }
        public static void glDetachObjectARB(GLhandleARB containerObj, GLhandleARB attachedObj)
        {
            Delegates.glDetachObjectARB(containerObj, attachedObj);
        }
        public static void glDetachShader(GLuint program, GLuint shader)
        {
            Delegates.glDetachShader(program, shader);
        }
        public static void glDetailTexFuncSGIS(GLenum target, GLsizei n, System.IntPtr points)
        {
            Delegates.glDetailTexFuncSGIS(target, n, points);
        }
        public static void glDetailTexFuncSGIS(GLenum target, GLsizei n, ref GLfloat points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glDetailTexFuncSGIS(target, n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDetailTexFuncSGIS(GLenum target, GLsizei n, GLfloat[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glDetailTexFuncSGIS(target, n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDisable(GLenum cap)
        {
            Delegates.glDisable(cap);
        }
        public static void glDisableClientState(GLenum array)
        {
            Delegates.glDisableClientState(array);
        }
        public static void glDisableIndexedEXT(GLenum target, GLuint index)
        {
            Delegates.glDisableIndexedEXT(target, index);
        }
        public static void glDisableVariantClientStateEXT(GLuint id)
        {
            Delegates.glDisableVariantClientStateEXT(id);
        }
        public static void glDisableVertexAttribArray(GLuint index)
        {
            Delegates.glDisableVertexAttribArray(index);
        }
        public static void glDisableVertexAttribArrayARB(GLuint index)
        {
            Delegates.glDisableVertexAttribArrayARB(index);
        }
        public static void glDrawArrays(GLenum mode, GLint first, GLsizei count)
        {
            Delegates.glDrawArrays(mode, first, count);
        }
        public static void glDrawArraysEXT(GLenum mode, GLint first, GLsizei count)
        {
            Delegates.glDrawArraysEXT(mode, first, count);
        }
        public static void glDrawArraysInstancedEXT(GLenum mode, GLint start, GLsizei count, GLsizei primcount)
        {
            Delegates.glDrawArraysInstancedEXT(mode, start, count, primcount);
        }
        public static void glDrawBuffer(GLenum mode)
        {
            Delegates.glDrawBuffer(mode);
        }
        public static void glDrawBuffers(GLsizei n, System.IntPtr bufs)
        {
            Delegates.glDrawBuffers(n, bufs);
        }
        public static void glDrawBuffers(GLsizei n, GLenum[] bufs)
        {
            GCHandle h0 = GCHandle.Alloc(bufs, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawBuffers(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawBuffers(GLsizei n, ref GLenum bufs)
        {
            GCHandle h0 = GCHandle.Alloc(bufs, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawBuffers(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawBuffersARB(GLsizei n, GLenum[] bufs)
        {
            GCHandle h0 = GCHandle.Alloc(bufs, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawBuffersARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawBuffersARB(GLsizei n, System.IntPtr bufs)
        {
            Delegates.glDrawBuffersARB(n, bufs);
        }
        public static void glDrawBuffersARB(GLsizei n, ref GLenum bufs)
        {
            GCHandle h0 = GCHandle.Alloc(bufs, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawBuffersARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawBuffersATI(GLsizei n, System.IntPtr bufs)
        {
            Delegates.glDrawBuffersATI(n, bufs);
        }
        public static void glDrawBuffersATI(GLsizei n, GLenum[] bufs)
        {
            GCHandle h0 = GCHandle.Alloc(bufs, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawBuffersATI(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawBuffersATI(GLsizei n, ref GLenum bufs)
        {
            GCHandle h0 = GCHandle.Alloc(bufs, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawBuffersATI(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawElementArrayAPPLE(GLenum mode, GLint first, GLsizei count)
        {
            Delegates.glDrawElementArrayAPPLE(mode, first, count);
        }
        public static void glDrawElementArrayATI(GLenum mode, GLsizei count)
        {
            Delegates.glDrawElementArrayATI(mode, count);
        }
        public static void glDrawElements(GLenum mode, GLsizei count, GLenum type, object indices)
        {
            GCHandle h0 = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawElements(mode, count, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawElements(GLenum mode, GLsizei count, GLenum type, System.IntPtr indices)
        {
            Delegates.glDrawElements(mode, count, type, indices);
        }
        public static void glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, System.IntPtr indices, GLsizei primcount)
        {
            Delegates.glDrawElementsInstancedEXT(mode, count, type, indices, primcount);
        }
        public static void glDrawElementsInstancedEXT(GLenum mode, GLsizei count, GLenum type, object indices, GLsizei primcount)
        {
            GCHandle h0 = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawElementsInstancedEXT(mode, count, type, h0.AddrOfPinnedObject(), primcount);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawMeshArraysSUN(GLenum mode, GLint first, GLsizei count, GLsizei width)
        {
            Delegates.glDrawMeshArraysSUN(mode, first, count, width);
        }
        public static void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, object pixels)
        {
            GCHandle h0 = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawPixels(width, height, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, System.IntPtr pixels)
        {
            Delegates.glDrawPixels(width, height, format, type, pixels);
        }
        public static void glDrawRangeElementArrayAPPLE(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count)
        {
            Delegates.glDrawRangeElementArrayAPPLE(mode, start, end, first, count);
        }
        public static void glDrawRangeElementArrayATI(GLenum mode, GLuint start, GLuint end, GLsizei count)
        {
            Delegates.glDrawRangeElementArrayATI(mode, start, end, count);
        }
        public static void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, object indices)
        {
            GCHandle h0 = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawRangeElements(mode, start, end, count, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, System.IntPtr indices)
        {
            Delegates.glDrawRangeElements(mode, start, end, count, type, indices);
        }
        public static void glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, object indices)
        {
            GCHandle h0 = GCHandle.Alloc(indices, GCHandleType.Pinned);
            try
            {
                Delegates.glDrawRangeElementsEXT(mode, start, end, count, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glDrawRangeElementsEXT(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, System.IntPtr indices)
        {
            Delegates.glDrawRangeElementsEXT(mode, start, end, count, type, indices);
        }
        public static void glEdgeFlag(GLboolean flag)
        {
            Delegates.glEdgeFlag(flag);
        }
        public static void glEdgeFlagPointer(GLsizei stride, System.IntPtr pointer)
        {
            Delegates.glEdgeFlagPointer(stride, pointer);
        }
        public static void glEdgeFlagPointer(GLsizei stride, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagPointer(stride, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, ref GLboolean pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagPointerEXT(stride, count, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, System.IntPtr pointer)
        {
            Delegates.glEdgeFlagPointerEXT(stride, count, pointer);
        }
        public static void glEdgeFlagPointerEXT(GLsizei stride, GLsizei count, GLboolean[] pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagPointerEXT(stride, count, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagPointerListIBM(GLint stride, ref GLboolean pointer, GLint ptrstride)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagPointerListIBM(stride, h0.AddrOfPinnedObject(), ptrstride);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagPointerListIBM(GLint stride, GLboolean[] pointer, GLint ptrstride)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagPointerListIBM(stride, h0.AddrOfPinnedObject(), ptrstride);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagPointerListIBM(GLint stride, System.IntPtr pointer, GLint ptrstride)
        {
            Delegates.glEdgeFlagPointerListIBM(stride, pointer, ptrstride);
        }
        public static void glEdgeFlagv(ref GLboolean flag)
        {
            GCHandle h0 = GCHandle.Alloc(flag, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagv(GLboolean[] flag)
        {
            GCHandle h0 = GCHandle.Alloc(flag, GCHandleType.Pinned);
            try
            {
                Delegates.glEdgeFlagv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEdgeFlagv(System.IntPtr flag)
        {
            Delegates.glEdgeFlagv(flag);
        }
        public static void glElementPointerAPPLE(GLenum type, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glElementPointerAPPLE(type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glElementPointerAPPLE(GLenum type, System.IntPtr pointer)
        {
            Delegates.glElementPointerAPPLE(type, pointer);
        }
        public static void glElementPointerATI(GLenum type, System.IntPtr pointer)
        {
            Delegates.glElementPointerATI(type, pointer);
        }
        public static void glElementPointerATI(GLenum type, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glElementPointerATI(type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEnable(GLenum cap)
        {
            Delegates.glEnable(cap);
        }
        public static void glEnableClientState(GLenum array)
        {
            Delegates.glEnableClientState(array);
        }
        public static void glEnableIndexedEXT(GLenum target, GLuint index)
        {
            Delegates.glEnableIndexedEXT(target, index);
        }
        public static void glEnableVariantClientStateEXT(GLuint id)
        {
            Delegates.glEnableVariantClientStateEXT(id);
        }
        public static void glEnableVertexAttribArray(GLuint index)
        {
            Delegates.glEnableVertexAttribArray(index);
        }
        public static void glEnableVertexAttribArrayARB(GLuint index)
        {
            Delegates.glEnableVertexAttribArrayARB(index);
        }
        public static void glEnd()
        {
            Delegates.glEnd();
        }
        public static void glEndFragmentShaderATI()
        {
            Delegates.glEndFragmentShaderATI();
        }
        public static void glEndList()
        {
            Delegates.glEndList();
        }
        public static void glEndOcclusionQueryNV()
        {
            Delegates.glEndOcclusionQueryNV();
        }
        public static void glEndQuery(GLenum target)
        {
            Delegates.glEndQuery(target);
        }
        public static void glEndQueryARB(GLenum target)
        {
            Delegates.glEndQueryARB(target);
        }
        public static void glEndTransformFeedbackNV()
        {
            Delegates.glEndTransformFeedbackNV();
        }
        public static void glEndVertexShaderEXT()
        {
            Delegates.glEndVertexShaderEXT();
        }
        public static void glEvalCoord1d(GLdouble u)
        {
            Delegates.glEvalCoord1d(u);
        }
        public static void glEvalCoord1dv(GLdouble[] u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord1dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord1dv(ref GLdouble u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord1dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord1dv(System.IntPtr u)
        {
            Delegates.glEvalCoord1dv(u);
        }
        public static void glEvalCoord1f(GLfloat u)
        {
            Delegates.glEvalCoord1f(u);
        }
        public static void glEvalCoord1fv(System.IntPtr u)
        {
            Delegates.glEvalCoord1fv(u);
        }
        public static void glEvalCoord1fv(GLfloat[] u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord1fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord1fv(ref GLfloat u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord1fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord2d(GLdouble u, GLdouble v)
        {
            Delegates.glEvalCoord2d(u, v);
        }
        public static void glEvalCoord2dv(System.IntPtr u)
        {
            Delegates.glEvalCoord2dv(u);
        }
        public static void glEvalCoord2dv(ref GLdouble u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord2dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord2dv(GLdouble[] u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord2dv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord2f(GLfloat u, GLfloat v)
        {
            Delegates.glEvalCoord2f(u, v);
        }
        public static void glEvalCoord2fv(ref GLfloat u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord2fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord2fv(GLfloat[] u)
        {
            GCHandle h0 = GCHandle.Alloc(u, GCHandleType.Pinned);
            try
            {
                Delegates.glEvalCoord2fv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glEvalCoord2fv(System.IntPtr u)
        {
            Delegates.glEvalCoord2fv(u);
        }
        public static void glEvalMapsNV(GLenum target, GLenum mode)
        {
            Delegates.glEvalMapsNV(target, mode);
        }
        public static void glEvalMesh1(GLenum mode, GLint i1, GLint i2)
        {
            Delegates.glEvalMesh1(mode, i1, i2);
        }
        public static void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
        {
            Delegates.glEvalMesh2(mode, i1, i2, j1, j2);
        }
        public static void glEvalPoint1(GLint i)
        {
            Delegates.glEvalPoint1(i);
        }
        public static void glEvalPoint2(GLint i, GLint j)
        {
            Delegates.glEvalPoint2(i, j);
        }
        public static void glExecuteProgramNV(GLenum target, GLuint id, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glExecuteProgramNV(target, id, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glExecuteProgramNV(GLenum target, GLuint id, System.IntPtr @params)
        {
            Delegates.glExecuteProgramNV(target, id, @params);
        }
        public static void glExecuteProgramNV(GLenum target, GLuint id, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glExecuteProgramNV(target, id, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glExtractComponentEXT(GLuint res, GLuint src, GLuint num)
        {
            Delegates.glExtractComponentEXT(res, src, num);
        }
        public static void glFeedbackBuffer(GLsizei size, GLenum type, [In, Out()] System.IntPtr buffer)
        {
            Delegates.glFeedbackBuffer(size, type, buffer);
        }
        public static void glFeedbackBuffer(GLsizei size, GLenum type, out GLfloat buffer)
        {
            buffer = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(buffer, GCHandleType.Pinned);
            try
            {
                Delegates.glFeedbackBuffer(size, type, h0.AddrOfPinnedObject());
                buffer = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat[] buffer)
        {
            GCHandle h0 = GCHandle.Alloc(buffer, GCHandleType.Pinned);
            try
            {
                Delegates.glFeedbackBuffer(size, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFinalCombinerInputNV(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
        {
            Delegates.glFinalCombinerInputNV(variable, input, mapping, componentUsage);
        }
        public static void glFinish()
        {
            Delegates.glFinish();
        }
        public static GLint glFinishAsyncSGIX([In, Out()] System.IntPtr markerp)
        {
            return Delegates.glFinishAsyncSGIX(markerp);
        }
        public static GLint glFinishAsyncSGIX(GLuint[] markerp)
        {
            GCHandle h0 = GCHandle.Alloc(markerp, GCHandleType.Pinned);
            try
            {
                GLint retval;
                retval = Delegates.glFinishAsyncSGIX(h0.AddrOfPinnedObject());
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLint glFinishAsyncSGIX(out GLuint markerp)
        {
            markerp = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(markerp, GCHandleType.Pinned);
            try
            {
                GLint retval;
                retval = Delegates.glFinishAsyncSGIX(h0.AddrOfPinnedObject());
                markerp = (GLuint)h0.Target;
                return retval;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFinishFenceAPPLE(GLuint fence)
        {
            Delegates.glFinishFenceAPPLE(fence);
        }
        public static void glFinishFenceNV(GLuint fence)
        {
            Delegates.glFinishFenceNV(fence);
        }
        public static void glFinishObjectAPPLE(GLenum @object, GLint name)
        {
            Delegates.glFinishObjectAPPLE(@object, name);
        }
        public static void glFinishTextureSUNX()
        {
            Delegates.glFinishTextureSUNX();
        }
        public static void glFlush()
        {
            Delegates.glFlush();
        }
        public static void glFlushMappedBufferRangeAPPLE(GLenum target, GLintptr offset, GLsizeiptr size)
        {
            Delegates.glFlushMappedBufferRangeAPPLE(target, offset, size);
        }
        public static void glFlushPixelDataRangeNV(GLenum target)
        {
            Delegates.glFlushPixelDataRangeNV(target);
        }
        public static void glFlushRasterSGIX()
        {
            Delegates.glFlushRasterSGIX();
        }
        public static void glFlushVertexArrayRangeAPPLE(GLsizei length, [In, Out()] System.IntPtr pointer)
        {
            Delegates.glFlushVertexArrayRangeAPPLE(length, pointer);
        }
        public static void glFlushVertexArrayRangeAPPLE(GLsizei length, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glFlushVertexArrayRangeAPPLE(length, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFlushVertexArrayRangeNV()
        {
            Delegates.glFlushVertexArrayRangeNV();
        }
        public static void glFogCoordd(GLdouble coord)
        {
            Delegates.glFogCoordd(coord);
        }
        public static void glFogCoorddEXT(GLdouble coord)
        {
            Delegates.glFogCoorddEXT(coord);
        }
        public static void glFogCoorddv(ref GLdouble coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoorddv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoorddv(GLdouble[] coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoorddv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoorddv(System.IntPtr coord)
        {
            Delegates.glFogCoorddv(coord);
        }
        public static void glFogCoorddvEXT(System.IntPtr coord)
        {
            Delegates.glFogCoorddvEXT(coord);
        }
        public static void glFogCoorddvEXT(GLdouble[] coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoorddvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoorddvEXT(ref GLdouble coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoorddvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordf(GLfloat coord)
        {
            Delegates.glFogCoordf(coord);
        }
        public static void glFogCoordfEXT(GLfloat coord)
        {
            Delegates.glFogCoordfEXT(coord);
        }
        public static void glFogCoordfv(System.IntPtr coord)
        {
            Delegates.glFogCoordfv(coord);
        }
        public static void glFogCoordfv(ref GLfloat coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordfv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordfv(GLfloat[] coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordfv(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordfvEXT(ref GLfloat coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordfvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordfvEXT(System.IntPtr coord)
        {
            Delegates.glFogCoordfvEXT(coord);
        }
        public static void glFogCoordfvEXT(GLfloat[] coord)
        {
            GCHandle h0 = GCHandle.Alloc(coord, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordfvEXT(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordhNV(GLhalfNV fog)
        {
            Delegates.glFogCoordhNV(fog);
        }
        public static void glFogCoordhvNV(ref GLhalfNV fog)
        {
            GCHandle h0 = GCHandle.Alloc(fog, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordhvNV(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordhvNV(GLhalfNV[] fog)
        {
            GCHandle h0 = GCHandle.Alloc(fog, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordhvNV(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordhvNV(System.IntPtr fog)
        {
            Delegates.glFogCoordhvNV(fog);
        }
        public static void glFogCoordPointer(GLenum type, GLsizei stride, System.IntPtr pointer)
        {
            Delegates.glFogCoordPointer(type, stride, pointer);
        }
        public static void glFogCoordPointer(GLenum type, GLsizei stride, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordPointer(type, stride, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordPointerEXT(GLenum type, GLsizei stride, object pointer)
        {
            GCHandle h0 = GCHandle.Alloc(pointer, GCHandleType.Pinned);
            try
            {
                Delegates.glFogCoordPointerEXT(type, stride, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogCoordPointerEXT(GLenum type, GLsizei stride, System.IntPtr pointer)
        {
            Delegates.glFogCoordPointerEXT(type, stride, pointer);
        }
        public static void glFogCoordPointerListIBM(GLenum type, GLint stride, System.IntPtr pointer, GLint ptrstride)
        {
            Delegates.glFogCoordPointerListIBM(type, stride, pointer, ptrstride);
        }
        public static void glFogf(GLenum pname, GLfloat param)
        {
            Delegates.glFogf(pname, param);
        }
        public static void glFogFuncSGIS(GLsizei n, ref GLfloat points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glFogFuncSGIS(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogFuncSGIS(GLsizei n, GLfloat[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glFogFuncSGIS(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogFuncSGIS(GLsizei n, System.IntPtr points)
        {
            Delegates.glFogFuncSGIS(n, points);
        }
        public static void glFogfv(GLenum pname, System.IntPtr @params)
        {
            Delegates.glFogfv(pname, @params);
        }
        public static void glFogfv(GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFogfv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogfv(GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFogfv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogi(GLenum pname, GLint param)
        {
            Delegates.glFogi(pname, param);
        }
        public static void glFogiv(GLenum pname, System.IntPtr @params)
        {
            Delegates.glFogiv(pname, @params);
        }
        public static void glFogiv(GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFogiv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFogiv(GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFogiv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentColorMaterialSGIX(GLenum face, GLenum mode)
        {
            Delegates.glFragmentColorMaterialSGIX(face, mode);
        }
        public static void glFragmentLightfSGIX(GLenum light, GLenum pname, GLfloat param)
        {
            Delegates.glFragmentLightfSGIX(light, pname, param);
        }
        public static void glFragmentLightfvSGIX(GLenum light, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightfvSGIX(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightfvSGIX(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightfvSGIX(GLenum light, GLenum pname, System.IntPtr @params)
        {
            Delegates.glFragmentLightfvSGIX(light, pname, @params);
        }
        public static void glFragmentLightiSGIX(GLenum light, GLenum pname, GLint param)
        {
            Delegates.glFragmentLightiSGIX(light, pname, param);
        }
        public static void glFragmentLightivSGIX(GLenum light, GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightivSGIX(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightivSGIX(GLenum light, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightivSGIX(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightivSGIX(GLenum light, GLenum pname, System.IntPtr @params)
        {
            Delegates.glFragmentLightivSGIX(light, pname, @params);
        }
        public static void glFragmentLightModelfSGIX(GLenum pname, GLfloat param)
        {
            Delegates.glFragmentLightModelfSGIX(pname, param);
        }
        public static void glFragmentLightModelfvSGIX(GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightModelfvSGIX(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightModelfvSGIX(GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightModelfvSGIX(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightModelfvSGIX(GLenum pname, System.IntPtr @params)
        {
            Delegates.glFragmentLightModelfvSGIX(pname, @params);
        }
        public static void glFragmentLightModeliSGIX(GLenum pname, GLint param)
        {
            Delegates.glFragmentLightModeliSGIX(pname, param);
        }
        public static void glFragmentLightModelivSGIX(GLenum pname, System.IntPtr @params)
        {
            Delegates.glFragmentLightModelivSGIX(pname, @params);
        }
        public static void glFragmentLightModelivSGIX(GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightModelivSGIX(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentLightModelivSGIX(GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentLightModelivSGIX(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentMaterialfSGIX(GLenum face, GLenum pname, GLfloat param)
        {
            Delegates.glFragmentMaterialfSGIX(face, pname, param);
        }
        public static void glFragmentMaterialfvSGIX(GLenum face, GLenum pname, System.IntPtr @params)
        {
            Delegates.glFragmentMaterialfvSGIX(face, pname, @params);
        }
        public static void glFragmentMaterialfvSGIX(GLenum face, GLenum pname, ref GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentMaterialfvSGIX(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentMaterialfvSGIX(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentMaterialiSGIX(GLenum face, GLenum pname, GLint param)
        {
            Delegates.glFragmentMaterialiSGIX(face, pname, param);
        }
        public static void glFragmentMaterialivSGIX(GLenum face, GLenum pname, ref GLint @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentMaterialivSGIX(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glFragmentMaterialivSGIX(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glFragmentMaterialivSGIX(GLenum face, GLenum pname, System.IntPtr @params)
        {
            Delegates.glFragmentMaterialivSGIX(face, pname, @params);
        }
        public static void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
        {
            Delegates.glFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer);
        }
        public static void glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
        {
            Delegates.glFramebufferTexture1DEXT(target, attachment, textarget, texture, level);
        }
        public static void glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
        {
            Delegates.glFramebufferTexture2DEXT(target, attachment, textarget, texture, level);
        }
        public static void glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
        {
            Delegates.glFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset);
        }
        public static void glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level)
        {
            Delegates.glFramebufferTextureEXT(target, attachment, texture, level);
        }
        public static void glFramebufferTextureFaceEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
        {
            Delegates.glFramebufferTextureFaceEXT(target, attachment, texture, level, face);
        }
        public static void glFramebufferTextureLayerEXT(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
        {
            Delegates.glFramebufferTextureLayerEXT(target, attachment, texture, level, layer);
        }
        public static void glFrameZoomSGIX(GLint factor)
        {
            Delegates.glFrameZoomSGIX(factor);
        }
        public static void glFreeObjectBufferATI(GLuint buffer)
        {
            Delegates.glFreeObjectBufferATI(buffer);
        }
        public static void glFrontFace(GLenum mode)
        {
            Delegates.glFrontFace(mode);
        }
        public static void glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
        {
            Delegates.glFrustum(left, right, bottom, top, zNear, zFar);
        }
        public static GLuint glGenAsyncMarkersSGIX(GLsizei range)
        {
            return Delegates.glGenAsyncMarkersSGIX(range);
        }
        public static void glGenBuffers(GLsizei n, out GLuint buffers)
        {
            buffers = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenBuffers(n, h0.AddrOfPinnedObject());
                buffers = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenBuffers(GLsizei n, [In, Out()] System.IntPtr buffers)
        {
            Delegates.glGenBuffers(n, buffers);
        }
        public static void glGenBuffers(GLsizei n, GLuint[] buffers)
        {
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenBuffers(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenBuffersARB(GLsizei n, out GLuint buffers)
        {
            buffers = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenBuffersARB(n, h0.AddrOfPinnedObject());
                buffers = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenBuffersARB(GLsizei n, GLuint[] buffers)
        {
            GCHandle h0 = GCHandle.Alloc(buffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenBuffersARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenBuffersARB(GLsizei n, [In, Out()] System.IntPtr buffers)
        {
            Delegates.glGenBuffersARB(n, buffers);
        }
        public static void glGenerateMipmapEXT(GLenum target)
        {
            Delegates.glGenerateMipmapEXT(target);
        }
        public static void glGenFencesAPPLE(GLsizei n, [In, Out()] System.IntPtr fences)
        {
            Delegates.glGenFencesAPPLE(n, fences);
        }
        public static void glGenFencesAPPLE(GLsizei n, GLuint[] fences)
        {
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glGenFencesAPPLE(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenFencesAPPLE(GLsizei n, out GLuint fences)
        {
            fences = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glGenFencesAPPLE(n, h0.AddrOfPinnedObject());
                fences = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenFencesNV(GLsizei n, GLuint[] fences)
        {
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glGenFencesNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenFencesNV(GLsizei n, out GLuint fences)
        {
            fences = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(fences, GCHandleType.Pinned);
            try
            {
                Delegates.glGenFencesNV(n, h0.AddrOfPinnedObject());
                fences = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenFencesNV(GLsizei n, [In, Out()] System.IntPtr fences)
        {
            Delegates.glGenFencesNV(n, fences);
        }
        public static GLuint glGenFragmentShadersATI(GLuint range)
        {
            return Delegates.glGenFragmentShadersATI(range);
        }
        public static void glGenFramebuffersEXT(GLsizei n, [In, Out()] System.IntPtr framebuffers)
        {
            Delegates.glGenFramebuffersEXT(n, framebuffers);
        }
        public static void glGenFramebuffersEXT(GLsizei n, out GLuint framebuffers)
        {
            framebuffers = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(framebuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenFramebuffersEXT(n, h0.AddrOfPinnedObject());
                framebuffers = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenFramebuffersEXT(GLsizei n, GLuint[] framebuffers)
        {
            GCHandle h0 = GCHandle.Alloc(framebuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenFramebuffersEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLuint glGenLists(GLsizei range)
        {
            return Delegates.glGenLists(range);
        }
        public static void glGenOcclusionQueriesNV(GLsizei n, GLuint[] ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glGenOcclusionQueriesNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenOcclusionQueriesNV(GLsizei n, [In, Out()] System.IntPtr ids)
        {
            Delegates.glGenOcclusionQueriesNV(n, ids);
        }
        public static void glGenOcclusionQueriesNV(GLsizei n, out GLuint ids)
        {
            ids = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glGenOcclusionQueriesNV(n, h0.AddrOfPinnedObject());
                ids = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenProgramsARB(GLsizei n, out GLuint programs)
        {
            programs = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glGenProgramsARB(n, h0.AddrOfPinnedObject());
                programs = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenProgramsARB(GLsizei n, GLuint[] programs)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glGenProgramsARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenProgramsARB(GLsizei n, [In, Out()] System.IntPtr programs)
        {
            Delegates.glGenProgramsARB(n, programs);
        }
        public static void glGenProgramsNV(GLsizei n, out GLuint programs)
        {
            programs = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glGenProgramsNV(n, h0.AddrOfPinnedObject());
                programs = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenProgramsNV(GLsizei n, GLuint[] programs)
        {
            GCHandle h0 = GCHandle.Alloc(programs, GCHandleType.Pinned);
            try
            {
                Delegates.glGenProgramsNV(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenProgramsNV(GLsizei n, [In, Out()] System.IntPtr programs)
        {
            Delegates.glGenProgramsNV(n, programs);
        }
        public static void glGenQueries(GLsizei n, [In, Out()] System.IntPtr ids)
        {
            Delegates.glGenQueries(n, ids);
        }
        public static void glGenQueries(GLsizei n, out GLuint ids)
        {
            ids = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glGenQueries(n, h0.AddrOfPinnedObject());
                ids = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenQueries(GLsizei n, GLuint[] ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glGenQueries(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenQueriesARB(GLsizei n, [In, Out()] System.IntPtr ids)
        {
            Delegates.glGenQueriesARB(n, ids);
        }
        public static void glGenQueriesARB(GLsizei n, GLuint[] ids)
        {
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glGenQueriesARB(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenQueriesARB(GLsizei n, out GLuint ids)
        {
            ids = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(ids, GCHandleType.Pinned);
            try
            {
                Delegates.glGenQueriesARB(n, h0.AddrOfPinnedObject());
                ids = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenRenderbuffersEXT(GLsizei n, [In, Out()] System.IntPtr renderbuffers)
        {
            Delegates.glGenRenderbuffersEXT(n, renderbuffers);
        }
        public static void glGenRenderbuffersEXT(GLsizei n, GLuint[] renderbuffers)
        {
            GCHandle h0 = GCHandle.Alloc(renderbuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenRenderbuffersEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenRenderbuffersEXT(GLsizei n, out GLuint renderbuffers)
        {
            renderbuffers = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(renderbuffers, GCHandleType.Pinned);
            try
            {
                Delegates.glGenRenderbuffersEXT(n, h0.AddrOfPinnedObject());
                renderbuffers = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLuint glGenSymbolsEXT(GLenum datatype, GLenum storagetype, GLenum range, GLuint components)
        {
            return Delegates.glGenSymbolsEXT(datatype, storagetype, range, components);
        }
        public static void glGenTextures(GLsizei n, GLuint[] textures)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glGenTextures(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenTextures(GLsizei n, [In, Out()] System.IntPtr textures)
        {
            Delegates.glGenTextures(n, textures);
        }
        public static void glGenTextures(GLsizei n, out GLuint textures)
        {
            textures = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glGenTextures(n, h0.AddrOfPinnedObject());
                textures = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenTexturesEXT(GLsizei n, [In, Out()] System.IntPtr textures)
        {
            Delegates.glGenTexturesEXT(n, textures);
        }
        public static void glGenTexturesEXT(GLsizei n, out GLuint textures)
        {
            textures = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glGenTexturesEXT(n, h0.AddrOfPinnedObject());
                textures = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenTexturesEXT(GLsizei n, GLuint[] textures)
        {
            GCHandle h0 = GCHandle.Alloc(textures, GCHandleType.Pinned);
            try
            {
                Delegates.glGenTexturesEXT(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenVertexArraysAPPLE(GLsizei n, [In, Out()] System.IntPtr arrays)
        {
            Delegates.glGenVertexArraysAPPLE(n, arrays);
        }
        public static void glGenVertexArraysAPPLE(GLsizei n, GLuint[] arrays)
        {
            GCHandle h0 = GCHandle.Alloc(arrays, GCHandleType.Pinned);
            try
            {
                Delegates.glGenVertexArraysAPPLE(n, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGenVertexArraysAPPLE(GLsizei n, out GLuint arrays)
        {
            arrays = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(arrays, GCHandleType.Pinned);
            try
            {
                Delegates.glGenVertexArraysAPPLE(n, h0.AddrOfPinnedObject());
                arrays = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLuint glGenVertexShadersEXT(GLuint range)
        {
            return Delegates.glGenVertexShadersEXT(range);
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            Delegates.glGetActiveAttrib(program, index, bufSize, length, size, type, name);
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttrib(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            Delegates.glGetActiveAttribARB(programObj, index, maxLength, length, size, type, name);
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveAttribARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveAttribARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            Delegates.glGetActiveUniform(program, index, bufSize, length, size, type, name);
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniform(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            Delegates.glGetActiveUniformARB(programObj, index, maxLength, length, size, type, name);
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, GLint[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, GLint[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, GLint[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, out GLint size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, [In, Out()] System.IntPtr length, out GLint size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, out GLsizei length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveUniformARB(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei[] length, out GLint size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLint);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveUniformARB(programObj, index, maxLength, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLint)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLsizei size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLsizei)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLsizei size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLsizei)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLsizei size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLsizei)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLsizei[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, out GLsizei size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (GLsizei)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            Delegates.glGetActiveVaryingNV(program, index, bufSize, length, size, type, name);
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLsizei[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLsizei[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, [In, Out()] System.IntPtr length, GLsizei[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (System.IntPtr)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLsizei[] size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, [In, Out()] System.IntPtr size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLsizei size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLsizei)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, out GLsizei size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                size = (GLsizei)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLsizei[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, out GLsizei length, GLsizei[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                length = (GLsizei)h0.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLsizei size, [In, Out()] System.IntPtr type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLsizei)h1.Target;
                type = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLsizei size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLsizei)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLsizei[] size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, out GLsizei size, out GLenum type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            size = default(GLsizei);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            type = default(GLenum);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
                size = (GLsizei)h1.Target;
                type = (GLenum)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei[] length, GLsizei[] size, GLenum[] type, [In, Out()] System.Text.StringBuilder name)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(size, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(type, GCHandleType.Pinned);
            try
            {
                Delegates.glGetActiveVaryingNV(program, index, bufSize, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject(), name);
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetArrayObjectfvATI(GLenum array, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetArrayObjectfvATI(array, pname, @params);
        }
        public static void glGetArrayObjectfvATI(GLenum array, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetArrayObjectfvATI(array, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetArrayObjectfvATI(GLenum array, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetArrayObjectfvATI(array, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetArrayObjectivATI(GLenum array, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetArrayObjectivATI(array, pname, @params);
        }
        public static void glGetArrayObjectivATI(GLenum array, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetArrayObjectivATI(array, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetArrayObjectivATI(GLenum array, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetArrayObjectivATI(array, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei[] count, GLhandleARB[] obj)
        {
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei[] count, out GLhandleARB obj)
        {
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(GLhandleARB);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                obj = (GLhandleARB)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, GLsizei[] count, [In, Out()] System.IntPtr obj)
        {
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                obj = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, [In, Out()] System.IntPtr count, GLhandleARB[] obj)
        {
            count = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, [In, Out()] System.IntPtr count, out GLhandleARB obj)
        {
            count = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(GLhandleARB);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (System.IntPtr)h0.Target;
                obj = (GLhandleARB)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, out GLsizei count, [In, Out()] System.IntPtr obj)
        {
            count = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (GLsizei)h0.Target;
                obj = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, [In, Out()] System.IntPtr count, [In, Out()] System.IntPtr obj)
        {
            Delegates.glGetAttachedObjectsARB(containerObj, maxCount, count, obj);
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, out GLsizei count, out GLhandleARB obj)
        {
            count = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(GLhandleARB);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (GLsizei)h0.Target;
                obj = (GLhandleARB)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedObjectsARB(GLhandleARB containerObj, GLsizei maxCount, out GLsizei count, GLhandleARB[] obj)
        {
            count = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedObjectsARB(containerObj, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei[] count, out GLuint obj)
        {
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(GLuint);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                obj = (GLuint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei[] count, GLuint[] obj)
        {
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, out GLsizei count, [In, Out()] System.IntPtr obj)
        {
            count = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (GLsizei)h0.Target;
                obj = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, out GLsizei count, GLuint[] obj)
        {
            count = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, out GLsizei count, out GLuint obj)
        {
            count = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(GLuint);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (GLsizei)h0.Target;
                obj = (GLuint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei[] count, [In, Out()] System.IntPtr obj)
        {
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                obj = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, [In, Out()] System.IntPtr count, [In, Out()] System.IntPtr obj)
        {
            Delegates.glGetAttachedShaders(program, maxCount, count, obj);
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, [In, Out()] System.IntPtr count, GLuint[] obj)
        {
            count = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetAttachedShaders(GLuint program, GLsizei maxCount, [In, Out()] System.IntPtr count, out GLuint obj)
        {
            count = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(count, GCHandleType.Pinned);
            obj = default(GLuint);
            GCHandle h1 = GCHandle.Alloc(obj, GCHandleType.Pinned);
            try
            {
                Delegates.glGetAttachedShaders(program, maxCount, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                count = (System.IntPtr)h0.Target;
                obj = (GLuint)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static GLint glGetAttribLocation(GLuint program, string name)
        {
            return Delegates.glGetAttribLocation(program, name);
        }
        public static GLint glGetAttribLocationARB(GLhandleARB programObj, string name)
        {
            return Delegates.glGetAttribLocationARB(programObj, name);
        }
        public static void glGetBooleanIndexedvEXT(GLenum target, GLuint index, GLboolean[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBooleanIndexedvEXT(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBooleanIndexedvEXT(GLenum target, GLuint index, out GLboolean data)
        {
            data = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBooleanIndexedvEXT(target, index, h0.AddrOfPinnedObject());
                data = (GLboolean)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBooleanIndexedvEXT(GLenum target, GLuint index, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetBooleanIndexedvEXT(target, index, data);
        }
        public static void glGetBooleanv(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetBooleanv(pname, @params);
        }
        public static void glGetBooleanv(GLenum pname, GLboolean[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBooleanv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBooleanv(GLenum pname, out GLboolean @params)
        {
            @params = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBooleanv(pname, h0.AddrOfPinnedObject());
                @params = (GLboolean)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBufferParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBufferParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBufferParameteriv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBufferParameteriv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBufferParameteriv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetBufferParameteriv(target, pname, @params);
        }
        public static void glGetBufferParameterivARB(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetBufferParameterivARB(target, pname, @params);
        }
        public static void glGetBufferParameterivARB(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBufferParameterivARB(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBufferParameterivARB(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBufferParameterivARB(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBufferPointerv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetBufferPointerv(target, pname, @params);
        }
        public static void glGetBufferPointervARB(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetBufferPointervARB(target, pname, @params);
        }
        public static void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBufferSubData(target, offset, size, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetBufferSubData(target, offset, size, data);
        }
        public static void glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetBufferSubDataARB(target, offset, size, data);
        }
        public static void glGetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetBufferSubDataARB(target, offset, size, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetClipPlane(GLenum plane, [In, Out()] System.IntPtr equation)
        {
            Delegates.glGetClipPlane(plane, equation);
        }
        public static void glGetClipPlane(GLenum plane, out GLdouble equation)
        {
            equation = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(equation, GCHandleType.Pinned);
            try
            {
                Delegates.glGetClipPlane(plane, h0.AddrOfPinnedObject());
                equation = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetClipPlane(GLenum plane, GLdouble[] equation)
        {
            GCHandle h0 = GCHandle.Alloc(equation, GCHandleType.Pinned);
            try
            {
                Delegates.glGetClipPlane(plane, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTable(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr table)
        {
            Delegates.glGetColorTable(target, format, type, table);
        }
        public static void glGetColorTable(GLenum target, GLenum format, GLenum type, object table)
        {
            GCHandle h0 = GCHandle.Alloc(table, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTable(target, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableEXT(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetColorTableEXT(target, format, type, data);
        }
        public static void glGetColorTableEXT(GLenum target, GLenum format, GLenum type, object data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableEXT(target, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterfv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetColorTableParameterfv(target, pname, @params);
        }
        public static void glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterfv(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterfv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterfvEXT(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterfvEXT(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterfvEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetColorTableParameterfvEXT(target, pname, @params);
        }
        public static void glGetColorTableParameterfvSGI(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetColorTableParameterfvSGI(target, pname, @params);
        }
        public static void glGetColorTableParameterfvSGI(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterfvSGI(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterfvSGI(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterfvSGI(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameteriv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetColorTableParameteriv(target, pname, @params);
        }
        public static void glGetColorTableParameteriv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameteriv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterivEXT(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterivEXT(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterivEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterivEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetColorTableParameterivEXT(target, pname, @params);
        }
        public static void glGetColorTableParameterivSGI(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetColorTableParameterivSGI(target, pname, @params);
        }
        public static void glGetColorTableParameterivSGI(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterivSGI(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableParameterivSGI(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableParameterivSGI(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableSGI(GLenum target, GLenum format, GLenum type, object table)
        {
            GCHandle h0 = GCHandle.Alloc(table, GCHandleType.Pinned);
            try
            {
                Delegates.glGetColorTableSGI(target, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetColorTableSGI(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr table)
        {
            Delegates.glGetColorTableSGI(target, format, type, table);
        }
        public static void glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerInputParameterfvNV(stage, portion, variable, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerInputParameterfvNV(stage, portion, variable, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerInputParameterfvNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetCombinerInputParameterfvNV(stage, portion, variable, pname, @params);
        }
        public static void glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerInputParameterivNV(stage, portion, variable, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerInputParameterivNV(stage, portion, variable, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerInputParameterivNV(GLenum stage, GLenum portion, GLenum variable, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetCombinerInputParameterivNV(stage, portion, variable, pname, @params);
        }
        public static void glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerOutputParameterfvNV(stage, portion, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerOutputParameterfvNV(stage, portion, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerOutputParameterfvNV(GLenum stage, GLenum portion, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetCombinerOutputParameterfvNV(stage, portion, pname, @params);
        }
        public static void glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerOutputParameterivNV(stage, portion, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetCombinerOutputParameterivNV(stage, portion, pname, @params);
        }
        public static void glGetCombinerOutputParameterivNV(GLenum stage, GLenum portion, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerOutputParameterivNV(stage, portion, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerStageParameterfvNV(stage, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCombinerStageParameterfvNV(stage, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCombinerStageParameterfvNV(GLenum stage, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetCombinerStageParameterfvNV(stage, pname, @params);
        }
        public static void glGetCompressedTexImage(GLenum target, GLint level, object img)
        {
            GCHandle h0 = GCHandle.Alloc(img, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCompressedTexImage(target, level, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetCompressedTexImage(GLenum target, GLint level, [In, Out()] System.IntPtr img)
        {
            Delegates.glGetCompressedTexImage(target, level, img);
        }
        public static void glGetCompressedTexImageARB(GLenum target, GLint level, [In, Out()] System.IntPtr img)
        {
            Delegates.glGetCompressedTexImageARB(target, level, img);
        }
        public static void glGetCompressedTexImageARB(GLenum target, GLint level, object img)
        {
            GCHandle h0 = GCHandle.Alloc(img, GCHandleType.Pinned);
            try
            {
                Delegates.glGetCompressedTexImageARB(target, level, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr image)
        {
            Delegates.glGetConvolutionFilter(target, format, type, image);
        }
        public static void glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, object image)
        {
            GCHandle h0 = GCHandle.Alloc(image, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionFilter(target, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, object image)
        {
            GCHandle h0 = GCHandle.Alloc(image, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionFilterEXT(target, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionFilterEXT(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr image)
        {
            Delegates.glGetConvolutionFilterEXT(target, format, type, image);
        }
        public static void glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameterfv(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameterfv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameterfv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetConvolutionParameterfv(target, pname, @params);
        }
        public static void glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetConvolutionParameterfvEXT(target, pname, @params);
        }
        public static void glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameterfvEXT(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameteriv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameteriv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameteriv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetConvolutionParameteriv(target, pname, @params);
        }
        public static void glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameterivEXT(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetConvolutionParameterivEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetConvolutionParameterivEXT(target, pname, @params);
        }
        public static void glGetConvolutionParameterivEXT(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetConvolutionParameterivEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetDetailTexFuncSGIS(GLenum target, GLfloat[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetDetailTexFuncSGIS(target, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetDetailTexFuncSGIS(GLenum target, out GLfloat points)
        {
            points = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetDetailTexFuncSGIS(target, h0.AddrOfPinnedObject());
                points = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetDetailTexFuncSGIS(GLenum target, [In, Out()] System.IntPtr points)
        {
            Delegates.glGetDetailTexFuncSGIS(target, points);
        }
        public static void glGetDoublev(GLenum pname, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetDoublev(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetDoublev(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetDoublev(pname, @params);
        }
        public static void glGetDoublev(GLenum pname, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetDoublev(pname, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLenum glGetError()
        {
            return Delegates.glGetError();
        }
        public static void glGetFenceivNV(GLuint fence, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFenceivNV(fence, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFenceivNV(GLuint fence, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFenceivNV(fence, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFenceivNV(GLuint fence, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFenceivNV(fence, pname, @params);
        }
        public static void glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFinalCombinerInputParameterfvNV(variable, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFinalCombinerInputParameterfvNV(variable, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFinalCombinerInputParameterfvNV(GLenum variable, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFinalCombinerInputParameterfvNV(variable, pname, @params);
        }
        public static void glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFinalCombinerInputParameterivNV(variable, pname, @params);
        }
        public static void glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFinalCombinerInputParameterivNV(variable, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFinalCombinerInputParameterivNV(GLenum variable, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFinalCombinerInputParameterivNV(variable, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFloatv(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFloatv(pname, @params);
        }
        public static void glGetFloatv(GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFloatv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFloatv(GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFloatv(pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFogFuncSGIS(GLfloat[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFogFuncSGIS(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFogFuncSGIS(out GLfloat points)
        {
            points = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFogFuncSGIS(h0.AddrOfPinnedObject());
                points = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFogFuncSGIS([In, Out()] System.IntPtr points)
        {
            Delegates.glGetFogFuncSGIS(points);
        }
        public static GLint glGetFragDataLocationEXT(GLuint program, string name)
        {
            return Delegates.glGetFragDataLocationEXT(program, name);
        }
        public static void glGetFragmentLightfvSGIX(GLenum light, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentLightfvSGIX(light, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentLightfvSGIX(GLenum light, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFragmentLightfvSGIX(light, pname, @params);
        }
        public static void glGetFragmentLightfvSGIX(GLenum light, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentLightfvSGIX(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentLightivSGIX(GLenum light, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFragmentLightivSGIX(light, pname, @params);
        }
        public static void glGetFragmentLightivSGIX(GLenum light, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentLightivSGIX(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentLightivSGIX(GLenum light, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentLightivSGIX(light, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentMaterialfvSGIX(face, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentMaterialfvSGIX(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentMaterialfvSGIX(GLenum face, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFragmentMaterialfvSGIX(face, pname, @params);
        }
        public static void glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentMaterialivSGIX(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFragmentMaterialivSGIX(face, pname, @params);
        }
        public static void glGetFragmentMaterialivSGIX(GLenum face, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFragmentMaterialivSGIX(face, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, @params);
        }
        public static void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static GLhandleARB glGetHandleARB(GLenum pname)
        {
            return Delegates.glGetHandleARB(pname);
        }
        public static void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, object values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogram(target, reset, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetHistogram(target, reset, format, type, values);
        }
        public static void glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetHistogramEXT(target, reset, format, type, values);
        }
        public static void glGetHistogramEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, object values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramEXT(target, reset, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterfv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetHistogramParameterfv(target, pname, @params);
        }
        public static void glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterfv(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameterfv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterfvEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetHistogramParameterfvEXT(target, pname, @params);
        }
        public static void glGetHistogramParameterfvEXT(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterfvEXT(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameteriv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameteriv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameteriv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetHistogramParameteriv(target, pname, @params);
        }
        public static void glGetHistogramParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterivEXT(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameterivEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterivEXT(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetHistogramParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetHistogramParameterivEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetHistogramParameterivEXT(target, pname, @params);
        }
        public static void glGetImageTransformParameterfvHP(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetImageTransformParameterfvHP(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetImageTransformParameterfvHP(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetImageTransformParameterfvHP(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetImageTransformParameterfvHP(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetImageTransformParameterfvHP(target, pname, @params);
        }
        public static void glGetImageTransformParameterivHP(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetImageTransformParameterivHP(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetImageTransformParameterivHP(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetImageTransformParameterivHP(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetImageTransformParameterivHP(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetImageTransformParameterivHP(target, pname, @params);
        }
        public static void glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, GLsizei[] length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInfoLogARB(obj, maxLength, h0.AddrOfPinnedObject(), infoLog);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, out GLsizei length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInfoLogARB(obj, maxLength, h0.AddrOfPinnedObject(), infoLog);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInfoLogARB(GLhandleARB obj, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            Delegates.glGetInfoLogARB(obj, maxLength, length, infoLog);
        }
        public static GLint glGetInstrumentsSGIX()
        {
            return Delegates.glGetInstrumentsSGIX();
        }
        public static void glGetIntegerIndexedvEXT(GLenum target, GLuint index, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetIntegerIndexedvEXT(target, index, data);
        }
        public static void glGetIntegerIndexedvEXT(GLenum target, GLuint index, GLint[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetIntegerIndexedvEXT(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetIntegerIndexedvEXT(GLenum target, GLuint index, out GLint data)
        {
            data = default(GLint);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetIntegerIndexedvEXT(target, index, h0.AddrOfPinnedObject());
                data = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetIntegerv(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetIntegerv(pname, @params);
        }
        public static void glGetIntegerv(GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetIntegerv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetIntegerv(GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetIntegerv(pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInvariantBooleanvEXT(GLuint id, GLenum value, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetInvariantBooleanvEXT(id, value, data);
        }
        public static void glGetInvariantBooleanvEXT(GLuint id, GLenum value, GLboolean[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInvariantBooleanvEXT(id, value, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInvariantBooleanvEXT(GLuint id, GLenum value, out GLboolean data)
        {
            data = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInvariantBooleanvEXT(id, value, h0.AddrOfPinnedObject());
                data = (GLboolean)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInvariantFloatvEXT(GLuint id, GLenum value, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetInvariantFloatvEXT(id, value, data);
        }
        public static void glGetInvariantFloatvEXT(GLuint id, GLenum value, GLfloat[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInvariantFloatvEXT(id, value, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInvariantFloatvEXT(GLuint id, GLenum value, out GLfloat data)
        {
            data = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInvariantFloatvEXT(id, value, h0.AddrOfPinnedObject());
                data = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInvariantIntegervEXT(GLuint id, GLenum value, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetInvariantIntegervEXT(id, value, data);
        }
        public static void glGetInvariantIntegervEXT(GLuint id, GLenum value, GLint[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInvariantIntegervEXT(id, value, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetInvariantIntegervEXT(GLuint id, GLenum value, out GLint data)
        {
            data = default(GLint);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetInvariantIntegervEXT(id, value, h0.AddrOfPinnedObject());
                data = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLightfv(GLenum light, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLightfv(light, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLightfv(GLenum light, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLightfv(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLightfv(GLenum light, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetLightfv(light, pname, @params);
        }
        public static void glGetLightiv(GLenum light, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLightiv(light, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLightiv(GLenum light, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLightiv(light, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLightiv(GLenum light, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetLightiv(light, pname, @params);
        }
        public static void glGetListParameterfvSGIX(GLuint list, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetListParameterfvSGIX(list, pname, @params);
        }
        public static void glGetListParameterfvSGIX(GLuint list, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetListParameterfvSGIX(list, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetListParameterfvSGIX(GLuint list, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetListParameterfvSGIX(list, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetListParameterivSGIX(GLuint list, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetListParameterivSGIX(list, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetListParameterivSGIX(GLuint list, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetListParameterivSGIX(list, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetListParameterivSGIX(GLuint list, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetListParameterivSGIX(list, pname, @params);
        }
        public static void glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, out GLboolean data)
        {
            data = default(GLboolean);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLocalConstantBooleanvEXT(id, value, h0.AddrOfPinnedObject());
                data = (GLboolean)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetLocalConstantBooleanvEXT(id, value, data);
        }
        public static void glGetLocalConstantBooleanvEXT(GLuint id, GLenum value, GLboolean[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLocalConstantBooleanvEXT(id, value, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLocalConstantFloatvEXT(GLuint id, GLenum value, out GLfloat data)
        {
            data = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLocalConstantFloatvEXT(id, value, h0.AddrOfPinnedObject());
                data = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLocalConstantFloatvEXT(GLuint id, GLenum value, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetLocalConstantFloatvEXT(id, value, data);
        }
        public static void glGetLocalConstantFloatvEXT(GLuint id, GLenum value, GLfloat[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLocalConstantFloatvEXT(id, value, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLocalConstantIntegervEXT(GLuint id, GLenum value, [In, Out()] System.IntPtr data)
        {
            Delegates.glGetLocalConstantIntegervEXT(id, value, data);
        }
        public static void glGetLocalConstantIntegervEXT(GLuint id, GLenum value, GLint[] data)
        {
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLocalConstantIntegervEXT(id, value, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetLocalConstantIntegervEXT(GLuint id, GLenum value, out GLint data)
        {
            data = default(GLint);
            GCHandle h0 = GCHandle.Alloc(data, GCHandleType.Pinned);
            try
            {
                Delegates.glGetLocalConstantIntegervEXT(id, value, h0.AddrOfPinnedObject());
                data = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMapAttribParameterfvNV(target, index, pname, @params);
        }
        public static void glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapAttribParameterfvNV(target, index, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapAttribParameterfvNV(GLenum target, GLuint index, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapAttribParameterfvNV(target, index, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapAttribParameterivNV(target, index, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMapAttribParameterivNV(target, index, pname, @params);
        }
        public static void glGetMapAttribParameterivNV(GLenum target, GLuint index, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapAttribParameterivNV(target, index, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, [In, Out()] System.IntPtr points)
        {
            Delegates.glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, points);
        }
        public static void glGetMapControlPointsNV(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, object points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapControlPointsNV(target, index, type, ustride, vstride, packed, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapdv(GLenum target, GLenum query, out GLdouble v)
        {
            v = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapdv(target, query, h0.AddrOfPinnedObject());
                v = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapdv(GLenum target, GLenum query, [In, Out()] System.IntPtr v)
        {
            Delegates.glGetMapdv(target, query, v);
        }
        public static void glGetMapdv(GLenum target, GLenum query, GLdouble[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapdv(target, query, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapfv(GLenum target, GLenum query, GLfloat[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapfv(target, query, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapfv(GLenum target, GLenum query, [In, Out()] System.IntPtr v)
        {
            Delegates.glGetMapfv(target, query, v);
        }
        public static void glGetMapfv(GLenum target, GLenum query, out GLfloat v)
        {
            v = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapfv(target, query, h0.AddrOfPinnedObject());
                v = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapiv(GLenum target, GLenum query, GLint[] v)
        {
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapiv(target, query, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapiv(GLenum target, GLenum query, out GLint v)
        {
            v = default(GLint);
            GCHandle h0 = GCHandle.Alloc(v, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapiv(target, query, h0.AddrOfPinnedObject());
                v = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapiv(GLenum target, GLenum query, [In, Out()] System.IntPtr v)
        {
            Delegates.glGetMapiv(target, query, v);
        }
        public static void glGetMapParameterfvNV(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMapParameterfvNV(target, pname, @params);
        }
        public static void glGetMapParameterfvNV(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapParameterfvNV(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapParameterfvNV(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapParameterfvNV(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapParameterivNV(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapParameterivNV(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapParameterivNV(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMapParameterivNV(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMapParameterivNV(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMapParameterivNV(target, pname, @params);
        }
        public static void glGetMaterialfv(GLenum face, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMaterialfv(face, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMaterialfv(GLenum face, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMaterialfv(face, pname, @params);
        }
        public static void glGetMaterialfv(GLenum face, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMaterialfv(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMaterialiv(GLenum face, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMaterialiv(face, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMaterialiv(GLenum face, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMaterialiv(face, pname, @params);
        }
        public static void glGetMaterialiv(GLenum face, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMaterialiv(face, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetMinmax(target, reset, format, type, values);
        }
        public static void glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, object values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmax(target, reset, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetMinmaxEXT(target, reset, format, type, values);
        }
        public static void glGetMinmaxEXT(GLenum target, GLboolean reset, GLenum format, GLenum type, object values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxEXT(target, reset, format, type, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameterfv(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameterfv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameterfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameterfv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMinmaxParameterfv(target, pname, @params);
        }
        public static void glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameterfvEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameterfvEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMinmaxParameterfvEXT(target, pname, @params);
        }
        public static void glGetMinmaxParameteriv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameteriv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameteriv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameteriv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMinmaxParameteriv(target, pname, @params);
        }
        public static void glGetMinmaxParameterivEXT(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetMinmaxParameterivEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetMinmaxParameterivEXT(target, pname, @params);
        }
        public static void glGetMinmaxParameterivEXT(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetMinmaxParameterivEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectBufferfvATI(GLuint buffer, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectBufferfvATI(buffer, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectBufferfvATI(GLuint buffer, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetObjectBufferfvATI(buffer, pname, @params);
        }
        public static void glGetObjectBufferfvATI(GLuint buffer, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectBufferfvATI(buffer, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectBufferivATI(GLuint buffer, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectBufferivATI(buffer, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectBufferivATI(GLuint buffer, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectBufferivATI(buffer, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectBufferivATI(GLuint buffer, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetObjectBufferivATI(buffer, pname, @params);
        }
        public static void glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectParameterfvARB(obj, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetObjectParameterfvARB(obj, pname, @params);
        }
        public static void glGetObjectParameterfvARB(GLhandleARB obj, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectParameterfvARB(obj, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectParameterivARB(obj, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetObjectParameterivARB(obj, pname, @params);
        }
        public static void glGetObjectParameterivARB(GLhandleARB obj, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetObjectParameterivARB(obj, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetOcclusionQueryivNV(GLuint id, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetOcclusionQueryivNV(id, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetOcclusionQueryivNV(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetOcclusionQueryivNV(id, pname, @params);
        }
        public static void glGetOcclusionQueryivNV(GLuint id, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetOcclusionQueryivNV(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetOcclusionQueryuivNV(GLuint id, GLenum pname, GLuint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetOcclusionQueryuivNV(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetOcclusionQueryuivNV(GLuint id, GLenum pname, out GLuint @params)
        {
            @params = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetOcclusionQueryuivNV(id, pname, h0.AddrOfPinnedObject());
                @params = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetOcclusionQueryuivNV(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetOcclusionQueryuivNV(id, pname, @params);
        }
        public static void glGetPixelMapfv(GLenum map, out GLfloat values)
        {
            values = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelMapfv(map, h0.AddrOfPinnedObject());
                values = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelMapfv(GLenum map, GLfloat[] values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelMapfv(map, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelMapfv(GLenum map, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetPixelMapfv(map, values);
        }
        public static void glGetPixelMapuiv(GLenum map, out GLuint values)
        {
            values = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelMapuiv(map, h0.AddrOfPinnedObject());
                values = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelMapuiv(GLenum map, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetPixelMapuiv(map, values);
        }
        public static void glGetPixelMapuiv(GLenum map, GLuint[] values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelMapuiv(map, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelMapusv(GLenum map, [In, Out()] System.IntPtr values)
        {
            Delegates.glGetPixelMapusv(map, values);
        }
        public static void glGetPixelMapusv(GLenum map, GLushort[] values)
        {
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelMapusv(map, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelMapusv(GLenum map, out GLushort values)
        {
            values = default(GLushort);
            GCHandle h0 = GCHandle.Alloc(values, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelMapusv(map, h0.AddrOfPinnedObject());
                values = (GLushort)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelTexGenParameterfvSGIS(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetPixelTexGenParameterfvSGIS(pname, @params);
        }
        public static void glGetPixelTexGenParameterfvSGIS(GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelTexGenParameterfvSGIS(pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelTexGenParameterfvSGIS(GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelTexGenParameterfvSGIS(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelTexGenParameterivSGIS(GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelTexGenParameterivSGIS(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelTexGenParameterivSGIS(GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPixelTexGenParameterivSGIS(pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPixelTexGenParameterivSGIS(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetPixelTexGenParameterivSGIS(pname, @params);
        }
        public static void glGetPointerv(GLenum pname, out object @params)
        {
            @params = default(System.Object);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPointerv(pname, h0.AddrOfPinnedObject());
                @params = (System.Object)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPointerv(GLenum pname, object[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPointerv(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPointerv(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetPointerv(pname, @params);
        }
        public static void glGetPointervEXT(GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetPointervEXT(pname, @params);
        }
        public static void glGetPolygonStipple([In, Out()] System.IntPtr mask)
        {
            Delegates.glGetPolygonStipple(mask);
        }
        public static void glGetPolygonStipple(GLubyte[] mask)
        {
            GCHandle h0 = GCHandle.Alloc(mask, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPolygonStipple(h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetPolygonStipple(out GLubyte mask)
        {
            mask = default(GLubyte);
            GCHandle h0 = GCHandle.Alloc(mask, GCHandleType.Pinned);
            try
            {
                Delegates.glGetPolygonStipple(h0.AddrOfPinnedObject());
                mask = (GLubyte)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterdvARB(GLenum target, GLuint index, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterdvARB(target, index, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterdvARB(GLenum target, GLuint index, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterdvARB(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterdvARB(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramEnvParameterdvARB(target, index, @params);
        }
        public static void glGetProgramEnvParameterfvARB(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramEnvParameterfvARB(target, index, @params);
        }
        public static void glGetProgramEnvParameterfvARB(GLenum target, GLuint index, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterfvARB(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterfvARB(GLenum target, GLuint index, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterfvARB(target, index, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterIivNV(GLenum target, GLuint index, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterIivNV(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterIivNV(GLenum target, GLuint index, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterIivNV(target, index, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterIivNV(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramEnvParameterIivNV(target, index, @params);
        }
        public static void glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, GLuint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterIuivNV(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramEnvParameterIuivNV(target, index, @params);
        }
        public static void glGetProgramEnvParameterIuivNV(GLenum target, GLuint index, out GLuint @params)
        {
            @params = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramEnvParameterIuivNV(target, index, h0.AddrOfPinnedObject());
                @params = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramInfoLog(GLuint program, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            Delegates.glGetProgramInfoLog(program, bufSize, length, infoLog);
        }
        public static void glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei[] length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramInfoLog(program, bufSize, h0.AddrOfPinnedObject(), infoLog);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramInfoLog(GLuint program, GLsizei bufSize, out GLsizei length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramInfoLog(program, bufSize, h0.AddrOfPinnedObject(), infoLog);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramiv(GLuint program, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramiv(program, pname, @params);
        }
        public static void glGetProgramiv(GLuint program, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramiv(program, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramiv(GLuint program, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramiv(program, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramivARB(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramivARB(target, pname, @params);
        }
        public static void glGetProgramivARB(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramivARB(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramivARB(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramivARB(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramivNV(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramivNV(id, pname, @params);
        }
        public static void glGetProgramivNV(GLuint id, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramivNV(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramivNV(GLuint id, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramivNV(id, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterdvARB(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramLocalParameterdvARB(target, index, @params);
        }
        public static void glGetProgramLocalParameterdvARB(GLenum target, GLuint index, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterdvARB(target, index, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterdvARB(GLenum target, GLuint index, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterdvARB(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterfvARB(GLenum target, GLuint index, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterfvARB(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterfvARB(GLenum target, GLuint index, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterfvARB(target, index, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterfvARB(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramLocalParameterfvARB(target, index, @params);
        }
        public static void glGetProgramLocalParameterIivNV(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramLocalParameterIivNV(target, index, @params);
        }
        public static void glGetProgramLocalParameterIivNV(GLenum target, GLuint index, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterIivNV(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterIivNV(GLenum target, GLuint index, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterIivNV(target, index, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramLocalParameterIuivNV(target, index, @params);
        }
        public static void glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, out GLuint @params)
        {
            @params = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterIuivNV(target, index, h0.AddrOfPinnedObject());
                @params = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramLocalParameterIuivNV(GLenum target, GLuint index, GLuint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramLocalParameterIuivNV(target, index, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, ref GLubyte name, [In, Out()] System.IntPtr @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, GLubyte[] name, out GLdouble @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(GLdouble);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (GLdouble)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, ref GLubyte name, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, ref GLubyte name, out GLdouble @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(GLdouble);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (GLdouble)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, GLubyte[] name, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, System.IntPtr name, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, name, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, System.IntPtr name, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramNamedParameterdvNV(id, len, name, @params);
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, GLubyte[] name, [In, Out()] System.IntPtr @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterdvNV(GLuint id, GLsizei len, System.IntPtr name, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterdvNV(id, len, name, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, GLubyte[] name, [In, Out()] System.IntPtr @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, GLubyte[] name, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, System.IntPtr name, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, name, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, System.IntPtr name, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramNamedParameterfvNV(id, len, name, @params);
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, System.IntPtr name, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, name, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, GLubyte[] name, out GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(GLfloat);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (GLfloat)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, ref GLubyte name, out GLfloat @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(GLfloat);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (GLfloat)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, ref GLubyte name, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramNamedParameterfvNV(GLuint id, GLsizei len, ref GLubyte name, [In, Out()] System.IntPtr @params)
        {
            GCHandle h0 = GCHandle.Alloc(name, GCHandleType.Pinned);
            @params = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramNamedParameterfvNV(id, len, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject());
                @params = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
            }
        }
        public static void glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramParameterdvNV(target, index, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramParameterdvNV(target, index, pname, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramParameterdvNV(GLenum target, GLuint index, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramParameterdvNV(target, index, pname, @params);
        }
        public static void glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramParameterfvNV(target, index, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramParameterfvNV(target, index, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramParameterfvNV(GLenum target, GLuint index, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetProgramParameterfvNV(target, index, pname, @params);
        }
        public static void glGetProgramStringARB(GLenum target, GLenum pname, object @string)
        {
            GCHandle h0 = GCHandle.Alloc(@string, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramStringARB(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramStringARB(GLenum target, GLenum pname, [In, Out()] System.IntPtr @string)
        {
            Delegates.glGetProgramStringARB(target, pname, @string);
        }
        public static void glGetProgramStringNV(GLuint id, GLenum pname, out GLubyte program)
        {
            program = default(GLubyte);
            GCHandle h0 = GCHandle.Alloc(program, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramStringNV(id, pname, h0.AddrOfPinnedObject());
                program = (GLubyte)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramStringNV(GLuint id, GLenum pname, GLubyte[] program)
        {
            GCHandle h0 = GCHandle.Alloc(program, GCHandleType.Pinned);
            try
            {
                Delegates.glGetProgramStringNV(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetProgramStringNV(GLuint id, GLenum pname, [In, Out()] System.IntPtr program)
        {
            Delegates.glGetProgramStringNV(id, pname, program);
        }
        public static void glGetQueryiv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryiv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryiv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryiv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryiv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryiv(target, pname, @params);
        }
        public static void glGetQueryivARB(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryivARB(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryivARB(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryivARB(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryivARB(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryivARB(target, pname, @params);
        }
        public static void glGetQueryObjecti64vEXT(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryObjecti64vEXT(id, pname, @params);
        }
        public static void glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjecti64vEXT(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjecti64vEXT(GLuint id, GLenum pname, out GLint64EXT @params)
        {
            @params = default(GLint64EXT);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjecti64vEXT(id, pname, h0.AddrOfPinnedObject());
                @params = (GLint64EXT)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectiv(GLuint id, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectiv(id, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectiv(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryObjectiv(id, pname, @params);
        }
        public static void glGetQueryObjectiv(GLuint id, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectiv(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectivARB(GLuint id, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectivARB(id, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectivARB(GLuint id, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectivARB(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectivARB(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryObjectivARB(id, pname, @params);
        }
        public static void glGetQueryObjectui64vEXT(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryObjectui64vEXT(id, pname, @params);
        }
        public static void glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectui64vEXT(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectui64vEXT(GLuint id, GLenum pname, out GLuint64EXT @params)
        {
            @params = default(GLuint64EXT);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectui64vEXT(id, pname, h0.AddrOfPinnedObject());
                @params = (GLuint64EXT)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectuiv(GLuint id, GLenum pname, out GLuint @params)
        {
            @params = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectuiv(id, pname, h0.AddrOfPinnedObject());
                @params = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectuiv(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectuiv(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryObjectuiv(id, pname, @params);
        }
        public static void glGetQueryObjectuivARB(GLuint id, GLenum pname, GLuint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectuivARB(id, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectuivARB(GLuint id, GLenum pname, out GLuint @params)
        {
            @params = default(GLuint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetQueryObjectuivARB(id, pname, h0.AddrOfPinnedObject());
                @params = (GLuint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetQueryObjectuivARB(GLuint id, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetQueryObjectuivARB(id, pname, @params);
        }
        public static void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetRenderbufferParameterivEXT(target, pname, @params);
        }
        public static void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetRenderbufferParameterivEXT(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetRenderbufferParameterivEXT(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, object column, object span)
        {
            row = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                row = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, object row, [In, Out()] System.IntPtr column, object span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            column = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                column = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, [In, Out()] System.IntPtr column, [In, Out()] System.IntPtr span)
        {
            Delegates.glGetSeparableFilter(target, format, type, row, column, span);
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, object row, [In, Out()] System.IntPtr column, [In, Out()] System.IntPtr span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            column = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            span = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                column = (System.IntPtr)h1.Target;
                span = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, [In, Out()] System.IntPtr column, object span)
        {
            row = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            column = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                row = (System.IntPtr)h0.Target;
                column = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, object column, [In, Out()] System.IntPtr span)
        {
            row = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            span = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                row = (System.IntPtr)h0.Target;
                span = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, object row, object column, [In, Out()] System.IntPtr span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            span = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                span = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilter(GLenum target, GLenum format, GLenum type, object row, object column, object span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilter(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, object row, [In, Out()] System.IntPtr column, object span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            column = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                column = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, object row, [In, Out()] System.IntPtr column, [In, Out()] System.IntPtr span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            column = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            span = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                column = (System.IntPtr)h1.Target;
                span = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, object row, object column, object span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, object row, object column, [In, Out()] System.IntPtr span)
        {
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            span = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                span = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, [In, Out()] System.IntPtr column, object span)
        {
            row = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            column = default(System.IntPtr);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                row = (System.IntPtr)h0.Target;
                column = (System.IntPtr)h1.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, [In, Out()] System.IntPtr column, [In, Out()] System.IntPtr span)
        {
            Delegates.glGetSeparableFilterEXT(target, format, type, row, column, span);
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, object column, object span)
        {
            row = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                row = (System.IntPtr)h0.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetSeparableFilterEXT(GLenum target, GLenum format, GLenum type, [In, Out()] System.IntPtr row, object column, [In, Out()] System.IntPtr span)
        {
            row = default(System.IntPtr);
            GCHandle h0 = GCHandle.Alloc(row, GCHandleType.Pinned);
            GCHandle h1 = GCHandle.Alloc(column, GCHandleType.Pinned);
            span = default(System.IntPtr);
            GCHandle h2 = GCHandle.Alloc(span, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSeparableFilterEXT(target, format, type, h0.AddrOfPinnedObject(), h1.AddrOfPinnedObject(), h2.AddrOfPinnedObject());
                row = (System.IntPtr)h0.Target;
                span = (System.IntPtr)h2.Target;
            }
            finally
            {
                h0.Free();
                h1.Free();
                h2.Free();
            }
        }
        public static void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            Delegates.glGetShaderInfoLog(shader, bufSize, length, infoLog);
        }
        public static void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, out GLsizei length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderInfoLog(shader, bufSize, h0.AddrOfPinnedObject(), infoLog);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei[] length, [In, Out()] System.Text.StringBuilder infoLog)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderInfoLog(shader, bufSize, h0.AddrOfPinnedObject(), infoLog);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderiv(GLuint shader, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderiv(shader, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderiv(GLuint shader, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetShaderiv(shader, pname, @params);
        }
        public static void glGetShaderiv(GLuint shader, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderiv(shader, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderSource(GLuint shader, GLsizei bufSize, [In, Out()] System.IntPtr length, [In, Out()] System.Text.StringBuilder source)
        {
            Delegates.glGetShaderSource(shader, bufSize, length, source);
        }
        public static void glGetShaderSource(GLuint shader, GLsizei bufSize, out GLsizei length, [In, Out()] System.Text.StringBuilder source)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderSource(shader, bufSize, h0.AddrOfPinnedObject(), source);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei[] length, [In, Out()] System.Text.StringBuilder source)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderSource(shader, bufSize, h0.AddrOfPinnedObject(), source);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, out GLsizei length, [In, Out()] System.Text.StringBuilder source)
        {
            length = default(GLsizei);
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderSourceARB(obj, maxLength, h0.AddrOfPinnedObject(), source);
                length = (GLsizei)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, GLsizei[] length, [In, Out()] System.Text.StringBuilder source)
        {
            GCHandle h0 = GCHandle.Alloc(length, GCHandleType.Pinned);
            try
            {
                Delegates.glGetShaderSourceARB(obj, maxLength, h0.AddrOfPinnedObject(), source);
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetShaderSourceARB(GLhandleARB obj, GLsizei maxLength, [In, Out()] System.IntPtr length, [In, Out()] System.Text.StringBuilder source)
        {
            Delegates.glGetShaderSourceARB(obj, maxLength, length, source);
        }
        public static void glGetSharpenTexFuncSGIS(GLenum target, out GLfloat points)
        {
            points = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSharpenTexFuncSGIS(target, h0.AddrOfPinnedObject());
                points = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetSharpenTexFuncSGIS(GLenum target, GLfloat[] points)
        {
            GCHandle h0 = GCHandle.Alloc(points, GCHandleType.Pinned);
            try
            {
                Delegates.glGetSharpenTexFuncSGIS(target, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetSharpenTexFuncSGIS(GLenum target, [In, Out()] System.IntPtr points)
        {
            Delegates.glGetSharpenTexFuncSGIS(target, points);
        }
        public static string glGetString(GLenum name)
        {
            return Marshal.PtrToStringAnsi(Delegates.glGetString(name));
        }
        public static void glGetTexBumpParameterfvATI(GLenum pname, GLfloat[] param)
        {
            GCHandle h0 = GCHandle.Alloc(param, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexBumpParameterfvATI(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexBumpParameterfvATI(GLenum pname, [In, Out()] System.IntPtr param)
        {
            Delegates.glGetTexBumpParameterfvATI(pname, param);
        }
        public static void glGetTexBumpParameterfvATI(GLenum pname, out GLfloat param)
        {
            param = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(param, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexBumpParameterfvATI(pname, h0.AddrOfPinnedObject());
                param = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexBumpParameterivATI(GLenum pname, out GLint param)
        {
            param = default(GLint);
            GCHandle h0 = GCHandle.Alloc(param, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexBumpParameterivATI(pname, h0.AddrOfPinnedObject());
                param = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexBumpParameterivATI(GLenum pname, GLint[] param)
        {
            GCHandle h0 = GCHandle.Alloc(param, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexBumpParameterivATI(pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexBumpParameterivATI(GLenum pname, [In, Out()] System.IntPtr param)
        {
            Delegates.glGetTexBumpParameterivATI(pname, param);
        }
        public static void glGetTexEnvfv(GLenum target, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexEnvfv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexEnvfv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexEnvfv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetTexEnvfv(target, pname, @params);
        }
        public static void glGetTexEnviv(GLenum target, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetTexEnviv(target, pname, @params);
        }
        public static void glGetTexEnviv(GLenum target, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexEnviv(target, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexEnviv(GLenum target, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexEnviv(target, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexFilterFuncSGIS(GLenum target, GLenum filter, [In, Out()] System.IntPtr weights)
        {
            Delegates.glGetTexFilterFuncSGIS(target, filter, weights);
        }
        public static void glGetTexFilterFuncSGIS(GLenum target, GLenum filter, GLfloat[] weights)
        {
            GCHandle h0 = GCHandle.Alloc(weights, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexFilterFuncSGIS(target, filter, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexFilterFuncSGIS(GLenum target, GLenum filter, out GLfloat weights)
        {
            weights = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(weights, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexFilterFuncSGIS(target, filter, h0.AddrOfPinnedObject());
                weights = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGendv(GLenum coord, GLenum pname, out GLdouble @params)
        {
            @params = default(GLdouble);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexGendv(coord, pname, h0.AddrOfPinnedObject());
                @params = (GLdouble)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGendv(GLenum coord, GLenum pname, GLdouble[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexGendv(coord, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGendv(GLenum coord, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetTexGendv(coord, pname, @params);
        }
        public static void glGetTexGenfv(GLenum coord, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetTexGenfv(coord, pname, @params);
        }
        public static void glGetTexGenfv(GLenum coord, GLenum pname, out GLfloat @params)
        {
            @params = default(GLfloat);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexGenfv(coord, pname, h0.AddrOfPinnedObject());
                @params = (GLfloat)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexGenfv(coord, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGeniv(GLenum coord, GLenum pname, out GLint @params)
        {
            @params = default(GLint);
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexGeniv(coord, pname, h0.AddrOfPinnedObject());
                @params = (GLint)h0.Target;
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGeniv(GLenum coord, GLenum pname, GLint[] @params)
        {
            GCHandle h0 = GCHandle.Alloc(@params, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexGeniv(coord, pname, h0.AddrOfPinnedObject());
            }
            finally
            {
                h0.Free();
            }
        }
        public static void glGetTexGeniv(GLenum coord, GLenum pname, [In, Out()] System.IntPtr @params)
        {
            Delegates.glGetTexGeniv(coord, pname, @params);
        }
        public static void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, object pixels)
        {
            GCHandle h0 = GCHandle.Alloc(pixels, GCHandleType.Pinned);
            try
            {
                Delegates.glGetTexImage(target, level, format, type, h0.AddrOfPinnedObject());
            }