Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

opengl32 down load (opengl32)
 
.
Summary
Here is the entire OpenGL32.dll and Glu32.dll C# Library interfaces

C# Signature:

    #region The OpenGL constant definitions.
    [Flags()]
    public enum OpenGLVersionIdentifier : uint
    {
        GL_VERSION_1_1 = 1,
    }
    [Flags()]
    public enum AccumOp : uint
    {
        GL_ACCUM = 0x0100,
        GL_LOAD = 0x0101,
        GL_RETURN = 0x0102,
        GL_MULT = 0x0103,
        GL_ADD = 0x0104,
    }
    [Flags()]
    public enum AlphaFunctions : uint
    {
        GL_NEVER = 0x0200,
        GL_LESS = 0x0201,
        GL_EQUAL = 0x0202,
        GL_LEQUAL = 0x0203,
        GL_GREATER = 0x0204,
        GL_NOTEQUAL = 0x0205,
        GL_GEQUAL = 0x0206,
        GL_ALWAYS = 0x0207,
    }
    [Flags()]
    public enum AttribMask : uint
    {
        GL_CURRENT_BIT = 0x00000001,
        GL_POINT_BIT = 0x00000002,
        GL_LINE_BIT = 0x00000004,
        GL_POLYGON_BIT = 0x00000008,
        GL_POLYGON_STIPPLE_BIT = 0x00000010,
        GL_PIXEL_MODE_BIT = 0x00000020,
        GL_LIGHTING_BIT = 0x00000040,
        GL_FOG_BIT = 0x00000080,
        GL_DEPTH_BUFFER_BIT = 0x00000100,
        GL_ACCUM_BUFFER_BIT = 0x00000200,
        GL_STENCIL_BUFFER_BIT = 0x00000400,
        GL_VIEWPORT_BIT = 0x00000800,
        GL_TRANSFORM_BIT = 0x00001000,
        GL_ENABLE_BIT = 0x00002000,
        GL_COLOR_BUFFER_BIT = 0x00004000,
        GL_HINT_BIT = 0x00008000,
        GL_EVAL_BIT = 0x00010000,
        GL_LIST_BIT = 0x00020000,
        GL_TEXTURE_BIT = 0x00040000,
        GL_SCISSOR_BIT = 0x00080000,
        GL_ALL_ATTRIB_BITS = 0x000fffff,
    }
    [Flags()]
    public enum BeginMode : uint
    {
        GL_POINTS = 0x0000,
        GL_LINES = 0x0001,
        GL_LINE_LOOP = 0x0002,
        GL_LINE_STRIP = 0x0003,
        GL_TRIANGLES = 0x0004,
        GL_TRIANGLE_STRIP = 0x0005,
        GL_TRIANGLE_FAN = 0x0006,
        GL_QUADS = 0x0007,
        GL_QUAD_STRIP = 0x0008,
        GL_POLYGON = 0x0009,
    }
    [Flags()]
    public enum BlendingFactorDest : uint
    {
        GL_ZERO = 0,
        GL_ONE = 1,
        GL_SRC_COLOR = 0x0300,
        GL_ONE_MINUS_SRC_COLOR = 0x0301,
        GL_SRC_ALPHA = 0x0302,
        GL_ONE_MINUS_SRC_ALPHA = 0x0303,
        GL_DST_ALPHA = 0x0304,
        GL_ONE_MINUS_DST_ALPHA = 0x0305,
    }
    [Flags()]
    public enum BlendingFactorSrc : uint
    {
        GL_DST_COLOR = 0x0306,
        GL_ONE_MINUS_DST_COLOR = 0x0307,
        GL_SRC_ALPHA_SATURATE = 0x0308,
    }
    [Flags()]
    public enum GL_Boolean : uint
    {
        GL_TRUE = 1,
        GL_FALSE = 0,
    }
    [Flags()]
    public enum ClipPlaneName : uint
    {
        GL_CLIP_PLANE0 = 0x3000,
        GL_CLIP_PLANE1 = 0x3001,
        GL_CLIP_PLANE2 = 0x3002,
        GL_CLIP_PLANE3 = 0x3003,
        GL_CLIP_PLANE4 = 0x3004,
        GL_CLIP_PLANE5 = 0x3005,
    }
    [Flags()]
    public enum DataType : uint
    {
        GL_BYTE = 0x1400,
        GL_UNSIGNED_BYTE = 0x1401,
        GL_SHORT = 0x1402,
        GL_UNSIGNED_SHORT = 0x1403,
        GL_INT = 0x1404,
        GL_UNSIGNED_INT = 0x1405,
        GL_FLOAT = 0x1406,
        GL_2_BYTES = 0x1407,
        GL_3_BYTES = 0x1408,
        GL_4_BYTES = 0x1409,
        GL_DOUBLE = 0x140A,
    }
    [Flags()]
    public enum DrawBufferMode : uint
    {
        GL_NONE = 0,
        GL_FRONT_LEFT = 0x0400,
        GL_FRONT_RIGHT = 0x0401,
        GL_BACK_LEFT = 0x0402,
        GL_BACK_RIGHT = 0x0403,
        GL_FRONT = 0x0404,
        GL_BACK = 0x0405,
        GL_LEFT = 0x0406,
        GL_RIGHT = 0x0407,
        GL_FRONT_AND_BACK = 0x0408,
        GL_AUX0 = 0x0409,
        GL_AUX1 = 0x040A,
        GL_AUX2 = 0x040B,
        GL_AUX3 = 0x040C,
    }
    [Flags()]
    public enum ErrorCode : uint
    {
        GL_NO_ERROR = 0,
        GL_INVALID_ENUM = 0x0500,
        GL_INVALID_VALUE = 0x0501,
        GL_INVALID_OPERATION = 0x0502,
        GL_STACK_OVERFLOW = 0x0503,
        GL_STACK_UNDERFLOW = 0x0504,
        GL_OUT_OF_MEMORY = 0x0505,
    }
    [Flags()]
    public enum FeedBackMode : uint
    {
        GL_2D = 0x0600,
        GL_3D = 0x0601,
        GL_4D_COLOR = 0x0602,
        GL_3D_COLOR_TEXTURE = 0x0603,
        GL_4D_COLOR_TEXTURE = 0x0604,
    }
    [Flags()]
    public enum FeedBackToken : uint
    {
        GL_PASS_THROUGH_TOKEN = 0x0700,
        GL_POINT_TOKEN = 0x0701,
        GL_LINE_TOKEN = 0x0702,
        GL_POLYGON_TOKEN = 0x0703,
        GL_BITMAP_TOKEN = 0x0704,
        GL_DRAW_PIXEL_TOKEN = 0x0705,
        GL_COPY_PIXEL_TOKEN = 0x0706,
        GL_LINE_RESET_TOKEN = 0x0707,
    }
    [Flags()]
    public enum FogMode : uint
    {
        GL_EXP = 0x0800,
        GL_EXP2 = 0x0801,
    }
    [Flags()]
    public enum FrontFaceDirection : uint
    {
        GL_CW = 0x0900,
        GL_CCW = 0x0901,
    }
    [Flags()]
    public enum GetMapTarget : uint
    {
        GL_COEFF = 0x0A00,
        GL_ORDER = 0x0A01,
        GL_DOMAIN = 0x0A02,
    }
    [Flags()]
    public enum GetTarget : uint
    {
        GL_CURRENT_COLOR = 0x0B00,
        GL_CURRENT_INDEX = 0x0B01,
        GL_CURRENT_NORMAL = 0x0B02,
        GL_CURRENT_TEXTURE_COORDS = 0x0B03,
        GL_CURRENT_RASTER_COLOR = 0x0B04,
        GL_CURRENT_RASTER_INDEX = 0x0B05,
        GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06,
        GL_CURRENT_RASTER_POSITION = 0x0B07,
        GL_CURRENT_RASTER_POSITION_VALID = 0x0B08,
        GL_CURRENT_RASTER_DISTANCE = 0x0B09,
        GL_POINT_SMOOTH = 0x0B10,
        GL_POINT_SIZE = 0x0B11,
        GL_POINT_SIZE_RANGE = 0x0B12,
        GL_POINT_SIZE_GRANULARITY = 0x0B13,
        GL_LINE_SMOOTH = 0x0B20,
        GL_LINE_WIDTH = 0x0B21,
        GL_LINE_WIDTH_RANGE = 0x0B22,
        GL_LINE_WIDTH_GRANULARITY = 0x0B23,
        GL_LINE_STIPPLE = 0x0B24,
        GL_LINE_STIPPLE_PATTERN = 0x0B25,
        GL_LINE_STIPPLE_REPEAT = 0x0B26,
        GL_LIST_MODE = 0x0B30,
        GL_MAX_LIST_NESTING = 0x0B31,
        GL_LIST_BASE = 0x0B32,
        GL_LIST_INDEX = 0x0B33,
        GL_POLYGON_MODE = 0x0B40,
        GL_POLYGON_SMOOTH = 0x0B41,
        GL_POLYGON_STIPPLE = 0x0B42,
        GL_EDGE_FLAG = 0x0B43,
        GL_CULL_FACE = 0x0B44,
        GL_CULL_FACE_MODE = 0x0B45,
        GL_FRONT_FACE = 0x0B46,
        GL_LIGHTING = 0x0B50,
        GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51,
        GL_LIGHT_MODEL_TWO_SIDE = 0x0B52,
        GL_LIGHT_MODEL_AMBIENT = 0x0B53,
        GL_SHADE_MODEL = 0x0B54,
        GL_COLOR_MATERIAL_FACE = 0x0B55,
        GL_COLOR_MATERIAL_PARAMETER = 0x0B56,
        GL_COLOR_MATERIAL = 0x0B57,
        GL_FOG = 0x0B60,
        GL_FOG_INDEX = 0x0B61,
        GL_FOG_DENSITY = 0x0B62,
        GL_FOG_START = 0x0B63,
        GL_FOG_END = 0x0B64,
        GL_FOG_MODE = 0x0B65,
        GL_FOG_COLOR = 0x0B66,
        GL_DEPTH_RANGE = 0x0B70,
        GL_DEPTH_TEST = 0x0B71,
        GL_DEPTH_WRITEMASK = 0x0B72,
        GL_DEPTH_CLEAR_VALUE = 0x0B73,
        GL_DEPTH_FUNC = 0x0B74,
        GL_ACCUM_CLEAR_VALUE = 0x0B80,
        GL_STENCIL_TEST = 0x0B90,
        GL_STENCIL_CLEAR_VALUE = 0x0B91,
        GL_STENCIL_FUNC = 0x0B92,
        GL_STENCIL_VALUE_MASK = 0x0B93,
        GL_STENCIL_FAIL = 0x0B94,
        GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95,
        GL_STENCIL_PASS_DEPTH_PASS = 0x0B96,
        GL_STENCIL_REF = 0x0B97,
        GL_STENCIL_WRITEMASK = 0x0B98,
        GL_MATRIX_MODE = 0x0BA0,
        GL_NORMALIZE = 0x0BA1,
        GL_VIEWPORT = 0x0BA2,
        GL_MODELVIEW_STACK_DEPTH = 0x0BA3,
        GL_PROJECTION_STACK_DEPTH = 0x0BA4,
        GL_TEXTURE_STACK_DEPTH = 0x0BA5,
        GL_MODELVIEW_MATRIX = 0x0BA6,
        GL_PROJECTION_MATRIX = 0x0BA7,
        GL_TEXTURE_MATRIX = 0x0BA8,
        GL_ATTRIB_STACK_DEPTH = 0x0BB0,
        GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1,
        GL_ALPHA_TEST = 0x0BC0,
        GL_ALPHA_TEST_FUNC = 0x0BC1,
        GL_ALPHA_TEST_REF = 0x0BC2,
        GL_DITHER = 0x0BD0,
        GL_BLEND_DST = 0x0BE0,
        GL_BLEND_SRC = 0x0BE1,
        GL_BLEND = 0x0BE2,
        GL_LOGIC_OP_MODE = 0x0BF0,
        GL_INDEX_LOGIC_OP = 0x0BF1,
        GL_COLOR_LOGIC_OP = 0x0BF2,
        GL_AUX_BUFFERS = 0x0C00,
        GL_DRAW_BUFFER = 0x0C01,
        GL_READ_BUFFER = 0x0C02,
        GL_SCISSOR_BOX = 0x0C10,
        GL_SCISSOR_TEST = 0x0C11,
        GL_INDEX_CLEAR_VALUE = 0x0C20,
        GL_INDEX_WRITEMASK = 0x0C21,
        GL_COLOR_CLEAR_VALUE = 0x0C22,
        GL_COLOR_WRITEMASK = 0x0C23,
        GL_INDEX_MODE = 0x0C30,
        GL_RGBA_MODE = 0x0C31,
        GL_DOUBLEBUFFER = 0x0C32,
        GL_STEREO = 0x0C33,
        GL_RENDER_MODE = 0x0C40,
        GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50,
        GL_POINT_SMOOTH_HINT = 0x0C51,
        GL_LINE_SMOOTH_HINT = 0x0C52,
        GL_POLYGON_SMOOTH_HINT = 0x0C53,
        GL_FOG_HINT = 0x0C54,
        GL_TEXTURE_GEN_S = 0x0C60,
        GL_TEXTURE_GEN_T = 0x0C61,
        GL_TEXTURE_GEN_R = 0x0C62,
        GL_TEXTURE_GEN_Q = 0x0C63,
        GL_PIXEL_MAP_I_TO_I = 0x0C70,
        GL_PIXEL_MAP_S_TO_S = 0x0C71,
        GL_PIXEL_MAP_I_TO_R = 0x0C72,
        GL_PIXEL_MAP_I_TO_G = 0x0C73,
        GL_PIXEL_MAP_I_TO_B = 0x0C74,
        GL_PIXEL_MAP_I_TO_A = 0x0C75,
        GL_PIXEL_MAP_R_TO_R = 0x0C76,
        GL_PIXEL_MAP_G_TO_G = 0x0C77,
        GL_PIXEL_MAP_B_TO_B = 0x0C78,
        GL_PIXEL_MAP_A_TO_A = 0x0C79,
        GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0,
        GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1,
        GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2,
        GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3,
        GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4,
        GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5,
        GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6,
        GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7,
        GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8,
        GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9,
        GL_UNPACK_SWAP_BYTES = 0x0CF0,
        GL_UNPACK_LSB_FIRST = 0x0CF1,
        GL_UNPACK_ROW_LENGTH = 0x0CF2,
        GL_UNPACK_SKIP_ROWS = 0x0CF3,
        GL_UNPACK_SKIP_PIXELS = 0x0CF4,
        GL_UNPACK_ALIGNMENT = 0x0CF5,
        GL_PACK_SWAP_BYTES = 0x0D00,
        GL_PACK_LSB_FIRST = 0x0D01,
        GL_PACK_ROW_LENGTH = 0x0D02,
        GL_PACK_SKIP_ROWS = 0x0D03,
        GL_PACK_SKIP_PIXELS = 0x0D04,
        GL_PACK_ALIGNMENT = 0x0D05,
        GL_MAP_COLOR = 0x0D10,
        GL_MAP_STENCIL = 0x0D11,
        GL_INDEX_SHIFT = 0x0D12,
        GL_INDEX_OFFSET = 0x0D13,
        GL_RED_SCALE = 0x0D14,
        GL_RED_BIAS = 0x0D15,
        GL_ZOOM_X = 0x0D16,
        GL_ZOOM_Y = 0x0D17,
        GL_GREEN_SCALE = 0x0D18,
        GL_GREEN_BIAS = 0x0D19,
        GL_BLUE_SCALE = 0x0D1A,
        GL_BLUE_BIAS = 0x0D1B,
        GL_ALPHA_SCALE = 0x0D1C,
        GL_ALPHA_BIAS = 0x0D1D,
        GL_DEPTH_SCALE = 0x0D1E,
        GL_DEPTH_BIAS = 0x0D1F,
        GL_MAX_EVAL_ORDER = 0x0D30,
        GL_MAX_LIGHTS = 0x0D31,
        GL_MAX_CLIP_PLANES = 0x0D32,
        GL_MAX_TEXTURE_SIZE = 0x0D33,
        GL_MAX_PIXEL_MAP_TABLE = 0x0D34,
        GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35,
        GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36,
        GL_MAX_NAME_STACK_DEPTH = 0x0D37,
        GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38,
        GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39,
        GL_MAX_VIEWPORT_DIMS = 0x0D3A,
        GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B,
        GL_SUBPIXEL_BITS = 0x0D50,
        GL_INDEX_BITS = 0x0D51,
        GL_RED_BITS = 0x0D52,
        GL_GREEN_BITS = 0x0D53,
        GL_BLUE_BITS = 0x0D54,
        GL_ALPHA_BITS = 0x0D55,
        GL_DEPTH_BITS = 0x0D56,
        GL_STENCIL_BITS = 0x0D57,
        GL_ACCUM_RED_BITS = 0x0D58,
        GL_ACCUM_GREEN_BITS = 0x0D59,
        GL_ACCUM_BLUE_BITS = 0x0D5A,
        GL_ACCUM_ALPHA_BITS = 0x0D5B,
        GL_NAME_STACK_DEPTH = 0x0D70,
        GL_AUTO_NORMAL = 0x0D80,
        GL_MAP1_COLOR_4 = 0x0D90,
        GL_MAP1_INDEX = 0x0D91,
        GL_MAP1_NORMAL = 0x0D92,
        GL_MAP1_TEXTURE_COORD_1 = 0x0D93,
        GL_MAP1_TEXTURE_COORD_2 = 0x0D94,
        GL_MAP1_TEXTURE_COORD_3 = 0x0D95,
        GL_MAP1_TEXTURE_COORD_4 = 0x0D96,
        GL_MAP1_VERTEX_3 = 0x0D97,
        GL_MAP1_VERTEX_4 = 0x0D98,
        GL_MAP2_COLOR_4 = 0x0DB0,
        GL_MAP2_INDEX = 0x0DB1,
        GL_MAP2_NORMAL = 0x0DB2,
        GL_MAP2_TEXTURE_COORD_1 = 0x0DB3,
        GL_MAP2_TEXTURE_COORD_2 = 0x0DB4,
        GL_MAP2_TEXTURE_COORD_3 = 0x0DB5,
        GL_MAP2_TEXTURE_COORD_4 = 0x0DB6,
        GL_MAP2_VERTEX_3 = 0x0DB7,
        GL_MAP2_VERTEX_4 = 0x0DB8,
        GL_MAP1_GRID_DOMAIN = 0x0DD0,
        GL_MAP1_GRID_SEGMENTS = 0x0DD1,
        GL_MAP2_GRID_DOMAIN = 0x0DD2,
        GL_MAP2_GRID_SEGMENTS = 0x0DD3,
        GL_TEXTURE_1D = 0x0DE0,
        GL_TEXTURE_2D = 0x0DE1,
        GL_FEEDBACK_BUFFER_POINTER = 0x0DF0,
        GL_FEEDBACK_BUFFER_SIZE = 0x0DF1,
        GL_FEEDBACK_BUFFER_TYPE = 0x0DF2,
        GL_SELECTION_BUFFER_POINTER = 0x0DF3,
        GL_SELECTION_BUFFER_SIZE = 0x0DF4,
    }
    [Flags()]
    public enum GetTextureParameter : uint
    {
        GL_TEXTURE_WIDTH = 0x1000,
        GL_TEXTURE_HEIGHT = 0x1001,
        GL_TEXTURE_INTERNAL_FORMAT = 0x1003,
        GL_TEXTURE_BORDER_COLOR = 0x1004,
        GL_TEXTURE_BORDER = 0x1005,
    }
    [Flags()]
    public enum HintMode : uint
    {
        GL_DONT_CARE = 0x1100,
        GL_FASTEST = 0x1101,
        GL_NICEST = 0x1102,
    }
    [Flags()]
    public enum LightName : uint
    {
        GL_LIGHT0 = 0x4000,
        GL_LIGHT1 = 0x4001,
        GL_LIGHT2 = 0x4002,
        GL_LIGHT3 = 0x4003,
        GL_LIGHT4 = 0x4004,
        GL_LIGHT5 = 0x4005,
        GL_LIGHT6 = 0x4006,
        GL_LIGHT7 = 0x4007,
    }
    [Flags()]
    public enum LightParameter : uint
    {
        GL_AMBIENT = 0x1200,
        GL_DIFFUSE = 0x1201,
        GL_SPECULAR = 0x1202,
        GL_POSITION = 0x1203,
        GL_SPOT_DIRECTION = 0x1204,
        GL_SPOT_EXPONENT = 0x1205,
        GL_SPOT_CUTOFF = 0x1206,
        GL_CONSTANT_ATTENUATION = 0x1207,
        GL_LINEAR_ATTENUATION = 0x1208,
        GL_QUADRATIC_ATTENUATION = 0x1209,
    }
    [Flags()]
    public enum ListMode : uint
    {
        GL_COMPILE = 0x1300,
        GL_COMPILE_AND_EXECUTE = 0x1301,
    }
    [Flags()]
    public enum LogicOp : uint
    {
        GL_CLEAR = 0x1500,
        GL_AND = 0x1501,
        GL_AND_REVERSE = 0x1502,
        GL_COPY = 0x1503,
        GL_AND_INVERTED = 0x1504,
        GL_NOOP = 0x1505,
        GL_XOR = 0x1506,
        GL_OR = 0x1507,
        GL_NOR = 0x1508,
        GL_EQUIV = 0x1509,
        GL_INVERT = 0x150A,
        GL_OR_REVERSE = 0x150B,
        GL_COPY_INVERTED = 0x150C,
        GL_OR_INVERTED = 0x150D,
        GL_NAND = 0x150E,
        GL_SET = 0x150F,
    }
    [Flags()]
    public enum MaterialParameter : uint
    {
        GL_EMISSION = 0x1600,
        GL_SHININESS = 0x1601,
        GL_AMBIENT_AND_DIFFUSE = 0x1602,
        GL_COLOR_INDEXES = 0x1603,
    }
    [Flags()]
    public enum MatrixMode : uint
    {
        GL_MODELVIEW = 0x1700,
        GL_PROJECTION = 0x1701,
        GL_TEXTURE = 0x1702,
    }
    [Flags()]
    public enum PixelCopyType : uint
    {
        GL_COLOR = 0x1800,
        GL_DEPTH = 0x1801,
        GL_STENCIL = 0x1802,
    }
    [Flags()]
    public enum PixelFormat : uint
    {
        GL_COLOR_INDEX = 0x1900,
        GL_STENCIL_INDEX = 0x1901,
        GL_DEPTH_COMPONENT = 0x1902,
        GL_RED = 0x1903,
        GL_GREEN = 0x1904,
        GL_BLUE = 0x1905,
        GL_ALPHA = 0x1906,
        GL_RGB = 0x1907,
        GL_RGBA = 0x1908,
        GL_LUMINANCE = 0x1909,
        GL_LUMINANCE_ALPHA = 0x190A,
    }
    [Flags()]
    public enum PixelType : uint
    {
        GL_BITMAP = 0x1A00,
    }
    [Flags()]
    public enum PolygonMode : uint
    {
        GL_POINT = 0x1B00,
        GL_LINE = 0x1B01,
        GL_FILL = 0x1B02,
    }
    [Flags()]
    public enum RenderingMode : uint
    {
        GL_RENDER = 0x1C00,
        GL_FEEDBACK = 0x1C01,
        GL_SELECT = 0x1C02,
    }
    [Flags()]
    public enum ShadingModel : uint
    {
        GL_FLAT = 0x1D00,
        GL_SMOOTH = 0x1D01,
    }
    [Flags()]
    public enum StencilOp : uint
    {
        GL_KEEP = 0x1E00,
        GL_REPLACE = 0x1E01,
        GL_INCR = 0x1E02,
        GL_DECR = 0x1E03,
    }
    [Flags()]
    public enum GL_StringName : uint
    {
        GL_VENDOR = 0x1F00,
        GL_RENDERER = 0x1F01,
        GL_VERSION = 0x1F02,
        GL_EXTENSIONS = 0x1F03,
    }
    [Flags()]
    public enum TextureCoordName : uint
    {
        GL_S = 0x2000,
        GL_T = 0x2001,
        GL_R = 0x2002,
        GL_Q = 0x2003,
    }
    [Flags()]
    public enum TextureEnvMode : uint
    {
        GL_MODULATE = 0x2100,
        GL_DECAL = 0x2101,
    }
    [Flags()]
    public enum TextureEnvParameter : uint
    {
        GL_TEXTURE_ENV_MODE = 0x2200,
        GL_TEXTURE_ENV_COLOR = 0x2201,
    }
    [Flags()]
    public enum TextureEnvTarget : uint
    {
        GL_TEXTURE_ENV = 0x2300,
    }
    [Flags()]
    public enum TextureGenMode : uint
    {
        GL_EYE_LINEAR = 0x2400,
        GL_OBJECT_LINEAR = 0x2401,
        GL_SPHERE_MAP = 0x2402,
    }
    [Flags()]
    public enum TextureGenParameter : uint
    {
        GL_TEXTURE_GEN_MODE = 0x2500,
        GL_OBJECT_PLANE = 0x2501,
        GL_EYE_PLANE = 0x2502,
    }
    [Flags()]
    public enum TextureMagFilter : uint
    {
        GL_NEAREST = 0x2600,
        GL_LINEAR = 0x2601,
    }
    [Flags()]
    public enum TextureMinFilter : uint
    {
        GL_NEAREST_MIPMAP_NEAREST = 0x2700,
        GL_LINEAR_MIPMAP_NEAREST = 0x2701,
        GL_NEAREST_MIPMAP_LINEAR = 0x2702,
        GL_LINEAR_MIPMAP_LINEAR = 0x2703,
    }
    [Flags()]
    public enum TextureParameterName : uint
    {
        GL_TEXTURE_MAG_FILTER = 0x2800,
        GL_TEXTURE_MIN_FILTER = 0x2801,
        GL_TEXTURE_WRAP_S = 0x2802,
        GL_TEXTURE_WRAP_T = 0x2803,
    }
    [Flags()]
    public enum TextureWrapMode : uint
    {
        GL_CLAMP = 0x2900,
        GL_REPEAT = 0x2901,
    }
    [Flags()]
    public enum ClientAttribMask : uint
    {
        GL_CLIENT_PIXEL_STORE_BIT = 0x00000001,
        GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002,
        GL_CLIENT_ALL_ATTRIB_BITS = 0xffffffff,
    }
    [Flags()]
    public enum PolygonOffset : uint
    {
        GL_POLYGON_OFFSET_FACTOR = 0x8038,
        GL_POLYGON_OFFSET_UNITS = 0x2A00,
        GL_POLYGON_OFFSET_POINT = 0x2A01,
        GL_POLYGON_OFFSET_LINE = 0x2A02,
        GL_POLYGON_OFFSET_FILL = 0x8037,
    }
    [Flags()]
    public enum Texture : uint
    {
        GL_ALPHA4 = 0x803B,
        GL_ALPHA8 = 0x803C,
        GL_ALPHA12 = 0x803D,
        GL_ALPHA16 = 0x803E,
        GL_LUMINANCE4 = 0x803F,
        GL_LUMINANCE8 = 0x8040,
        GL_LUMINANCE12 = 0x8041,
        GL_LUMINANCE16 = 0x8042,
        GL_LUMINANCE4_ALPHA4 = 0x8043,
        GL_LUMINANCE6_ALPHA2 = 0x8044,
        GL_LUMINANCE8_ALPHA8 = 0x8045,
        GL_LUMINANCE12_ALPHA4 = 0x8046,
        GL_LUMINANCE12_ALPHA12 = 0x8047,
        GL_LUMINANCE16_ALPHA16 = 0x8048,
        GL_INTENSITY = 0x8049,
        GL_INTENSITY4 = 0x804A,
        GL_INTENSITY8 = 0x804B,
        GL_INTENSITY12 = 0x804C,
        GL_INTENSITY16 = 0x804D,
        GL_R3_G3_B2 = 0x2A10,
        GL_RGB4 = 0x804F,
        GL_RGB5 = 0x8050,
        GL_RGB8 = 0x8051,
        GL_RGB10 = 0x8052,
        GL_RGB12 = 0x8053,
        GL_RGB16 = 0x8054,
        GL_RGBA2 = 0x8055,
        GL_RGBA4 = 0x8056,
        GL_RGB5_A1 = 0x8057,
        GL_RGBA8 = 0x8058,
        GL_RGB10_A2 = 0x8059,
        GL_RGBA12 = 0x805A,
        GL_RGBA16 = 0x805B,
        GL_TEXTURE_RED_SIZE = 0x805C,
        GL_TEXTURE_GREEN_SIZE = 0x805D,
        GL_TEXTURE_BLUE_SIZE = 0x805E,
        GL_TEXTURE_ALPHA_SIZE = 0x805F,
        GL_TEXTURE_LUMINANCE_SIZE = 0x8060,
        GL_TEXTURE_INTENSITY_SIZE = 0x8061,
        GL_PROXY_TEXTURE_1D = 0x8063,
        GL_PROXY_TEXTURE_2D = 0x8064,
    }
    [Flags()]
    public enum TextureObject : uint
    {
        GL_TEXTURE_PRIORITY = 0x8066,
        GL_TEXTURE_RESIDENT = 0x8067,
        GL_TEXTURE_BINDING_1D = 0x8068,
        GL_TEXTURE_BINDING_2D = 0x8069,
    }
    [Flags()]
    public enum VertexArray : uint
    {
        GL_VERTEX_ARRAY = 0x8074,
        GL_NORMAL_ARRAY = 0x8075,
        GL_COLOR_ARRAY = 0x8076,
        GL_INDEX_ARRAY = 0x8077,
        GL_TEXTURE_COORD_ARRAY = 0x8078,
        GL_EDGE_FLAG_ARRAY = 0x8079,
        GL_VERTEX_ARRAY_SIZE = 0x807A,
        GL_VERTEX_ARRAY_TYPE = 0x807B,
        GL_VERTEX_ARRAY_STRIDE = 0x807C,
        GL_NORMAL_ARRAY_TYPE = 0x807E,
        GL_NORMAL_ARRAY_STRIDE = 0x807F,
        GL_COLOR_ARRAY_SIZE = 0x8081,
        GL_COLOR_ARRAY_TYPE = 0x8082,
        GL_COLOR_ARRAY_STRIDE = 0x8083,
        GL_INDEX_ARRAY_TYPE = 0x8085,
        GL_INDEX_ARRAY_STRIDE = 0x8086,
        GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088,
        GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089,
        GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A,
        GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C,
        GL_VERTEX_ARRAY_POINTER = 0x808E,
        GL_NORMAL_ARRAY_POINTER = 0x808F,
        GL_COLOR_ARRAY_POINTER = 0x8090,
        GL_INDEX_ARRAY_POINTER = 0x8091,
        GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092,
        GL_EDGE_FLAG_ARRAY_POINTER = 0x8093,
        GL_V2F = 0x2A20,
        GL_V3F = 0x2A21,
        GL_C4UB_V2F = 0x2A22,
        GL_C4UB_V3F = 0x2A23,
        GL_C3F_V3F = 0x2A24,
        GL_N3F_V3F = 0x2A25,
        GL_C4F_N3F_V3F = 0x2A26,
        GL_T2F_V3F = 0x2A27,
        GL_T4F_V4F = 0x2A28,
        GL_T2F_C4UB_V3F = 0x2A29,
        GL_T2F_C3F_V3F = 0x2A2A,
        GL_T2F_N3F_V3F = 0x2A2B,
        GL_T2F_C4F_N3F_V3F = 0x2A2C,
        GL_T4F_C4F_N3F_V4F = 0x2A2D,
    }
    [Flags()]
    public enum Extensions : uint
    {
        GL_EXT_vertex_array = 1,
        GL_EXT_bgra = 1,
        GL_EXT_paletted_texture = 1,
        GL_WIN_swap_hint = 1,
        GL_WIN_draw_range_elements = 1,
    }
    [Flags()]
    public enum ExVertexArray : uint
    {
        GL_VERTEX_ARRAY_EXT = 0x8074,
        GL_NORMAL_ARRAY_EXT = 0x8075,
        GL_COLOR_ARRAY_EXT = 0x8076,
        GL_INDEX_ARRAY_EXT = 0x8077,
        GL_TEXTURE_COORD_ARRAY_EXT = 0x8078,
        GL_EDGE_FLAG_ARRAY_EXT = 0x8079,
        GL_VERTEX_ARRAY_SIZE_EXT = 0x807A,
        GL_VERTEX_ARRAY_TYPE_EXT = 0x807B,
        GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C,
        GL_VERTEX_ARRAY_COUNT_EXT = 0x807D,
        GL_NORMAL_ARRAY_TYPE_EXT = 0x807E,
        GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F,
        GL_NORMAL_ARRAY_COUNT_EXT = 0x8080,
        GL_COLOR_ARRAY_SIZE_EXT = 0x8081,
        GL_COLOR_ARRAY_TYPE_EXT = 0x8082,
        GL_COLOR_ARRAY_STRIDE_EXT = 0x8083,
        GL_COLOR_ARRAY_COUNT_EXT = 0x8084,
        GL_INDEX_ARRAY_TYPE_EXT = 0x8085,
        GL_INDEX_ARRAY_STRIDE_EXT = 0x8086,
        GL_INDEX_ARRAY_COUNT_EXT = 0x8087,
        GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088,
        GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089,
        GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A,
        GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B,
        GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C,
        GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D,
        GL_VERTEX_ARRAY_POINTER_EXT = 0x808E,
        GL_NORMAL_ARRAY_POINTER_EXT = 0x808F,
        GL_COLOR_ARRAY_POINTER_EXT = 0x8090,
        GL_INDEX_ARRAY_POINTER_EXT = 0x8091,
        GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092,
        GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093,
        GL_DOUBLE_EXT = 1,/*DOUBLE*/
    }
    [Flags()]
    public enum ExPalettedTexture : uint
    {
        GL_COLOR_TABLE_FORMAT_EXT = 0x80D8,
        GL_COLOR_TABLE_WIDTH_EXT = 0x80D9,
        GL_COLOR_TABLE_RED_SIZE_EXT = 0x80DA,
        GL_COLOR_TABLE_GREEN_SIZE_EXT = 0x80DB,
        GL_COLOR_TABLE_BLUE_SIZE_EXT = 0x80DC,
        GL_COLOR_TABLE_ALPHA_SIZE_EXT = 0x80DD,
        GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = 0x80DE,
        GL_COLOR_TABLE_INTENSITY_SIZE_EXT = 0x80DF,
        GL_COLOR_INDEX1_EXT = 0x80E2,
        GL_COLOR_INDEX2_EXT = 0x80E3,
        GL_COLOR_INDEX4_EXT = 0x80E4,
        GL_COLOR_INDEX8_EXT = 0x80E5,
        GL_COLOR_INDEX12_EXT = 0x80E6,
        GL_COLOR_INDEX16_EXT = 0x80E7,
    }
    [Flags()]
    public enum WinDrawRangeElements : uint
    {
        GL_MAX_ELEMENTS_VERTICES_WIN = 0x80E8,
        GL_MAX_ELEMENTS_INDICES_WIN = 0x80E9,
    }
    [Flags()]
    public enum WIN_phong_shading : uint
    {
        GL_PHONG_WIN = 0x80EA,
        GL_PHONG_HINT_WIN = 0x80EB,
    }
    [Flags()]
    public enum WIN_specular_fog : uint
    {
        FOG_SPECULAR_TEXTURE_WIN = 0x80EC,
    }
    #endregion
    #region The GLU DLL Constant Definitions.
    [Flags()]
    public enum Version : uint
    {
        GLU_VERSION_1_1 = 1,
        GLU_VERSION_1_2 = 1,
    }
    [Flags()]
    public enum Errors : uint
    {
        GLU_INVALID_ENUM = 100900,
        GLU_INVALID_VALUE = 100901,
        GLU_OUT_OF_MEMORY = 100902,
        GLU_INCOMPATIBLE_GL_VERSION = 100903,
    }
    [Flags()]
    public enum GLU_StringName : uint
    {
        GLU_VERSION = 100800,
        GLU_EXTENSIONS = 100801,
    }
    [Flags()]
    public enum GLU_Boolean : uint
    {
        GLU_TRUE = 1,
        GLU_FALSE = 0,
    }
    [Flags()]
    public enum QuadricNormal : uint
    {
        GLU_SMOOTH = 100000,
        GLU_FLAT = 100001,
        GLU_NONE = 100002,
    }
    [Flags()]
    public enum QuadricDrawStyle : uint
    {
        GLU_POINT = 100010,
        GLU_LINE = 100011,
        GLU_FILL = 100012,
        GLU_SILHOUETTE = 100013,
    }
    [Flags()]
    public enum QuadricOrientation : uint
    {
        GLU_OUTSIDE = 100020,
        GLU_INSIDE = 100021,
    }
    //Tesselation
    public const double GLU_TESS_MAX_COORD = 1.0e150;
    [Flags()]
    public enum TessProperty : uint
    {
        GLU_TESS_WINDING_RULE = 100140,
        GLU_TESS_BOUNDARY_ONLY = 100141,
        GLU_TESS_TOLERANCE = 100142,
    }
    [Flags()]
    public enum TessWinding : uint
    {
        GLU_TESS_WINDING_ODD = 100130,
        GLU_TESS_WINDING_NONZERO = 100131,
        GLU_TESS_WINDING_POSITIVE = 100132,
        GLU_TESS_WINDING_NEGATIVE = 100133,
        GLU_TESS_WINDING_ABS_GEQ_TWO = 100134,
    }
    [Flags()]
    public enum TessCallback : uint
    {
        GLU_TESS_BEGIN = 100100,
        GLU_TESS_VERTEX = 100101,
        GLU_TESS_END = 100102,
        GLU_TESS_ERROR = 100103,
        GLU_TESS_EDGE_FLAG = 100104,
        GLU_TESS_COMBINE = 100105,
        GLU_TESS_BEGIN_DATA = 100106,
        GLU_TESS_VERTEX_DATA = 100107,
        GLU_TESS_END_DATA = 100108,
        GLU_TESS_ERROR_DATA = 100109,
        GLU_TESS_EDGE_FLAG_DATA = 100110,
        GLU_TESS_COMBINE_DATA = 100111,
    }
    [Flags()]
    public enum TessError : uint
    {
        GLU_TESS_ERROR1 = 100151,
        GLU_TESS_ERROR2 = 100152,
        GLU_TESS_ERROR3 = 100153,
        GLU_TESS_ERROR4 = 100154,
        GLU_TESS_ERROR5 = 100155,
        GLU_TESS_ERROR6 = 100156,
        GLU_TESS_ERROR7 = 100157,
        GLU_TESS_ERROR8 = 100158,
        GLU_TESS_MISSING_BEGIN_POLYGON = 100151,
        GLU_TESS_MISSING_BEGIN_CONTOUR = 100152,
        GLU_TESS_MISSING_END_POLYGON = 100153,
        GLU_TESS_MISSING_END_CONTOUR = 100154,
        GLU_TESS_COORD_TOO_LARGE = 100155,
        GLU_TESS_NEED_COMBINE_CALLBACK = 100156,
    }
    [Flags()]
    public enum NurbsProperty : uint
    {
        GLU_AUTO_LOAD_MATRIX = 100200,
        GLU_CULLING = 100201,
        GLU_SAMPLING_TOLERANCE = 100203,
        GLU_DISPLAY_MODE = 100204,
        GLU_PARAMETRIC_TOLERANCE = 100202,
        GLU_SAMPLING_METHOD = 100205,
        GLU_U_STEP = 100206,
        GLU_V_STEP = 100207,
    }
    [Flags()]
    public enum NurbsSampling : uint
    {
        GLU_PATH_LENGTH = 100215,
        GLU_PARAMETRIC_ERROR = 100216,
        GLU_DOMAIN_DISTANCE = 100217,
    }
    [Flags()]
    public enum NurbsTrim : uint
    {
        GLU_MAP1_TRIM_2 = 100210,
        GLU_MAP1_TRIM_3 = 100211,
    }
    [Flags()]
    public enum NurbsOutline : uint
    {
        GLU_OUTLINE_POLYGON = 100240,
        GLU_OUTLINE_PATCH = 100241,
    }
    [Flags()]
    public enum NurbsCallback : uint
    {
        GLU_ERROR = 100103,
    }
    [Flags()]
    public enum NurbsError : uint
    {
        GLU_NURBS_ERROR1 = 100251,
        GLU_NURBS_ERROR2 = 100252,
        GLU_NURBS_ERROR3 = 100253,
        GLU_NURBS_ERROR4 = 100254,
        GLU_NURBS_ERROR5 = 100255,
        GLU_NURBS_ERROR6 = 100256,
        GLU_NURBS_ERROR7 = 100257,
        GLU_NURBS_ERROR8 = 100258,
        GLU_NURBS_ERROR9 = 100259,
        GLU_NURBS_ERROR10 = 100260,
        GLU_NURBS_ERROR11 = 100261,
        GLU_NURBS_ERROR12 = 100262,
        GLU_NURBS_ERROR13 = 100263,
        GLU_NURBS_ERROR14 = 100264,
        GLU_NURBS_ERROR15 = 100265,
        GLU_NURBS_ERROR16 = 100266,
        GLU_NURBS_ERROR17 = 100267,
        GLU_NURBS_ERROR18 = 100268,
        GLU_NURBS_ERROR19 = 100269,
        GLU_NURBS_ERROR20 = 100270,
        GLU_NURBS_ERROR21 = 100271,
        GLU_NURBS_ERROR22 = 100272,
        GLU_NURBS_ERROR23 = 100273,
        GLU_NURBS_ERROR24 = 100274,
        GLU_NURBS_ERROR25 = 100275,
        GLU_NURBS_ERROR26 = 100276,
        GLU_NURBS_ERROR27 = 100277,
        GLU_NURBS_ERROR28 = 100278,
        GLU_NURBS_ERROR29 = 100279,
        GLU_NURBS_ERROR30 = 100280,
        GLU_NURBS_ERROR31 = 100281,
        GLU_NURBS_ERROR32 = 100282,
        GLU_NURBS_ERROR33 = 100283,
        GLU_NURBS_ERROR34 = 100284,
        GLU_NURBS_ERROR35 = 100285,
        GLU_NURBS_ERROR36 = 100286,
        GLU_NURBS_ERROR37 = 100287,
    }
    #endregion
    #region The OpenGL DLL Functions (Exactly the same naming).
    [DllImport("opengl32.dll")]
    public static extern void glAccum(uint op, float value);
    [DllImport("opengl32.dll")]
    public static extern void glAlphaFunc(uint func, float ref_notkeword);
    [DllImport("opengl32.dll")]
    public static extern byte glAreTexturesResident(int n, uint[] textures, byte[] residences);
    [DllImport("opengl32.dll")]
    public static extern void glArrayElement(int i);
    [DllImport("opengl32.dll")]
    public static extern void glBegin(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glBindTexture(uint target, uint texture);
    [DllImport("opengl32.dll")]
    public static extern void glBitmap(int width, int height, float xorig, float yorig, float xmove, float ymove, byte[] bitmap);
    [DllImport("opengl32.dll")]
    public static extern void glBlendFunc(uint sfactor, uint dfactor);
    [DllImport("opengl32.dll")]
    public static extern void glCallList(uint list);
    [DllImport("opengl32.dll")]
    public static extern void glCallLists(int n, uint type, IntPtr lists);
    [DllImport("opengl32.dll")]
    public static extern void glCallLists(int n, uint type, uint[] lists);
    [DllImport("opengl32.dll")]
    public static extern void glCallLists(int n, uint type, byte[] lists);
    [DllImport("opengl32.dll")]
    public static extern void glClear(uint mask);
    [DllImport("opengl32.dll")]
    public static extern void glClearAccum(float red, float green, float blue, float alpha);
    [DllImport("opengl32.dll")]
    public static extern void glClearColor(float red, float green, float blue, float alpha);
    [DllImport("opengl32.dll")]
    public static extern void glClearDepth(double depth);
    [DllImport("opengl32.dll")]
    public static extern void glClearIndex(float c);
    [DllImport("opengl32.dll")]
    public static extern void glClearStencil(int s);
    [DllImport("opengl32.dll")]
    public static extern void glClipPlane(uint plane, double[] equation);
    [DllImport("opengl32.dll")]
    public static extern void glColor3b(byte red, byte green, byte blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3bv(byte[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3d(double red, double green, double blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3f(float red, float green, float blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3i(int red, int green, int blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3s(short red, short green, short blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3ub(byte red, byte green, byte blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3ubv(byte[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3ui(uint red, uint green, uint blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3uiv(uint[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor3us(ushort red, ushort green, ushort blue);
    [DllImport("opengl32.dll")]
    public static extern void glColor3usv(ushort[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4b(byte red, byte green, byte blue, byte alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4bv(byte[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4d(double red, double green, double blue, double alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4f(float red, float green, float blue, float alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4i(int red, int green, int blue, int alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4s(short red, short green, short blue, short alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4ub(byte red, byte green, byte blue, byte alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4ubv(byte[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4ui(uint red, uint green, uint blue, uint alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4uiv(uint[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColor4us(ushort red, ushort green, ushort blue, ushort alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColor4usv(ushort[] v);
    [DllImport("opengl32.dll")]
    public static extern void glColorMask(byte red, byte green, byte blue, byte alpha);
    [DllImport("opengl32.dll")]
    public static extern void glColorMaterial(uint face, uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glColorPointer(int size, uint type, int stride, int[] pointer);
    [DllImport("opengl32.dll")]
    public static extern void glCopyPixels(int x, int y, int width, int height, uint type);
    [DllImport("opengl32.dll")]
    public static extern void glCopyTexImage1D(uint target, int level, uint internalFormat, int x, int y, int width, int border);
    [DllImport("opengl32.dll")]
    public static extern void glCopyTexImage2D(uint target, int level, uint internalFormat, int x, int y, int width, int height, int border);
    [DllImport("opengl32.dll")]
    public static extern void glCopyTexSubImage1D(uint target, int level, int xoffset, int x, int y, int width);
    [DllImport("opengl32.dll")]
    public static extern void glCopyTexSubImage2D(uint target, int level, int xoffset, int yoffset, int x, int y, int width, int height);
    [DllImport("opengl32.dll")]
    public static extern void glCullFace(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glDeleteLists(uint list, int range);
    [DllImport("opengl32.dll")]
    public static extern void glDeleteTextures(int n, uint[] textures);
    [DllImport("opengl32.dll")]
    public static extern void glDepthFunc(uint func);
    [DllImport("opengl32.dll")]
    public static extern void glDepthMask(byte flag);
    [DllImport("opengl32.dll")]
    public static extern void glDepthRange(double zNear, double zFar);
    [DllImport("opengl32.dll")]
    public static extern void glDisable(uint cap);
    [DllImport("opengl32.dll")]
    public static extern void glDisableClientState(uint array);
    [DllImport("opengl32.dll")]
    public static extern void glDrawArrays(uint mode, int first, int count);
    [DllImport("opengl32.dll")]
    public static extern void glDrawBuffer(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glDrawElements(uint mode, int count, uint type, int[] indices);
    [DllImport("opengl32.dll")]
    public static extern void glDrawPixels(int width, int height, uint format, uint type, float[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glEdgeFlag(byte flag);
    [DllImport("opengl32.dll")]
    public static extern void glEdgeFlagPointer(int stride, int[] pointer);
    [DllImport("opengl32.dll")]
    public static extern void glEdgeFlagv(byte[] flag);
    [DllImport("opengl32.dll")]
    public static extern void glEnable(uint cap);
    [DllImport("opengl32.dll")]
    public static extern void glEnableClientState(uint array);
    [DllImport("opengl32.dll")]
    public static extern void glEnd();
    [DllImport("opengl32.dll")]
    public static extern void glEndList();
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord1d(double u);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord1dv(double[] u);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord1f(float u);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord1fv(float[] u);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord2d(double u, double v);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord2dv(double[] u);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord2f(float u, float v);
    [DllImport("opengl32.dll")]
    public static extern void glEvalCoord2fv(float[] u);
    [DllImport("opengl32.dll")]
    public static extern void glEvalMesh1(uint mode, int i1, int i2);
    [DllImport("opengl32.dll")]
    public static extern void glEvalMesh2(uint mode, int i1, int i2, int j1, int j2);
    [DllImport("opengl32.dll")]
    public static extern void glEvalPoint1(int i);
    [DllImport("opengl32.dll")]
    public static extern void glEvalPoint2(int i, int j);
    [DllImport("opengl32.dll")]
    public static extern void glFeedbackBuffer(int size, uint type, float[] buffer);
    [DllImport("opengl32.dll")]
    public static extern void glFinish();
    [DllImport("opengl32.dll")]
    public static extern void glFlush();
    [DllImport("opengl32.dll")]
    public static extern void glFogf(uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glFogfv(uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glFogi(uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glFogiv(uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glFrontFace(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar);
    [DllImport("opengl32.dll")]
    public static extern uint glGenLists(int range);
    [DllImport("opengl32.dll")]
    public static extern void glGenTextures(int n, uint[] textures);
    [DllImport("opengl32.dll")]
    public static extern void glGetBooleanv(uint pname, byte[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetClipPlane(uint plane, double[] equation);
    [DllImport("opengl32.dll")]
    public static extern void glGetDoublev(uint pname, double[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern uint glGetError();
    [DllImport("opengl32.dll")]
    public static extern void glGetFloatv(uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetIntegerv(uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetLightfv(uint light, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetLightiv(uint light, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetMapdv(uint target, uint query, double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glGetMapfv(uint target, uint query, float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glGetMapiv(uint target, uint query, int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glGetMaterialfv(uint face, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetMaterialiv(uint face, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetPixelMapfv(uint map, float[] values);
    [DllImport("opengl32.dll")]
    public static extern void glGetPixelMapuiv(uint map, uint[] values);
    [DllImport("opengl32.dll")]
    public static extern void glGetPixelMapusv(uint map, ushort[] values);
    [DllImport("opengl32.dll")]
    public static extern void glGetPointerv(uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetPolygonStipple(byte[] mask);
    [DllImport("opengl32.dll")]
    public unsafe static extern sbyte* glGetString(uint name);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexEnvfv(uint target, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexEnviv(uint target, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexGendv(uint coord, uint pname, double[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexGenfv(uint coord, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexGeniv(uint coord, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexImage(uint target, int level, uint format, uint type, int[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexLevelParameterfv(uint target, int level, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexLevelParameteriv(uint target, int level, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexParameterfv(uint target, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glGetTexParameteriv(uint target, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glHint(uint target, uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glIndexMask(uint mask);
    [DllImport("opengl32.dll")]
    public static extern void glIndexPointer(uint type, int stride, int[] pointer);
    [DllImport("opengl32.dll")]
    public static extern void glIndexd(double c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexdv(double[] c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexf(float c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexfv(float[] c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexi(int c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexiv(int[] c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexs(short c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexsv(short[] c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexub(byte c);
    [DllImport("opengl32.dll")]
    public static extern void glIndexubv(byte[] c);
    [DllImport("opengl32.dll")]
    public static extern void glInitNames();
    [DllImport("opengl32.dll")]
    public static extern void glInterleavedArrays(uint format, int stride, int[] pointer);
    [DllImport("opengl32.dll")]
    public static extern byte glIsEnabled(uint cap);
    [DllImport("opengl32.dll")]
    public static extern byte glIsList(uint list);
    [DllImport("opengl32.dll")]
    public static extern byte glIsTexture(uint texture);
    [DllImport("opengl32.dll")]
    public static extern void glLightModelf(uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glLightModelfv(uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glLightModeli(uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glLightModeliv(uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glLightf(uint light, uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glLightfv(uint light, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glLighti(uint light, uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glLightiv(uint light, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glLineStipple(int factor, ushort pattern);
    [DllImport("opengl32.dll")]
    public static extern void glLineWidth(float width);
    [DllImport("opengl32.dll")]
    public static extern void glListBase(uint base_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glLoadIdentity();
    [DllImport("opengl32.dll")]
    public static extern void glLoadMatrixd(double[] m);
    [DllImport("opengl32.dll")]
    public static extern void glLoadMatrixf(float[] m);
    [DllImport("opengl32.dll")]
    public static extern void glLoadName(uint name);
    [DllImport("opengl32.dll")]
    public static extern void glLogicOp(uint opcode);
    [DllImport("opengl32.dll")]
    public static extern void glMap1d(uint target, double u1, double u2, int stride, int order, double[] points);
    [DllImport("opengl32.dll")]
    public static extern void glMap1f(uint target, float u1, float u2, int stride, int order, float[] points);
    [DllImport("opengl32.dll")]
    public static extern void glMap2d(uint target, double u1, double u2, int ustride, int uorder, double v1, double v2, int vstride, int vorder, double[] points);
    [DllImport("opengl32.dll")]
    public static extern void glMap2f(uint target, float u1, float u2, int ustride, int uorder, float v1, float v2, int vstride, int vorder, float[] points);
    [DllImport("opengl32.dll")]
    public static extern void glMapGrid1d(int un, double u1, double u2);
    [DllImport("opengl32.dll")]
    public static extern void glMapGrid1f(int un, float u1, float u2);
    [DllImport("opengl32.dll")]
    public static extern void glMapGrid2d(int un, double u1, double u2, int vn, double v1, double v2);
    [DllImport("opengl32.dll")]
    public static extern void glMapGrid2f(int un, float u1, float u2, int vn, float v1, float v2);
    [DllImport("opengl32.dll")]
    public static extern void glMaterialf(uint face, uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glMaterialfv(uint face, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glMateriali(uint face, uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glMaterialiv(uint face, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glMatrixMode(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glMultMatrixd(double[] m);
    [DllImport("opengl32.dll")]
    public static extern void glMultMatrixf(float[] m);
    [DllImport("opengl32.dll")]
    public static extern void glNewList(uint list, uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3b(byte nx, byte ny, byte nz);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3bv(byte[] v);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3d(double nx, double ny, double nz);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3f(float nx, float ny, float nz);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3i(int nx, int ny, int nz);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3s(short nx, short ny, short nz);
    [DllImport("opengl32.dll")]
    public static extern void glNormal3sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glNormalPointer(uint type, int stride, float[] pointer);
    [DllImport("opengl32.dll")]
    public static extern void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar);
    [DllImport("opengl32.dll")]
    public static extern void glPassThrough(float token);
    [DllImport("opengl32.dll")]
    public static extern void glPixelMapfv(uint map, int mapsize, float[] values);
    [DllImport("opengl32.dll")]
    public static extern void glPixelMapuiv(uint map, int mapsize, uint[] values);
    [DllImport("opengl32.dll")]
    public static extern void glPixelMapusv(uint map, int mapsize, ushort[] values);
    [DllImport("opengl32.dll")]
    public static extern void glPixelStoref(uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glPixelStorei(uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glPixelTransferf(uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glPixelTransferi(uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glPixelZoom(float xfactor, float yfactor);
    [DllImport("opengl32.dll")]
    public static extern void glPointSize(float size);
    [DllImport("opengl32.dll")]
    public static extern void glPolygonMode(uint face, uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glPolygonOffset(float factor, float units);
    [DllImport("opengl32.dll")]
    public static extern void glPolygonStipple(byte[] mask);
    [DllImport("opengl32.dll")]
    public static extern void glPopAttrib();
    [DllImport("opengl32.dll")]
    public static extern void glPopClientAttrib();
    [DllImport("opengl32.dll")]
    public static extern void glPopMatrix();
    [DllImport("opengl32.dll")]
    public static extern void glPopName();
    [DllImport("opengl32.dll")]
    public static extern void glPrioritizeTextures(int n, uint[] textures, float[] priorities);
    [DllImport("opengl32.dll")]
    public static extern void glPushAttrib(uint mask);
    [DllImport("opengl32.dll")]
    public static extern void glPushClientAttrib(uint mask);
    [DllImport("opengl32.dll")]
    public static extern void glPushMatrix();
    [DllImport("opengl32.dll")]
    public static extern void glPushName(uint name);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2d(double x, double y);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2f(float x, float y);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2i(int x, int y);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2s(short x, short y);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos2sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3d(double x, double y, double z);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3f(float x, float y, float z);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3i(int x, int y, int z);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3s(short x, short y, short z);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos3sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4d(double x, double y, double z, double w);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4f(float x, float y, float z, float w);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4i(int x, int y, int z, int w);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4s(short x, short y, short z, short w);
    [DllImport("opengl32.dll")]
    public static extern void glRasterPos4sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glReadBuffer(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glReadPixels(int x, int y, int width, int height, uint format, uint type, byte[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glReadPixels(int x, int y, int width, int height, uint format, uint type, IntPtr pixels);
    [DllImport("opengl32.dll")]
    public static extern void glRectd(double x1, double y1, double x2, double y2);
    [DllImport("opengl32.dll")]
    public static extern void glRectdv(double[] v1, double[] v2);
    [DllImport("opengl32.dll")]
    public static extern void glRectf(float x1, float y1, float x2, float y2);
    [DllImport("opengl32.dll")]
    public static extern void glRectfv(float[] v1, float[] v2);
    [DllImport("opengl32.dll")]
    public static extern void glRecti(int x1, int y1, int x2, int y2);
    [DllImport("opengl32.dll")]
    public static extern void glRectiv(int[] v1, int[] v2);
    [DllImport("opengl32.dll")]
    public static extern void glRects(short x1, short y1, short x2, short y2);
    [DllImport("opengl32.dll")]
    public static extern void glRectsv(short[] v1, short[] v2);
    [DllImport("opengl32.dll")]
    public static extern int glRenderMode(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glRotated(double angle, double x, double y, double z);
    [DllImport("opengl32.dll")]
    public static extern void glRotatef(float angle, float x, float y, float z);
    [DllImport("opengl32.dll")]
    public static extern void glScaled(double x, double y, double z);
    [DllImport("opengl32.dll")]
    public static extern void glScalef(float x, float y, float z);
    [DllImport("opengl32.dll")]
    public static extern void glScissor(int x, int y, int width, int height);
    [DllImport("opengl32.dll")]
    public static extern void glSelectBuffer(int size, uint[] buffer);
    [DllImport("opengl32.dll")]
    public static extern void glShadeModel(uint mode);
    [DllImport("opengl32.dll")]
    public static extern void glStencilFunc(uint func, int ref_notkeword, uint mask);
    [DllImport("opengl32.dll")]
    public static extern void glStencilMask(uint mask);
    [DllImport("opengl32.dll")]
    public static extern void glStencilOp(uint fail, uint zfail, uint zpass);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1d(double s);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1f(float s);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1i(int s);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1s(short s);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord1sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2d(double s, double t);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2f(float s, float t);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2i(int s, int t);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2s(short s, short t);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord2sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3d(double s, double t, double r);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3f(float s, float t, float r);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3i(int s, int t, int r);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3s(short s, short t, short r);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord3sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4d(double s, double t, double r, double q);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4f(float s, float t, float r, float q);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4i(int s, int t, int r, int q);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4s(short s, short t, short r, short q);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoord4sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glTexCoordPointer(int size, uint type, int stride, float[] pointer);
    [DllImport("opengl32.dll")]
    public static extern void glTexEnvf(uint target, uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glTexEnvfv(uint target, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexEnvi(uint target, uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glTexEnviv(uint target, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexGend(uint coord, uint pname, double param);
    [DllImport("opengl32.dll")]
    public static extern void glTexGendv(uint coord, uint pname, double[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexGenf(uint coord, uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glTexGenfv(uint coord, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexGeni(uint coord, uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glTexGeniv(uint coord, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexImage1D(uint target, int level, int internalformat, int width, int border, uint format, uint type, byte[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glTexImage2D(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, byte[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glTexImage2D(uint target, int level, int internalformat, int width, int height, int border, uint format, uint type, IntPtr pixels);
    [DllImport("opengl32.dll")]
    public static extern void glTexParameterf(uint target, uint pname, float param);
    [DllImport("opengl32.dll")]
    public static extern void glTexParameterfv(uint target, uint pname, float[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexParameteri(uint target, uint pname, int param);
    [DllImport("opengl32.dll")]
    public static extern void glTexParameteriv(uint target, uint pname, int[] params_notkeyword);
    [DllImport("opengl32.dll")]
    public static extern void glTexSubImage1D(uint target, int level, int xoffset, int width, uint format, uint type, int[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glTexSubImage2D(uint target, int level, int xoffset, int yoffset, int width, int height, uint format, uint type, byte[] pixels);
    [DllImport("opengl32.dll")]
    public static extern void glTranslated(double x, double y, double z);
    [DllImport("opengl32.dll")]
    public static extern void glTranslatef(float x, float y, float z);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2d(double x, double y);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2f(float x, float y);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2i(int x, int y);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2s(short x, short y);
    [DllImport("opengl32.dll")]
    public static extern void glVertex2sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3d(double x, double y, double z);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3f(float x, float y, float z);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3i(int x, int y, int z);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3s(short x, short y, short z);
    [DllImport("opengl32.dll")]
    public static extern void glVertex3sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4d(double x, double y, double z, double w);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4dv(double[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4f(float x, float y, float z, float w);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4fv(float[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4i(int x, int y, int z, int w);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4iv(int[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4s(short x, short y, short z, short w);
    [DllImport("opengl32.dll")]
    public static extern void glVertex4sv(short[] v);
    [DllImport("opengl32.dll")]
    public static extern void glVertexPointer(int size, uint type, int stride, float[] pointer);
    [DllImport("opengl32.dll")]
    public static extern void glViewport(int x, int y, int width, int height);
    #endregion
    #region The GLU DLL Functions (Exactly the same naming).
    [DllImport("Glu32.dll")]
    public static unsafe extern sbyte* gluErrorString(uint errCode);
    [DllImport("Glu32.dll")]
    public static unsafe extern sbyte* gluGetString(int name);
    [DllImport("Glu32.dll")]
    public static extern void gluOrtho2D(double left, double right, double bottom, double top);
    [DllImport("Glu32.dll")]
    public static extern void gluPerspective(double fovy, double aspect, double zNear, double zFar);
    [DllImport("Glu32.dll")]
    public static extern void gluPickMatrix(double x, double y, double width, double height, int[] viewport);
    [DllImport("Glu32.dll")]
    public static extern void gluLookAt(double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz);
    [DllImport("Glu32.dll")]
    public static extern void gluProject(double objx, double objy, double objz, double[] modelMatrix, double[] projMatrix, int[] viewport, double[] winx, double[] winy, double[] winz);
    [DllImport("Glu32.dll")]
    public static extern void gluUnProject(double winx, double winy, double winz, double[] modelMatrix, double[] projMatrix, int[] viewport, ref double objx, ref double objy, ref double objz);
    [DllImport("Glu32.dll")]
    public static extern void gluScaleImage(int format, int widthin, int heightin, int typein, int[] datain, int widthout, int heightout, int typeout, int[] dataout);
    [DllImport("Glu32.dll")]
    public static extern void gluBuild1DMipmaps(uint target, uint components, int width, uint format, uint type, IntPtr data);
    [DllImport("Glu32.dll")]
    public static extern void gluBuild2DMipmaps(uint target, uint components, int width, int height, uint format, uint type, IntPtr data);
    [DllImport("Glu32.dll")]
    public static extern IntPtr gluNewQuadric();
    [DllImport("Glu32.dll")]
    public static extern void gluDeleteQuadric(IntPtr state);
    [DllImport("Glu32.dll")]
    public static extern void gluQuadricNormals(IntPtr quadObject, uint normals);
    [DllImport("Glu32.dll")]
    public static extern void gluQuadricTexture(IntPtr quadObject, int textureCoords);
    [DllImport("Glu32.dll")]
    public static extern void gluQuadricOrientation(IntPtr quadObject, int orientation);
    [DllImport("Glu32.dll")]
    public static extern void gluQuadricDrawStyle(IntPtr quadObject, uint drawStyle);
    [DllImport("Glu32.dll")]
    public static extern void gluCylinder(IntPtr qobj, double baseRadius, double topRadius, double height, int slices, int stacks);
    [DllImport("Glu32.dll")]
    public static extern void gluDisk(IntPtr qobj, double innerRadius, double outerRadius, int slices, int loops);
    [DllImport("Glu32.dll")]
    public static extern void gluPartialDisk(IntPtr qobj, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle);
    [DllImport("Glu32.dll")]
    public static extern void gluSphere(IntPtr qobj, double radius, int slices, int stacks);
    [DllImport("Glu32.dll")]
    public static extern IntPtr gluNewTess();
    [DllImport("Glu32.dll")]
    public static extern void gluDeleteTess(IntPtr tess);
    [DllImport("Glu32.dll")]
    public static extern void gluTessBeginPolygon(IntPtr tess, IntPtr polygonData);
    [DllImport("Glu32.dll")]
    public static extern void gluTessBeginContour(IntPtr tess);
    [DllImport("Glu32.dll")]
    public static extern void gluTessVertex(IntPtr tess, double[] coords, double[] data);
    [DllImport("Glu32.dll")]
    public static extern void gluTessEndContour(IntPtr tess);
    [DllImport("Glu32.dll")]
    public static extern void gluTessEndPolygon(IntPtr tess);
    [DllImport("Glu32.dll")]
    public static extern void gluTessProperty(IntPtr tess, int which, double value);
    [DllImport("Glu32.dll")]
    public static extern void gluTessNormal(IntPtr tess, double x, double y, double z);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.Begin callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.BeginData callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.Combine callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.CombineData callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.EdgeFlag callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.EdgeFlagData callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.End callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.EndData callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.Error callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.ErrorData callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.Vertex callback);
    //[DllImport("Glu32.dll")] public static extern void gluTessCallback(IntPtr tess, int which, SharpGL.Delegates.Tesselators.VertexData callback);
    [DllImport("Glu32.dll")]
    public static extern void gluGetTessProperty(IntPtr tess, int which, double value);
    [DllImport("Glu32.dll")]
    public static extern IntPtr gluNewNurbsRenderer();
    [DllImport("Glu32.dll")]
    public static extern void gluDeleteNurbsRenderer(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluBeginSurface(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluBeginCurve(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluEndCurve(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluEndSurface(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluBeginTrim(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluEndTrim(IntPtr nobj);
    [DllImport("Glu32.dll")]
    public static extern void gluPwlCurve(IntPtr nobj, int count, float array, int stride, uint type);
    [DllImport("Glu32.dll")]
    public static extern void gluNurbsCurve(IntPtr nobj, int nknots, float[] knot, int stride, float[] ctlarray, int order, uint type);
    [DllImport("Glu32.dll")]
    public static extern void gluNurbsSurface(IntPtr nobj, int sknot_count, float[] sknot, int tknot_count, float[] tknot, int s_stride, int t_stride, float[] ctlarray, int sorder, int torder, uint type);
    [DllImport("Glu32.dll")]
    public static extern void gluLoadSamplingMatrices(IntPtr nobj, float[] modelMatrix, float[] projMatrix, int[] viewport);
    [DllImport("Glu32.dll")]
    public static extern void gluNurbsProperty(IntPtr nobj, int property, float value);
    [DllImport("Glu32.dll")]
    public static extern void gluGetNurbsProperty(IntPtr nobj, int property, float value);
    [DllImport("Glu32.dll")]
    public static extern void IntPtrCallback(IntPtr nobj, int which, IntPtr Callback);
    #endregion

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

The complete DLL and project source, along with a bunch of samples can be downloaded from http://sharpgl.codeplex.com/

Also, Dave talks a little about his SharpGL project at http://www.codeproject.com/Articles/3144/SharpGL-a-C-OpenGL-class-library

Documentation

Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions