-- -- OpenGL 1.1 Ada binding, package GL -- -- W. M. Richards, NiEstu, Phoenix AZ, December 1997 -- -- Converted from Brian Paul's Mesa package gl.h header file, version 2,5. -- As noted below in Brian's original comments, this code is distributed -- under the terms of the GNU Library General Public License. -- -- Version 0.1, 21 December 1997 -- -- -- Here are the original gl.h comments: -- -- Mesa 3-D graphics library -- Version: 2.5 -- Copyright (C) 1995-1997 Brian Paul -- -- This library is free software; you can redistribute it and/or -- modify it under the terms of the GNU Library General Public -- License as published by the Free Software Foundation; either -- version 2 of the License, or (at your option) any later version. -- -- This library is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- Library General Public License for more details. -- -- You should have received a copy of the GNU Library General Public -- License along with this library; if not, write to the Free -- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -- with Interfaces.C; package GL is package C renames Interfaces.C; ------------------------------------------------------------------------------ MESA_MAJOR_VERSION : constant := 2; MESA_MINOR_VERSION : constant := 5; GL_VERSION_1_1 : constant := 1; GL_EXT_BLEND_COLOR : constant := 1; GL_EXT_BLEND_LOGIC_OP : constant := 1; GL_EXT_BLEND_MINMAX : constant := 1; GL_EXT_BLEND_SUBTRACT : constant := 1; GL_EXT_POLYGON_OFFSET : constant := 1; GL_EXT_VERTEX_ARRAY : constant := 1; GL_EXT_TEXTURE_OBJECT : constant := 1; GL_EXT_TEXTURE3D : constant := 1; GL_EXT_PALETTED_TEXTURE : constant := 1; GL_EXT_SHARED_TEXTURE_PALETTE : constant := 1; GL_EXT_POINT_PARAMETERS : constant := 1; GL_MESA_WINDOW_POS : constant := 1; GL_MESA_RESIZE_BUFFERS : constant := 1; GL_CURRENT_BIT : constant := 16#00000001#; GL_POINT_BIT : constant := 16#00000002#; GL_LINE_BIT : constant := 16#00000004#; GL_POLYGON_BIT : constant := 16#00000008#; GL_POLYGON_STIPPLE_BIT : constant := 16#00000010#; GL_PIXEL_MODE_BIT : constant := 16#00000020#; GL_LIGHTING_BIT : constant := 16#00000040#; GL_FOG_BIT : constant := 16#00000080#; GL_DEPTH_BUFFER_BIT : constant := 16#00000100#; GL_ACCUM_BUFFER_BIT : constant := 16#00000200#; GL_STENCIL_BUFFER_BIT : constant := 16#00000400#; GL_VIEWPORT_BIT : constant := 16#00000800#; GL_TRANSFORM_BIT : constant := 16#00001000#; GL_ENABLE_BIT : constant := 16#00002000#; GL_COLOR_BUFFER_BIT : constant := 16#00004000#; GL_HINT_BIT : constant := 16#00008000#; GL_EVAL_BIT : constant := 16#00010000#; GL_LIST_BIT : constant := 16#00020000#; GL_TEXTURE_BIT : constant := 16#00040000#; GL_SCISSOR_BIT : constant := 16#00080000#; GL_ALL_ATTRIB_BITS : constant := 16#000FFFFF#; GL_CLIENT_PIXEL_STORE_BIT : constant := 16#00000001#; GL_CLIENT_VERTEX_ARRAY_BIT : constant := 16#00000002#; GL_CLIENT_ALL_ATTRIB_BITS : constant := 16#0000FFFF#; ------------------------------------------------------------------------------ -- Base types type GLbitfield is new C.unsigned; -- 4-byte unsigned type GLboolean is new C.unsigned_char; -- 1-byte unsigned in [0,1] type GLbyte is new C.char; -- 1-byte signed type GLshort is new C.short; -- 2-byte signed type GLint is new C.int; -- 4-byte signed type GLubyte is new C.unsigned_char; -- 1-byte unsigned type GLushort is new C.unsigned_short; -- 2-byte unsigned type GLuint is new C.unsigned; -- 4-byte unsigned type GLsizei is new C.int; -- 4-byte signed type GLfloat is new C.C_float; -- single precision float type GLclampf is new C.C_float; -- single precision float in [0,1] type GLdouble is new C.double; -- double precision float type GLclampd is new C.double; -- double precision float in [0,1] -- Pointer types type GLbooleanPtr is access all GLboolean; type GLbytePtr is access all GLbyte; type GLshortPtr is access all GLshort; type GLintPtr is access all GLint; type GLubytePtr is access all GLubyte; type GLushortPtr is access all GLushort; type GLuintPtr is access all GLuint; type GLfloatPtr is access all GLfloat; type GLclampfPtr is access all GLclampf; type GLdoublePtr is access all GLdouble; type GLpointer is access all GLubyte; -- our substitute for "void *" ------------------------------------------------------------------------------ -- GLenum is used only for sizing of the real enumeration types type GLenum is new c.unsigned; -- The boolean constants GL_FALSE : constant GLboolean := GLboolean'Val (0); GL_TRUE : constant GLboolean := GLboolean'Val (1); -- Get pointer values type GetPointerEnm is ( GL_FEEDBACK_BUFFER_POINTER, GL_VERTEX_ARRAY_POINTER, GL_NORMAL_ARRAY_POINTER, GL_COLOR_ARRAY_POINTER, GL_INDEX_ARRAY_POINTER, GL_TEXTURE_COORD_ARRAY_POINTER, GL_EDGE_FLAG_ARRAY_POINTER, GL_SELECTION_BUFFER_POINTER ); for GetPointerEnm use ( GL_FEEDBACK_BUFFER_POINTER => 16#0DF0#, GL_VERTEX_ARRAY_POINTER => 16#808E#, GL_NORMAL_ARRAY_POINTER => 16#808F#, GL_COLOR_ARRAY_POINTER => 16#8090#, GL_INDEX_ARRAY_POINTER => 16#8091#, GL_TEXTURE_COORD_ARRAY_POINTER => 16#8092#, GL_EDGE_FLAG_ARRAY_POINTER => 16#8093#, GL_SELECTION_BUFFER_POINTER => 16#FFFF# -- fixme: Mesa 2.5 does not support!! What's the real value? ); for GetPointerEnm'Size use GLenum'Size; procedure glGetPointerv (pname : GetPointerEnm; params: GLpointer); -- Alpha, stencil, and depth tests type FuncEnm is ( GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL, GL_ALWAYS ); for FuncEnm use ( GL_NEVER => 16#0200#, GL_LESS => 16#0201#, GL_EQUAL => 16#0202#, GL_LEQUAL => 16#0203#, GL_GREATER => 16#0204#, GL_NOTEQUAL => 16#0205#, GL_GEQUAL => 16#0206#, GL_ALWAYS => 16#0207# ); for FuncEnm'Size use GLenum'Size; procedure glAlphaFunc (func: FuncEnm; ref : GLclampf); procedure glDepthFunc (func: FuncEnm); procedure glStencilFunc (func: FuncEnm; ref : GLint; mask: GLuint); -- Stencil operations type StencilOpEnm is ( GL_ZERO, GL_INVERT, GL_KEEP, GL_REPLACE, GL_INCR, GL_DECR ); for StencilOpEnm use ( GL_ZERO => 16#0000#, GL_INVERT => 16#150A#, GL_KEEP => 16#1E00#, GL_REPLACE => 16#1E01#, GL_INCR => 16#1E02#, GL_DECR => 16#1E03# ); for StencilOpEnm'Size use GLenum'Size; procedure glStencilOp (fail : StencilOpEnm; zfail: StencilOpEnm; zpass: StencilOpEnm); -- Blending functions type BlendSrcEnm is ( GL_ZERO, GL_ONE, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA_SATURATE, GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA ); for BlendSrcEnm use ( GL_ZERO => 16#0000#, GL_ONE => 16#0001#, GL_SRC_ALPHA => 16#0302#, GL_ONE_MINUS_SRC_ALPHA => 16#0303#, GL_DST_ALPHA => 16#0304#, GL_ONE_MINUS_DST_ALPHA => 16#0305#, GL_DST_COLOR => 16#0306#, GL_ONE_MINUS_DST_COLOR => 16#0307#, GL_SRC_ALPHA_SATURATE => 16#0308#, GL_CONSTANT_COLOR => 16#8001#, -- are these four Mesa-specific? GL_ONE_MINUS_CONSTANT_COLOR => 16#8002#, GL_CONSTANT_ALPHA => 16#8003#, GL_ONE_MINUS_CONSTANT_ALPHA => 16#8004# ); for BlendSrcEnm'Size use GLenum'Size; type BlendDstEnm is ( GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA ); for BlendDstEnm use ( GL_ZERO => 16#0000#, GL_ONE => 16#0001#, GL_SRC_COLOR => 16#0300#, GL_ONE_MINUS_SRC_COLOR => 16#0301#, GL_SRC_ALPHA => 16#0302#, GL_ONE_MINUS_SRC_ALPHA => 16#0303#, GL_DST_ALPHA => 16#0304#, GL_ONE_MINUS_DST_ALPHA => 16#0305# ); for BlendDstEnm'Size use GLenum'Size; type BlendEquationEnm is ( GL_LOGIC_OP, GL_FUNC_ADD_EXT, GL_MIN_EXT, GL_MAX_EXT, GL_FUNC_SUBTRACT_EXT, GL_FUNC_REVERSE_SUBTRACT_EXT ); for BlendEquationEnm use ( GL_LOGIC_OP => 16#0BF1#, GL_FUNC_ADD_EXT => 16#8006#, GL_MIN_EXT => 16#8007#, GL_MAX_EXT => 16#8008#, GL_FUNC_SUBTRACT_EXT => 16#800A#, GL_FUNC_REVERSE_SUBTRACT_EXT => 16#800B# ); for BlendEquationEnm'Size use GLenum'size; procedure glBlendFunc (sfactor: BlendSrcEnm; dfactor: BlendDstEnm); procedure glBlendEquationEXT (mode: BlendEquationEnm); procedure glBlendColorEXT (red : GLclampf; green: GLclampf; blue : GLclampf; alpha: GLclampf); -- Locic operation function type LogicOpEnm is ( GL_CLEAR, GL_AND, GL_AND_REVERSE, GL_COPY, GL_AND_INVERTED, GL_NOOP, GL_XOR, GL_OR, GL_NOR, GL_EQUIV, GL_INVERT, GL_OR_REVERSE, GL_COPY_INVERTED, GL_OR_INVERTED, GL_NAND, GL_SET ); for LogicOpEnm use ( GL_CLEAR => 16#1500#, GL_AND => 16#1501#, GL_AND_REVERSE => 16#1502#, GL_COPY => 16#1503#, GL_AND_INVERTED => 16#1504#, GL_NOOP => 16#1505#, GL_XOR => 16#1506#, GL_OR => 16#1507#, GL_NOR => 16#1508#, GL_EQUIV => 16#1509#, GL_INVERT => 16#150A#, GL_OR_REVERSE => 16#150B#, GL_COPY_INVERTED => 16#150C#, GL_OR_INVERTED => 16#150D#, GL_NAND => 16#150E#, GL_SET => 16#150F# ); for LogicOpEnm'Size use GLenum'size; procedure glLogicOp (opcode: LogicOpEnm); -- Face culling type FaceEnm is ( GL_FRONT, GL_BACK, GL_FRONT_AND_BACK ); for FaceEnm use ( GL_FRONT => 16#0404#, GL_BACK => 16#0405#, GL_FRONT_AND_BACK => 16#0408# ); for FaceEnm'Size use GLenum'size; procedure glCullFace (mode: FaceEnm); -- Polygon orientation type OrientationEnm is ( GL_CW, GL_CCW ); for OrientationEnm use ( GL_CW => 16#0900#, GL_CCW => 16#0901# ); for OrientationEnm'Size use GLenum'size; procedure glFrontFace (mode: OrientationEnm); -- Polygon mode type PolygonModeEnm is ( GL_POINT, GL_LINE, GL_FILL ); for PolygonModeEnm use ( GL_POINT => 16#1B00#, GL_LINE => 16#1B01#, GL_FILL => 16#1B02# ); for PolygonModeEnm'Size use GLenum'size; procedure glPolygonMode (face: FaceEnm; mode: PolygonModeEnm); -- Clipping plane operations type ClipPlaneEnm is ( GL_CLIP_PLANE0, GL_CLIP_PLANE1, GL_CLIP_PLANE2, GL_CLIP_PLANE3, GL_CLIP_PLANE4, GL_CLIP_PLANE5 ); for ClipPlaneEnm use ( GL_CLIP_PLANE0 => 16#3000#, GL_CLIP_PLANE1 => 16#3001#, GL_CLIP_PLANE2 => 16#3002#, GL_CLIP_PLANE3 => 16#3003#, GL_CLIP_PLANE4 => 16#3004#, GL_CLIP_PLANE5 => 16#3005# ); for ClipPlaneEnm'Size use GLenum'size; procedure glClipPlane (plane : ClipPlaneEnm; equation: GLdoublePtr); procedure glGetClipPlane (plane : ClipPlaneEnm; equation: GLdoublePtr); -- Buffer selection type DrawBufferEnm is ( GL_NONE, GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, GL_FRONT_AND_BACK, GL_AUX0, GL_AUX1, GL_AUX2, GL_AUX3 ); for DrawBufferEnm use ( GL_NONE => 16#0000#, GL_FRONT_LEFT => 16#0400#, GL_FRONT_RIGHT => 16#0401#, GL_BACK_LEFT => 16#0402#, GL_BACK_RIGHT => 16#0403#, GL_FRONT => 16#0404#, GL_BACK => 16#0405#, GL_LEFT => 16#0406#, GL_RIGHT => 16#0407#, GL_FRONT_AND_BACK => 16#0408#, GL_AUX0 => 16#0409#, GL_AUX1 => 16#040A#, GL_AUX2 => 16#040B#, GL_AUX3 => 16#040C# ); for DrawBufferEnm'Size use GLenum'size; procedure glDrawBuffer (mode: DrawBufferEnm); type ReadBufferEnm is ( GL_FRONT_LEFT, GL_FRONT_RIGHT, GL_BACK_LEFT, GL_BACK_RIGHT, GL_FRONT, GL_BACK, GL_LEFT, GL_RIGHT, GL_AUX0, GL_AUX1, GL_AUX2, GL_AUX3 ); for ReadBufferEnm use ( GL_FRONT_LEFT => 16#0400#, GL_FRONT_RIGHT => 16#0401#, GL_BACK_LEFT => 16#0402#, GL_BACK_RIGHT => 16#0403#, GL_FRONT => 16#0404#, GL_BACK => 16#0405#, GL_LEFT => 16#0406#, GL_RIGHT => 16#0407#, GL_AUX0 => 16#0409#, GL_AUX1 => 16#040A#, GL_AUX2 => 16#040B#, GL_AUX3 => 16#040C# ); for ReadBufferEnm'Size use GLenum'size; procedure glReadBuffer (mode: ReadBufferEnm); -- Server-side capabilities type ServerCapabilityEnm is ( GL_POINT_SMOOTH, GL_LINE_SMOOTH, GL_LINE_STIPPLE, GL_POLYGON_SMOOTH, GL_POLYGON_STIPPLE, GL_CULL_FACE, GL_LIGHTING, GL_COLOR_MATERIAL, GL_FOG, GL_DEPTH_TEST, GL_STENCIL_TEST, GL_NORMALIZE, GL_ALPHA_TEST, GL_DITHER, GL_BLEND, GL_INDEX_LOGIC_OP, GL_COLOR_LOGIC_OP, GL_SCISSOR_TEST, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, GL_TEXTURE_GEN_Q, GL_AUTO_NORMAL, GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_TEXTURE_1D, GL_TEXTURE_2D, GL_POLYGON_OFFSET_POINT, GL_POLYGON_OFFSET_LINE, GL_CLIP_PLANE0, GL_CLIP_PLANE1, GL_CLIP_PLANE2, GL_CLIP_PLANE3, GL_CLIP_PLANE4, GL_CLIP_PLANE5, GL_LIGHT0, GL_LIGHT1, GL_LIGHT2, GL_LIGHT3, GL_LIGHT4, GL_LIGHT5, GL_LIGHT6, GL_LIGHT7, GL_POLYGON_OFFSET_FILL, GL_TEXTURE_3D_EXT ); for ServerCapabilityEnm use ( GL_POINT_SMOOTH => 16#0B10#, GL_LINE_SMOOTH => 16#0B20#, GL_LINE_STIPPLE => 16#0B24#, GL_POLYGON_SMOOTH => 16#0B41#, GL_POLYGON_STIPPLE => 16#0B42#, GL_CULL_FACE => 16#0B44#, GL_LIGHTING => 16#0B50#, GL_COLOR_MATERIAL => 16#0B57#, GL_FOG => 16#0B60#, GL_DEPTH_TEST => 16#0B71#, GL_STENCIL_TEST => 16#0B90#, GL_NORMALIZE => 16#0BA1#, GL_ALPHA_TEST => 16#0BC0#, GL_DITHER => 16#0BD0#, GL_BLEND => 16#0BE2#, GL_INDEX_LOGIC_OP => 16#0BF1#, GL_COLOR_LOGIC_OP => 16#0BF2#, GL_SCISSOR_TEST => 16#0C11#, GL_TEXTURE_GEN_S => 16#0C60#, GL_TEXTURE_GEN_T => 16#0C61#, GL_TEXTURE_GEN_R => 16#0C62#, GL_TEXTURE_GEN_Q => 16#0C63#, GL_AUTO_NORMAL => 16#0D80#, GL_MAP1_COLOR_4 => 16#0D90#, GL_MAP1_INDEX => 16#0D91#, GL_MAP1_NORMAL => 16#0D92#, GL_MAP1_TEXTURE_COORD_1 => 16#0D93#, GL_MAP1_TEXTURE_COORD_2 => 16#0D94#, GL_MAP1_TEXTURE_COORD_3 => 16#0D95#, GL_MAP1_TEXTURE_COORD_4 => 16#0D96#, GL_MAP1_VERTEX_3 => 16#0D97#, GL_MAP1_VERTEX_4 => 16#0D98#, GL_MAP2_COLOR_4 => 16#0DB0#, GL_MAP2_INDEX => 16#0DB1#, GL_MAP2_NORMAL => 16#0DB2#, GL_MAP2_TEXTURE_COORD_1 => 16#0DB3#, GL_MAP2_TEXTURE_COORD_2 => 16#0DB4#, GL_MAP2_TEXTURE_COORD_3 => 16#0DB5#, GL_MAP2_TEXTURE_COORD_4 => 16#0DB6#, GL_MAP2_VERTEX_3 => 16#0DB7#, GL_MAP2_VERTEX_4 => 16#0DB8#, GL_TEXTURE_1D => 16#0DE0#, GL_TEXTURE_2D => 16#0DE1#, GL_POLYGON_OFFSET_POINT => 16#2A01#, GL_POLYGON_OFFSET_LINE => 16#2A02#, GL_CLIP_PLANE0 => 16#3000#, GL_CLIP_PLANE1 => 16#3001#, GL_CLIP_PLANE2 => 16#3002#, GL_CLIP_PLANE3 => 16#3003#, GL_CLIP_PLANE4 => 16#3004#, GL_CLIP_PLANE5 => 16#3005#, GL_LIGHT0 => 16#4000#, GL_LIGHT1 => 16#4001#, GL_LIGHT2 => 16#4002#, GL_LIGHT3 => 16#4003#, GL_LIGHT4 => 16#4004#, GL_LIGHT5 => 16#4005#, GL_LIGHT6 => 16#4006#, GL_LIGHT7 => 16#4007#, GL_POLYGON_OFFSET_FILL => 16#8037#, GL_TEXTURE_3D_EXT => 16#806F# ); for ServerCapabilityEnm'Size use GLenum'size; procedure glEnable (cap: ServerCapabilityEnm); procedure glDisable (cap: ServerCapabilityEnm); function glIsEnabled (cap: ServerCapabilityEnm) return GLboolean; -- Client state type ClientCapabilityEnm is ( GL_VERTEX_ARRAY, GL_NORMAL_ARRAY, GL_COLOR_ARRAY, GL_INDEX_ARRAY, GL_TEXTURE_COORD_ARRAY, GL_EDGE_FLAG_ARRAY ); for ClientCapabilityEnm use ( GL_VERTEX_ARRAY => 16#8074#, GL_NORMAL_ARRAY => 16#8075#, GL_COLOR_ARRAY => 16#8076#, GL_INDEX_ARRAY => 16#8077#, GL_TEXTURE_COORD_ARRAY => 16#8078#, GL_EDGE_FLAG_ARRAY => 16#8079# ); for ClientCapabilityEnm'Size use GLenum'size; procedure glEnableClientState (cap: ClientCapabilityEnm); procedure glDisableClientState (cap: ClientCapabilityEnm); -- Parameter fetches type ParameterNameEnm is ( GL_CURRENT_COLOR, GL_CURRENT_INDEX, GL_CURRENT_NORMAL, GL_CURRENT_TEXTURE_COORDS, GL_CURRENT_RASTER_COLOR, GL_CURRENT_RASTER_INDEX, GL_CURRENT_RASTER_TEXTURE_COORDS, GL_CURRENT_RASTER_POSITION, GL_CURRENT_RASTER_POSITION_VALID, GL_CURRENT_RASTER_DISTANCE, GL_POINT_SMOOTH, GL_POINT_SIZE, GL_POINT_SIZE_RANGE, GL_POINT_SIZE_GRANULARITY, GL_LINE_SMOOTH, GL_LINE_WIDTH, GL_LINE_WIDTH_RANGE, GL_LINE_WIDTH_GRANULARITY, GL_LINE_STIPPLE, GL_LINE_STIPPLE_PATTERN, GL_LINE_STIPPLE_REPEAT, GL_LIST_MODE, GL_MAX_LIST_NESTING, GL_LIST_BASE, GL_LIST_INDEX, GL_POLYGON_MODE, GL_POLYGON_SMOOTH, GL_POLYGON_STIPPLE, GL_EDGE_FLAG, GL_CULL_FACE, GL_CULL_FACE_MODE, GL_FRONT_FACE, GL_LIGHTING, GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_TWO_SIDE, GL_LIGHT_MODEL_AMBIENT, GL_SHADE_MODEL, GL_COLOR_MATERIAL_FACE, GL_COLOR_MATERIAL_PARAMETER, GL_COLOR_MATERIAL, GL_FOG, GL_FOG_INDEX, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_MODE, GL_FOG_COLOR, GL_DEPTH_RANGE, GL_DEPTH_TEST, GL_DEPTH_WRITEMASK, GL_DEPTH_CLEAR_VALUE, GL_DEPTH_FUNC, GL_ACCUM_CLEAR_VALUE, GL_STENCIL_TEST, GL_STENCIL_CLEAR_VALUE, GL_STENCIL_FUNC, GL_STENCIL_VALUE_MASK, GL_STENCIL_FAIL, GL_STENCIL_PASS_DEPTH_FAIL, GL_STENCIL_PASS_DEPTH_PASS, GL_STENCIL_REF, GL_STENCIL_WRITEMASK, GL_MATRIX_MODE, GL_NORMALIZE, GL_VIEWPORT, GL_MODELVIEW_STACK_DEPTH, GL_PROJECTION_STACK_DEPTH, GL_TEXTURE_STACK_DEPTH, GL_MODELVIEW_MATRIX, GL_PROJECTION_MATRIX, GL_TEXTURE_MATRIX, GL_ATTRIB_STACK_DEPTH, GL_CLIENT_ATTRIB_STACK_DEPTH, GL_ALPHA_TEST, GL_ALPHA_TEST_FUNC, GL_ALPHA_TEST_REF, GL_DITHER, GL_BLEND_DST, GL_BLEND_SRC, GL_BLEND, GL_LOGIC_OP_MODE, GL_INDEX_LOGIC_OP, GL_COLOR_LOGIC_OP, GL_AUX_BUFFERS, GL_DRAW_BUFFER, GL_READ_BUFFER, GL_SCISSOR_BOX, GL_SCISSOR_TEST, GL_INDEX_CLEAR_VALUE, GL_INDEX_WRITEMASK, GL_COLOR_CLEAR_VALUE, GL_COLOR_WRITEMASK, GL_INDEX_MODE, GL_RGBA_MODE, GL_DOUBLEBUFFER, GL_STEREO, GL_RENDER_MODE, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_LINE_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_FOG_HINT, GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R, GL_TEXTURE_GEN_Q, GL_PIXEL_MAP_I_TO_I_SIZE, GL_PIXEL_MAP_S_TO_S_SIZE, GL_PIXEL_MAP_I_TO_R_SIZE, GL_PIXEL_MAP_I_TO_G_SIZE, GL_PIXEL_MAP_I_TO_B_SIZE, GL_PIXEL_MAP_I_TO_A_SIZE, GL_PIXEL_MAP_R_TO_R_SIZE, GL_PIXEL_MAP_G_TO_G_SIZE, GL_PIXEL_MAP_B_TO_B_SIZE, GL_PIXEL_MAP_A_TO_A_SIZE, GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_ALIGNMENT, GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_PIXELS, GL_PACK_ALIGNMENT, GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_ZOOM_X, GL_ZOOM_Y, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, GL_DEPTH_BIAS, GL_MAX_EVAL_ORDER, GL_MAX_LIGHTS, GL_MAX_CLIP_PLANES, GL_MAX_TEXTURE_SIZE, GL_MAX_PIXEL_MAP_TABLE, GL_MAX_ATTRIB_STACK_DEPTH, GL_MAX_MODELVIEW_STACK_DEPTH, GL_MAX_NAME_STACK_DEPTH, GL_MAX_PROJECTION_STACK_DEPTH, GL_MAX_TEXTURE_STACK_DEPTH, GL_MAX_VIEWPORT_DIMS, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH, GL_SUBPIXEL_BITS, GL_INDEX_BITS, GL_RED_BITS, GL_GREEN_BITS, GL_BLUE_BITS, GL_ALPHA_BITS, GL_DEPTH_BITS, GL_STENCIL_BITS, GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS, GL_ACCUM_ALPHA_BITS, GL_NAME_STACK_DEPTH, GL_AUTO_NORMAL, GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4, GL_MAP1_GRID_DOMAIN, GL_MAP1_GRID_SEGMENTS, GL_MAP2_GRID_DOMAIN, GL_MAP2_GRID_SEGMENTS, GL_TEXTURE_1D, GL_TEXTURE_2D, GL_POLYGON_OFFSET_UNITS, GL_POLYGON_OFFSET_POINT, GL_POLYGON_OFFSET_LINE, GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_FACTOR, GL_TEXTURE_BINDING_1D, GL_TEXTURE_BINDING_2D, GL_VERTEX_ARRAY, GL_NORMAL_ARRAY, GL_COLOR_ARRAY, GL_INDEX_ARRAY, GL_TEXTURE_COORD_ARRAY, GL_EDGE_FLAG_ARRAY, GL_VERTEX_ARRAY_SIZE, GL_VERTEX_ARRAY_TYPE, GL_VERTEX_ARRAY_STRIDE, GL_NORMAL_ARRAY_TYPE, GL_NORMAL_ARRAY_STRIDE, GL_COLOR_ARRAY_SIZE, GL_COLOR_ARRAY_TYPE, GL_COLOR_ARRAY_STRIDE, GL_INDEX_ARRAY_TYPE, GL_INDEX_ARRAY_STRIDE, GL_TEXTURE_COORD_ARRAY_SIZE, GL_TEXTURE_COORD_ARRAY_TYPE, GL_TEXTURE_COORD_ARRAY_STRIDE, GL_EDGE_FLAG_ARRAY_STRIDE ); for ParameterNameEnm use ( GL_CURRENT_COLOR => 16#0B00#, GL_CURRENT_INDEX => 16#0B01#, GL_CURRENT_NORMAL => 16#0B02#, GL_CURRENT_TEXTURE_COORDS => 16#0B03#, GL_CURRENT_RASTER_COLOR => 16#0B04#, GL_CURRENT_RASTER_INDEX => 16#0B05#, GL_CURRENT_RASTER_TEXTURE_COORDS => 16#0B06#, GL_CURRENT_RASTER_POSITION => 16#0B07#, GL_CURRENT_RASTER_POSITION_VALID => 16#0B08#, GL_CURRENT_RASTER_DISTANCE => 16#0B09#, GL_POINT_SMOOTH => 16#0B10#, GL_POINT_SIZE => 16#0B11#, GL_POINT_SIZE_RANGE => 16#0B12#, GL_POINT_SIZE_GRANULARITY => 16#0B13#, GL_LINE_SMOOTH => 16#0B20#, GL_LINE_WIDTH => 16#0B21#, GL_LINE_WIDTH_RANGE => 16#0B22#, GL_LINE_WIDTH_GRANULARITY => 16#0B23#, GL_LINE_STIPPLE => 16#0B24#, GL_LINE_STIPPLE_PATTERN => 16#0B25#, GL_LINE_STIPPLE_REPEAT => 16#0B26#, GL_LIST_MODE => 16#0B30#, GL_MAX_LIST_NESTING => 16#0B31#, GL_LIST_BASE => 16#0B32#, GL_LIST_INDEX => 16#0B33#, GL_POLYGON_MODE => 16#0B40#, GL_POLYGON_SMOOTH => 16#0B41#, GL_POLYGON_STIPPLE => 16#0B42#, GL_EDGE_FLAG => 16#0B43#, GL_CULL_FACE => 16#0B44#, GL_CULL_FACE_MODE => 16#0B45#, GL_FRONT_FACE => 16#0B46#, GL_LIGHTING => 16#0B50#, GL_LIGHT_MODEL_LOCAL_VIEWER => 16#0B51#, GL_LIGHT_MODEL_TWO_SIDE => 16#0B52#, GL_LIGHT_MODEL_AMBIENT => 16#0B53#, GL_SHADE_MODEL => 16#0B54#, GL_COLOR_MATERIAL_FACE => 16#0B55#, GL_COLOR_MATERIAL_PARAMETER => 16#0B56#, GL_COLOR_MATERIAL => 16#0B57#, GL_FOG => 16#0B60#, GL_FOG_INDEX => 16#0B61#, GL_FOG_DENSITY => 16#0B62#, GL_FOG_START => 16#0B63#, GL_FOG_END => 16#0B64#, GL_FOG_MODE => 16#0B65#, GL_FOG_COLOR => 16#0B66#, GL_DEPTH_RANGE => 16#0B70#, GL_DEPTH_TEST => 16#0B71#, GL_DEPTH_WRITEMASK => 16#0B72#, GL_DEPTH_CLEAR_VALUE => 16#0B73#, GL_DEPTH_FUNC => 16#0B74#, GL_ACCUM_CLEAR_VALUE => 16#0B80#, GL_STENCIL_TEST => 16#0B90#, GL_STENCIL_CLEAR_VALUE => 16#0B91#, GL_STENCIL_FUNC => 16#0B92#, GL_STENCIL_VALUE_MASK => 16#0B93#, GL_STENCIL_FAIL => 16#0B94#, GL_STENCIL_PASS_DEPTH_FAIL => 16#0B95#, GL_STENCIL_PASS_DEPTH_PASS => 16#0B96#, GL_STENCIL_REF => 16#0B97#, GL_STENCIL_WRITEMASK => 16#0B98#, GL_MATRIX_MODE => 16#0BA0#, GL_NORMALIZE => 16#0BA1#, GL_VIEWPORT => 16#0BA2#, GL_MODELVIEW_STACK_DEPTH => 16#0BA3#, GL_PROJECTION_STACK_DEPTH => 16#0BA4#, GL_TEXTURE_STACK_DEPTH => 16#0BA5#, GL_MODELVIEW_MATRIX => 16#0BA6#, GL_PROJECTION_MATRIX => 16#0BA7#, GL_TEXTURE_MATRIX => 16#0BA8#, GL_ATTRIB_STACK_DEPTH => 16#0BB0#, GL_CLIENT_ATTRIB_STACK_DEPTH => 16#0BB1#, GL_ALPHA_TEST => 16#0BC0#, GL_ALPHA_TEST_FUNC => 16#0BC1#, GL_ALPHA_TEST_REF => 16#0BC2#, GL_DITHER => 16#0BD0#, GL_BLEND_DST => 16#0BE0#, GL_BLEND_SRC => 16#0BE1#, GL_BLEND => 16#0BE2#, GL_LOGIC_OP_MODE => 16#0BF0#, GL_INDEX_LOGIC_OP => 16#0BF1#, GL_COLOR_LOGIC_OP => 16#0BF2#, GL_AUX_BUFFERS => 16#0C00#, GL_DRAW_BUFFER => 16#0C01#, GL_READ_BUFFER => 16#0C02#, GL_SCISSOR_BOX => 16#0C10#, GL_SCISSOR_TEST => 16#0C11#, GL_INDEX_CLEAR_VALUE => 16#0C20#, GL_INDEX_WRITEMASK => 16#0C21#, GL_COLOR_CLEAR_VALUE => 16#0C22#, GL_COLOR_WRITEMASK => 16#0C23#, GL_INDEX_MODE => 16#0C30#, GL_RGBA_MODE => 16#0C31#, GL_DOUBLEBUFFER => 16#0C32#, GL_STEREO => 16#0C33#, GL_RENDER_MODE => 16#0C40#, GL_PERSPECTIVE_CORRECTION_HINT => 16#0C50#, GL_POINT_SMOOTH_HINT => 16#0C51#, GL_LINE_SMOOTH_HINT => 16#0C52#, GL_POLYGON_SMOOTH_HINT => 16#0C53#, GL_FOG_HINT => 16#0C54#, GL_TEXTURE_GEN_S => 16#0C60#, GL_TEXTURE_GEN_T => 16#0C61#, GL_TEXTURE_GEN_R => 16#0C62#, GL_TEXTURE_GEN_Q => 16#0C63#, GL_PIXEL_MAP_I_TO_I_SIZE => 16#0CB0#, GL_PIXEL_MAP_S_TO_S_SIZE => 16#0CB1#, GL_PIXEL_MAP_I_TO_R_SIZE => 16#0CB2#, GL_PIXEL_MAP_I_TO_G_SIZE => 16#0CB3#, GL_PIXEL_MAP_I_TO_B_SIZE => 16#0CB4#, GL_PIXEL_MAP_I_TO_A_SIZE => 16#0CB5#, GL_PIXEL_MAP_R_TO_R_SIZE => 16#0CB6#, GL_PIXEL_MAP_G_TO_G_SIZE => 16#0CB7#, GL_PIXEL_MAP_B_TO_B_SIZE => 16#0CB8#, GL_PIXEL_MAP_A_TO_A_SIZE => 16#0CB9#, GL_UNPACK_SWAP_BYTES => 16#0CF0#, GL_UNPACK_LSB_FIRST => 16#0CF1#, GL_UNPACK_ROW_LENGTH => 16#0CF2#, GL_UNPACK_SKIP_ROWS => 16#0CF3#, GL_UNPACK_SKIP_PIXELS => 16#0CF4#, GL_UNPACK_ALIGNMENT => 16#0CF5#, GL_PACK_SWAP_BYTES => 16#0D00#, GL_PACK_LSB_FIRST => 16#0D01#, GL_PACK_ROW_LENGTH => 16#0D02#, GL_PACK_SKIP_ROWS => 16#0D03#, GL_PACK_SKIP_PIXELS => 16#0D04#, GL_PACK_ALIGNMENT => 16#0D05#, GL_MAP_COLOR => 16#0D10#, GL_MAP_STENCIL => 16#0D11#, GL_INDEX_SHIFT => 16#0D12#, GL_INDEX_OFFSET => 16#0D13#, GL_RED_SCALE => 16#0D14#, GL_RED_BIAS => 16#0D15#, GL_ZOOM_X => 16#0D16#, GL_ZOOM_Y => 16#0D17#, GL_GREEN_SCALE => 16#0D18#, GL_GREEN_BIAS => 16#0D19#, GL_BLUE_SCALE => 16#0D1A#, GL_BLUE_BIAS => 16#0D1B#, GL_ALPHA_SCALE => 16#0D1C#, GL_ALPHA_BIAS => 16#0D1D#, GL_DEPTH_SCALE => 16#0D1E#, GL_DEPTH_BIAS => 16#0D1F#, GL_MAX_EVAL_ORDER => 16#0D30#, GL_MAX_LIGHTS => 16#0D31#, GL_MAX_CLIP_PLANES => 16#0D32#, GL_MAX_TEXTURE_SIZE => 16#0D33#, GL_MAX_PIXEL_MAP_TABLE => 16#0D34#, GL_MAX_ATTRIB_STACK_DEPTH => 16#0D35#, GL_MAX_MODELVIEW_STACK_DEPTH => 16#0D36#, GL_MAX_NAME_STACK_DEPTH => 16#0D37#, GL_MAX_PROJECTION_STACK_DEPTH => 16#0D38#, GL_MAX_TEXTURE_STACK_DEPTH => 16#0D39#, GL_MAX_VIEWPORT_DIMS => 16#0D3A#, GL_MAX_CLIENT_ATTRIB_STACK_DEPTH => 16#0D3B#, GL_SUBPIXEL_BITS => 16#0D50#, GL_INDEX_BITS => 16#0D51#, GL_RED_BITS => 16#0D52#, GL_GREEN_BITS => 16#0D53#, GL_BLUE_BITS => 16#0D54#, GL_ALPHA_BITS => 16#0D55#, GL_DEPTH_BITS => 16#0D56#, GL_STENCIL_BITS => 16#0D57#, GL_ACCUM_RED_BITS => 16#0D58#, GL_ACCUM_GREEN_BITS => 16#0D59#, GL_ACCUM_BLUE_BITS => 16#0D5A#, GL_ACCUM_ALPHA_BITS => 16#0D5B#, GL_NAME_STACK_DEPTH => 16#0D70#, GL_AUTO_NORMAL => 16#0D80#, GL_MAP1_COLOR_4 => 16#0D90#, GL_MAP1_INDEX => 16#0D91#, GL_MAP1_NORMAL => 16#0D92#, GL_MAP1_TEXTURE_COORD_1 => 16#0D93#, GL_MAP1_TEXTURE_COORD_2 => 16#0D94#, GL_MAP1_TEXTURE_COORD_3 => 16#0D95#, GL_MAP1_TEXTURE_COORD_4 => 16#0D96#, GL_MAP1_VERTEX_3 => 16#0D97#, GL_MAP1_VERTEX_4 => 16#0D98#, GL_MAP2_COLOR_4 => 16#0DB0#, GL_MAP2_INDEX => 16#0DB1#, GL_MAP2_NORMAL => 16#0DB2#, GL_MAP2_TEXTURE_COORD_1 => 16#0DB3#, GL_MAP2_TEXTURE_COORD_2 => 16#0DB4#, GL_MAP2_TEXTURE_COORD_3 => 16#0DB5#, GL_MAP2_TEXTURE_COORD_4 => 16#0DB6#, GL_MAP2_VERTEX_3 => 16#0DB7#, GL_MAP2_VERTEX_4 => 16#0DB8#, GL_MAP1_GRID_DOMAIN => 16#0DD0#, GL_MAP1_GRID_SEGMENTS => 16#0DD1#, GL_MAP2_GRID_DOMAIN => 16#0DD2#, GL_MAP2_GRID_SEGMENTS => 16#0DD3#, GL_TEXTURE_1D => 16#0DE0#, GL_TEXTURE_2D => 16#0DE1#, GL_POLYGON_OFFSET_UNITS => 16#2A00#, GL_POLYGON_OFFSET_POINT => 16#2A01#, GL_POLYGON_OFFSET_LINE => 16#2A02#, GL_POLYGON_OFFSET_FILL => 16#8037#, GL_POLYGON_OFFSET_FACTOR => 16#8038#, GL_TEXTURE_BINDING_1D => 16#8068#, GL_TEXTURE_BINDING_2D => 16#8069#, GL_VERTEX_ARRAY => 16#8074#, GL_NORMAL_ARRAY => 16#8075#, GL_COLOR_ARRAY => 16#8076#, GL_INDEX_ARRAY => 16#8077#, GL_TEXTURE_COORD_ARRAY => 16#8078#, GL_EDGE_FLAG_ARRAY => 16#8079#, GL_VERTEX_ARRAY_SIZE => 16#807A#, GL_VERTEX_ARRAY_TYPE => 16#807B#, GL_VERTEX_ARRAY_STRIDE => 16#807C#, GL_NORMAL_ARRAY_TYPE => 16#807E#, GL_NORMAL_ARRAY_STRIDE => 16#807F#, GL_COLOR_ARRAY_SIZE => 16#8081#, GL_COLOR_ARRAY_TYPE => 16#8082#, GL_COLOR_ARRAY_STRIDE => 16#8083#, GL_INDEX_ARRAY_TYPE => 16#8085#, GL_INDEX_ARRAY_STRIDE => 16#8086#, GL_TEXTURE_COORD_ARRAY_SIZE => 16#8088#, GL_TEXTURE_COORD_ARRAY_TYPE => 16#8089#, GL_TEXTURE_COORD_ARRAY_STRIDE => 16#808A#, GL_EDGE_FLAG_ARRAY_STRIDE => 16#808C# ); for ParameterNameEnm'Size use GLenum'size; procedure glGetBooleanv (pname : ParameterNameEnm; params: GLbooleanPtr); procedure glGetDoublev (pname : ParameterNameEnm; params: GLdoublePtr); procedure glGetFloatv (pname : ParameterNameEnm; params: GLfloatPtr); procedure glGetIntegerv (pname : ParameterNameEnm; params: GLintPtr); -- Render mode type RenderModeEnm is ( GL_RENDER, GL_FEEDBACK, GL_SELECT ); for RenderModeEnm use ( GL_RENDER => 16#1C00#, GL_FEEDBACK => 16#1C01#, GL_SELECT => 16#1C02# ); for RenderModeEnm'Size use GLenum'size; function glRenderMode(mode: RenderModeEnm) return GLint; -- Error information type ErrorEnm is ( GL_NO_ERROR, GL_INVALID_ENUM, GL_INVALID_VALUE, GL_INVALID_OPERATION, GL_STACK_OVERFLOW, GL_STACK_UNDERFLOW, GL_OUT_OF_MEMORY ); for ErrorEnm use ( GL_NO_ERROR => 16#0000#, GL_INVALID_ENUM => 16#0500#, GL_INVALID_VALUE => 16#0501#, GL_INVALID_OPERATION => 16#0502#, GL_STACK_OVERFLOW => 16#0503#, GL_STACK_UNDERFLOW => 16#0504#, GL_OUT_OF_MEMORY => 16#0505# ); for ErrorEnm'Size use GLenum'size; function glGetError return ErrorEnm; -- Connection description type StringEnm is ( GL_VENDOR, GL_RENDERER, GL_VERSION, GL_EXTENSIONS ); for StringEnm use ( GL_VENDOR => 16#1F00#, GL_RENDERER => 16#1F01#, GL_VERSION => 16#1F02#, GL_EXTENSIONS => 16#1F03# ); for StringEnm'Size use GLenum'size; function glGetString (name: StringEnm) return GLubytePtr; -- Behavior hints type HintEnm is ( GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_LINE_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_FOG_HINT ); for HintEnm use ( GL_PERSPECTIVE_CORRECTION_HINT => 16#0C50#, GL_POINT_SMOOTH_HINT => 16#0C51#, GL_LINE_SMOOTH_HINT => 16#0C52#, GL_POLYGON_SMOOTH_HINT => 16#0C53#, GL_FOG_HINT => 16#0C54# ); for HintEnm'Size use GLenum'size; type HintModeEnm is ( GL_DONT_CARE, GL_FASTEST, GL_NICEST ); for HintModeEnm use ( GL_DONT_CARE => 16#1100#, GL_FASTEST => 16#1101#, GL_NICEST => 16#1102# ); for HintModeEnm'Size use GLenum'size; procedure glHint (target: HintEnm; mode : HintModeEnm); -- Accumulation buffer type AccumEnm is ( GL_ACCUM, GL_LOAD, GL_RETURN, GL_MULT, GL_ADD ); for AccumEnm use ( GL_ACCUM => 16#0100#, GL_LOAD => 16#0101#, GL_RETURN => 16#0102#, GL_MULT => 16#0103#, GL_ADD => 16#0104# ); for AccumEnm'Size use GLenum'size; procedure glAccum (op : AccumEnm; value: GLfloat); -- Matrix mode type MatrixModeEnm is ( GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE ); for MatrixModeEnm use ( GL_MODELVIEW => 16#1700#, GL_PROJECTION => 16#1701#, GL_TEXTURE => 16#1702# ); for MatrixModeEnm'Size use GLenum'size; procedure glMatrixMode (mode: MatrixModeEnm); -- Display liststype ListModeEnm is type ListModeEnm is ( GL_COMPILE, GL_COMPILE_AND_EXECUTE ); for ListModeEnm use ( GL_COMPILE => 16#1300#, GL_COMPILE_AND_EXECUTE => 16#1301# ); for ListModeEnm'Size use GLenum'size; type OffsetTypeEnm is ( GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_2_BYTES, GL_3_BYTES, GL_4_BYTES ); for OffsetTypeEnm use ( GL_BYTE => 16#1400#, GL_UNSIGNED_BYTE => 16#1401#, GL_SHORT => 16#1402#, GL_UNSIGNED_SHORT => 16#1403#, GL_INT => 16#1404#, GL_UNSIGNED_INT => 16#1405#, GL_FLOAT => 16#1406#, GL_2_BYTES => 16#1407#, GL_3_BYTES => 16#1408#, GL_4_BYTES => 16#1409# ); for OffsetTypeEnm'Size use GLenum'size; function glIsList (list: GLuint) return GLboolean; procedure glDeleteLists (list : GLuint; c_range: GLsizei); function glGenLists (c_range: GLsizei) return GLuint; procedure glNewList (list: GLuint; mode: ListModeEnm); procedure glEndList; procedure glCallList (list: GLuint); procedure glCallLists (n : GLsizei; c_type: OffsetTypeEnm; lists : GLpointer); procedure glListBase (base: GLuint); -- Object definition type ObjectTypeEnm is ( GL_POINTS, GL_LINES, GL_LINE_LOOP, GL_LINE_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, GL_POLYGON ); for ObjectTypeEnm use ( GL_POINTS => 16#0000#, GL_LINES => 16#0001#, GL_LINE_LOOP => 16#0002#, GL_LINE_STRIP => 16#0003#, GL_TRIANGLES => 16#0004#, GL_TRIANGLE_STRIP => 16#0005#, GL_TRIANGLE_FAN => 16#0006#, GL_QUADS => 16#0007#, GL_QUAD_STRIP => 16#0008#, GL_POLYGON => 16#0009# ); for ObjectTypeEnm'Size use GLenum'size; procedure glBegin (mode: ObjectTypeEnm); procedure glEnd; -- Vertex arrays and related type VertexTypeEnm is ( GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE ); for VertexTypeEnm use ( GL_SHORT => 16#1402#, GL_INT => 16#1404#, GL_FLOAT => 16#1406#, GL_DOUBLE => 16#140A# ); for VertexTypeEnm'Size use GLenum'size; type NormalTypeEnm is ( GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE ); for NormalTypeEnm use ( GL_BYTE => 16#1400#, GL_SHORT => 16#1402#, GL_INT => 16#1404#, GL_FLOAT => 16#1406#, GL_DOUBLE => 16#140A# ); for NormalTypeEnm'Size use GLenum'size; type ColorTypeEnm is ( GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_DOUBLE ); for ColorTypeEnm use ( GL_BYTE => 16#1400#, GL_UNSIGNED_BYTE => 16#1401#, GL_SHORT => 16#1402#, GL_UNSIGNED_SHORT => 16#1403#, GL_INT => 16#1404#, GL_UNSIGNED_INT => 16#1405#, GL_FLOAT => 16#1406#, GL_DOUBLE => 16#140A# ); for ColorTypeEnm'Size use GLenum'size; type IndexTypeEnm is ( GL_UNSIGNED_BYTE, GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE ); for IndexTypeEnm use ( GL_UNSIGNED_BYTE => 16#1401#, GL_SHORT => 16#1402#, GL_INT => 16#1404#, GL_FLOAT => 16#1406#, GL_DOUBLE => 16#140A# ); for IndexTypeEnm'Size use GLenum'size; type TexCoordTypeEnm is ( GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE ); for TexCoordTypeEnm use ( GL_SHORT => 16#1402#, GL_INT => 16#1404#, GL_FLOAT => 16#1406#, GL_DOUBLE => 16#140A# ); for TexCoordTypeEnm'Size use GLenum'size; type ArrayIndexTypeEnm is ( GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT, GL_UNSIGNED_INT ); for ArrayIndexTypeEnm use ( GL_UNSIGNED_BYTE => 16#1401#, GL_UNSIGNED_SHORT => 16#1403#, GL_UNSIGNED_INT => 16#1405# ); for ArrayIndexTypeEnm'Size use GLenum'size; type InterleaveFormatEnm is ( GL_V2F, GL_V3F, GL_C4UB_V2F, GL_C4UB_V3F, GL_C3F_V3F, GL_N3F_V3F, GL_C4F_N3F_V3F, GL_T2F_V3F, GL_T4F_V4F, GL_T2F_C4UB_V3F, GL_T2F_C3F_V3F, GL_T2F_N3F_V3F, GL_T2F_C4F_N3F_V3F, GL_T4F_C4F_N3F_V4F ); for InterleaveFormatEnm use ( GL_V2F => 16#2A20#, GL_V3F => 16#2A21#, GL_C4UB_V2F => 16#2A22#, GL_C4UB_V3F => 16#2A23#, GL_C3F_V3F => 16#2A24#, GL_N3F_V3F => 16#2A25#, GL_C4F_N3F_V3F => 16#2A26#, GL_T2F_V3F => 16#2A27#, GL_T4F_V4F => 16#2A28#, GL_T2F_C4UB_V3F => 16#2A29#, GL_T2F_C3F_V3F => 16#2A2A#, GL_T2F_N3F_V3F => 16#2A2B#, GL_T2F_C4F_N3F_V3F => 16#2A2C#, GL_T4F_C4F_N3F_V4F => 16#2A2D# ); for InterleaveFormatEnm'Size use GLenum'size; procedure glVertexPointer (size : GLint; c_type: VertexTypeEnm; stride: GLsizei; ptr : GLpointer); procedure glNormalPointer (c_type: NormalTypeEnm; stride: GLsizei; ptr : GLpointer); procedure glColorPointer (size : GLint; c_type: ColorTypeEnm; stride: GLsizei; ptr : GLpointer); procedure glIndexPointer (c_type: IndexTypeEnm; stride: GLsizei; ptr : GLpointer); procedure glTexCoordPointer (size : GLint; c_type: TexCoordTypeEnm; stride: GLsizei; ptr : GLpointer); procedure glEdgeFlagPointer (stride: GLsizei; ptr : GLbooleanPtr); procedure glArrayElement (i: GLint); procedure glDrawArrays (mode : ObjectTypeEnm; first: GLint; count: GLsizei); procedure glDrawElements (mode : ObjectTypeEnm; count : GLsizei; c_type : ArrayIndexTypeEnm; indices: GLpointer); procedure glInterleavedArrays (format : InterleaveFormatEnm; stride : GLsizei; pointer: GLpointer); -- Shading model type ShadeModeEnm is ( GL_FLAT, GL_SMOOTH ); for ShadeModeEnm use ( GL_FLAT => 16#1D00#, GL_SMOOTH => 16#1D01# ); for ShadeModeEnm'Size use GLenum'size; procedure glShadeModel (mode: ShadeModeEnm); -- Lighting type LightIDEnm is ( GL_LIGHT0, GL_LIGHT1, GL_LIGHT2, GL_LIGHT3, GL_LIGHT4, GL_LIGHT5, GL_LIGHT6, GL_LIGHT7 ); for LightIDEnm use ( GL_LIGHT0 => 16#4000#, GL_LIGHT1 => 16#4001#, GL_LIGHT2 => 16#4002#, GL_LIGHT3 => 16#4003#, GL_LIGHT4 => 16#4004#, GL_LIGHT5 => 16#4005#, GL_LIGHT6 => 16#4006#, GL_LIGHT7 => 16#4007# ); for LightIDEnm'Size use GLenum'size; type LightParameterEnm is ( GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION ); for LightParameterEnm use ( GL_SPOT_EXPONENT => 16#1205#, GL_SPOT_CUTOFF => 16#1206#, GL_CONSTANT_ATTENUATION => 16#1207#, GL_LINEAR_ATTENUATION => 16#1208#, GL_QUADRATIC_ATTENUATION => 16#1209# ); for LightParameterEnm'Size use GLenum'size; type LightParameterVEnm is ( GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION ); for LightParameterVEnm use ( GL_AMBIENT => 16#1200#, GL_DIFFUSE => 16#1201#, GL_SPECULAR => 16#1202#, GL_POSITION => 16#1203#, GL_SPOT_DIRECTION => 16#1204#, GL_SPOT_EXPONENT => 16#1205#, GL_SPOT_CUTOFF => 16#1206#, GL_CONSTANT_ATTENUATION => 16#1207#, GL_LINEAR_ATTENUATION => 16#1208#, GL_QUADRATIC_ATTENUATION => 16#1209# ); for LightParameterVEnm'Size use GLenum'size; type LightModelEnm is ( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_TWO_SIDE ); for LightModelEnm use ( GL_LIGHT_MODEL_LOCAL_VIEWER => 16#0B51#, GL_LIGHT_MODEL_TWO_SIDE => 16#0B52# ); for LightModelEnm'Size use GLenum'size; type LightModelVEnm is ( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_LIGHT_MODEL_TWO_SIDE, GL_LIGHT_MODEL_AMBIENT ); for LightModelVEnm use ( GL_LIGHT_MODEL_LOCAL_VIEWER => 16#0B51#, GL_LIGHT_MODEL_TWO_SIDE => 16#0B52#, GL_LIGHT_MODEL_AMBIENT => 16#0B53# ); for LightModelVEnm'Size use GLenum'size; procedure glLightf (light: LightIDEnm; pname: LightParameterEnm; param: GLfloat); procedure glLighti (light: LightIDEnm; pname: LightParameterEnm; param: GLint); procedure glLightfv (light : LightIDEnm; pname : LightParameterVEnm; params: GLfloatPtr); procedure glLightiv (light : LightIDEnm; pname : LightParameterVEnm; params: GLintPtr); procedure glGetLightfv (light : LightIDEnm; pname : LightParameterVEnm; params: GLfloatPtr); procedure glGetLightiv (light : LightIDEnm; pname : LightParameterVEnm; params: GLintPtr); procedure glLightModelf (pname: LightModelEnm; param: GLfloat); procedure glLightModeli (pname: LightModelEnm; param: GLint); procedure glLightModelfv (pname : LightModelVEnm; params: GLfloatPtr); procedure glLightModeliv (pname : LightModelVEnm; params: GLintPtr); -- Materials type MaterialParameterEnm is ( GL_SHININESS ); for MaterialParameterEnm use ( GL_SHININESS => 16#1601# ); for MaterialParameterEnm'Size use GLenum'size; type MaterialParameterVEnm is ( GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, GL_AMBIENT_AND_DIFFUSE, GL_COLOR_INDEXES ); for MaterialParameterVEnm use ( GL_AMBIENT => 16#1200#, GL_DIFFUSE => 16#1201#, GL_SPECULAR => 16#1202#, GL_EMISSION => 16#1600#, GL_SHININESS => 16#1601#, GL_AMBIENT_AND_DIFFUSE => 16#1602#, GL_COLOR_INDEXES => 16#1603# ); for MaterialParameterVEnm'Size use GLenum'size; type GetMaterialParameterEnm is ( GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, GL_COLOR_INDEXES ); for GetMaterialParameterEnm use ( GL_AMBIENT => 16#1200#, GL_DIFFUSE => 16#1201#, GL_SPECULAR => 16#1202#, GL_EMISSION => 16#1600#, GL_SHININESS => 16#1601#, GL_COLOR_INDEXES => 16#1603# ); for GetMaterialParameterEnm'Size use GLenum'size; type ColorMaterialEnm is ( GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_AMBIENT_AND_DIFFUSE ); for ColorMaterialEnm use ( GL_AMBIENT => 16#1200#, GL_DIFFUSE => 16#1201#, GL_SPECULAR => 16#1202#, GL_EMISSION => 16#1600#, GL_AMBIENT_AND_DIFFUSE => 16#1602# ); for ColorMaterialEnm'Size use GLenum'size; procedure glMaterialf (face : FaceEnm; pname: MaterialParameterEnm; param: GLfloat); procedure glMateriali (face : FaceEnm; pname: MaterialParameterEnm; param: GLint); procedure glMaterialfv (face : FaceEnm; pname : MaterialParameterVEnm; params: GLfloatPtr); procedure glMaterialiv (face : FaceEnm; pname : MaterialParameterVEnm; params: GLintPtr); procedure glGetMaterialfv (face : FaceEnm; pname : GetMaterialParameterEnm; params: GLfloatPtr); procedure glGetMaterialiv (face : FaceEnm; pname : GetMaterialParameterEnm; params: GLintPtr); procedure glColorMaterial (face: FaceEnm; mode: ColorMaterialEnm); -- Pixel stuff type PixelStorageEnm is ( GL_UNPACK_SWAP_BYTES, GL_UNPACK_LSB_FIRST, GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_ROWS, GL_UNPACK_SKIP_PIXELS, GL_UNPACK_ALIGNMENT, GL_PACK_SWAP_BYTES, GL_PACK_LSB_FIRST, GL_PACK_ROW_LENGTH, GL_PACK_SKIP_ROWS, GL_PACK_SKIP_PIXELS, GL_PACK_ALIGNMENT ); for PixelStorageEnm use ( GL_UNPACK_SWAP_BYTES => 16#0CF0#, GL_UNPACK_LSB_FIRST => 16#0CF1#, GL_UNPACK_ROW_LENGTH => 16#0CF2#, GL_UNPACK_SKIP_ROWS => 16#0CF3#, GL_UNPACK_SKIP_PIXELS => 16#0CF4#, GL_UNPACK_ALIGNMENT => 16#0CF5#, GL_PACK_SWAP_BYTES => 16#0D00#, GL_PACK_LSB_FIRST => 16#0D01#, GL_PACK_ROW_LENGTH => 16#0D02#, GL_PACK_SKIP_ROWS => 16#0D03#, GL_PACK_SKIP_PIXELS => 16#0D04#, GL_PACK_ALIGNMENT => 16#0D05# ); for PixelStorageEnm'Size use GLenum'size; type PixelTransferEnm is ( GL_MAP_COLOR, GL_MAP_STENCIL, GL_INDEX_SHIFT, GL_INDEX_OFFSET, GL_RED_SCALE, GL_RED_BIAS, GL_GREEN_SCALE, GL_GREEN_BIAS, GL_BLUE_SCALE, GL_BLUE_BIAS, GL_ALPHA_SCALE, GL_ALPHA_BIAS, GL_DEPTH_SCALE, GL_DEPTH_BIAS ); for PixelTransferEnm use ( GL_MAP_COLOR => 16#0D10#, GL_MAP_STENCIL => 16#0D11#, GL_INDEX_SHIFT => 16#0D12#, GL_INDEX_OFFSET => 16#0D13#, GL_RED_SCALE => 16#0D14#, GL_RED_BIAS => 16#0D15#, GL_GREEN_SCALE => 16#0D18#, GL_GREEN_BIAS => 16#0D19#, GL_BLUE_SCALE => 16#0D1A#, GL_BLUE_BIAS => 16#0D1B#, GL_ALPHA_SCALE => 16#0D1C#, GL_ALPHA_BIAS => 16#0D1D#, GL_DEPTH_SCALE => 16#0D1E#, GL_DEPTH_BIAS => 16#0D1F# ); for PixelTransferEnm'Size use GLenum'size; type PixelMapEnm is ( GL_PIXEL_MAP_I_TO_I, GL_PIXEL_MAP_S_TO_S, GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B, GL_PIXEL_MAP_I_TO_A, GL_PIXEL_MAP_R_TO_R, GL_PIXEL_MAP_G_TO_G, GL_PIXEL_MAP_B_TO_B, GL_PIXEL_MAP_A_TO_A ); for PixelMapEnm use ( GL_PIXEL_MAP_I_TO_I => 16#0C70#, GL_PIXEL_MAP_S_TO_S => 16#0C71#, GL_PIXEL_MAP_I_TO_R => 16#0C72#, GL_PIXEL_MAP_I_TO_G => 16#0C73#, GL_PIXEL_MAP_I_TO_B => 16#0C74#, GL_PIXEL_MAP_I_TO_A => 16#0C75#, GL_PIXEL_MAP_R_TO_R => 16#0C76#, GL_PIXEL_MAP_G_TO_G => 16#0C77#, GL_PIXEL_MAP_B_TO_B => 16#0C78#, GL_PIXEL_MAP_A_TO_A => 16#0C79# ); for PixelMapEnm'Size use GLenum'size; type PixelFormatEnm is ( GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_LUMINANCE_ALPHA ); for PixelFormatEnm use ( GL_COLOR_INDEX => 16#1900#, GL_STENCIL_INDEX => 16#1901#, GL_DEPTH_COMPONENT => 16#1902#, GL_RED => 16#1903#, GL_GREEN => 16#1904#, GL_BLUE => 16#1905#, GL_ALPHA => 16#1906#, GL_RGB => 16#1907#, GL_RGBA => 16#1908#, GL_LUMINANCE => 16#1909#, GL_LUMINANCE_ALPHA => 16#190A# ); for PixelFormatEnm'Size use GLenum'size; type PixelDataTypeEnm is ( GL_BYTE, GL_UNSIGNED_BYTE, GL_SHORT, GL_UNSIGNED_SHORT, GL_INT, GL_UNSIGNED_INT, GL_FLOAT, GL_BITMAP ); for PixelDataTypeEnm use ( GL_BYTE => 16#1400#, GL_UNSIGNED_BYTE => 16#1401#, GL_SHORT => 16#1402#, GL_UNSIGNED_SHORT => 16#1403#, GL_INT => 16#1404#, GL_UNSIGNED_INT => 16#1405#, GL_FLOAT => 16#1406#, GL_BITMAP => 16#1A00# ); for PixelDataTypeEnm'Size use GLenum'size; type PixelCopyTypeEnm is ( GL_COLOR, GL_DEPTH, GL_STENCIL ); for PixelCopyTypeEnm use ( GL_COLOR => 16#1800#, GL_DEPTH => 16#1801#, GL_STENCIL => 16#1802# ); for PixelCopyTypeEnm'Size use GLenum'size; procedure glPixelZoom (xfactor: GLfloat; yfactor: GLfloat); procedure glPixelStoref (pname: PixelStorageEnm; param: GLfloat); procedure glPixelStorei (pname: PixelStorageEnm; param: GLint); procedure glPixelTransferf (pname: PixelTransferEnm; param: GLfloat); procedure glPixelTransferi (pname: PixelTransferEnm; param: GLint); procedure glPixelMapfv (map : PixelMapEnm; mapsize: GLint; values : GLfloatPtr); procedure glPixelMapuiv (map : PixelMapEnm; mapsize: GLint; values : GLuintPtr); procedure glPixelMapusv (map : PixelMapEnm; mapsize: GLint; values : GLushortPtr); procedure glGetPixelMapfv (map : PixelMapEnm; values: GLfloatPtr); procedure glGetPixelMapuiv (map : PixelMapEnm; values: GLuintPtr); procedure glGetPixelMapusv (map : PixelMapEnm; values: GLushortPtr); procedure glReadPixels (x : GLint; y : GLint; width : GLsizei; height: GLsizei; format: PixelFormatEnm; c_type: PixelDataTypeEnm; pixels: GLpointer); procedure glDrawPixels (width : GLsizei; height: GLsizei; format: PixelFormatEnm; c_type: PixelDataTypeEnm; pixels: GLpointer); procedure glCopyPixels (x : GLint; y : GLint; width : GLsizei; height: GLsizei; c_type: PixelCopyTypeEnm); -- Texturing type TexCoordEnm is ( GL_S, GL_T, GL_R, GL_Q ); for TexCoordEnm use ( GL_S => 16#2000#, GL_T => 16#2001#, GL_R => 16#2002#, GL_Q => 16#2003# ); for TexCoordEnm'Size use GLenum'size; type TexParameterEnm is ( GL_TEXTURE_GEN_MODE ); for TexParameterEnm use ( GL_TEXTURE_GEN_MODE => 16#2500# ); for TexParameterEnm'Size use GLenum'size; type TexParameterVEnm is ( GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, GL_EYE_PLANE ); for TexParameterVEnm use ( GL_TEXTURE_GEN_MODE => 16#2500#, GL_OBJECT_PLANE => 16#2501#, GL_EYE_PLANE => 16#2502# ); for TexParameterVEnm'Size use GLenum'size; type TexEnvEnm is ( GL_TEXTURE_ENV ); for TexEnvEnm use ( GL_TEXTURE_ENV => 16#2300# ); for TexEnvEnm'Size use GLenum'size; type TexEnvParameterEnm is ( GL_TEXTURE_ENV_MODE ); for TexEnvParameterEnm use ( GL_TEXTURE_ENV_MODE => 16#2200# ); for TexEnvParameterEnm'Size use GLenum'size; type TexEnvParameterVEnm is ( GL_TEXTURE_ENV_MODE, GL_TEXTURE_ENV_COLOR ); for TexEnvParameterVEnm use ( GL_TEXTURE_ENV_MODE => 16#2200#, GL_TEXTURE_ENV_COLOR => 16#2201# ); for TexEnvParameterVEnm'Size use GLenum'size; type TargetTexEnm is ( GL_TEXTURE_1D, GL_TEXTURE_2D ); for TargetTexEnm use ( GL_TEXTURE_1D => 16#0DE0#, GL_TEXTURE_2D => 16#0DE1# ); for TargetTexEnm'Size use GLenum'size; type TexParamEnm is ( GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_PRIORITY ); for TexParamEnm use ( GL_TEXTURE_MAG_FILTER => 16#2800#, GL_TEXTURE_MIN_FILTER => 16#2801#, GL_TEXTURE_WRAP_S => 16#2802#, GL_TEXTURE_WRAP_T => 16#2803#, GL_TEXTURE_PRIORITY => 16#8066# ); for TexParamEnm'Size use GLenum'size; type TexParamVEnm is ( GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_PRIORITY ); for TexParamVEnm use ( GL_TEXTURE_BORDER_COLOR => 16#1004#, GL_TEXTURE_MAG_FILTER => 16#2800#, GL_TEXTURE_MIN_FILTER => 16#2801#, GL_TEXTURE_WRAP_S => 16#2802#, GL_TEXTURE_WRAP_T => 16#2803#, GL_TEXTURE_PRIORITY => 16#8066# ); for TexParamVEnm'Size use GLenum'size; type GetTexParamEnm is ( GL_TEXTURE_BORDER_COLOR, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_PRIORITY, GL_TEXTURE_RESIDENT ); for GetTexParamEnm use ( GL_TEXTURE_BORDER_COLOR => 16#1004#, GL_TEXTURE_MAG_FILTER => 16#2800#, GL_TEXTURE_MIN_FILTER => 16#2801#, GL_TEXTURE_WRAP_S => 16#2802#, GL_TEXTURE_WRAP_T => 16#2803#, GL_TEXTURE_PRIORITY => 16#8066#, GL_TEXTURE_RESIDENT => 16#8067# ); for GetTexParamEnm'Size use GLenum'size; type TargetTexLevelEnm is ( GL_TEXTURE_1D, GL_TEXTURE_2D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D ); for TargetTexLevelEnm use ( GL_TEXTURE_1D => 16#0DE0#, GL_TEXTURE_2D => 16#0DE1#, GL_PROXY_TEXTURE_1D => 16#8063#, GL_PROXY_TEXTURE_2D => 16#8064# ); for TargetTexLevelEnm'Size use GLenum'size; type TexLevelParameterEnm is ( GL_TEXTURE_WIDTH, GL_TEXTURE_HEIGHT, GL_TEXTURE_COMPONENTS, GL_TEXTURE_BORDER, GL_TEXTURE_RED_SIZE, GL_TEXTURE_GREEN_SIZE, GL_TEXTURE_BLUE_SIZE, GL_TEXTURE_ALPHA_SIZE, GL_TEXTURE_LUMINANCE_SIZE, GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_INTERNAL_FORMAT ); for TexLevelParameterEnm use ( GL_TEXTURE_WIDTH => 16#1000#, GL_TEXTURE_HEIGHT => 16#1001#, GL_TEXTURE_COMPONENTS => 16#1003#, -- HP docs say to use this in 1.0 instead of INTERNAL_FORMAT??? GL_TEXTURE_BORDER => 16#1005#, GL_TEXTURE_RED_SIZE => 16#805C#, GL_TEXTURE_GREEN_SIZE => 16#805D#, GL_TEXTURE_BLUE_SIZE => 16#805E#, GL_TEXTURE_ALPHA_SIZE => 16#805F#, GL_TEXTURE_LUMINANCE_SIZE => 16#8060#, GL_TEXTURE_INTENSITY_SIZE => 16#8061#, GL_TEXTURE_INTERNAL_FORMAT => 16#FFFF# -- fixme: Mesa 2.5 does not support!! What's the real value? ); for TexLevelParameterEnm'Size use GLenum'size; type TargetTex1DEnm is ( GL_TEXTURE_1D, GL_PROXY_TEXTURE_1D ); for TargetTex1DEnm use ( GL_TEXTURE_1D => 16#0DE0#, GL_PROXY_TEXTURE_1D => 16#8063# ); for TargetTex1DEnm'Size use GLenum'size; type TexFormatEnm is ( GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_LUMINANCE_ALPHA, GL_R3_G3_B2, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, GL_RGBA16 ); for TexFormatEnm use ( GL_ALPHA => 16#1906#, GL_RGB => 16#1907#, GL_RGBA => 16#1908#, GL_LUMINANCE => 16#1909#, GL_LUMINANCE_ALPHA => 16#190A#, GL_R3_G3_B2 => 16#2A10#, GL_ALPHA4 => 16#803B#, GL_ALPHA8 => 16#803C#, GL_ALPHA12 => 16#803D#, GL_ALPHA16 => 16#803E#, GL_LUMINANCE4 => 16#803F#, GL_LUMINANCE8 => 16#8040#, GL_LUMINANCE12 => 16#8041#, GL_LUMINANCE16 => 16#8042#, GL_LUMINANCE4_ALPHA4 => 16#8043#, GL_LUMINANCE6_ALPHA2 => 16#8044#, GL_LUMINANCE8_ALPHA8 => 16#8045#, GL_LUMINANCE12_ALPHA4 => 16#8046#, GL_LUMINANCE12_ALPHA12 => 16#8047#, GL_LUMINANCE16_ALPHA16 => 16#8048#, GL_INTENSITY => 16#8049#, GL_INTENSITY4 => 16#804A#, GL_INTENSITY8 => 16#804B#, GL_INTENSITY12 => 16#804C#, GL_INTENSITY16 => 16#804D#, GL_RGB4 => 16#804F#, GL_RGB5 => 16#8050#, GL_RGB8 => 16#8051#, GL_RGB10 => 16#8052#, GL_RGB12 => 16#8053#, GL_RGB16 => 16#8054#, GL_RGBA2 => 16#8055#, GL_RGBA4 => 16#8056#, GL_RGB5_A1 => 16#8057#, GL_RGBA8 => 16#8058#, GL_RGB10_A2 => 16#8059#, GL_RGBA12 => 16#805A#, GL_RGBA16 => 16#805B# ); for TexFormatEnm'Size use GLenum'size; type TexPixelFormatEnm is ( GL_COLOR_INDEX, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_LUMINANCE_ALPHA ); for TexPixelFormatEnm use ( GL_COLOR_INDEX => 16#1900#, GL_RED => 16#1903#, GL_GREEN => 16#1904#, GL_BLUE => 16#1905#, GL_ALPHA => 16#1906#, GL_RGB => 16#1907#, GL_RGBA => 16#1908#, GL_LUMINANCE => 16#1909#, GL_LUMINANCE_ALPHA => 16#190A# ); for TexPixelFormatEnm'Size use GLenum'size; type TargetTex2DEnm is ( GL_TEXTURE_2D, GL_PROXY_TEXTURE_2D ); for TargetTex2DEnm use ( GL_TEXTURE_2D => 16#0DE1#, GL_PROXY_TEXTURE_2D => 16#8064# ); for TargetTex2DEnm'Size use GLenum'size; type TexImageFormatEnm is ( GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, GL_LUMINANCE_ALPHA ); for TexImageFormatEnm use ( GL_RED => 16#1903#, GL_GREEN => 16#1904#, GL_BLUE => 16#1905#, GL_ALPHA => 16#1906#, GL_RGB => 16#1907#, GL_RGBA => 16#1908#, GL_LUMINANCE => 16#1909#, GL_LUMINANCE_ALPHA => 16#190A# ); for TexImageFormatEnm'Size use GLenum'size; type TargetTex1DOnlyEnm is ( GL_TEXTURE_1D ); for TargetTex1DOnlyEnm use ( GL_TEXTURE_1D => 16#0DE0# ); for TargetTex1DOnlyEnm'Size use GLenum'size; type TargetTex2DOnlyEnm is ( GL_TEXTURE_2D ); for TargetTex2DOnlyEnm use ( GL_TEXTURE_2D => 16#0DE1# ); for TargetTex2DOnlyEnm'Size use GLenum'size; type TargetTex3DEnm is ( GL_TEXTURE_3D_EXT, GL_PROXY_TEXTURE_3D_EXT ); for TargetTex3DEnm use ( GL_TEXTURE_3D_EXT => 16#806F#, GL_PROXY_TEXTURE_3D_EXT => 16#8070# ); for TargetTex3DEnm'Size use GLenum'size; type TargetTex3DOnlyEnm is ( GL_TEXTURE_3D_EXT ); for TargetTex3DOnlyEnm use ( GL_TEXTURE_3D_EXT => 16#806F# ); for TargetTex3DOnlyEnm'Size use GLenum'size; -- Texture map parameters GL_OBJECT_LINEAR : constant := 16#2401#; GL_EYE_LINEAR : constant := 16#2400#; GL_SPHERE_MAP : constant := 16#2402#; -- Texture filter parameter values GL_NEAREST_MIPMAP_NEAREST : constant := 16#2700#; GL_NEAREST_MIPMAP_LINEAR : constant := 16#2702#; GL_LINEAR_MIPMAP_NEAREST : constant := 16#2701#; GL_LINEAR_MIPMAP_LINEAR : constant := 16#2703#; GL_DECAL : constant := 16#2101#; GL_MODULATE : constant := 16#2100#; GL_NEAREST : constant := 16#2600#; GL_REPEAT : constant := 16#2901#; GL_CLAMP : constant := 16#2900#; procedure glTexGend (coord: TexCoordEnm; pname: TexParameterEnm; param: GLdouble); procedure glTexGenf (coord: TexCoordEnm; pname: TexParameterEnm; param: GLfloat); procedure glTexGeni (coord: TexCoordEnm; pname: TexParameterEnm; param: GLint); procedure glTexGendv (coord : TexCoordEnm; pname : TexParameterVEnm; params: GLdoublePtr); procedure glTexGenfv (coord : TexCoordEnm; pname : TexParameterVEnm; params: GLfloatPtr); procedure glTexGeniv (coord : TexCoordEnm; pname : TexParameterVEnm; params: GLintPtr); procedure glGetTexGendv (coord : TexCoordEnm; pname : TexParameterVEnm; params: GLdoublePtr); procedure glGetTexGenfv (coord : TexCoordEnm; pname : TexParameterVEnm; params: GLfloatPtr); procedure glGetTexGeniv (coord : TexCoordEnm; pname : TexParameterVEnm; params: GLintPtr); procedure glTexEnvf (target: TexEnvEnm; pname : TexEnvParameterEnm; param : GLfloat); procedure glTexEnvi (target: TexEnvEnm; pname : TexEnvParameterEnm; param : GLint); procedure glTexEnvfv (target: TexEnvEnm; pname : TexEnvParameterVEnm; params: GLfloatPtr); procedure glTexEnviv (target: TexEnvEnm; pname : TexEnvParameterVEnm; params: GLintPtr); procedure glGetTexEnvfv (target: TexEnvEnm; pname : TexEnvParameterVEnm; params: GLfloatPtr); procedure glGetTexEnviv (target: TexEnvEnm; pname : TexEnvParameterVEnm; params: GLintPtr); procedure glTexParameterf (target: TargetTexEnm; pname : TexParamEnm; param : GLfloat); procedure glTexParameteri (target: TargetTexEnm; pname : TexParamEnm; param : GLint); procedure glTexParameterfv (target: TargetTexEnm; pname : TexParamVEnm; params: GLfloatPtr); procedure glTexParameteriv (target: TargetTexEnm; pname : TexParamVEnm; params: GLintPtr); procedure glGetTexParameterfv (target: TargetTexEnm; pname : GetTexParamEnm; params: GLfloatPtr); procedure glGetTexParameteriv (target: TargetTexEnm; pname : GetTexParamEnm; params: GLintPtr); procedure glGetTexLevelParameterfv (target: TargetTexLevelEnm; level : GLint; pname : TexLevelParameterEnm; params: GLfloatPtr); procedure glGetTexLevelParameteriv (target: TargetTexLevelEnm; level : GLint; pname : TexLevelParameterEnm; params: GLintPtr); procedure glTexImage1D (target : TargetTex1DEnm; level : GLint; internalFormat: TexFormatEnm; width : GLsizei; border : GLint; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; pixels : GLpointer); procedure glTexImage2D (target : TargetTex2DEnm; level : GLint; internalFormat: TexFormatEnm; width : GLsizei; height : GLsizei; border : GLint; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; pixels : GLpointer); procedure glGetTexImage (target: TargetTexEnm; level : GLint; format: TexImageFormatEnm; c_type: PixelDataTypeEnm; pixels: GLpointer); procedure glGenTextures (n : GLsizei; textures: GLuintPtr); procedure glDeleteTextures (n : GLsizei; textures: GLuintPtr); procedure glBindTexture (target : TargetTexEnm; texture: GLuint); procedure glPrioritizeTextures (n : GLsizei; textures : GLuintPtr; priorities: GLclampfPtr); function glAreTexturesResident (n : GLsizei; textures : GLuintPtr; residences: GLbooleanPtr) return GLboolean; function glIsTexture (texture: GLuint) return GLboolean; procedure glTexSubImage1D (target : TargetTex1DOnlyEnm; level : GLint; xoffset: GLint; width : GLsizei; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; pixels : GLpointer); procedure glTexSubImage2D (target : TargetTex2DOnlyEnm; level : GLint; xoffset: GLint; yoffset: GLint; width : GLsizei; height : GLsizei; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; pixels : GLpointer); procedure glCopyTexImage1D (target : TargetTex1DOnlyEnm; level : GLint; internalformat: TexFormatEnm; x : GLint; y : GLint; width : GLsizei; border : GLint); procedure glCopyTexImage2D (target : TargetTex2DOnlyEnm; level : GLint; internalformat: TexFormatEnm; x : GLint; y : GLint; width : GLsizei; height : GLsizei; border : GLint); procedure glCopyTexSubImage1D (target : TargetTex1DOnlyEnm; level : GLint; xoffset: GLint; x : GLint; y : GLint; width : GLsizei); procedure glCopyTexSubImage2D (target : TargetTex2DOnlyEnm; level : GLint; xoffset: GLint; yoffset: GLint; x : GLint; y : GLint; width : GLsizei; height : GLsizei); procedure glTexImage3DEXT (target : TargetTex3DEnm; level : GLint; internalFormat: TexPixelFormatEnm; width : GLsizei; height : GLsizei; depth : GLsizei; border : GLint; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; pixels : GLpointer); procedure glTexSubImage3DEXT (target : TargetTex3DOnlyEnm; level : GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; width : GLsizei; height : GLsizei; depth : GLsizei; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; pixels : GLpointer); procedure glCopyTexSubImage3DEXT (target : TargetTex3DOnlyEnm; level : GLint; xoffset: GLint; yoffset: GLint; zoffset: GLint; x : GLint; y : GLint; width : GLsizei; height : GLsizei); -- Evaluators type Map1TargetEnm is ( GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4 ); for Map1TargetEnm use ( GL_MAP1_COLOR_4 => 16#0D90#, GL_MAP1_INDEX => 16#0D91#, GL_MAP1_NORMAL => 16#0D92#, GL_MAP1_TEXTURE_COORD_1 => 16#0D93#, GL_MAP1_TEXTURE_COORD_2 => 16#0D94#, GL_MAP1_TEXTURE_COORD_3 => 16#0D95#, GL_MAP1_TEXTURE_COORD_4 => 16#0D96#, GL_MAP1_VERTEX_3 => 16#0D97#, GL_MAP1_VERTEX_4 => 16#0D98# ); for Map1TargetEnm'Size use GLenum'size; type Map2TargetEnm is ( GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4 ); for Map2TargetEnm use ( GL_MAP2_COLOR_4 => 16#0DB0#, GL_MAP2_INDEX => 16#0DB1#, GL_MAP2_NORMAL => 16#0DB2#, GL_MAP2_TEXTURE_COORD_1 => 16#0DB3#, GL_MAP2_TEXTURE_COORD_2 => 16#0DB4#, GL_MAP2_TEXTURE_COORD_3 => 16#0DB5#, GL_MAP2_TEXTURE_COORD_4 => 16#0DB6#, GL_MAP2_VERTEX_3 => 16#0DB7#, GL_MAP2_VERTEX_4 => 16#0DB8# ); for Map2TargetEnm'Size use GLenum'size; type MapTargetEnm is ( GL_MAP1_COLOR_4, GL_MAP1_INDEX, GL_MAP1_NORMAL, GL_MAP1_TEXTURE_COORD_1, GL_MAP1_TEXTURE_COORD_2, GL_MAP1_TEXTURE_COORD_3, GL_MAP1_TEXTURE_COORD_4, GL_MAP1_VERTEX_3, GL_MAP1_VERTEX_4, GL_MAP2_COLOR_4, GL_MAP2_INDEX, GL_MAP2_NORMAL, GL_MAP2_TEXTURE_COORD_1, GL_MAP2_TEXTURE_COORD_2, GL_MAP2_TEXTURE_COORD_3, GL_MAP2_TEXTURE_COORD_4, GL_MAP2_VERTEX_3, GL_MAP2_VERTEX_4 ); for MapTargetEnm use ( GL_MAP1_COLOR_4 => 16#0D90#, GL_MAP1_INDEX => 16#0D91#, GL_MAP1_NORMAL => 16#0D92#, GL_MAP1_TEXTURE_COORD_1 => 16#0D93#, GL_MAP1_TEXTURE_COORD_2 => 16#0D94#, GL_MAP1_TEXTURE_COORD_3 => 16#0D95#, GL_MAP1_TEXTURE_COORD_4 => 16#0D96#, GL_MAP1_VERTEX_3 => 16#0D97#, GL_MAP1_VERTEX_4 => 16#0D98#, GL_MAP2_COLOR_4 => 16#0DB0#, GL_MAP2_INDEX => 16#0DB1#, GL_MAP2_NORMAL => 16#0DB2#, GL_MAP2_TEXTURE_COORD_1 => 16#0DB3#, GL_MAP2_TEXTURE_COORD_2 => 16#0DB4#, GL_MAP2_TEXTURE_COORD_3 => 16#0DB5#, GL_MAP2_TEXTURE_COORD_4 => 16#0DB6#, GL_MAP2_VERTEX_3 => 16#0DB7#, GL_MAP2_VERTEX_4 => 16#0DB8# ); for MapTargetEnm'Size use GLenum'size; type MapQueryEnm is ( GL_COEFF, GL_ORDER, GL_DOMAIN ); for MapQueryEnm use ( GL_COEFF => 16#0A00#, GL_ORDER => 16#0A01#, GL_DOMAIN => 16#0A02# ); for MapQueryEnm'Size use GLenum'size; type Mesh1ModeEnm is ( GL_POINT, GL_LINE ); for Mesh1ModeEnm use ( GL_POINT => 16#1B00#, GL_LINE => 16#1B01# ); for Mesh1ModeEnm'Size use GLenum'size; type Mesh2ModeEnm is ( GL_POINT, GL_LINE, GL_FILL ); for Mesh2ModeEnm use ( GL_POINT => 16#1B00#, GL_LINE => 16#1B01#, GL_FILL => 16#1B02# ); for Mesh2ModeEnm'Size use GLenum'size; procedure glMap1d (target: Map1TargetEnm; u1 : GLdouble; u2 : GLdouble; stride: GLint; order : GLint; points: GLdoublePtr); procedure glMap1f (target: Map1TargetEnm; u1 : GLfloat; u2 : GLfloat; stride: GLint; order : GLint; points: GLfloatPtr); procedure glMap2d (target : Map2TargetEnm; u1 : GLdouble; u2 : GLdouble; ustride: GLint; uorder : GLint; v1 : GLdouble; v2 : GLdouble; vstride: GLint; vorder : GLint; points : GLdoublePtr); procedure glMap2f (target : Map2TargetEnm; u1 : GLfloat; u2 : GLfloat; ustride: GLint; uorder : GLint; v1 : GLfloat; v2 : GLfloat; vstride: GLint; vorder : GLint; points : GLfloatPtr); procedure glGetMapdv (target: MapTargetEnm; query : MapQueryEnm; v : GLdoublePtr); procedure glGetMapfv (target: MapTargetEnm; query : MapQueryEnm; v : GLfloatPtr); procedure glGetMapiv (target: MapTargetEnm; query : MapQueryEnm; v : GLintPtr); procedure glEvalPoint1 (i: GLint); procedure glEvalPoint2 (i: GLint; j: GLint); procedure glEvalMesh1 (mode: Mesh1ModeEnm; i1 : GLint; i2 : GLint); procedure glEvalMesh2 (mode: Mesh2ModeEnm; i1 : GLint; i2 : GLint; j1 : GLint; j2 : GLint); procedure glEvalCoord1d (u: GLdouble); procedure glEvalCoord1f (u: GLfloat); procedure glEvalCoord1dv (u: GLdoublePtr); procedure glEvalCoord1fv (u: GLfloatPtr); procedure glEvalCoord2d (u: GLdouble; v: GLdouble); procedure glEvalCoord2f (u: GLfloat; v: GLfloat); procedure glEvalCoord2dv (u: GLdoublePtr); procedure glEvalCoord2fv (u: GLfloatPtr); procedure glMapGrid1d (un: GLint; u1: GLdouble; u2: GLdouble); procedure glMapGrid1f (un: GLint; u1: GLfloat; u2: GLfloat); procedure glMapGrid2d (un: GLint; u1: GLdouble; u2: GLdouble; vn: GLint; v1: GLdouble; v2: GLdouble); procedure glMapGrid2f (un: GLint; u1: GLfloat; u2: GLfloat; vn: GLint; v1: GLfloat; v2: GLfloat); -- Fog type FogParameterEnm is ( GL_FOG_INDEX, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_MODE ); for FogParameterEnm use ( GL_FOG_INDEX => 16#0B61#, GL_FOG_DENSITY => 16#0B62#, GL_FOG_START => 16#0B63#, GL_FOG_END => 16#0B64#, GL_FOG_MODE => 16#0B65# ); for FogParameterEnm'Size use GLenum'size; type FogParameterVEnm is ( GL_FOG_INDEX, GL_FOG_DENSITY, GL_FOG_START, GL_FOG_END, GL_FOG_MODE, GL_FOG_COLOR ); for FogParameterVEnm use ( GL_FOG_INDEX => 16#0B61#, GL_FOG_DENSITY => 16#0B62#, GL_FOG_START => 16#0B63#, GL_FOG_END => 16#0B64#, GL_FOG_MODE => 16#0B65#, GL_FOG_COLOR => 16#0B66# ); for FogParameterVEnm'Size use GLenum'size; -- Fog attenuation modes GL_LINEAR : constant := 16#2601#; GL_EXP : constant := 16#0800#; GL_EXP2 : constant := 16#0801#; procedure glFogf (pname: FogParameterEnm; param: GLfloat); procedure glFogi (pname: FogParameterEnm; param: GLint); procedure glFogfv (pname : FogParameterVEnm; params: GLfloatPtr); procedure glFogiv (pname : FogParameterVEnm; params: GLintPtr); -- Feedback type FeedbackModeEnm is ( GL_2D, GL_3D, GL_3D_COLOR, GL_3D_COLOR_TEXTURE, GL_4D_COLOR_TEXTURE ); for FeedbackModeEnm use ( GL_2D => 16#0600#, GL_3D => 16#0601#, GL_3D_COLOR => 16#0602#, GL_3D_COLOR_TEXTURE => 16#0603#, GL_4D_COLOR_TEXTURE => 16#0604# ); for FeedbackModeEnm'Size use GLenum'size; -- Feedback tokens GL_POINT_TOKEN : constant := 16#0701#; GL_LINE_TOKEN : constant := 16#0702#; GL_LINE_RESET_TOKEN : constant := 16#0707#; GL_POLYGON_TOKEN : constant := 16#0703#; GL_BITMAP_TOKEN : constant := 16#0704#; GL_DRAW_PIXEL_TOKEN : constant := 16#0705#; GL_COPY_PIXEL_TOKEN : constant := 16#0706#; GL_PASS_THROUGH_TOKEN : constant := 16#0700#; GL_FEEDBACK_BUFFER_SIZE : constant := 16#0DF1#; GL_FEEDBACK_BUFFER_TYPE : constant := 16#0DF2#; procedure glFeedbackBuffer (size : GLsizei; c_type: FeedbackModeEnm; buffer: GLfloatPtr); procedure glPassThrough (token: GLfloat); -- Color tables (extension) type ColorTableTargetEnm is ( GL_TEXTURE_1D, GL_TEXTURE_2D, GL_PROXY_TEXTURE_1D, GL_PROXY_TEXTURE_2D, GL_TEXTURE_3D_EXT, GL_PROXY_TEXTURE_3D_EXT, GL_SHARED_TEXTURE_PALETTE_EXT ); for ColorTableTargetEnm use ( GL_TEXTURE_1D => 16#0DE0#, GL_TEXTURE_2D => 16#0DE1#, GL_PROXY_TEXTURE_1D => 16#8063#, GL_PROXY_TEXTURE_2D => 16#8064#, GL_TEXTURE_3D_EXT => 16#806F#, GL_PROXY_TEXTURE_3D_EXT => 16#8070#, GL_SHARED_TEXTURE_PALETTE_EXT => 16#81FB# ); for ColorTableTargetEnm'Size use GLenum'size; type GetColorTableTargetEnm is ( GL_TEXTURE_1D, GL_TEXTURE_2D, GL_TEXTURE_3D_EXT, GL_SHARED_TEXTURE_PALETTE_EXT ); for GetColorTableTargetEnm use ( GL_TEXTURE_1D => 16#0DE0#, GL_TEXTURE_2D => 16#0DE1#, GL_TEXTURE_3D_EXT => 16#806F#, GL_SHARED_TEXTURE_PALETTE_EXT => 16#81FB# ); for GetColorTableTargetEnm'Size use GLenum'size; type ColorTableParameterEnm is ( GL_COLOR_TABLE_FORMAT_EXT, GL_COLOR_TABLE_WIDTH_EXT, GL_COLOR_TABLE_RED_SIZE_EXT, GL_COLOR_TABLE_GREEN_SIZE_EXT, GL_COLOR_TABLE_BLUE_SIZE_EXT, GL_COLOR_TABLE_ALPHA_SIZE_EXT, GL_COLOR_TABLE_LUMINANCE_SIZE_EXT, GL_COLOR_TABLE_INTENSITY_SIZE_EXT ); for ColorTableParameterEnm use ( GL_COLOR_TABLE_FORMAT_EXT => 16#80D8#, GL_COLOR_TABLE_WIDTH_EXT => 16#80D9#, GL_COLOR_TABLE_RED_SIZE_EXT => 16#80DA#, GL_COLOR_TABLE_GREEN_SIZE_EXT => 16#80DB#, GL_COLOR_TABLE_BLUE_SIZE_EXT => 16#80DC#, GL_COLOR_TABLE_ALPHA_SIZE_EXT => 16#80DD#, GL_COLOR_TABLE_LUMINANCE_SIZE_EXT => 16#80DE#, GL_COLOR_TABLE_INTENSITY_SIZE_EXT => 16#80DF# ); for ColorTableParameterEnm'Size use GLenum'size; procedure glColorTableEXT (target : ColorTableTargetEnm; internalformat: TexFormatEnm; width : GLsizei; format : TexPixelFormatEnm; c_type : PixelDataTypeEnm; table : GLpointer); procedure glColorSubTableEXT (target: ColorTableTargetEnm; start : GLsizei; count : GLsizei; format: TexPixelFormatEnm; c_type: PixelDataTypeEnm; data : GLpointer); procedure glGetColorTableEXT (target: GetColorTableTargetEnm; format: TexPixelFormatEnm; c_type: PixelDataTypeEnm; table : GLpointer); procedure glGetColorTableParameterfvEXT (target: GetColorTableTargetEnm; pname : ColorTableParameterEnm; params: GLfloatPtr); procedure glGetColorTableParameterivEXT (target: GetColorTableTargetEnm; pname : ColorTableParameterEnm; params: GLintPtr); -- Point parameters (extension) type PointParameterEnm is ( GL_POINT_SIZE_MIN_EXT, GL_POINT_SIZE_MAX_EXT, GL_POINT_FADE_THRESHOLD_SIZE_EXT ); for PointParameterEnm use ( GL_POINT_SIZE_MIN_EXT => 16#8126#, GL_POINT_SIZE_MAX_EXT => 16#8127#, GL_POINT_FADE_THRESHOLD_SIZE_EXT => 16#8128# ); for PointParameterEnm'Size use GLenum'size; type PointParameterVEnm is ( GL_POINT_SIZE_MIN_EXT, GL_POINT_SIZE_MAX_EXT, GL_POINT_FADE_THRESHOLD_SIZE_EXT, GL_DISTANCE_ATTENUATION_EXT ); for PointParameterVEnm use ( GL_POINT_SIZE_MIN_EXT => 16#8126#, GL_POINT_SIZE_MAX_EXT => 16#8127#, GL_POINT_FADE_THRESHOLD_SIZE_EXT => 16#8128#, GL_DISTANCE_ATTENUATION_EXT => 16#8129# ); for PointParameterVEnm'Size use GLenum'size; procedure glPointParameterfEXT (pname: PointParameterEnm; param: GLfloat); procedure glPointParameterfvEXT (pname : PointParameterVEnm; params: GLfloatPtr); -- Clears procedure glClearIndex (c: GLfloat); procedure glClearColor (red : GLclampf; green: GLclampf; blue : GLclampf; alpha: GLclampf); procedure glClear (mask: GLbitfield); procedure glClearDepth (depth: GLclampd); procedure glClearAccum (red : GLfloat; green: GLfloat; blue : GLfloat; alpha: GLfloat); -- Masks procedure glIndexMask (mask: GLuint); procedure glColorMask (red : GLboolean; green: GLboolean; blue : GLboolean; alpha: GLboolean); -- Drawing parameters procedure glPointSize (size: GLfloat); procedure glLineWidth (width: GLfloat); procedure glLineStipple (factor : GLint; pattern: GLushort); procedure glPolygonOffset (factor: GLfloat; units : GLfloat); procedure glPolygonStipple (mask: GLubytePtr); procedure glGetPolygonStipple (mask: GLubytePtr); procedure glEdgeFlag (flag: GLboolean); procedure glEdgeFlagv (flag: GLbooleanPtr); procedure glScissor (x : GLint; y : GLint; width : GLsizei; height: GLsizei); -- Atribute stacks procedure glPushAttrib (mask: GLbitfield); procedure glPopAttrib; procedure glPushClientAttrib (mask: GLbitfield); procedure glPopClientAttrib; -- Pipeline control procedure glFinish; procedure glFlush; procedure glDepthMask (flag: GLboolean); procedure glDepthRange (near_val: GLclampd; far_val : GLclampd); -- Projections procedure glOrtho (left : GLdouble; right : GLdouble; bottom : GLdouble; top : GLdouble; near_val: GLdouble; far_val : GLdouble); procedure glFrustum (left : GLdouble; right : GLdouble; bottom : GLdouble; top : GLdouble; near_val: GLdouble; far_val : GLdouble); procedure glViewport (x : GLint; y : GLint; width : GLsizei; height: GLsizei); -- Matrix stacks procedure glPushMatrix; procedure glPopMatrix; procedure glLoadIdentity; procedure glLoadMatrixd (m: GLdoublePtr); procedure glLoadMatrixf (m: GLfloatPtr); procedure glMultMatrixd (m: GLdoublePtr); procedure glMultMatrixf (m: GLfloatPtr); -- Transformations procedure glRotated (angle: GLdouble; x : GLdouble; y : GLdouble; z : GLdouble); procedure glRotatef (angle: GLfloat; x : GLfloat; y : GLfloat; z : GLfloat); procedure glScaled (x: GLdouble; y: GLdouble; z: GLdouble); procedure glScalef (x: GLfloat; y: GLfloat; z: GLfloat); procedure glTranslated (x: GLdouble; y: GLdouble; z: GLdouble); procedure glTranslatef (x: GLfloat; y: GLfloat; z: GLfloat); -- Specify vertices procedure glVertex2d (x: GLdouble; y: GLdouble); procedure glVertex2f (x: GLfloat; y: GLfloat); procedure glVertex2i (x: GLint; y: GLint); procedure glVertex2s (x: GLshort; y: GLshort); procedure glVertex3d (x: GLdouble; y: GLdouble; z: GLdouble); procedure glVertex3f (x: GLfloat; y: GLfloat; z: GLfloat); procedure glVertex3i (x: GLint; y: GLint; z: GLint); procedure glVertex3s (x: GLshort; y: GLshort; z: GLshort); procedure glVertex4d (x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); procedure glVertex4f (x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); procedure glVertex4i (x: GLint; y: GLint; z: GLint; w: GLint); procedure glVertex4s (x: GLshort; y: GLshort; z: GLshort; w: GLshort); procedure glVertex2dv (v: GLdoublePtr); procedure glVertex2fv (v: GLfloatPtr); procedure glVertex2iv (v: GLintPtr); procedure glVertex2sv (v: GLshortPtr); procedure glVertex3dv (v: GLdoublePtr); procedure glVertex3fv (v: GLfloatPtr); procedure glVertex3iv (v: GLintPtr); procedure glVertex3sv (v: GLshortPtr); procedure glVertex4dv (v: GLdoublePtr); procedure glVertex4fv (v: GLfloatPtr); procedure glVertex4iv (v: GLintPtr); procedure glVertex4sv (v: GLshortPtr); -- Specify normai vectors procedure glNormal3b (nx: GLbyte; ny: GLbyte; nz: GLbyte); procedure glNormal3d (nx: GLdouble; ny: GLdouble; nz: GLdouble); procedure glNormal3f (nx: GLfloat; ny: GLfloat; nz: GLfloat); procedure glNormal3i (nx: GLint; ny: GLint; nz: GLint); procedure glNormal3s (nx: GLshort; ny: GLshort; nz: GLshort); procedure glNormal3bv (v: GLbytePtr); procedure glNormal3dv (v: GLdoublePtr); procedure glNormal3fv (v: GLfloatPtr); procedure glNormal3iv (v: GLintPtr); procedure glNormal3sv (v: GLshortPtr); -- Indexed color procedure glIndexd (c: GLdouble); procedure glIndexf (c: GLfloat); procedure glIndexi (c: GLint); procedure glIndexs (c: GLshort); procedure glIndexub (c: GLubyte); procedure glIndexdv (c: GLdoublePtr); procedure glIndexfv (c: GLfloatPtr); procedure glIndexiv (c: GLintPtr); procedure glIndexsv (c: GLshortPtr); procedure glIndexubv (c: GLubytePtr); -- Component color procedure glColor3b (red : GLbyte; green: GLbyte; blue : GLbyte); procedure glColor3d (red : GLdouble; green: GLdouble; blue : GLdouble); procedure glColor3f (red : GLfloat; green: GLfloat; blue : GLfloat); procedure glColor3i (red : GLint; green: GLint; blue : GLint); procedure glColor3s (red : GLshort; green: GLshort; blue : GLshort); procedure glColor3ub (red : GLubyte; green: GLubyte; blue : GLubyte); procedure glColor3ui (red : GLuint; green: GLuint; blue : GLuint); procedure glColor3us (red : GLushort; green: GLushort; blue : GLushort); procedure glColor4b (red : GLbyte; green: GLbyte; blue : GLbyte; alpha: GLbyte); procedure glColor4d (red : GLdouble; green: GLdouble; blue : GLdouble; alpha: GLdouble); procedure glColor4f (red : GLfloat; green: GLfloat; blue : GLfloat; alpha: GLfloat); procedure glColor4i (red : GLint; green: GLint; blue : GLint; alpha: GLint); procedure glColor4s (red : GLshort; green: GLshort; blue : GLshort; alpha: GLshort); procedure glColor4ub (red : GLubyte; green: GLubyte; blue : GLubyte; alpha: GLubyte); procedure glColor4ui (red : GLuint; green: GLuint; blue : GLuint; alpha: GLuint); procedure glColor4us (red : GLushort; green: GLushort; blue : GLushort; alpha: GLushort); procedure glColor3bv (v: GLbytePtr); procedure glColor3dv (v: GLdoublePtr); procedure glColor3fv (v: GLfloatPtr); procedure glColor3iv (v: GLintPtr); procedure glColor3sv (v: GLshortPtr); procedure glColor3ubv (v: GLubytePtr); procedure glColor3uiv (v: GLuintPtr); procedure glColor3usv (v: GLushortPtr); procedure glColor4bv (v: GLbytePtr); procedure glColor4dv (v: GLdoublePtr); procedure glColor4fv (v: GLfloatPtr); procedure glColor4iv (v: GLintPtr); procedure glColor4sv (v: GLshortPtr); procedure glColor4ubv (v: GLubytePtr); procedure glColor4uiv (v: GLuintPtr); procedure glColor4usv (v: GLushortPtr); -- Texture coordinates procedure glTexCoord1d (s: GLdouble); procedure glTexCoord1f (s: GLfloat); procedure glTexCoord1i (s: GLint); procedure glTexCoord1s (s: GLshort); procedure glTexCoord2d (s: GLdouble; t: GLdouble); procedure glTexCoord2f (s: GLfloat; t: GLfloat); procedure glTexCoord2i (s: GLint; t: GLint); procedure glTexCoord2s (s: GLshort; t: GLshort); procedure glTexCoord3d (s: GLdouble; t: GLdouble; r: GLdouble); procedure glTexCoord3f (s: GLfloat; t: GLfloat; r: GLfloat); procedure glTexCoord3i (s: GLint; t: GLint; r: GLint); procedure glTexCoord3s (s: GLshort; t: GLshort; r: GLshort); procedure glTexCoord4d (s: GLdouble; t: GLdouble; r: GLdouble; q: GLdouble); procedure glTexCoord4f (s: GLfloat; t: GLfloat; r: GLfloat; q: GLfloat); procedure glTexCoord4i (s: GLint; t: GLint; r: GLint; q: GLint); procedure glTexCoord4s (s: GLshort; t: GLshort; r: GLshort; q: GLshort); procedure glTexCoord1dv (v: GLdoublePtr); procedure glTexCoord1fv (v: GLfloatPtr); procedure glTexCoord1iv (v: GLintPtr); procedure glTexCoord1sv (v: GLshortPtr); procedure glTexCoord2dv (v: GLdoublePtr); procedure glTexCoord2fv (v: GLfloatPtr); procedure glTexCoord2iv (v: GLintPtr); procedure glTexCoord2sv (v: GLshortPtr); procedure glTexCoord3dv (v: GLdoublePtr); procedure glTexCoord3fv (v: GLfloatPtr); procedure glTexCoord3iv (v: GLintPtr); procedure glTexCoord3sv (v: GLshortPtr); procedure glTexCoord4dv (v: GLdoublePtr); procedure glTexCoord4fv (v: GLfloatPtr); procedure glTexCoord4iv (v: GLintPtr); procedure glTexCoord4sv (v: GLshortPtr); -- Pixel op raster position procedure glRasterPos2d (x: GLdouble; y: GLdouble); procedure glRasterPos2f (x: GLfloat; y: GLfloat); procedure glRasterPos2i (x: GLint; y: GLint); procedure glRasterPos2s (x: GLshort; y: GLshort); procedure glRasterPos3d (x: GLdouble; y: GLdouble; z: GLdouble); procedure glRasterPos3f (x: GLfloat; y: GLfloat; z: GLfloat); procedure glRasterPos3i (x: GLint; y: GLint; z: GLint); procedure glRasterPos3s (x: GLshort; y: GLshort; z: GLshort); procedure glRasterPos4d (x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); procedure glRasterPos4f (x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); procedure glRasterPos4i (x: GLint; y: GLint; z: GLint; w: GLint); procedure glRasterPos4s (x: GLshort; y: GLshort; z: GLshort; w: GLshort); procedure glRasterPos2dv (v: GLdoublePtr); procedure glRasterPos2fv (v: GLfloatPtr); procedure glRasterPos2iv (v: GLintPtr); procedure glRasterPos2sv (v: GLshortPtr); procedure glRasterPos3dv (v: GLdoublePtr); procedure glRasterPos3fv (v: GLfloatPtr); procedure glRasterPos3iv (v: GLintPtr); procedure glRasterPos3sv (v: GLshortPtr); procedure glRasterPos4dv (v: GLdoublePtr); procedure glRasterPos4fv (v: GLfloatPtr); procedure glRasterPos4iv (v: GLintPtr); procedure glRasterPos4sv (v: GLshortPtr); -- Rectangles procedure glRectd (x1: GLdouble; y1: GLdouble; x2: GLdouble; y2: GLdouble); procedure glRectf (x1: GLfloat; y1: GLfloat; x2: GLfloat; y2: GLfloat); procedure glRecti (x1: GLint; y1: GLint; x2: GLint; y2: GLint); procedure glRects (x1: GLshort; y1: GLshort; x2: GLshort; y2: GLshort); procedure glRectdv (v1: GLdoublePtr; v2: GLdoublePtr); procedure glRectfv (v1: GLfloatPtr; v2: GLfloatPtr); procedure glRectiv (v1: GLintPtr; v2: GLintPtr); procedure glRectsv (v1: GLshortPtr; v2: GLshortPtr); -- Bitmap procedure glBitmap (width : GLsizei; height: GLsizei; xorig : GLfloat; yorig : GLfloat; xmove : GLfloat; ymove : GLfloat; bitmap: GLubytePtr); -- Stenciling procedure glStencilMask (mask: GLuint); procedure glClearStencil (s: GLint); -- Selections and name stack procedure glSelectBuffer (size : GLsizei; buffer: GLuintPtr); procedure glInitNames; procedure glLoadName (name: GLuint); procedure glPushName (name: GLuint); procedure glPopName; -- Mesa-specific routines procedure glWindowPos2iMESA (x: GLint; y: GLint); procedure glWindowPos2sMESA (x: GLshort; y: GLshort); procedure glWindowPos2fMESA (x: GLfloat; y: GLfloat); procedure glWindowPos2dMESA (x: GLdouble; y: GLdouble); procedure glWindowPos2ivMESA (p: GLintPtr); procedure glWindowPos2svMESA (p: GLshortPtr); procedure glWindowPos2fvMESA (p: GLfloatPtr); procedure glWindowPos2dvMESA (p: GLdoublePtr); procedure glWindowPos3iMESA (x: GLint; y: GLint; z: GLint); procedure glWindowPos3sMESA (x: GLshort; y: GLshort; z: GLshort); procedure glWindowPos3fMESA (x: GLfloat; y: GLfloat; z: GLfloat); procedure glWindowPos3dMESA (x: GLdouble; y: GLdouble; z: GLdouble); procedure glWindowPos3ivMESA (p: GLintPtr); procedure glWindowPos3svMESA (p: GLshortPtr); procedure glWindowPos3fvMESA (p: GLfloatPtr); procedure glWindowPos3dvMESA (p: GLdoublePtr); procedure glWindowPos4iMESA (x: GLint; y: GLint; z: GLint; w: GLint); procedure glWindowPos4sMESA (x: GLshort; y: GLshort; z: GLshort; w: GLshort); procedure glWindowPos4fMESA (x: GLfloat; y: GLfloat; z: GLfloat; w: GLfloat); procedure glWindowPos4dMESA (x: GLdouble; y: GLdouble; z: GLdouble; w: GLdouble); procedure glWindowPos4ivMESA (p: GLintPtr); procedure glWindowPos4svMESA (p: GLshortPtr); procedure glWindowPos4fvMESA (p: GLfloatPtr); procedure glWindowPos4dvMESA (p: GLdoublePtr); procedure glResizeBuffersMESA; ------------------------------------------------------------------------------ private pragma Import (C, glClearIndex, "glClearIndex"); pragma Import (C, glClearColor, "glClearColor"); pragma Import (C, glClear, "glClear"); pragma Import (C, glIndexMask, "glIndexMask"); pragma Import (C, glColorMask, "glColorMask"); pragma Import (C, glAlphaFunc, "glAlphaFunc"); pragma Import (C, glBlendFunc, "glBlendFunc"); pragma Import (C, glLogicOp, "glLogicOp"); pragma Import (C, glCullFace, "glCullFace"); pragma Import (C, glFrontFace, "glFrontFace"); pragma Import (C, glPointSize, "glPointSize"); pragma Import (C, glLineWidth, "glLineWidth"); pragma Import (C, glLineStipple, "glLineStipple"); pragma Import (C, glPolygonMode, "glPolygonMode"); pragma Import (C, glPolygonOffset, "glPolygonOffset"); pragma Import (C, glPolygonStipple, "glPolygonStipple"); pragma Import (C, glGetPolygonStipple, "glGetPolygonStipple"); pragma Import (C, glEdgeFlag, "glEdgeFlag"); pragma Import (C, glEdgeFlagv, "glEdgeFlagv"); pragma Import (C, glScissor, "glScissor"); pragma Import (C, glClipPlane, "glClipPlane"); pragma Import (C, glGetClipPlane, "glGetClipPlane"); pragma Import (C, glDrawBuffer, "glDrawBuffer"); pragma Import (C, glReadBuffer, "glReadBuffer"); pragma Import (C, glEnable, "glEnable"); pragma Import (C, glDisable, "glDisable"); pragma Import (C, glIsEnabled, "glIsEnabled"); pragma Import (C, glEnableClientState, "glEnableClientState"); pragma Import (C, glDisableClientState, "glDisableClientState"); pragma Import (C, glGetBooleanv, "glGetBooleanv"); pragma Import (C, glGetDoublev, "glGetDoublev"); pragma Import (C, glGetFloatv, "glGetFloatv"); pragma Import (C, glGetIntegerv, "glGetIntegerv"); pragma Import (C, glPushAttrib, "glPushAttrib"); pragma Import (C, glPopAttrib, "glPopAttrib"); pragma Import (C, glPushClientAttrib, "glPushClientAttrib"); pragma Import (C, glPopClientAttrib, "glPopClientAttrib"); pragma Import (C, glRenderMode, "glRenderMode"); pragma Import (C, glGetError, "glGetError"); pragma Import (C, glGetString, "glGetString"); pragma Import (C, glFinish, "glFinish"); pragma Import (C, glFlush, "glFlush"); pragma Import (C, glHint, "glHint"); pragma Import (C, glClearDepth, "glClearDepth"); pragma Import (C, glDepthFunc, "glDepthFunc"); pragma Import (C, glDepthMask, "glDepthMask"); pragma Import (C, glDepthRange, "glDepthRange"); pragma Import (C, glClearAccum, "glClearAccum"); pragma Import (C, glAccum, "glAccum"); pragma Import (C, glMatrixMode, "glMatrixMode"); pragma Import (C, glOrtho, "glOrtho"); pragma Import (C, glFrustum, "glFrustum"); pragma Import (C, glViewport, "glViewport"); pragma Import (C, glPushMatrix, "glPushMatrix"); pragma Import (C, glPopMatrix, "glPopMatrix"); pragma Import (C, glLoadIdentity, "glLoadIdentity"); pragma Import (C, glLoadMatrixd, "glLoadMatrixd"); pragma Import (C, glLoadMatrixf, "glLoadMatrixf"); pragma Import (C, glMultMatrixd, "glMultMatrixd"); pragma Import (C, glMultMatrixf, "glMultMatrixf"); pragma Import (C, glRotated, "glRotated"); pragma Import (C, glRotatef, "glRotatef"); pragma Import (C, glScaled, "glScaled"); pragma Import (C, glScalef, "glScalef"); pragma Import (C, glTranslated, "glTranslated"); pragma Import (C, glTranslatef, "glTranslatef"); pragma Import (C, glIsList, "glIsList"); pragma Import (C, glDeleteLists, "glDeleteLists"); pragma Import (C, glGenLists, "glGenLists"); pragma Import (C, glNewList, "glNewList"); pragma Import (C, glEndList, "glEndList"); pragma Import (C, glCallList, "glCallList"); pragma Import (C, glCallLists, "glCallLists"); pragma Import (C, glListBase, "glListBase"); pragma Import (C, glBegin, "glBegin"); pragma Import (C, glEnd, "glEnd"); pragma Import (C, glVertex2d, "glVertex2d"); pragma Import (C, glVertex2f, "glVertex2f"); pragma Import (C, glVertex2i, "glVertex2i"); pragma Import (C, glVertex2s, "glVertex2s"); pragma Import (C, glVertex3d, "glVertex3d"); pragma Import (C, glVertex3f, "glVertex3f"); pragma Import (C, glVertex3i, "glVertex3i"); pragma Import (C, glVertex3s, "glVertex3s"); pragma Import (C, glVertex4d, "glVertex4d"); pragma Import (C, glVertex4f, "glVertex4f"); pragma Import (C, glVertex4i, "glVertex4i"); pragma Import (C, glVertex4s, "glVertex4s"); pragma Import (C, glVertex2dv, "glVertex2dv"); pragma Import (C, glVertex2fv, "glVertex2fv"); pragma Import (C, glVertex2iv, "glVertex2iv"); pragma Import (C, glVertex2sv, "glVertex2sv"); pragma Import (C, glVertex3dv, "glVertex3dv"); pragma Import (C, glVertex3fv, "glVertex3fv"); pragma Import (C, glVertex3iv, "glVertex3iv"); pragma Import (C, glVertex3sv, "glVertex3sv"); pragma Import (C, glVertex4dv, "glVertex4dv"); pragma Import (C, glVertex4fv, "glVertex4fv"); pragma Import (C, glVertex4iv, "glVertex4iv"); pragma Import (C, glVertex4sv, "glVertex4sv"); pragma Import (C, glNormal3b, "glNormal3b"); pragma Import (C, glNormal3d, "glNormal3d"); pragma Import (C, glNormal3f, "glNormal3f"); pragma Import (C, glNormal3i, "glNormal3i"); pragma Import (C, glNormal3s, "glNormal3s"); pragma Import (C, glNormal3bv, "glNormal3bv"); pragma Import (C, glNormal3dv, "glNormal3dv"); pragma Import (C, glNormal3fv, "glNormal3fv"); pragma Import (C, glNormal3iv, "glNormal3iv"); pragma Import (C, glNormal3sv, "glNormal3sv"); pragma Import (C, glIndexd, "glIndexd"); pragma Import (C, glIndexf, "glIndexf"); pragma Import (C, glIndexi, "glIndexi"); pragma Import (C, glIndexs, "glIndexs"); pragma Import (C, glIndexub, "glIndexub"); pragma Import (C, glIndexdv, "glIndexdv"); pragma Import (C, glIndexfv, "glIndexfv"); pragma Import (C, glIndexiv, "glIndexiv"); pragma Import (C, glIndexsv, "glIndexsv"); pragma Import (C, glIndexubv, "glIndexubv"); pragma Import (C, glColor3b, "glColor3b"); pragma Import (C, glColor3d, "glColor3d"); pragma Import (C, glColor3f, "glColor3f"); pragma Import (C, glColor3i, "glColor3i"); pragma Import (C, glColor3s, "glColor3s"); pragma Import (C, glColor3ub, "glColor3ub"); pragma Import (C, glColor3ui, "glColor3ui"); pragma Import (C, glColor3us, "glColor3us"); pragma Import (C, glColor4b, "glColor4b"); pragma Import (C, glColor4d, "glColor4d"); pragma Import (C, glColor4f, "glColor4f"); pragma Import (C, glColor4i, "glColor4i"); pragma Import (C, glColor4s, "glColor4s"); pragma Import (C, glColor4ub, "glColor4ub"); pragma Import (C, glColor4ui, "glColor4ui"); pragma Import (C, glColor4us, "glColor4us"); pragma Import (C, glColor3bv, "glColor3bv"); pragma Import (C, glColor3dv, "glColor3dv"); pragma Import (C, glColor3fv, "glColor3fv"); pragma Import (C, glColor3iv, "glColor3iv"); pragma Import (C, glColor3sv, "glColor3sv"); pragma Import (C, glColor3ubv, "glColor3ubv"); pragma Import (C, glColor3uiv, "glColor3uiv"); pragma Import (C, glColor3usv, "glColor3usv"); pragma Import (C, glColor4bv, "glColor4bv"); pragma Import (C, glColor4dv, "glColor4dv"); pragma Import (C, glColor4fv, "glColor4fv"); pragma Import (C, glColor4iv, "glColor4iv"); pragma Import (C, glColor4sv, "glColor4sv"); pragma Import (C, glColor4ubv, "glColor4ubv"); pragma Import (C, glColor4uiv, "glColor4uiv"); pragma Import (C, glColor4usv, "glColor4usv"); pragma Import (C, glTexCoord1d, "glTexCoord1d"); pragma Import (C, glTexCoord1f, "glTexCoord1f"); pragma Import (C, glTexCoord1i, "glTexCoord1i"); pragma Import (C, glTexCoord1s, "glTexCoord1s"); pragma Import (C, glTexCoord2d, "glTexCoord2d"); pragma Import (C, glTexCoord2f, "glTexCoord2f"); pragma Import (C, glTexCoord2i, "glTexCoord2i"); pragma Import (C, glTexCoord2s, "glTexCoord2s"); pragma Import (C, glTexCoord3d, "glTexCoord3d"); pragma Import (C, glTexCoord3f, "glTexCoord3f"); pragma Import (C, glTexCoord3i, "glTexCoord3i"); pragma Import (C, glTexCoord3s, "glTexCoord3s"); pragma Import (C, glTexCoord4d, "glTexCoord4d"); pragma Import (C, glTexCoord4f, "glTexCoord4f"); pragma Import (C, glTexCoord4i, "glTexCoord4i"); pragma Import (C, glTexCoord4s, "glTexCoord4s"); pragma Import (C, glTexCoord1dv, "glTexCoord1dv"); pragma Import (C, glTexCoord1fv, "glTexCoord1fv"); pragma Import (C, glTexCoord1iv, "glTexCoord1iv"); pragma Import (C, glTexCoord1sv, "glTexCoord1sv"); pragma Import (C, glTexCoord2dv, "glTexCoord2dv"); pragma Import (C, glTexCoord2fv, "glTexCoord2fv"); pragma Import (C, glTexCoord2iv, "glTexCoord2iv"); pragma Import (C, glTexCoord2sv, "glTexCoord2sv"); pragma Import (C, glTexCoord3dv, "glTexCoord3dv"); pragma Import (C, glTexCoord3fv, "glTexCoord3fv"); pragma Import (C, glTexCoord3iv, "glTexCoord3iv"); pragma Import (C, glTexCoord3sv, "glTexCoord3sv"); pragma Import (C, glTexCoord4dv, "glTexCoord4dv"); pragma Import (C, glTexCoord4fv, "glTexCoord4fv"); pragma Import (C, glTexCoord4iv, "glTexCoord4iv"); pragma Import (C, glTexCoord4sv, "glTexCoord4sv"); pragma Import (C, glRasterPos2d, "glRasterPos2d"); pragma Import (C, glRasterPos2f, "glRasterPos2f"); pragma Import (C, glRasterPos2i, "glRasterPos2i"); pragma Import (C, glRasterPos2s, "glRasterPos2s"); pragma Import (C, glRasterPos3d, "glRasterPos3d"); pragma Import (C, glRasterPos3f, "glRasterPos3f"); pragma Import (C, glRasterPos3i, "glRasterPos3i"); pragma Import (C, glRasterPos3s, "glRasterPos3s"); pragma Import (C, glRasterPos4d, "glRasterPos4d"); pragma Import (C, glRasterPos4f, "glRasterPos4f"); pragma Import (C, glRasterPos4i, "glRasterPos4i"); pragma Import (C, glRasterPos4s, "glRasterPos4s"); pragma Import (C, glRasterPos2dv, "glRasterPos2dv"); pragma Import (C, glRasterPos2fv, "glRasterPos2fv"); pragma Import (C, glRasterPos2iv, "glRasterPos2iv"); pragma Import (C, glRasterPos2sv, "glRasterPos2sv"); pragma Import (C, glRasterPos3dv, "glRasterPos3dv"); pragma Import (C, glRasterPos3fv, "glRasterPos3fv"); pragma Import (C, glRasterPos3iv, "glRasterPos3iv"); pragma Import (C, glRasterPos3sv, "glRasterPos3sv"); pragma Import (C, glRasterPos4dv, "glRasterPos4dv"); pragma Import (C, glRasterPos4fv, "glRasterPos4fv"); pragma Import (C, glRasterPos4iv, "glRasterPos4iv"); pragma Import (C, glRasterPos4sv, "glRasterPos4sv"); pragma Import (C, glRectd, "glRectd"); pragma Import (C, glRectf, "glRectf"); pragma Import (C, glRecti, "glRecti"); pragma Import (C, glRects, "glRects"); pragma Import (C, glRectdv, "glRectdv"); pragma Import (C, glRectfv, "glRectfv"); pragma Import (C, glRectiv, "glRectiv"); pragma Import (C, glRectsv, "glRectsv"); pragma Import (C, glVertexPointer, "glVertexPointer"); pragma Import (C, glNormalPointer, "glNormalPointer"); pragma Import (C, glColorPointer, "glColorPointer"); pragma Import (C, glIndexPointer, "glIndexPointer"); pragma Import (C, glTexCoordPointer, "glTexCoordPointer"); pragma Import (C, glEdgeFlagPointer, "glEdgeFlagPointer"); pragma Import (C, glGetPointerv, "glGetPointerv"); pragma Import (C, glArrayElement, "glArrayElement"); pragma Import (C, glDrawArrays, "glDrawArrays"); pragma Import (C, glDrawElements, "glDrawElements"); pragma Import (C, glInterleavedArrays, "glInterleavedArrays"); pragma Import (C, glShadeModel, "glShadeModel"); pragma Import (C, glLightf, "glLightf"); pragma Import (C, glLighti, "glLighti"); pragma Import (C, glLightfv, "glLightfv"); pragma Import (C, glLightiv, "glLightiv"); pragma Import (C, glGetLightfv, "glGetLightfv"); pragma Import (C, glGetLightiv, "glGetLightiv"); pragma Import (C, glLightModelf, "glLightModelf"); pragma Import (C, glLightModeli, "glLightModeli"); pragma Import (C, glLightModelfv, "glLightModelfv"); pragma Import (C, glLightModeliv, "glLightModeliv"); pragma Import (C, glMaterialf, "glMaterialf"); pragma Import (C, glMateriali, "glMateriali"); pragma Import (C, glMaterialfv, "glMaterialfv"); pragma Import (C, glMaterialiv, "glMaterialiv"); pragma Import (C, glGetMaterialfv, "glGetMaterialfv"); pragma Import (C, glGetMaterialiv, "glGetMaterialiv"); pragma Import (C, glColorMaterial, "glColorMaterial"); pragma Import (C, glPixelZoom, "glPixelZoom"); pragma Import (C, glPixelStoref, "glPixelStoref"); pragma Import (C, glPixelStorei, "glPixelStorei"); pragma Import (C, glPixelTransferf, "glPixelTransferf"); pragma Import (C, glPixelTransferi, "glPixelTransferi"); pragma Import (C, glPixelMapfv, "glPixelMapfv"); pragma Import (C, glPixelMapuiv, "glPixelMapuiv"); pragma Import (C, glPixelMapusv, "glPixelMapusv"); pragma Import (C, glGetPixelMapfv, "glGetPixelMapfv"); pragma Import (C, glGetPixelMapuiv, "glGetPixelMapuiv"); pragma Import (C, glGetPixelMapusv, "glGetPixelMapusv"); pragma Import (C, glBitmap, "glBitmap"); pragma Import (C, glReadPixels, "glReadPixels"); pragma Import (C, glDrawPixels, "glDrawPixels"); pragma Import (C, glCopyPixels, "glCopyPixels"); pragma Import (C, glStencilFunc, "glStencilFunc"); pragma Import (C, glStencilMask, "glStencilMask"); pragma Import (C, glStencilOp, "glStencilOp"); pragma Import (C, glClearStencil, "glClearStencil"); pragma Import (C, glTexGend, "glTexGend"); pragma Import (C, glTexGenf, "glTexGenf"); pragma Import (C, glTexGeni, "glTexGeni"); pragma Import (C, glTexGendv, "glTexGendv"); pragma Import (C, glTexGenfv, "glTexGenfv"); pragma Import (C, glTexGeniv, "glTexGeniv"); pragma Import (C, glGetTexGendv, "glGetTexGendv"); pragma Import (C, glGetTexGenfv, "glGetTexGenfv"); pragma Import (C, glGetTexGeniv, "glGetTexGeniv"); pragma Import (C, glTexEnvf, "glTexEnvf"); pragma Import (C, glTexEnvi, "glTexEnvi"); pragma Import (C, glTexEnvfv, "glTexEnvfv"); pragma Import (C, glTexEnviv, "glTexEnviv"); pragma Import (C, glGetTexEnvfv, "glGetTexEnvfv"); pragma Import (C, glGetTexEnviv, "glGetTexEnviv"); pragma Import (C, glTexParameterf, "glTexParameterf"); pragma Import (C, glTexParameteri, "glTexParameteri"); pragma Import (C, glTexParameterfv, "glTexParameterfv"); pragma Import (C, glTexParameteriv, "glTexParameteriv"); pragma Import (C, glGetTexParameterfv, "glGetTexParameterfv"); pragma Import (C, glGetTexParameteriv, "glGetTexParameteriv"); pragma Import (C, glGetTexLevelParameterfv, "glGetTexLevelParameterfv"); pragma Import (C, glGetTexLevelParameteriv, "glGetTexLevelParameteriv"); pragma Import (C, glTexImage1D, "glTexImage1D"); pragma Import (C, glTexImage2D, "glTexImage2D"); pragma Import (C, glGetTexImage, "glGetTexImage"); pragma Import (C, glGenTextures, "glGenTextures"); pragma Import (C, glDeleteTextures, "glDeleteTextures"); pragma Import (C, glBindTexture, "glBindTexture"); pragma Import (C, glPrioritizeTextures, "glPrioritizeTextures"); pragma Import (C, glAreTexturesResident, "glAreTexturesResident"); pragma Import (C, glIsTexture, "glIsTexture"); pragma Import (C, glTexSubImage1D, "glTexSubImage1D"); pragma Import (C, glTexSubImage2D, "glTexSubImage2D"); pragma Import (C, glCopyTexImage1D, "glCopyTexImage1D"); pragma Import (C, glCopyTexImage2D, "glCopyTexImage2D"); pragma Import (C, glCopyTexSubImage1D, "glCopyTexSubImage1D"); pragma Import (C, glCopyTexSubImage2D, "glCopyTexSubImage2D"); pragma Import (C, glMap1d, "glMap1d"); pragma Import (C, glMap1f, "glMap1f"); pragma Import (C, glMap2d, "glMap2d"); pragma Import (C, glMap2f, "glMap2f"); pragma Import (C, glGetMapdv, "glGetMapdv"); pragma Import (C, glGetMapfv, "glGetMapfv"); pragma Import (C, glGetMapiv, "glGetMapiv"); pragma Import (C, glEvalCoord1d, "glEvalCoord1d"); pragma Import (C, glEvalCoord1f, "glEvalCoord1f"); pragma Import (C, glEvalCoord1dv, "glEvalCoord1dv"); pragma Import (C, glEvalCoord1fv, "glEvalCoord1fv"); pragma Import (C, glEvalCoord2d, "glEvalCoord2d"); pragma Import (C, glEvalCoord2f, "glEvalCoord2f"); pragma Import (C, glEvalCoord2dv, "glEvalCoord2dv"); pragma Import (C, glEvalCoord2fv, "glEvalCoord2fv"); pragma Import (C, glMapGrid1d, "glMapGrid1d"); pragma Import (C, glMapGrid1f, "glMapGrid1f"); pragma Import (C, glMapGrid2d, "glMapGrid2d"); pragma Import (C, glMapGrid2f, "glMapGrid2f"); pragma Import (C, glEvalPoint1, "glEvalPoint1"); pragma Import (C, glEvalPoint2, "glEvalPoint2"); pragma Import (C, glEvalMesh1, "glEvalMesh1"); pragma Import (C, glEvalMesh2, "glEvalMesh2"); pragma Import (C, glFogf, "glFogf"); pragma Import (C, glFogi, "glFogi"); pragma Import (C, glFogfv, "glFogfv"); pragma Import (C, glFogiv, "glFogiv"); pragma Import (C, glFeedbackBuffer, "glFeedbackBuffer"); pragma Import (C, glPassThrough, "glPassThrough"); pragma Import (C, glSelectBuffer, "glSelectBuffer"); pragma Import (C, glInitNames, "glInitNames"); pragma Import (C, glLoadName, "glLoadName"); pragma Import (C, glPushName, "glPushName"); pragma Import (C, glPopName, "glPopName"); pragma Import (C, glBlendEquationEXT, "glBlendEquationEXT"); pragma Import (C, glBlendColorEXT, "glBlendColorEXT"); pragma Import (C, glTexImage3DEXT, "glTexImage3DEXT"); pragma Import (C, glTexSubImage3DEXT, "glTexSubImage3DEXT"); pragma Import (C, glCopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT"); pragma Import (C, glColorTableEXT, "glColorTableEXT"); pragma Import (C, glColorSubTableEXT, "glColorSubTableEXT"); pragma Import (C, glGetColorTableEXT, "glGetColorTableEXT"); pragma Import (C, glGetColorTableParameterfvEXT, "glGetColorTableParameterfvEXT"); pragma Import (C, glGetColorTableParameterivEXT, "glGetColorTableParameterivEXT"); pragma Import (C, glPointParameterfEXT, "glPointParameterfEXT"); pragma Import (C, glPointParameterfvEXT, "glPointParameterfvEXT"); pragma Import (C, glWindowPos2iMESA, "glWindowPos2iMESA"); pragma Import (C, glWindowPos2sMESA, "glWindowPos2sMESA"); pragma Import (C, glWindowPos2fMESA, "glWindowPos2fMESA"); pragma Import (C, glWindowPos2dMESA, "glWindowPos2dMESA"); pragma Import (C, glWindowPos2ivMESA, "glWindowPos2ivMESA"); pragma Import (C, glWindowPos2svMESA, "glWindowPos2svMESA"); pragma Import (C, glWindowPos2fvMESA, "glWindowPos2fvMESA"); pragma Import (C, glWindowPos2dvMESA, "glWindowPos2dvMESA"); pragma Import (C, glWindowPos3iMESA, "glWindowPos3iMESA"); pragma Import (C, glWindowPos3sMESA, "glWindowPos3sMESA"); pragma Import (C, glWindowPos3fMESA, "glWindowPos3fMESA"); pragma Import (C, glWindowPos3dMESA, "glWindowPos3dMESA"); pragma Import (C, glWindowPos3ivMESA, "glWindowPos3ivMESA"); pragma Import (C, glWindowPos3svMESA, "glWindowPos3svMESA"); pragma Import (C, glWindowPos3fvMESA, "glWindowPos3fvMESA"); pragma Import (C, glWindowPos3dvMESA, "glWindowPos3dvMESA"); pragma Import (C, glWindowPos4iMESA, "glWindowPos4iMESA"); pragma Import (C, glWindowPos4sMESA, "glWindowPos4sMESA"); pragma Import (C, glWindowPos4fMESA, "glWindowPos4fMESA"); pragma Import (C, glWindowPos4dMESA, "glWindowPos4dMESA"); pragma Import (C, glWindowPos4ivMESA, "glWindowPos4ivMESA"); pragma Import (C, glWindowPos4svMESA, "glWindowPos4svMESA"); pragma Import (C, glWindowPos4fvMESA, "glWindowPos4fvMESA"); pragma Import (C, glWindowPos4dvMESA, "glWindowPos4dvMESA"); pragma Import (C, glResizeBuffersMESA, "glResizeBuffersMESA"); end GL;