Source file : gl.ads
--#-#-#-#-----------------
-- Change log:
--
-- GdM: 2011: using System.Address_To_Access_Conversions instead of Ada.Unchecked_Conversion
-- GdM: 2008: GL 1.5 items moved to GL.Extended ('cause of Windows :-( )
-- RK : 2007: added CLAMP_TO_EDGE and CLAMP_TO_BORDER for texturing.
-- RK : 2007: added positive_uInt
-- RK : 2007: renamed 'intPtr' to 'intPointer' and added correct openGL intPtr type (which is a 'ptrdiff_t')
-- RK : 2007: added support for vertex buffer objects
-- GdM: 2007: added BGR, BGRA to PixelFormatEnm and TexFormatEnm (OpenGL 1.2)
-- RK : 2007: conversions to gl.Pointer
-- GdM: 2006: added MULTISAMPLE_ARB, GetString returning a String
-- GdM: End 2005: improved 2002's point 3)
-- GdM: 27-Jan-2004: Added Material_Float_vector and Material(...) for it
-- GdM: 4-Jan-2003 :
-- for overloading names, preference is given to GL.Double
-- (Gl.Float keeps 'f') and GL.Int (GL.Short keeps 's'), in order to avoid
-- confusing compilers i.r.o. arithmetics with universal types.
-- GdM: 11-Apr-2002 :
-- 1) "gl" and "GL_" useless prefixes removed,
-- except when conflicting with Ada keywords
-- 2) improving the independance from the "pointer" model
-- 3) possibility of avoiding useless "4f"-style
-- suffixes through overloading
--#-#-#-#-----------------
-- Changed by MB for Windows 95, 980529
-- C replaced by Stdcall, 4th parameter starts with _ if present,
-- but it is not needed
--
-- 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;
with Ada.Unchecked_Conversion;
with System.Address_To_Access_Conversions;
package GL is
package C renames Interfaces.C;
------------------------------------------------------------------------------
MESA_MAJOR_VERSION : constant := 2;
MESA_MINOR_VERSION : constant := 5;
VERSION_1_1 : constant := 1;
EXT_BLEND_COLOR : constant := 1;
EXT_BLEND_LOGIC_OP : constant := 1;
EXT_BLEND_MINMAX : constant := 1;
EXT_BLEND_SUBTRACT : constant := 1;
EXT_POLYGON_OFFSET : constant := 1;
EXT_VERTEX_ARRAY : constant := 1;
EXT_TEXTURE_OBJECT : constant := 1;
EXT_TEXTURE3D : constant := 1;
EXT_PALETTED_TEXTURE : constant := 1;
EXT_SHARED_TEXTURE_PALETTE : constant := 1;
EXT_POINT_PARAMETERS : constant := 1;
MESA_WINDOW_POS : constant := 1;
MESA_RESIZE_BUFFERS : constant := 1;
CURRENT_BIT : constant := 16#00000001#;
POINT_BIT : constant := 16#00000002#;
LINE_BIT : constant := 16#00000004#;
POLYGON_BIT : constant := 16#00000008#;
POLYGON_STIPPLE_BIT : constant := 16#00000010#;
PIXEL_MODE_BIT : constant := 16#00000020#;
LIGHTING_BIT : constant := 16#00000040#;
FOG_BIT : constant := 16#00000080#;
DEPTH_BUFFER_BIT : constant := 16#00000100#;
ACCUM_BUFFER_BIT : constant := 16#00000200#;
STENCIL_BUFFER_BIT : constant := 16#00000400#;
VIEWPORT_BIT : constant := 16#00000800#;
TRANSFORM_BIT : constant := 16#00001000#;
ENABLE_BIT : constant := 16#00002000#;
COLOR_BUFFER_BIT : constant := 16#00004000#;
HINT_BIT : constant := 16#00008000#;
EVAL_BIT : constant := 16#00010000#;
LIST_BIT : constant := 16#00020000#;
TEXTURE_BIT : constant := 16#00040000#;
SCISSOR_BIT : constant := 16#00080000#;
ALL_ATTRIB_BITS : constant := 16#000FFFFF#;
CLIENT_PIXEL_STORE_BIT : constant := 16#00000001#;
CLIENT_VERTEX_ARRAY_BIT : constant := 16#00000002#;
CLIENT_ALL_ATTRIB_BITS : constant := 16#0000FFFF#;
------------------------------------------------------------------------------
-- Base types
type Bitfield is new C.unsigned; -- 4-byte unsigned
type GL_Boolean is new C.unsigned_char; -- 1-byte unsigned in [0,1]
type Byte is new C.char; -- 1-byte signed
type Short is new C.short; -- 2-byte signed
type Int is new C.int; -- 4-byte signed
type Ubyte is new C.unsigned_char; -- 1-byte unsigned
type Ushort is new C.unsigned_short; -- 2-byte unsigned
type Uint is new C.unsigned; -- 4-byte unsigned
type Sizei is new C.int; -- 4-byte signed
type Float is new C.C_float; -- single precision float
type Clampf is new C.C_float; -- single precision float in [0,1]
type Double is new C.double; -- double precision float
type Clampd is new C.double; -- double precision float in [0,1]
type positive_uInt is new GL.Uint range 1 .. GL.Uint'Last;
package A2A_double is new System.Address_To_Access_Conversions(Double);
-- Pointer types
type GL_BooleanPtr is access all GL_Boolean;
type bytePtr is access all Byte;
type shortPtr is access all Short;
type intPointer is access all Int;
type ubytePtr is access all Ubyte;
type ushortPtr is access all Ushort;
type uintPtr is access all Uint;
type floatPtr is access all GL.Float;
type clampfPtr is access all Clampf;
subtype doublePtr is A2A_double.Object_Pointer;
subtype sizeiPtr is Interfaces.C.ptrdiff_t; -- used for pointer arithmetic
subtype intPtr is Interfaces.C.ptrdiff_t;
type pointer is access all Ubyte; -- our substitute for "void *"
-- Vectors
type Light_Float_Vector is array(0..3) of aliased GL.Float;
type Material_Float_vector is array(0..3) of aliased GL.Float;
type Double_Vector_3D is array(0..2) of aliased GL.Double;
type RGB_Color is record red, green, blue : GL.Double; end record;
type RGBA_Color is record red, green, blue, alpha: GL.Double; end record;
-- conversions to gl.Pointer
type color_access is access all GL.RGB_Color;
function to_Pointer is new Ada.Unchecked_Conversion (color_access, GL.pointer);
subtype double_access is doublePtr;
function to_Pointer is new Ada.Unchecked_Conversion (double_access, GL.pointer);
type natural_access is access all Natural;
function to_Pointer is new Ada.Unchecked_Conversion (natural_access, GL.pointer);
function to_Pointer is new Ada.Unchecked_Conversion (uintPtr, GL.pointer);
function to_Pointer is new Ada.Unchecked_Conversion (ushortPtr, GL.pointer);
------------------------------------------------------------------------------
-- GL.enum is used only for sizing of the real enumeration types
type enum is new C.unsigned;
-- The boolean constants
GL_FALSE : constant GL_Boolean := GL_Boolean'Val (0);
GL_TRUE : constant GL_Boolean := GL_Boolean'Val (1);
-- Get pointer values
type GetPointerEnm is
(
FEEDBACK_BUFFER_POINTER,
SELECTION_BUFFER_POINTER,
VERTEX_ARRAY_POINTER,
NORMAL_ARRAY_POINTER,
COLOR_ARRAY_POINTER,
INDEX_ARRAY_POINTER,
TEXTURE_COORD_ARRAY_POINTER,
EDGE_FLAG_ARRAY_POINTER
);
for GetPointerEnm use
(
FEEDBACK_BUFFER_POINTER => 16#0DF0#,
SELECTION_BUFFER_POINTER => 16#0DF3#,
VERTEX_ARRAY_POINTER => 16#808E#,
NORMAL_ARRAY_POINTER => 16#808F#,
COLOR_ARRAY_POINTER => 16#8090#,
INDEX_ARRAY_POINTER => 16#8091#,
TEXTURE_COORD_ARRAY_POINTER => 16#8092#,
EDGE_FLAG_ARRAY_POINTER => 16#8093#
);
for GetPointerEnm'Size use GL.enum'Size;
procedure GetPointerv (pname : GetPointerEnm;
params: GL.pointer);
-- Alpha, stencil, and depth tests
type FuncEnm is
(
NEVER,
LESS,
EQUAL,
LEQUAL,
GREATER,
NOTEQUAL,
GEQUAL,
ALWAYS
);
for FuncEnm use
(
NEVER => 16#0200#,
LESS => 16#0201#,
EQUAL => 16#0202#,
LEQUAL => 16#0203#,
GREATER => 16#0204#,
NOTEQUAL => 16#0205#,
GEQUAL => 16#0206#,
ALWAYS => 16#0207#
);
for FuncEnm'Size use GL.enum'Size;
procedure AlphaFunc (func: FuncEnm;
ref : GL.Clampf);
procedure DepthFunc (func: FuncEnm);
procedure StencilFunc (func: FuncEnm;
ref : GL.Int;
mask: GL.Uint);
-- Stencil operations
type StencilOpEnm is
(
ZERO,
INVERT,
KEEP,
REPLACE,
INCR,
DECR
);
for StencilOpEnm use
(
ZERO => 16#0000#,
INVERT => 16#150A#,
KEEP => 16#1E00#,
REPLACE => 16#1E01#,
INCR => 16#1E02#,
DECR => 16#1E03#
);
for StencilOpEnm'Size use GL.enum'Size;
procedure StencilOp (fail : StencilOpEnm;
zfail: StencilOpEnm;
zpass: StencilOpEnm);
-- Blending functions
type BlendSrcEnm is
(
ZERO,
ONE,
SRC_ALPHA,
ONE_MINUS_SRC_ALPHA,
DST_ALPHA,
ONE_MINUS_DST_ALPHA,
DST_COLOR,
ONE_MINUS_DST_COLOR,
SRC_ALPHA_SATURATE,
CONSTANT_COLOR,
ONE_MINUS_CONSTANT_COLOR,
CONSTANT_ALPHA,
ONE_MINUS_CONSTANT_ALPHA
);
for BlendSrcEnm use
(
ZERO => 16#0000#,
ONE => 16#0001#,
SRC_ALPHA => 16#0302#,
ONE_MINUS_SRC_ALPHA => 16#0303#,
DST_ALPHA => 16#0304#,
ONE_MINUS_DST_ALPHA => 16#0305#,
DST_COLOR => 16#0306#,
ONE_MINUS_DST_COLOR => 16#0307#,
SRC_ALPHA_SATURATE => 16#0308#,
CONSTANT_COLOR => 16#8001#, -- are these four Mesa-specific?
ONE_MINUS_CONSTANT_COLOR => 16#8002#,
CONSTANT_ALPHA => 16#8003#,
ONE_MINUS_CONSTANT_ALPHA => 16#8004#
);
for BlendSrcEnm'Size use GL.enum'Size;
type BlendDstEnm is
(
ZERO,
ONE,
SRC_COLOR,
ONE_MINUS_SRC_COLOR,
SRC_ALPHA,
ONE_MINUS_SRC_ALPHA,
DST_ALPHA,
ONE_MINUS_DST_ALPHA
);
for BlendDstEnm use
(
ZERO => 16#0000#,
ONE => 16#0001#,
SRC_COLOR => 16#0300#,
ONE_MINUS_SRC_COLOR => 16#0301#,
SRC_ALPHA => 16#0302#,
ONE_MINUS_SRC_ALPHA => 16#0303#,
DST_ALPHA => 16#0304#,
ONE_MINUS_DST_ALPHA => 16#0305#
);
for BlendDstEnm'Size use GL.enum'Size;
type BlendEquationEnm is
(
LOGIC_OP,
FUNC_ADD_EXT,
MIN_EXT,
MAX_EXT,
FUNC_SUBTRACT_EXT,
FUNC_REVERSE_SUBTRACT_EXT
);
for BlendEquationEnm use
(
LOGIC_OP => 16#0BF1#,
FUNC_ADD_EXT => 16#8006#,
MIN_EXT => 16#8007#,
MAX_EXT => 16#8008#,
FUNC_SUBTRACT_EXT => 16#800A#,
FUNC_REVERSE_SUBTRACT_EXT => 16#800B#
);
for BlendEquationEnm'Size use GL.enum'Size;
procedure BlendFunc (sfactor: BlendSrcEnm;
dfactor: BlendDstEnm);
procedure BlendEquationEXT (mode: BlendEquationEnm);
procedure BlendColorEXT (red : GL.Clampf;
green: GL.Clampf;
blue : GL.Clampf;
alpha: GL.Clampf);
-- Locic operation function
type LogicOpEnm is
(
CLEAR,
GL_AND,
AND_REVERSE,
COPY,
AND_INVERTED,
NOOP,
GL_XOR,
GL_OR,
NOR,
EQUIV,
INVERT,
OR_REVERSE,
COPY_INVERTED,
OR_INVERTED,
NAND,
SET
);
for LogicOpEnm use
(
CLEAR => 16#1500#,
GL_AND => 16#1501#,
AND_REVERSE => 16#1502#,
COPY => 16#1503#,
AND_INVERTED => 16#1504#,
NOOP => 16#1505#,
GL_XOR => 16#1506#,
GL_OR => 16#1507#,
NOR => 16#1508#,
EQUIV => 16#1509#,
INVERT => 16#150A#,
OR_REVERSE => 16#150B#,
COPY_INVERTED => 16#150C#,
OR_INVERTED => 16#150D#,
NAND => 16#150E#,
SET => 16#150F#
);
for LogicOpEnm'Size use GL.enum'Size;
procedure LogicOp (opcode: LogicOpEnm);
-- Face culling
type FaceEnm is
(
FRONT,
BACK,
FRONT_AND_BACK
);
for FaceEnm use
(
FRONT => 16#0404#,
BACK => 16#0405#,
FRONT_AND_BACK => 16#0408#
);
for FaceEnm'Size use GL.enum'Size;
procedure CullFace (mode: FaceEnm);
-- Polygon orientation
type OrientationEnm is
(
CW,
CCW
);
for OrientationEnm use
(
CW => 16#0900#,
CCW => 16#0901#
);
for OrientationEnm'Size use GL.enum'Size;
procedure FrontFace (mode: OrientationEnm);
-- Polygon mode
type PolygonModeEnm is
(
POINT,
LINE,
FILL
);
for PolygonModeEnm use
(
POINT => 16#1B00#,
LINE => 16#1B01#,
FILL => 16#1B02#
);
for PolygonModeEnm'Size use GL.enum'Size;
procedure PolygonMode (face: FaceEnm;
mode: PolygonModeEnm);
-- Clipping plane operations
type ClipPlaneEnm is
(
CLIP_PLANE0,
CLIP_PLANE1,
CLIP_PLANE2,
CLIP_PLANE3,
CLIP_PLANE4,
CLIP_PLANE5
);
for ClipPlaneEnm use
(
CLIP_PLANE0 => 16#3000#,
CLIP_PLANE1 => 16#3001#,
CLIP_PLANE2 => 16#3002#,
CLIP_PLANE3 => 16#3003#,
CLIP_PLANE4 => 16#3004#,
CLIP_PLANE5 => 16#3005#
);
for ClipPlaneEnm'Size use GL.enum'Size;
procedure ClipPlane (plane : ClipPlaneEnm;
equation: GL.doublePtr);
procedure GetClipPlane (plane : ClipPlaneEnm;
equation: GL.doublePtr);
-- Buffer selection
type DrawBufferEnm is
(
NONE,
FRONT_LEFT,
FRONT_RIGHT,
BACK_LEFT,
BACK_RIGHT,
FRONT,
BACK,
LEFT,
RIGHT,
FRONT_AND_BACK,
AUX0,
AUX1,
AUX2,
AUX3
);
for DrawBufferEnm use
(
NONE => 16#0000#,
FRONT_LEFT => 16#0400#,
FRONT_RIGHT => 16#0401#,
BACK_LEFT => 16#0402#,
BACK_RIGHT => 16#0403#,
FRONT => 16#0404#,
BACK => 16#0405#,
LEFT => 16#0406#,
RIGHT => 16#0407#,
FRONT_AND_BACK => 16#0408#,
AUX0 => 16#0409#,
AUX1 => 16#040A#,
AUX2 => 16#040B#,
AUX3 => 16#040C#
);
for DrawBufferEnm'Size use GL.enum'Size;
procedure DrawBuffer (mode: DrawBufferEnm);
type ReadBufferEnm is
(
FRONT_LEFT,
FRONT_RIGHT,
BACK_LEFT,
BACK_RIGHT,
FRONT,
BACK,
LEFT,
RIGHT,
AUX0,
AUX1,
AUX2,
AUX3
);
for ReadBufferEnm use
(
FRONT_LEFT => 16#0400#,
FRONT_RIGHT => 16#0401#,
BACK_LEFT => 16#0402#,
BACK_RIGHT => 16#0403#,
FRONT => 16#0404#,
BACK => 16#0405#,
LEFT => 16#0406#,
RIGHT => 16#0407#,
AUX0 => 16#0409#,
AUX1 => 16#040A#,
AUX2 => 16#040B#,
AUX3 => 16#040C#
);
for ReadBufferEnm'Size use GL.enum'Size;
procedure ReadBuffer (mode: ReadBufferEnm);
-- Server-side capabilities
type ServerCapabilityEnm is
(
POINT_SMOOTH,
LINE_SMOOTH,
LINE_STIPPLE,
POLYGON_SMOOTH,
POLYGON_STIPPLE,
CULL_FACE,
LIGHTING,
COLOR_MATERIAL,
FOG,
DEPTH_TEST,
STENCIL_TEST,
NORMALIZE,
ALPHA_TEST,
DITHER,
BLEND,
INDEX_LOGIC_OP,
COLOR_LOGIC_OP,
SCISSOR_TEST,
TEXTURE_GEN_S,
TEXTURE_GEN_T,
TEXTURE_GEN_R,
TEXTURE_GEN_Q,
AUTO_NORMAL,
MAP1_COLOR_4,
MAP1_INDEX,
MAP1_NORMAL,
MAP1_TEXTURE_COORD_1,
MAP1_TEXTURE_COORD_2,
MAP1_TEXTURE_COORD_3,
MAP1_TEXTURE_COORD_4,
MAP1_VERTEX_3,
MAP1_VERTEX_4,
MAP2_COLOR_4,
MAP2_INDEX,
MAP2_NORMAL,
MAP2_TEXTURE_COORD_1,
MAP2_TEXTURE_COORD_2,
MAP2_TEXTURE_COORD_3,
MAP2_TEXTURE_COORD_4,
MAP2_VERTEX_3,
MAP2_VERTEX_4,
TEXTURE_1D,
TEXTURE_2D,
POLYGON_OFFSET_POINT,
POLYGON_OFFSET_LINE,
CLIP_PLANE0,
CLIP_PLANE1,
CLIP_PLANE2,
CLIP_PLANE3,
CLIP_PLANE4,
CLIP_PLANE5,
LIGHT0,
LIGHT1,
LIGHT2,
LIGHT3,
LIGHT4,
LIGHT5,
LIGHT6,
LIGHT7,
POLYGON_OFFSET_FILL,
TEXTURE_3D_EXT,
-- ARB_multisample:
MULTISAMPLE_ARB,
SAMPLE_ALPHA_TO_COVERAGE_ARB,
SAMPLE_ALPHA_TO_ONE_ARB,
SAMPLE_COVERAGE_ARB,
SAMPLE_BUFFERS_ARB,
SAMPLES_ARB,
SAMPLE_COVERAGE_VALUE_ARB,
SAMPLE_COVERAGE_INVERT_ARB,
MULTISAMPLE_BIT_ARB
);
for ServerCapabilityEnm use
(
POINT_SMOOTH => 16#0B10#,
LINE_SMOOTH => 16#0B20#,
LINE_STIPPLE => 16#0B24#,
POLYGON_SMOOTH => 16#0B41#,
POLYGON_STIPPLE => 16#0B42#,
CULL_FACE => 16#0B44#,
LIGHTING => 16#0B50#,
COLOR_MATERIAL => 16#0B57#,
FOG => 16#0B60#,
DEPTH_TEST => 16#0B71#,
STENCIL_TEST => 16#0B90#,
NORMALIZE => 16#0BA1#,
ALPHA_TEST => 16#0BC0#,
DITHER => 16#0BD0#,
BLEND => 16#0BE2#,
INDEX_LOGIC_OP => 16#0BF1#,
COLOR_LOGIC_OP => 16#0BF2#,
SCISSOR_TEST => 16#0C11#,
TEXTURE_GEN_S => 16#0C60#,
TEXTURE_GEN_T => 16#0C61#,
TEXTURE_GEN_R => 16#0C62#,
TEXTURE_GEN_Q => 16#0C63#,
AUTO_NORMAL => 16#0D80#,
MAP1_COLOR_4 => 16#0D90#,
MAP1_INDEX => 16#0D91#,
MAP1_NORMAL => 16#0D92#,
MAP1_TEXTURE_COORD_1 => 16#0D93#,
MAP1_TEXTURE_COORD_2 => 16#0D94#,
MAP1_TEXTURE_COORD_3 => 16#0D95#,
MAP1_TEXTURE_COORD_4 => 16#0D96#,
MAP1_VERTEX_3 => 16#0D97#,
MAP1_VERTEX_4 => 16#0D98#,
MAP2_COLOR_4 => 16#0DB0#,
MAP2_INDEX => 16#0DB1#,
MAP2_NORMAL => 16#0DB2#,
MAP2_TEXTURE_COORD_1 => 16#0DB3#,
MAP2_TEXTURE_COORD_2 => 16#0DB4#,
MAP2_TEXTURE_COORD_3 => 16#0DB5#,
MAP2_TEXTURE_COORD_4 => 16#0DB6#,
MAP2_VERTEX_3 => 16#0DB7#,
MAP2_VERTEX_4 => 16#0DB8#,
TEXTURE_1D => 16#0DE0#,
TEXTURE_2D => 16#0DE1#,
POLYGON_OFFSET_POINT => 16#2A01#,
POLYGON_OFFSET_LINE => 16#2A02#,
CLIP_PLANE0 => 16#3000#,
CLIP_PLANE1 => 16#3001#,
CLIP_PLANE2 => 16#3002#,
CLIP_PLANE3 => 16#3003#,
CLIP_PLANE4 => 16#3004#,
CLIP_PLANE5 => 16#3005#,
LIGHT0 => 16#4000#,
LIGHT1 => 16#4001#,
LIGHT2 => 16#4002#,
LIGHT3 => 16#4003#,
LIGHT4 => 16#4004#,
LIGHT5 => 16#4005#,
LIGHT6 => 16#4006#,
LIGHT7 => 16#4007#,
POLYGON_OFFSET_FILL => 16#8037#,
TEXTURE_3D_EXT => 16#806F#,
MULTISAMPLE_ARB => 16#809D#,
SAMPLE_ALPHA_TO_COVERAGE_ARB => 16#809E#,
SAMPLE_ALPHA_TO_ONE_ARB => 16#809F#,
SAMPLE_COVERAGE_ARB => 16#80A0#,
SAMPLE_BUFFERS_ARB => 16#80A8#,
SAMPLES_ARB => 16#80A9#,
SAMPLE_COVERAGE_VALUE_ARB => 16#80AA#,
SAMPLE_COVERAGE_INVERT_ARB => 16#80AB#,
MULTISAMPLE_BIT_ARB => 16#20000000#
);
for ServerCapabilityEnm'Size use GL.enum'Size;
procedure Enable (cap: ServerCapabilityEnm);
procedure Disable (cap: ServerCapabilityEnm);
function IsEnabled (cap: ServerCapabilityEnm)
return GL_Boolean;
-- Client state
type ClientCapabilityEnm is
(
VERTEX_ARRAY,
NORMAL_ARRAY,
COLOR_ARRAY,
INDEX_ARRAY,
TEXTURE_COORD_ARRAY,
EDGE_FLAG_ARRAY
);
for ClientCapabilityEnm use
(
VERTEX_ARRAY => 16#8074#,
NORMAL_ARRAY => 16#8075#,
COLOR_ARRAY => 16#8076#,
INDEX_ARRAY => 16#8077#,
TEXTURE_COORD_ARRAY => 16#8078#,
EDGE_FLAG_ARRAY => 16#8079#
);
for ClientCapabilityEnm'Size use GL.enum'Size;
procedure EnableClientState (cap: ClientCapabilityEnm);
procedure DisableClientState (cap: ClientCapabilityEnm);
-- Parameter fetches
type ParameterNameEnm is
(
CURRENT_COLOR,
CURRENT_INDEX,
CURRENT_NORMAL,
CURRENT_TEXTURE_COORDS,
CURRENT_RASTER_COLOR,
CURRENT_RASTER_INDEX,
CURRENT_RASTER_TEXTURE_COORDS,
CURRENT_RASTER_POSITION,
CURRENT_RASTER_POSITION_VALID,
CURRENT_RASTER_DISTANCE,
POINT_SMOOTH,
POINT_SIZE,
POINT_SIZE_RANGE,
POINT_SIZE_GRANULARITY,
LINE_SMOOTH,
LINE_WIDTH,
LINE_WIDTH_RANGE,
LINE_WIDTH_GRANULARITY,
LINE_STIPPLE,
LINE_STIPPLE_PATTERN,
LINE_STIPPLE_REPEAT,
LIST_MODE,
MAX_LIST_NESTING,
LIST_BASE,
LIST_INDEX,
POLYGON_MODE,
POLYGON_SMOOTH,
POLYGON_STIPPLE,
EDGE_FLAG,
CULL_FACE,
CULL_FACE_MODE,
FRONT_FACE,
LIGHTING,
LIGHT_MODEL_LOCAL_VIEWER,
LIGHT_MODEL_TWO_SIDE,
LIGHT_MODEL_AMBIENT,
SHADE_MODEL,
COLOR_MATERIAL_FACE,
COLOR_MATERIAL_PARAMETER,
COLOR_MATERIAL,
FOG,
FOG_INDEX,
FOG_DENSITY,
FOG_START,
FOG_END,
FOG_MODE,
FOG_COLOR,
DEPTH_RANGE,
DEPTH_TEST,
DEPTH_WRITEMASK,
DEPTH_CLEAR_VALUE,
DEPTH_FUNC,
ACCUM_CLEAR_VALUE,
STENCIL_TEST,
STENCIL_CLEAR_VALUE,
STENCIL_FUNC,
STENCIL_VALUE_MASK,
STENCIL_FAIL,
STENCIL_PASS_DEPTH_FAIL,
STENCIL_PASS_DEPTH_PASS,
STENCIL_REF,
STENCIL_WRITEMASK,
MATRIX_MODE,
NORMALIZE,
VIEWPORT,
MODELVIEW_STACK_DEPTH,
PROJECTION_STACK_DEPTH,
TEXTURE_STACK_DEPTH,
MODELVIEW_MATRIX,
PROJECTION_MATRIX,
TEXTURE_MATRIX,
ATTRIB_STACK_DEPTH,
CLIENT_ATTRIB_STACK_DEPTH,
ALPHA_TEST,
ALPHA_TEST_FUNC,
ALPHA_TEST_REF,
DITHER,
BLEND_DST,
BLEND_SRC,
BLEND,
LOGIC_OP_MODE,
INDEX_LOGIC_OP,
COLOR_LOGIC_OP,
AUX_BUFFERS,
DRAW_BUFFER,
READ_BUFFER,
SCISSOR_BOX,
SCISSOR_TEST,
INDEX_CLEAR_VALUE,
INDEX_WRITEMASK,
COLOR_CLEAR_VALUE,
COLOR_WRITEMASK,
INDEX_MODE,
RGBA_MODE,
DOUBLEBUFFER,
STEREO,
RENDER_MODE,
PERSPECTIVE_CORRECTION_HINT,
POINT_SMOOTH_HINT,
LINE_SMOOTH_HINT,
POLYGON_SMOOTH_HINT,
FOG_HINT,
TEXTURE_GEN_S,
TEXTURE_GEN_T,
TEXTURE_GEN_R,
TEXTURE_GEN_Q,
PIXEL_MAP_I_TO_I_SIZE,
PIXEL_MAP_S_TO_S_SIZE,
PIXEL_MAP_I_TO_R_SIZE,
PIXEL_MAP_I_TO_G_SIZE,
PIXEL_MAP_I_TO_B_SIZE,
PIXEL_MAP_I_TO_A_SIZE,
PIXEL_MAP_R_TO_R_SIZE,
PIXEL_MAP_G_TO_G_SIZE,
PIXEL_MAP_B_TO_B_SIZE,
PIXEL_MAP_A_TO_A_SIZE,
UNPACK_SWAP_BYTES,
UNPACK_LSB_FIRST,
UNPACK_ROW_LENGTH,
UNPACK_SKIP_ROWS,
UNPACK_SKIP_PIXELS,
UNPACK_ALIGNMENT,
PACK_SWAP_BYTES,
PACK_LSB_FIRST,
PACK_ROW_LENGTH,
PACK_SKIP_ROWS,
PACK_SKIP_PIXELS,
PACK_ALIGNMENT,
MAP_COLOR,
MAP_STENCIL,
INDEX_SHIFT,
INDEX_OFFSET,
RED_SCALE,
RED_BIAS,
ZOOM_X,
ZOOM_Y,
GREEN_SCALE,
GREEN_BIAS,
BLUE_SCALE,
BLUE_BIAS,
ALPHA_SCALE,
ALPHA_BIAS,
DEPTH_SCALE,
DEPTH_BIAS,
MAX_EVAL_ORDER,
MAX_LIGHTS,
MAX_CLIP_PLANES,
MAX_TEXTURE_SIZE,
MAX_PIXEL_MAP_TABLE,
MAX_ATTRIB_STACK_DEPTH,
MAX_MODELVIEW_STACK_DEPTH,
MAX_NAME_STACK_DEPTH,
MAX_PROJECTION_STACK_DEPTH,
MAX_TEXTURE_STACK_DEPTH,
MAX_VIEWPORT_DIMS,
MAX_CLIENT_ATTRIB_STACK_DEPTH,
SUBPIXEL_BITS,
INDEX_BITS,
RED_BITS,
GREEN_BITS,
BLUE_BITS,
ALPHA_BITS,
DEPTH_BITS,
STENCIL_BITS,
ACCUM_RED_BITS,
ACCUM_GREEN_BITS,
ACCUM_BLUE_BITS,
ACCUM_ALPHA_BITS,
NAME_STACK_DEPTH,
AUTO_NORMAL,
MAP1_COLOR_4,
MAP1_INDEX,
MAP1_NORMAL,
MAP1_TEXTURE_COORD_1,
MAP1_TEXTURE_COORD_2,
MAP1_TEXTURE_COORD_3,
MAP1_TEXTURE_COORD_4,
MAP1_VERTEX_3,
MAP1_VERTEX_4,
MAP2_COLOR_4,
MAP2_INDEX,
MAP2_NORMAL,
MAP2_TEXTURE_COORD_1,
MAP2_TEXTURE_COORD_2,
MAP2_TEXTURE_COORD_3,
MAP2_TEXTURE_COORD_4,
MAP2_VERTEX_3,
MAP2_VERTEX_4,
MAP1_GRID_DOMAIN,
MAP1_GRID_SEGMENTS,
MAP2_GRID_DOMAIN,
MAP2_GRID_SEGMENTS,
TEXTURE_1D,
TEXTURE_2D,
POLYGON_OFFSET_UNITS,
POLYGON_OFFSET_POINT,
POLYGON_OFFSET_LINE,
POLYGON_OFFSET_FILL,
POLYGON_OFFSET_FACTOR,
TEXTURE_BINDING_1D,
TEXTURE_BINDING_2D,
VERTEX_ARRAY,
NORMAL_ARRAY,
COLOR_ARRAY,
INDEX_ARRAY,
TEXTURE_COORD_ARRAY,
EDGE_FLAG_ARRAY,
VERTEX_ARRAY_SIZE,
VERTEX_ARRAY_TYPE,
VERTEX_ARRAY_STRIDE,
NORMAL_ARRAY_TYPE,
NORMAL_ARRAY_STRIDE,
COLOR_ARRAY_SIZE,
COLOR_ARRAY_TYPE,
COLOR_ARRAY_STRIDE,
INDEX_ARRAY_TYPE,
INDEX_ARRAY_STRIDE,
TEXTURE_COORD_ARRAY_SIZE,
TEXTURE_COORD_ARRAY_TYPE,
TEXTURE_COORD_ARRAY_STRIDE,
EDGE_FLAG_ARRAY_STRIDE,
SAMPLES
);
for ParameterNameEnm use
(
CURRENT_COLOR => 16#0B00#,
CURRENT_INDEX => 16#0B01#,
CURRENT_NORMAL => 16#0B02#,
CURRENT_TEXTURE_COORDS => 16#0B03#,
CURRENT_RASTER_COLOR => 16#0B04#,
CURRENT_RASTER_INDEX => 16#0B05#,
CURRENT_RASTER_TEXTURE_COORDS => 16#0B06#,
CURRENT_RASTER_POSITION => 16#0B07#,
CURRENT_RASTER_POSITION_VALID => 16#0B08#,
CURRENT_RASTER_DISTANCE => 16#0B09#,
POINT_SMOOTH => 16#0B10#,
POINT_SIZE => 16#0B11#,
POINT_SIZE_RANGE => 16#0B12#,
POINT_SIZE_GRANULARITY => 16#0B13#,
LINE_SMOOTH => 16#0B20#,
LINE_WIDTH => 16#0B21#,
LINE_WIDTH_RANGE => 16#0B22#,
LINE_WIDTH_GRANULARITY => 16#0B23#,
LINE_STIPPLE => 16#0B24#,
LINE_STIPPLE_PATTERN => 16#0B25#,
LINE_STIPPLE_REPEAT => 16#0B26#,
LIST_MODE => 16#0B30#,
MAX_LIST_NESTING => 16#0B31#,
LIST_BASE => 16#0B32#,
LIST_INDEX => 16#0B33#,
POLYGON_MODE => 16#0B40#,
POLYGON_SMOOTH => 16#0B41#,
POLYGON_STIPPLE => 16#0B42#,
EDGE_FLAG => 16#0B43#,
CULL_FACE => 16#0B44#,
CULL_FACE_MODE => 16#0B45#,
FRONT_FACE => 16#0B46#,
LIGHTING => 16#0B50#,
LIGHT_MODEL_LOCAL_VIEWER => 16#0B51#,
LIGHT_MODEL_TWO_SIDE => 16#0B52#,
LIGHT_MODEL_AMBIENT => 16#0B53#,
SHADE_MODEL => 16#0B54#,
COLOR_MATERIAL_FACE => 16#0B55#,
COLOR_MATERIAL_PARAMETER => 16#0B56#,
COLOR_MATERIAL => 16#0B57#,
FOG => 16#0B60#,
FOG_INDEX => 16#0B61#,
FOG_DENSITY => 16#0B62#,
FOG_START => 16#0B63#,
FOG_END => 16#0B64#,
FOG_MODE => 16#0B65#,
FOG_COLOR => 16#0B66#,
DEPTH_RANGE => 16#0B70#,
DEPTH_TEST => 16#0B71#,
DEPTH_WRITEMASK => 16#0B72#,
DEPTH_CLEAR_VALUE => 16#0B73#,
DEPTH_FUNC => 16#0B74#,
ACCUM_CLEAR_VALUE => 16#0B80#,
STENCIL_TEST => 16#0B90#,
STENCIL_CLEAR_VALUE => 16#0B91#,
STENCIL_FUNC => 16#0B92#,
STENCIL_VALUE_MASK => 16#0B93#,
STENCIL_FAIL => 16#0B94#,
STENCIL_PASS_DEPTH_FAIL => 16#0B95#,
STENCIL_PASS_DEPTH_PASS => 16#0B96#,
STENCIL_REF => 16#0B97#,
STENCIL_WRITEMASK => 16#0B98#,
MATRIX_MODE => 16#0BA0#,
NORMALIZE => 16#0BA1#,
VIEWPORT => 16#0BA2#,
MODELVIEW_STACK_DEPTH => 16#0BA3#,
PROJECTION_STACK_DEPTH => 16#0BA4#,
TEXTURE_STACK_DEPTH => 16#0BA5#,
MODELVIEW_MATRIX => 16#0BA6#,
PROJECTION_MATRIX => 16#0BA7#,
TEXTURE_MATRIX => 16#0BA8#,
ATTRIB_STACK_DEPTH => 16#0BB0#,
CLIENT_ATTRIB_STACK_DEPTH => 16#0BB1#,
ALPHA_TEST => 16#0BC0#,
ALPHA_TEST_FUNC => 16#0BC1#,
ALPHA_TEST_REF => 16#0BC2#,
DITHER => 16#0BD0#,
BLEND_DST => 16#0BE0#,
BLEND_SRC => 16#0BE1#,
BLEND => 16#0BE2#,
LOGIC_OP_MODE => 16#0BF0#,
INDEX_LOGIC_OP => 16#0BF1#,
COLOR_LOGIC_OP => 16#0BF2#,
AUX_BUFFERS => 16#0C00#,
DRAW_BUFFER => 16#0C01#,
READ_BUFFER => 16#0C02#,
SCISSOR_BOX => 16#0C10#,
SCISSOR_TEST => 16#0C11#,
INDEX_CLEAR_VALUE => 16#0C20#,
INDEX_WRITEMASK => 16#0C21#,
COLOR_CLEAR_VALUE => 16#0C22#,
COLOR_WRITEMASK => 16#0C23#,
INDEX_MODE => 16#0C30#,
RGBA_MODE => 16#0C31#,
DOUBLEBUFFER => 16#0C32#,
STEREO => 16#0C33#,
RENDER_MODE => 16#0C40#,
PERSPECTIVE_CORRECTION_HINT => 16#0C50#,
POINT_SMOOTH_HINT => 16#0C51#,
LINE_SMOOTH_HINT => 16#0C52#,
POLYGON_SMOOTH_HINT => 16#0C53#,
FOG_HINT => 16#0C54#,
TEXTURE_GEN_S => 16#0C60#,
TEXTURE_GEN_T => 16#0C61#,
TEXTURE_GEN_R => 16#0C62#,
TEXTURE_GEN_Q => 16#0C63#,
PIXEL_MAP_I_TO_I_SIZE => 16#0CB0#,
PIXEL_MAP_S_TO_S_SIZE => 16#0CB1#,
PIXEL_MAP_I_TO_R_SIZE => 16#0CB2#,
PIXEL_MAP_I_TO_G_SIZE => 16#0CB3#,
PIXEL_MAP_I_TO_B_SIZE => 16#0CB4#,
PIXEL_MAP_I_TO_A_SIZE => 16#0CB5#,
PIXEL_MAP_R_TO_R_SIZE => 16#0CB6#,
PIXEL_MAP_G_TO_G_SIZE => 16#0CB7#,
PIXEL_MAP_B_TO_B_SIZE => 16#0CB8#,
PIXEL_MAP_A_TO_A_SIZE => 16#0CB9#,
UNPACK_SWAP_BYTES => 16#0CF0#,
UNPACK_LSB_FIRST => 16#0CF1#,
UNPACK_ROW_LENGTH => 16#0CF2#,
UNPACK_SKIP_ROWS => 16#0CF3#,
UNPACK_SKIP_PIXELS => 16#0CF4#,
UNPACK_ALIGNMENT => 16#0CF5#,
PACK_SWAP_BYTES => 16#0D00#,
PACK_LSB_FIRST => 16#0D01#,
PACK_ROW_LENGTH => 16#0D02#,
PACK_SKIP_ROWS => 16#0D03#,
PACK_SKIP_PIXELS => 16#0D04#,
PACK_ALIGNMENT => 16#0D05#,
MAP_COLOR => 16#0D10#,
MAP_STENCIL => 16#0D11#,
INDEX_SHIFT => 16#0D12#,
INDEX_OFFSET => 16#0D13#,
RED_SCALE => 16#0D14#,
RED_BIAS => 16#0D15#,
ZOOM_X => 16#0D16#,
ZOOM_Y => 16#0D17#,
GREEN_SCALE => 16#0D18#,
GREEN_BIAS => 16#0D19#,
BLUE_SCALE => 16#0D1A#,
BLUE_BIAS => 16#0D1B#,
ALPHA_SCALE => 16#0D1C#,
ALPHA_BIAS => 16#0D1D#,
DEPTH_SCALE => 16#0D1E#,
DEPTH_BIAS => 16#0D1F#,
MAX_EVAL_ORDER => 16#0D30#,
MAX_LIGHTS => 16#0D31#,
MAX_CLIP_PLANES => 16#0D32#,
MAX_TEXTURE_SIZE => 16#0D33#,
MAX_PIXEL_MAP_TABLE => 16#0D34#,
MAX_ATTRIB_STACK_DEPTH => 16#0D35#,
MAX_MODELVIEW_STACK_DEPTH => 16#0D36#,
MAX_NAME_STACK_DEPTH => 16#0D37#,
MAX_PROJECTION_STACK_DEPTH => 16#0D38#,
MAX_TEXTURE_STACK_DEPTH => 16#0D39#,
MAX_VIEWPORT_DIMS => 16#0D3A#,
MAX_CLIENT_ATTRIB_STACK_DEPTH => 16#0D3B#,
SUBPIXEL_BITS => 16#0D50#,
INDEX_BITS => 16#0D51#,
RED_BITS => 16#0D52#,
GREEN_BITS => 16#0D53#,
BLUE_BITS => 16#0D54#,
ALPHA_BITS => 16#0D55#,
DEPTH_BITS => 16#0D56#,
STENCIL_BITS => 16#0D57#,
ACCUM_RED_BITS => 16#0D58#,
ACCUM_GREEN_BITS => 16#0D59#,
ACCUM_BLUE_BITS => 16#0D5A#,
ACCUM_ALPHA_BITS => 16#0D5B#,
NAME_STACK_DEPTH => 16#0D70#,
AUTO_NORMAL => 16#0D80#,
MAP1_COLOR_4 => 16#0D90#,
MAP1_INDEX => 16#0D91#,
MAP1_NORMAL => 16#0D92#,
MAP1_TEXTURE_COORD_1 => 16#0D93#,
MAP1_TEXTURE_COORD_2 => 16#0D94#,
MAP1_TEXTURE_COORD_3 => 16#0D95#,
MAP1_TEXTURE_COORD_4 => 16#0D96#,
MAP1_VERTEX_3 => 16#0D97#,
MAP1_VERTEX_4 => 16#0D98#,
MAP2_COLOR_4 => 16#0DB0#,
MAP2_INDEX => 16#0DB1#,
MAP2_NORMAL => 16#0DB2#,
MAP2_TEXTURE_COORD_1 => 16#0DB3#,
MAP2_TEXTURE_COORD_2 => 16#0DB4#,
MAP2_TEXTURE_COORD_3 => 16#0DB5#,
MAP2_TEXTURE_COORD_4 => 16#0DB6#,
MAP2_VERTEX_3 => 16#0DB7#,
MAP2_VERTEX_4 => 16#0DB8#,
MAP1_GRID_DOMAIN => 16#0DD0#,
MAP1_GRID_SEGMENTS => 16#0DD1#,
MAP2_GRID_DOMAIN => 16#0DD2#,
MAP2_GRID_SEGMENTS => 16#0DD3#,
TEXTURE_1D => 16#0DE0#,
TEXTURE_2D => 16#0DE1#,
POLYGON_OFFSET_UNITS => 16#2A00#,
POLYGON_OFFSET_POINT => 16#2A01#,
POLYGON_OFFSET_LINE => 16#2A02#,
POLYGON_OFFSET_FILL => 16#8037#,
POLYGON_OFFSET_FACTOR => 16#8038#,
TEXTURE_BINDING_1D => 16#8068#,
TEXTURE_BINDING_2D => 16#8069#,
VERTEX_ARRAY => 16#8074#,
NORMAL_ARRAY => 16#8075#,
COLOR_ARRAY => 16#8076#,
INDEX_ARRAY => 16#8077#,
TEXTURE_COORD_ARRAY => 16#8078#,
EDGE_FLAG_ARRAY => 16#8079#,
VERTEX_ARRAY_SIZE => 16#807A#,
VERTEX_ARRAY_TYPE => 16#807B#,
VERTEX_ARRAY_STRIDE => 16#807C#,
NORMAL_ARRAY_TYPE => 16#807E#,
NORMAL_ARRAY_STRIDE => 16#807F#,
COLOR_ARRAY_SIZE => 16#8081#,
COLOR_ARRAY_TYPE => 16#8082#,
COLOR_ARRAY_STRIDE => 16#8083#,
INDEX_ARRAY_TYPE => 16#8085#,
INDEX_ARRAY_STRIDE => 16#8086#,
TEXTURE_COORD_ARRAY_SIZE => 16#8088#,
TEXTURE_COORD_ARRAY_TYPE => 16#8089#,
TEXTURE_COORD_ARRAY_STRIDE => 16#808A#,
EDGE_FLAG_ARRAY_STRIDE => 16#808C#,
SAMPLES => 16#80A9#
);
for ParameterNameEnm'Size use GL.enum'Size;
procedure GetBooleanv (pname : ParameterNameEnm;
params: GL_BooleanPtr);
procedure Get (pname : ParameterNameEnm;
params: GL.doublePtr);
procedure GetFloatv (pname : ParameterNameEnm;
params: floatPtr);
procedure GetIntegerv (pname : ParameterNameEnm;
params: GL.intPointer);
-- Render mode
type RenderModeEnm is
(
RENDER,
FEEDBACK,
GL_SELECT
);
for RenderModeEnm use
(
RENDER => 16#1C00#,
FEEDBACK => 16#1C01#,
GL_SELECT => 16#1C02#
);
for RenderModeEnm'Size use GL.enum'Size;
function RenderMode(mode: RenderModeEnm)
return GL.Int;
-- Error information
type ErrorEnm is
(
NO_ERROR,
INVALID_ENUM,
INVALID_VALUE,
INVALID_OPERATION,
STACK_OVERFLOW,
STACK_UNDERFLOW,
OUT_OF_MEMORY
);
for ErrorEnm use
(
NO_ERROR => 16#0000#,
INVALID_ENUM => 16#0500#,
INVALID_VALUE => 16#0501#,
INVALID_OPERATION => 16#0502#,
STACK_OVERFLOW => 16#0503#,
STACK_UNDERFLOW => 16#0504#,
OUT_OF_MEMORY => 16#0505#
);
for ErrorEnm'Size use GL.enum'Size;
function GetError
return ErrorEnm;
-- Connection description
type StringEnm is
(
VENDOR,
RENDERER,
VERSION,
EXTENSIONS
);
for StringEnm use
(
VENDOR => 16#1F00#,
RENDERER => 16#1F01#,
VERSION => 16#1F02#,
EXTENSIONS => 16#1F03#
);
for StringEnm'Size use GL.enum'Size;
function GetString (name: StringEnm) return ubytePtr;
function GetString (name: StringEnm) return String;
-- Behavior hints
type HintEnm is
(
PERSPECTIVE_CORRECTION_HINT,
POINT_SMOOTH_HINT,
LINE_SMOOTH_HINT,
POLYGON_SMOOTH_HINT,
FOG_HINT
);
for HintEnm use
(
PERSPECTIVE_CORRECTION_HINT => 16#0C50#,
POINT_SMOOTH_HINT => 16#0C51#,
LINE_SMOOTH_HINT => 16#0C52#,
POLYGON_SMOOTH_HINT => 16#0C53#,
FOG_HINT => 16#0C54#
);
for HintEnm'Size use GL.enum'Size;
type HintModeEnm is
(
DONT_CARE,
FASTEST,
NICEST
);
for HintModeEnm use
(
DONT_CARE => 16#1100#,
FASTEST => 16#1101#,
NICEST => 16#1102#
);
for HintModeEnm'Size use GL.enum'Size;
procedure Hint (target: HintEnm;
mode : HintModeEnm);
-- Accumulation buffer
type AccumEnm is
(
ACCUM,
LOAD,
GL_RETURN,
MULT,
ADD
);
for AccumEnm use
(
ACCUM => 16#0100#,
LOAD => 16#0101#,
GL_RETURN => 16#0102#,
MULT => 16#0103#,
ADD => 16#0104#
);
for AccumEnm'Size use GL.enum'Size;
procedure Accum (op : AccumEnm;
value: GL.Float);
-- Matrix mode
type MatrixModeEnm is
(
MODELVIEW,
PROJECTION,
TEXTURE
);
for MatrixModeEnm use
(
MODELVIEW => 16#1700#,
PROJECTION => 16#1701#,
TEXTURE => 16#1702#
);
for MatrixModeEnm'Size use GL.enum'Size;
procedure MatrixMode (mode: MatrixModeEnm);
-- Display liststype ListModeEnm is
type ListModeEnm is
(
COMPILE,
COMPILE_AND_EXECUTE
);
for ListModeEnm use
(
COMPILE => 16#1300#,
COMPILE_AND_EXECUTE => 16#1301#
);
for ListModeEnm'Size use GL.enum'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 GL.enum'Size;
function IsList (list: GL.Uint) return GL_Boolean;
procedure DeleteLists (list : GL.Uint;
c_range: GL.Sizei);
function GenLists (c_range: GL.Sizei) return GL.Uint;
procedure NewList (list: GL.Uint;
mode: ListModeEnm);
procedure EndList;
procedure CallList (list: GL.Uint);
procedure CallLists (n : GL.Sizei;
c_type: OffsetTypeEnm;
lists : GL.pointer);
procedure ListBase (base: GL.Uint);
-- Object definition
type ObjectTypeEnm is
(
POINTS,
LINES,
LINE_LOOP,
LINE_STRIP,
TRIANGLES,
TRIANGLE_STRIP,
TRIANGLE_FAN,
QUADS,
QUAD_STRIP,
POLYGON
);
for ObjectTypeEnm use
(
POINTS => 16#0000#,
LINES => 16#0001#,
LINE_LOOP => 16#0002#,
LINE_STRIP => 16#0003#,
TRIANGLES => 16#0004#,
TRIANGLE_STRIP => 16#0005#,
TRIANGLE_FAN => 16#0006#,
QUADS => 16#0007#,
QUAD_STRIP => 16#0008#,
POLYGON => 16#0009#
);
for ObjectTypeEnm'Size use GL.enum'Size;
procedure GL_Begin (mode: ObjectTypeEnm);
procedure GL_End;
-- 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 GL.enum'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 GL.enum'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 GL.enum'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 GL.enum'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 GL.enum'Size;
type ArrayIndexTypeEnm is
(
UNSIGNED_BYTE,
UNSIGNED_SHORT,
UNSIGNED_INT
);
for ArrayIndexTypeEnm use
(
UNSIGNED_BYTE => 16#1401#,
UNSIGNED_SHORT => 16#1403#,
UNSIGNED_INT => 16#1405#
);
for ArrayIndexTypeEnm'Size use GL.enum'Size;
type InterleaveFormatEnm is
(
V2F,
V3F,
C4UB_V2F,
C4UB_V3F,
C3F_V3F,
N3F_V3F,
C4F_N3F_V3F,
T2F_V3F,
T4F_V4F,
T2F_C4UB_V3F,
T2F_C3F_V3F,
T2F_N3F_V3F,
T2F_C4F_N3F_V3F,
T4F_C4F_N3F_V4F
);
for InterleaveFormatEnm use
(
V2F => 16#2A20#,
V3F => 16#2A21#,
C4UB_V2F => 16#2A22#,
C4UB_V3F => 16#2A23#,
C3F_V3F => 16#2A24#,
N3F_V3F => 16#2A25#,
C4F_N3F_V3F => 16#2A26#,
T2F_V3F => 16#2A27#,
T4F_V4F => 16#2A28#,
T2F_C4UB_V3F => 16#2A29#,
T2F_C3F_V3F => 16#2A2A#,
T2F_N3F_V3F => 16#2A2B#,
T2F_C4F_N3F_V3F => 16#2A2C#,
T4F_C4F_N3F_V4F => 16#2A2D#
);
for InterleaveFormatEnm'Size use GL.enum'Size;
procedure VertexPointer (size : GL.Int;
c_type: VertexTypeEnm;
stride: GL.Sizei;
ptr : GL.pointer);
procedure NormalPointer (c_type: NormalTypeEnm;
stride: GL.Sizei;
ptr : GL.pointer);
procedure ColorPointer (size : GL.Int;
c_type: ColorTypeEnm;
stride: GL.Sizei;
ptr : GL.pointer);
procedure IndexPointer (c_type: IndexTypeEnm;
stride: GL.Sizei;
ptr : GL.pointer);
procedure TexCoordPointer (size : GL.Int;
c_type: TexCoordTypeEnm;
stride: GL.Sizei;
ptr : GL.pointer);
procedure EdgeFlagPointer (stride: GL.Sizei;
ptr : GL_BooleanPtr);
procedure ArrayElement (i: GL.Int);
procedure DrawArrays (mode : ObjectTypeEnm;
first: GL.Int;
count: GL.Sizei);
procedure DrawElements (mode : ObjectTypeEnm;
count : GL.Sizei;
c_type : ArrayIndexTypeEnm;
indices: GL.pointer);
procedure InterleavedArrays (format : InterleaveFormatEnm;
stride : GL.Sizei;
pointer: GL.pointer);
-- Shading model
type ShadeModeEnm is
(
FLAT,
SMOOTH
);
for ShadeModeEnm use
(
FLAT => 16#1D00#,
SMOOTH => 16#1D01#
);
for ShadeModeEnm'Size use GL.enum'Size;
procedure ShadeModel (mode: ShadeModeEnm);
-- Lighting
type LightIDEnm is
(
LIGHT0,
LIGHT1,
LIGHT2,
LIGHT3,
LIGHT4,
LIGHT5,
LIGHT6,
LIGHT7
);
for LightIDEnm use
(
LIGHT0 => 16#4000#,
LIGHT1 => 16#4001#,
LIGHT2 => 16#4002#,
LIGHT3 => 16#4003#,
LIGHT4 => 16#4004#,
LIGHT5 => 16#4005#,
LIGHT6 => 16#4006#,
LIGHT7 => 16#4007#
);
for LightIDEnm'Size use GL.enum'Size;
type LightParameterEnm is
(
SPOT_EXPONENT,
SPOT_CUTOFF,
CONSTANT_ATTENUATION,
LINEAR_ATTENUATION,
QUADRATIC_ATTENUATION
);
for LightParameterEnm use
(
SPOT_EXPONENT => 16#1205#,
SPOT_CUTOFF => 16#1206#,
CONSTANT_ATTENUATION => 16#1207#,
LINEAR_ATTENUATION => 16#1208#,
QUADRATIC_ATTENUATION => 16#1209#
);
for LightParameterEnm'Size use GL.enum'Size;
type LightParameterVEnm is
(
AMBIENT,
DIFFUSE,
SPECULAR,
POSITION,
SPOT_DIRECTION,
SPOT_EXPONENT,
SPOT_CUTOFF,
CONSTANT_ATTENUATION,
LINEAR_ATTENUATION,
QUADRATIC_ATTENUATION
);
for LightParameterVEnm use
(
AMBIENT => 16#1200#,
DIFFUSE => 16#1201#,
SPECULAR => 16#1202#,
POSITION => 16#1203#,
SPOT_DIRECTION => 16#1204#,
SPOT_EXPONENT => 16#1205#,
SPOT_CUTOFF => 16#1206#,
CONSTANT_ATTENUATION => 16#1207#,
LINEAR_ATTENUATION => 16#1208#,
QUADRATIC_ATTENUATION => 16#1209#
);
for LightParameterVEnm'Size use GL.enum'Size;
type LightModelEnm is
(
LIGHT_MODEL_LOCAL_VIEWER,
LIGHT_MODEL_TWO_SIDE
);
for LightModelEnm use
(
LIGHT_MODEL_LOCAL_VIEWER => 16#0B51#,
LIGHT_MODEL_TWO_SIDE => 16#0B52#
);
for LightModelEnm'Size use GL.enum'Size;
type LightModelVEnm is
(
LIGHT_MODEL_LOCAL_VIEWER,
LIGHT_MODEL_TWO_SIDE,
LIGHT_MODEL_AMBIENT
);
for LightModelVEnm use
(
LIGHT_MODEL_LOCAL_VIEWER => 16#0B51#,
LIGHT_MODEL_TWO_SIDE => 16#0B52#,
LIGHT_MODEL_AMBIENT => 16#0B53#
);
for LightModelVEnm'Size use GL.enum'Size;
procedure Light (light: LightIDEnm;
pname: LightParameterEnm;
param: GL.Float);
procedure Lighti (light: LightIDEnm;
pname: LightParameterEnm;
param: GL.Int);
procedure Light (light : LightIDEnm;
pname : LightParameterVEnm;
params: Light_Float_Vector);
procedure Lightiv (light : LightIDEnm;
pname : LightParameterVEnm;
params: GL.intPointer);
procedure GetLightfv (light : LightIDEnm;
pname : LightParameterVEnm;
params: floatPtr);
procedure GetLightiv (light : LightIDEnm;
pname : LightParameterVEnm;
params: GL.intPointer);
procedure LightModelf (pname: LightModelEnm;
param: GL.Float);
procedure LightModeli (pname: LightModelEnm;
param: GL.Int);
procedure LightModelfv (pname : LightModelVEnm;
params: floatPtr);
procedure LightModeliv (pname : LightModelVEnm;
params: GL.intPointer);
-- Materials
type MaterialParameterEnm is
(
SHININESS
);
for MaterialParameterEnm use
(
SHININESS => 16#1601#
);
for MaterialParameterEnm'Size use GL.enum'Size;
type MaterialParameterVEnm is
(
AMBIENT,
DIFFUSE,
SPECULAR,
EMISSION,
SHININESS,
AMBIENT_AND_DIFFUSE,
COLOR_INDEXES
);
for MaterialParameterVEnm use
(
AMBIENT => 16#1200#,
DIFFUSE => 16#1201#,
SPECULAR => 16#1202#,
EMISSION => 16#1600#,
SHININESS => 16#1601#,
AMBIENT_AND_DIFFUSE => 16#1602#,
COLOR_INDEXES => 16#1603#
);
for MaterialParameterVEnm'Size use GL.enum'Size;
type GetMaterialParameterEnm is
(
AMBIENT,
DIFFUSE,
SPECULAR,
EMISSION,
SHININESS,
COLOR_INDEXES
);
for GetMaterialParameterEnm use
(
AMBIENT => 16#1200#,
DIFFUSE => 16#1201#,
SPECULAR => 16#1202#,
EMISSION => 16#1600#,
SHININESS => 16#1601#,
COLOR_INDEXES => 16#1603#
);
for GetMaterialParameterEnm'Size use GL.enum'Size;
type ColorMaterialEnm is
(
AMBIENT,
DIFFUSE,
SPECULAR,
EMISSION,
AMBIENT_AND_DIFFUSE
);
for ColorMaterialEnm use
(
AMBIENT => 16#1200#,
DIFFUSE => 16#1201#,
SPECULAR => 16#1202#,
EMISSION => 16#1600#,
AMBIENT_AND_DIFFUSE => 16#1602#
);
for ColorMaterialEnm'Size use GL.enum'Size;
procedure Material (face : FaceEnm;
pname: MaterialParameterEnm;
param: GL.Float);
procedure Materiali (face : FaceEnm;
pname: MaterialParameterEnm;
param: GL.Int);
procedure Material (face : FaceEnm;
pname : MaterialParameterVEnm;
params: Material_Float_vector);
procedure Materialiv (face : FaceEnm;
pname : MaterialParameterVEnm;
params: GL.intPointer);
procedure GetMaterialfv (face : FaceEnm;
pname : GetMaterialParameterEnm;
params: floatPtr);
procedure GetMaterialiv (face : FaceEnm;
pname : GetMaterialParameterEnm;
params: GL.intPointer);
procedure ColorMaterial (face: FaceEnm;
mode: ColorMaterialEnm);
-- Pixel stuff
type PixelStorageEnm is
(
UNPACK_SWAP_BYTES,
UNPACK_LSB_FIRST,
UNPACK_ROW_LENGTH,
UNPACK_SKIP_ROWS,
UNPACK_SKIP_PIXELS,
UNPACK_ALIGNMENT,
PACK_SWAP_BYTES,
PACK_LSB_FIRST,
PACK_ROW_LENGTH,
PACK_SKIP_ROWS,
PACK_SKIP_PIXELS,
PACK_ALIGNMENT
);
for PixelStorageEnm use
(
UNPACK_SWAP_BYTES => 16#0CF0#,
UNPACK_LSB_FIRST => 16#0CF1#,
UNPACK_ROW_LENGTH => 16#0CF2#,
UNPACK_SKIP_ROWS => 16#0CF3#,
UNPACK_SKIP_PIXELS => 16#0CF4#,
UNPACK_ALIGNMENT => 16#0CF5#,
PACK_SWAP_BYTES => 16#0D00#,
PACK_LSB_FIRST => 16#0D01#,
PACK_ROW_LENGTH => 16#0D02#,
PACK_SKIP_ROWS => 16#0D03#,
PACK_SKIP_PIXELS => 16#0D04#,
PACK_ALIGNMENT => 16#0D05#
);
for PixelStorageEnm'Size use GL.enum'Size;
type PixelTransferEnm is
(
MAP_COLOR,
MAP_STENCIL,
INDEX_SHIFT,
INDEX_OFFSET,
RED_SCALE,
RED_BIAS,
GREEN_SCALE,
GREEN_BIAS,
BLUE_SCALE,
BLUE_BIAS,
ALPHA_SCALE,
ALPHA_BIAS,
DEPTH_SCALE,
DEPTH_BIAS
);
for PixelTransferEnm use
(
MAP_COLOR => 16#0D10#,
MAP_STENCIL => 16#0D11#,
INDEX_SHIFT => 16#0D12#,
INDEX_OFFSET => 16#0D13#,
RED_SCALE => 16#0D14#,
RED_BIAS => 16#0D15#,
GREEN_SCALE => 16#0D18#,
GREEN_BIAS => 16#0D19#,
BLUE_SCALE => 16#0D1A#,
BLUE_BIAS => 16#0D1B#,
ALPHA_SCALE => 16#0D1C#,
ALPHA_BIAS => 16#0D1D#,
DEPTH_SCALE => 16#0D1E#,
DEPTH_BIAS => 16#0D1F#
);
for PixelTransferEnm'Size use GL.enum'Size;
type PixelMapEnm is
(
PIXEL_MAP_I_TO_I,
PIXEL_MAP_S_TO_S,
PIXEL_MAP_I_TO_R,
PIXEL_MAP_I_TO_G,
PIXEL_MAP_I_TO_B,
PIXEL_MAP_I_TO_A,
PIXEL_MAP_R_TO_R,
PIXEL_MAP_G_TO_G,
PIXEL_MAP_B_TO_B,
PIXEL_MAP_A_TO_A
);
for PixelMapEnm use
(
PIXEL_MAP_I_TO_I => 16#0C70#,
PIXEL_MAP_S_TO_S => 16#0C71#,
PIXEL_MAP_I_TO_R => 16#0C72#,
PIXEL_MAP_I_TO_G => 16#0C73#,
PIXEL_MAP_I_TO_B => 16#0C74#,
PIXEL_MAP_I_TO_A => 16#0C75#,
PIXEL_MAP_R_TO_R => 16#0C76#,
PIXEL_MAP_G_TO_G => 16#0C77#,
PIXEL_MAP_B_TO_B => 16#0C78#,
PIXEL_MAP_A_TO_A => 16#0C79#
);
for PixelMapEnm'Size use GL.enum'Size;
type PixelFormatEnm is
(
COLOR_INDEX,
STENCIL_INDEX,
DEPTH_COMPONENT,
RED,
GREEN,
BLUE,
ALPHA,
RGB,
RGBA,
LUMINANCE,
LUMINANCE_ALPHA,
BGR,
BGRA
);
for PixelFormatEnm use
(
COLOR_INDEX => 16#1900#,
STENCIL_INDEX => 16#1901#,
DEPTH_COMPONENT => 16#1902#,
RED => 16#1903#,
GREEN => 16#1904#,
BLUE => 16#1905#,
ALPHA => 16#1906#,
RGB => 16#1907#,
RGBA => 16#1908#,
LUMINANCE => 16#1909#,
LUMINANCE_ALPHA => 16#190A#,
BGR => 16#80E0#,
BGRA => 16#80E1#
);
for PixelFormatEnm'Size use GL.enum'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 GL.enum'Size;
type PixelCopyTypeEnm is
(
COLOR,
DEPTH,
STENCIL
);
for PixelCopyTypeEnm use
(
COLOR => 16#1800#,
DEPTH => 16#1801#,
STENCIL => 16#1802#
);
for PixelCopyTypeEnm'Size use GL.enum'Size;
procedure PixelZoom (xfactor: GL.Float;
yfactor: GL.Float);
procedure PixelStoref (pname: PixelStorageEnm;
param: GL.Float);
procedure PixelStore (pname: PixelStorageEnm;
param: GL.Int);
procedure PixelTransferf (pname: PixelTransferEnm;
param: GL.Float);
procedure PixelTransferi (pname: PixelTransferEnm;
param: GL.Int);
procedure PixelMapfv (map : PixelMapEnm;
mapsize: GL.Int;
values : floatPtr);
procedure PixelMapuiv (map : PixelMapEnm;
mapsize: GL.Int;
values : GL.uintPtr);
procedure PixelMapusv (map : PixelMapEnm;
mapsize: GL.Int;
values : ushortPtr);
procedure GetPixelMapfv (map : PixelMapEnm;
values: floatPtr);
procedure GetPixelMapuiv (map : PixelMapEnm;
values: GL.uintPtr);
procedure GetPixelMapusv (map : PixelMapEnm;
values: ushortPtr);
procedure ReadPixels (x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height: GL.Sizei;
format: PixelFormatEnm;
c_type: PixelDataTypeEnm;
pixels: GL.pointer);
procedure DrawPixels (width : GL.Sizei;
height: GL.Sizei;
format: PixelFormatEnm;
c_type: PixelDataTypeEnm;
pixels: GL.pointer);
procedure CopyPixels (x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height: GL.Sizei;
c_type: PixelCopyTypeEnm);
-- Texturing
type TexCoordEnm is
(
S,
T,
R,
Q
);
for TexCoordEnm use
(
S => 16#2000#,
T => 16#2001#,
R => 16#2002#,
Q => 16#2003#
);
for TexCoordEnm'Size use GL.enum'Size;
type TexParameterEnm is
(
TEXTURE_GEN_MODE
);
for TexParameterEnm use
(
TEXTURE_GEN_MODE => 16#2500#
);
for TexParameterEnm'Size use GL.enum'Size;
type TexParameterVEnm is
(
TEXTURE_GEN_MODE,
OBJECT_PLANE,
EYE_PLANE
);
for TexParameterVEnm use
(
TEXTURE_GEN_MODE => 16#2500#,
OBJECT_PLANE => 16#2501#,
EYE_PLANE => 16#2502#
);
for TexParameterVEnm'Size use GL.enum'Size;
type TexEnvEnm is
(
TEXTURE_ENV
);
for TexEnvEnm use
(
TEXTURE_ENV => 16#2300#
);
for TexEnvEnm'Size use GL.enum'Size;
type TexEnvParameterEnm is
(
TEXTURE_ENV_MODE
);
for TexEnvParameterEnm use
(
TEXTURE_ENV_MODE => 16#2200#
);
for TexEnvParameterEnm'Size use GL.enum'Size;
type TexEnvParameterVEnm is
(
TEXTURE_ENV_MODE,
TEXTURE_ENV_COLOR
);
for TexEnvParameterVEnm use
(
TEXTURE_ENV_MODE => 16#2200#,
TEXTURE_ENV_COLOR => 16#2201#
);
for TexEnvParameterVEnm'Size use GL.enum'Size;
type TargetTexEnm is
(
TEXTURE_1D,
TEXTURE_2D
);
for TargetTexEnm use
(
TEXTURE_1D => 16#0DE0#,
TEXTURE_2D => 16#0DE1#
);
for TargetTexEnm'Size use GL.enum'Size;
type TexParamEnm is
(
TEXTURE_MAG_FILTER,
TEXTURE_MIN_FILTER,
TEXTURE_WRAP_S,
TEXTURE_WRAP_T,
TEXTURE_PRIORITY
);
for TexParamEnm use
(
TEXTURE_MAG_FILTER => 16#2800#,
TEXTURE_MIN_FILTER => 16#2801#,
TEXTURE_WRAP_S => 16#2802#,
TEXTURE_WRAP_T => 16#2803#,
TEXTURE_PRIORITY => 16#8066#
);
for TexParamEnm'Size use GL.enum'Size;
type TexParamVEnm is
(
TEXTURE_BORDER_COLOR,
TEXTURE_MAG_FILTER,
TEXTURE_MIN_FILTER,
TEXTURE_WRAP_S,
TEXTURE_WRAP_T,
TEXTURE_PRIORITY
);
for TexParamVEnm use
(
TEXTURE_BORDER_COLOR => 16#1004#,
TEXTURE_MAG_FILTER => 16#2800#,
TEXTURE_MIN_FILTER => 16#2801#,
TEXTURE_WRAP_S => 16#2802#,
TEXTURE_WRAP_T => 16#2803#,
TEXTURE_PRIORITY => 16#8066#
);
for TexParamVEnm'Size use GL.enum'Size;
type GetTexParamEnm is
(
TEXTURE_BORDER_COLOR,
TEXTURE_MAG_FILTER,
TEXTURE_MIN_FILTER,
TEXTURE_WRAP_S,
TEXTURE_WRAP_T,
TEXTURE_PRIORITY,
TEXTURE_RESIDENT
);
for GetTexParamEnm use
(
TEXTURE_BORDER_COLOR => 16#1004#,
TEXTURE_MAG_FILTER => 16#2800#,
TEXTURE_MIN_FILTER => 16#2801#,
TEXTURE_WRAP_S => 16#2802#,
TEXTURE_WRAP_T => 16#2803#,
TEXTURE_PRIORITY => 16#8066#,
TEXTURE_RESIDENT => 16#8067#
);
for GetTexParamEnm'Size use GL.enum'Size;
type TargetTexLevelEnm is
(
TEXTURE_1D,
TEXTURE_2D,
PROXY_TEXTURE_1D,
PROXY_TEXTURE_2D
);
for TargetTexLevelEnm use
(
TEXTURE_1D => 16#0DE0#,
TEXTURE_2D => 16#0DE1#,
PROXY_TEXTURE_1D => 16#8063#,
PROXY_TEXTURE_2D => 16#8064#
);
for TargetTexLevelEnm'Size use GL.enum'Size;
type TexLevelParameterEnm is
(
TEXTURE_WIDTH,
TEXTURE_HEIGHT,
TEXTURE_COMPONENTS,
TEXTURE_BORDER,
TEXTURE_RED_SIZE,
TEXTURE_GREEN_SIZE,
TEXTURE_BLUE_SIZE,
TEXTURE_ALPHA_SIZE,
TEXTURE_LUMINANCE_SIZE,
TEXTURE_INTENSITY_SIZE,
TEXTURE_INTERNAL_FORMAT
);
for TexLevelParameterEnm use
(
TEXTURE_WIDTH => 16#1000#,
TEXTURE_HEIGHT => 16#1001#,
TEXTURE_COMPONENTS => 16#1003#, -- HP docs say to use this in 1.0 instead of INTERNAL_FORMAT???
TEXTURE_BORDER => 16#1005#,
TEXTURE_RED_SIZE => 16#805C#,
TEXTURE_GREEN_SIZE => 16#805D#,
TEXTURE_BLUE_SIZE => 16#805E#,
TEXTURE_ALPHA_SIZE => 16#805F#,
TEXTURE_LUMINANCE_SIZE => 16#8060#,
TEXTURE_INTENSITY_SIZE => 16#8061#,
TEXTURE_INTERNAL_FORMAT => 16#FFFF# -- fixme: Mesa 2.5 does not support!! What's the real value?
);
for TexLevelParameterEnm'Size use GL.enum'Size;
type TargetTex1DEnm is
(
TEXTURE_1D,
PROXY_TEXTURE_1D
);
for TargetTex1DEnm use
(
TEXTURE_1D => 16#0DE0#,
PROXY_TEXTURE_1D => 16#8063#
);
for TargetTex1DEnm'Size use GL.enum'Size;
type TexFormatEnm is
(
ALPHA,
RGB,
RGBA,
LUMINANCE,
LUMINANCE_ALPHA,
R3_G3_B2,
ALPHA4,
ALPHA8,
ALPHA12,
ALPHA16,
LUMINANCE4,
LUMINANCE8,
LUMINANCE12,
LUMINANCE16,
LUMINANCE4_ALPHA4,
LUMINANCE6_ALPHA2,
LUMINANCE8_ALPHA8,
LUMINANCE12_ALPHA4,
LUMINANCE12_ALPHA12,
LUMINANCE16_ALPHA16,
INTENSITY,
INTENSITY4,
INTENSITY8,
INTENSITY12,
INTENSITY16,
RGB4,
RGB5,
RGB8,
RGB10,
RGB12,
RGB16,
RGBA2,
RGBA4,
RGB5_A1,
RGBA8,
RGB10_A2,
RGBA12,
RGBA16,
BGR,
BGRA
);
for TexFormatEnm use
(
ALPHA => 16#1906#,
RGB => 16#1907#,
RGBA => 16#1908#,
LUMINANCE => 16#1909#,
LUMINANCE_ALPHA => 16#190A#,
R3_G3_B2 => 16#2A10#,
ALPHA4 => 16#803B#,
ALPHA8 => 16#803C#,
ALPHA12 => 16#803D#,
ALPHA16 => 16#803E#,
LUMINANCE4 => 16#803F#,
LUMINANCE8 => 16#8040#,
LUMINANCE12 => 16#8041#,
LUMINANCE16 => 16#8042#,
LUMINANCE4_ALPHA4 => 16#8043#,
LUMINANCE6_ALPHA2 => 16#8044#,
LUMINANCE8_ALPHA8 => 16#8045#,
LUMINANCE12_ALPHA4 => 16#8046#,
LUMINANCE12_ALPHA12 => 16#8047#,
LUMINANCE16_ALPHA16 => 16#8048#,
INTENSITY => 16#8049#,
INTENSITY4 => 16#804A#,
INTENSITY8 => 16#804B#,
INTENSITY12 => 16#804C#,
INTENSITY16 => 16#804D#,
RGB4 => 16#804F#,
RGB5 => 16#8050#,
RGB8 => 16#8051#,
RGB10 => 16#8052#,
RGB12 => 16#8053#,
RGB16 => 16#8054#,
RGBA2 => 16#8055#,
RGBA4 => 16#8056#,
RGB5_A1 => 16#8057#,
RGBA8 => 16#8058#,
RGB10_A2 => 16#8059#,
RGBA12 => 16#805A#,
RGBA16 => 16#805B#,
BGR => 16#80E0#,
BGRA => 16#80E1#
);
for TexFormatEnm'Size use GL.enum'Size;
type TexPixelFormatEnm is
(
COLOR_INDEX,
RED,
GREEN,
BLUE,
ALPHA,
RGB,
RGBA,
LUMINANCE,
LUMINANCE_ALPHA
);
for TexPixelFormatEnm use
(
COLOR_INDEX => 16#1900#,
RED => 16#1903#,
GREEN => 16#1904#,
BLUE => 16#1905#,
ALPHA => 16#1906#,
RGB => 16#1907#,
RGBA => 16#1908#,
LUMINANCE => 16#1909#,
LUMINANCE_ALPHA => 16#190A#
);
for TexPixelFormatEnm'Size use GL.enum'Size;
type TargetTex2DEnm is
(
TEXTURE_2D,
PROXY_TEXTURE_2D
);
for TargetTex2DEnm use
(
TEXTURE_2D => 16#0DE1#,
PROXY_TEXTURE_2D => 16#8064#
);
for TargetTex2DEnm'Size use GL.enum'Size;
type TexImageFormatEnm is
(
RED,
GREEN,
BLUE,
ALPHA,
RGB,
RGBA,
LUMINANCE,
LUMINANCE_ALPHA
);
for TexImageFormatEnm use
(
RED => 16#1903#,
GREEN => 16#1904#,
BLUE => 16#1905#,
ALPHA => 16#1906#,
RGB => 16#1907#,
RGBA => 16#1908#,
LUMINANCE => 16#1909#,
LUMINANCE_ALPHA => 16#190A#
);
for TexImageFormatEnm'Size use GL.enum'Size;
type TargetTex1DOnlyEnm is
(
TEXTURE_1D
);
for TargetTex1DOnlyEnm use
(
TEXTURE_1D => 16#0DE0#
);
for TargetTex1DOnlyEnm'Size use GL.enum'Size;
type TargetTex2DOnlyEnm is
(
TEXTURE_2D
);
for TargetTex2DOnlyEnm use
(
TEXTURE_2D => 16#0DE1#
);
for TargetTex2DOnlyEnm'Size use GL.enum'Size;
type TargetTex3DEnm is
(
TEXTURE_3D_EXT,
PROXY_TEXTURE_3D_EXT
);
for TargetTex3DEnm use
(
TEXTURE_3D_EXT => 16#806F#,
PROXY_TEXTURE_3D_EXT => 16#8070#
);
for TargetTex3DEnm'Size use GL.enum'Size;
type TargetTex3DOnlyEnm is
(
TEXTURE_3D_EXT
);
for TargetTex3DOnlyEnm use
(
TEXTURE_3D_EXT => 16#806F#
);
for TargetTex3DOnlyEnm'Size use GL.enum'Size;
-- Texture map parameters
OBJECT_LINEAR : constant := 16#2401#;
EYE_LINEAR : constant := 16#2400#;
SPHERE_MAP : constant := 16#2402#;
-- Texture filter parameter values
NEAREST_MIPMAP_NEAREST : constant := 16#2700#;
NEAREST_MIPMAP_LINEAR : constant := 16#2702#;
LINEAR_MIPMAP_NEAREST : constant := 16#2701#;
LINEAR_MIPMAP_LINEAR : constant := 16#2703#;
DECAL : constant := 16#2101#;
MODULATE : constant := 16#2100#;
NEAREST : constant := 16#2600#;
REPEAT : constant := 16#2901#;
CLAMP : constant := 16#2900#;
CLAMP_TO_EDGE : constant := 16#812F#;
CLAMP_TO_BORDER : constant := 16#812D#;
procedure TexGend (coord: TexCoordEnm;
pname: TexParameterEnm;
param: GL.Double);
procedure TexGenf (coord: TexCoordEnm;
pname: TexParameterEnm;
param: GL.Float);
procedure TexGeni (coord: TexCoordEnm;
pname: TexParameterEnm;
param: GL.Int);
procedure TexGendv (coord : TexCoordEnm;
pname : TexParameterVEnm;
params: GL.doublePtr);
procedure TexGenfv (coord : TexCoordEnm;
pname : TexParameterVEnm;
params: floatPtr);
procedure TexGeniv (coord : TexCoordEnm;
pname : TexParameterVEnm;
params: GL.intPointer);
procedure GetTexGendv (coord : TexCoordEnm;
pname : TexParameterVEnm;
params: GL.doublePtr);
procedure GetTexGenfv (coord : TexCoordEnm;
pname : TexParameterVEnm;
params: floatPtr);
procedure GetTexGeniv (coord : TexCoordEnm;
pname : TexParameterVEnm;
params: GL.intPointer);
procedure TexEnvf (target: TexEnvEnm;
pname : TexEnvParameterEnm;
param : GL.Float);
procedure TexEnv (target: TexEnvEnm;
pname : TexEnvParameterEnm;
param : GL.Int);
procedure TexEnvfv (target: TexEnvEnm;
pname : TexEnvParameterVEnm;
params: floatPtr);
procedure TexEnviv (target: TexEnvEnm;
pname : TexEnvParameterVEnm;
params: GL.intPointer);
procedure GetTexEnvfv (target: TexEnvEnm;
pname : TexEnvParameterVEnm;
params: floatPtr);
procedure GetTexEnviv (target: TexEnvEnm;
pname : TexEnvParameterVEnm;
params: GL.intPointer);
procedure TexParameterf (target: TargetTexEnm;
pname : TexParamEnm;
param : GL.Float);
procedure TexParameter (target: TargetTexEnm;
pname : TexParamEnm;
param : GL.Int);
procedure TexParameterfv (target: TargetTexEnm;
pname : TexParamVEnm;
params: floatPtr);
procedure TexParameteriv (target: TargetTexEnm;
pname : TexParamVEnm;
params: GL.intPointer);
procedure GetTexParameterfv (target: TargetTexEnm;
pname : GetTexParamEnm;
params: floatPtr);
procedure GetTexParameteriv (target: TargetTexEnm;
pname : GetTexParamEnm;
params: GL.intPointer);
procedure GetTexLevelParameterfv (target: TargetTexLevelEnm;
level : GL.Int;
pname : TexLevelParameterEnm;
params: floatPtr);
procedure GetTexLevelParameteriv (target: TargetTexLevelEnm;
level : GL.Int;
pname : TexLevelParameterEnm;
params: GL.intPointer);
procedure TexImage1D (target : TargetTex1DEnm;
level : GL.Int;
internalFormat: TexFormatEnm;
width : GL.Sizei;
border : GL.Int;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
pixels : GL.pointer);
procedure TexImage2D (target : TargetTex2DEnm;
level : GL.Int;
internalFormat: TexFormatEnm;
width : GL.Sizei;
height : GL.Sizei;
border : GL.Int;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
pixels : GL.pointer);
procedure GetTexImage (target: TargetTexEnm;
level : GL.Int;
format: TexImageFormatEnm;
c_type: PixelDataTypeEnm;
pixels: GL.pointer);
procedure GenTextures (n : GL.Sizei;
textures: GL.uintPtr);
procedure DeleteTextures (n : GL.Sizei;
textures: GL.uintPtr);
procedure BindTexture (target : TargetTexEnm;
texture: GL.Uint);
procedure PrioritizeTextures (n : GL.Sizei;
textures : GL.uintPtr;
priorities: GL.clampfPtr);
function AreTexturesResident (n : GL.Sizei;
textures : GL.uintPtr;
residences: GL_BooleanPtr)
return GL_Boolean;
function IsTexture (texture: GL.Uint)
return GL_Boolean;
procedure TexSubImage1D (target : TargetTex1DOnlyEnm;
level : GL.Int;
xoffset: GL.Int;
width : GL.Sizei;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
pixels : GL.pointer);
procedure TexSubImage2D (target : TargetTex2DOnlyEnm;
level : GL.Int;
xoffset: GL.Int;
yoffset: GL.Int;
width : GL.Sizei;
height : GL.Sizei;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
pixels : GL.pointer);
procedure CopyTexImage1D (target : TargetTex1DOnlyEnm;
level : GL.Int;
internalformat: TexFormatEnm;
x : GL.Int;
y : GL.Int;
width : GL.Sizei;
border : GL.Int);
procedure CopyTexImage2D (target : TargetTex2DOnlyEnm;
level : GL.Int;
internalformat: TexFormatEnm;
x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height : GL.Sizei;
border : GL.Int);
procedure CopyTexSubImage1D (target : TargetTex1DOnlyEnm;
level : GL.Int;
xoffset: GL.Int;
x : GL.Int;
y : GL.Int;
width : GL.Sizei);
procedure CopyTexSubImage2D (target : TargetTex2DOnlyEnm;
level : GL.Int;
xoffset: GL.Int;
yoffset: GL.Int;
x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height : GL.Sizei);
procedure TexImage3DEXT (target : TargetTex3DEnm;
level : GL.Int;
internalFormat: TexPixelFormatEnm;
width : GL.Sizei;
height : GL.Sizei;
depth : GL.Sizei;
border : GL.Int;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
pixels : GL.pointer);
procedure TexSubImage3DEXT (target : TargetTex3DOnlyEnm;
level : GL.Int;
xoffset: GL.Int;
yoffset: GL.Int;
zoffset: GL.Int;
width : GL.Sizei;
height : GL.Sizei;
depth : GL.Sizei;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
pixels : GL.pointer);
procedure CopyTexSubImage3DEXT (target : TargetTex3DOnlyEnm;
level : GL.Int;
xoffset: GL.Int;
yoffset: GL.Int;
zoffset: GL.Int;
x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height : GL.Sizei);
-- Evaluators
type Map1TargetEnm is
(
MAP1_COLOR_4,
MAP1_INDEX,
MAP1_NORMAL,
MAP1_TEXTURE_COORD_1,
MAP1_TEXTURE_COORD_2,
MAP1_TEXTURE_COORD_3,
MAP1_TEXTURE_COORD_4,
MAP1_VERTEX_3,
MAP1_VERTEX_4
);
for Map1TargetEnm use
(
MAP1_COLOR_4 => 16#0D90#,
MAP1_INDEX => 16#0D91#,
MAP1_NORMAL => 16#0D92#,
MAP1_TEXTURE_COORD_1 => 16#0D93#,
MAP1_TEXTURE_COORD_2 => 16#0D94#,
MAP1_TEXTURE_COORD_3 => 16#0D95#,
MAP1_TEXTURE_COORD_4 => 16#0D96#,
MAP1_VERTEX_3 => 16#0D97#,
MAP1_VERTEX_4 => 16#0D98#
);
for Map1TargetEnm'Size use GL.enum'Size;
type Map2TargetEnm is
(
MAP2_COLOR_4,
MAP2_INDEX,
MAP2_NORMAL,
MAP2_TEXTURE_COORD_1,
MAP2_TEXTURE_COORD_2,
MAP2_TEXTURE_COORD_3,
MAP2_TEXTURE_COORD_4,
MAP2_VERTEX_3,
MAP2_VERTEX_4
);
for Map2TargetEnm use
(
MAP2_COLOR_4 => 16#0DB0#,
MAP2_INDEX => 16#0DB1#,
MAP2_NORMAL => 16#0DB2#,
MAP2_TEXTURE_COORD_1 => 16#0DB3#,
MAP2_TEXTURE_COORD_2 => 16#0DB4#,
MAP2_TEXTURE_COORD_3 => 16#0DB5#,
MAP2_TEXTURE_COORD_4 => 16#0DB6#,
MAP2_VERTEX_3 => 16#0DB7#,
MAP2_VERTEX_4 => 16#0DB8#
);
for Map2TargetEnm'Size use GL.enum'Size;
type MapTargetEnm is
(
MAP1_COLOR_4,
MAP1_INDEX,
MAP1_NORMAL,
MAP1_TEXTURE_COORD_1,
MAP1_TEXTURE_COORD_2,
MAP1_TEXTURE_COORD_3,
MAP1_TEXTURE_COORD_4,
MAP1_VERTEX_3,
MAP1_VERTEX_4,
MAP2_COLOR_4,
MAP2_INDEX,
MAP2_NORMAL,
MAP2_TEXTURE_COORD_1,
MAP2_TEXTURE_COORD_2,
MAP2_TEXTURE_COORD_3,
MAP2_TEXTURE_COORD_4,
MAP2_VERTEX_3,
MAP2_VERTEX_4
);
for MapTargetEnm use
(
MAP1_COLOR_4 => 16#0D90#,
MAP1_INDEX => 16#0D91#,
MAP1_NORMAL => 16#0D92#,
MAP1_TEXTURE_COORD_1 => 16#0D93#,
MAP1_TEXTURE_COORD_2 => 16#0D94#,
MAP1_TEXTURE_COORD_3 => 16#0D95#,
MAP1_TEXTURE_COORD_4 => 16#0D96#,
MAP1_VERTEX_3 => 16#0D97#,
MAP1_VERTEX_4 => 16#0D98#,
MAP2_COLOR_4 => 16#0DB0#,
MAP2_INDEX => 16#0DB1#,
MAP2_NORMAL => 16#0DB2#,
MAP2_TEXTURE_COORD_1 => 16#0DB3#,
MAP2_TEXTURE_COORD_2 => 16#0DB4#,
MAP2_TEXTURE_COORD_3 => 16#0DB5#,
MAP2_TEXTURE_COORD_4 => 16#0DB6#,
MAP2_VERTEX_3 => 16#0DB7#,
MAP2_VERTEX_4 => 16#0DB8#
);
for MapTargetEnm'Size use GL.enum'Size;
type MapQueryEnm is
(
COEFF,
ORDER,
DOMAIN
);
for MapQueryEnm use
(
COEFF => 16#0A00#,
ORDER => 16#0A01#,
DOMAIN => 16#0A02#
);
for MapQueryEnm'Size use GL.enum'Size;
type Mesh1ModeEnm is
(
POINT,
LINE
);
for Mesh1ModeEnm use
(
POINT => 16#1B00#,
LINE => 16#1B01#
);
for Mesh1ModeEnm'Size use GL.enum'Size;
type Mesh2ModeEnm is
(
POINT,
LINE,
FILL
);
for Mesh2ModeEnm use
(
POINT => 16#1B00#,
LINE => 16#1B01#,
FILL => 16#1B02#
);
for Mesh2ModeEnm'Size use GL.enum'Size;
procedure Map1d (target: Map1TargetEnm;
u1 : GL.Double;
u2 : GL.Double;
stride: GL.Int;
order : GL.Int;
points: GL.doublePtr);
procedure Map1f (target: Map1TargetEnm;
u1 : GL.Float;
u2 : GL.Float;
stride: GL.Int;
order : GL.Int;
points: floatPtr);
procedure Map2d (target : Map2TargetEnm;
u1 : GL.Double;
u2 : GL.Double;
ustride: GL.Int;
uorder : GL.Int;
v1 : GL.Double;
v2 : GL.Double;
vstride: GL.Int;
vorder : GL.Int;
points : GL.doublePtr);
procedure Map2f (target : Map2TargetEnm;
u1 : GL.Float;
u2 : GL.Float;
ustride: GL.Int;
uorder : GL.Int;
v1 : GL.Float;
v2 : GL.Float;
vstride: GL.Int;
vorder : GL.Int;
points : floatPtr);
procedure GetMapdv (target: MapTargetEnm;
query : MapQueryEnm;
v : GL.doublePtr);
procedure GetMapfv (target: MapTargetEnm;
query : MapQueryEnm;
v : floatPtr);
procedure GetMapiv (target: MapTargetEnm;
query : MapQueryEnm;
v : GL.intPointer);
procedure EvalPoint1 (i: GL.Int);
procedure EvalPoint2 (i: GL.Int;
j: GL.Int);
procedure EvalMesh1 (mode: Mesh1ModeEnm;
i1 : GL.Int;
i2 : GL.Int);
procedure EvalMesh2 (mode: Mesh2ModeEnm;
i1 : GL.Int;
i2 : GL.Int;
j1 : GL.Int;
j2 : GL.Int);
procedure EvalCoord1d (u: GL.Double);
procedure EvalCoord1f (u: GL.Float);
procedure EvalCoord1dv (u: GL.doublePtr);
procedure EvalCoord1fv (u: floatPtr);
procedure EvalCoord2d (u: GL.Double;
v: GL.Double);
procedure EvalCoord2f (u: GL.Float;
v: GL.Float);
procedure EvalCoord2dv (u: GL.doublePtr);
procedure EvalCoord2fv (u: floatPtr);
procedure MapGrid1d (un: GL.Int;
u1: GL.Double;
u2: GL.Double);
procedure MapGrid1f (un: GL.Int;
u1: GL.Float;
u2: GL.Float);
procedure MapGrid2d (un: GL.Int;
u1: GL.Double;
u2: GL.Double;
vn: GL.Int;
v1: GL.Double;
v2: GL.Double);
procedure MapGrid2f (un: GL.Int;
u1: GL.Float;
u2: GL.Float;
vn: GL.Int;
v1: GL.Float;
v2: GL.Float);
-- Fog
type FogParameterEnm is
(
FOG_INDEX,
FOG_DENSITY,
FOG_START,
FOG_END,
FOG_MODE
);
for FogParameterEnm use
(
FOG_INDEX => 16#0B61#,
FOG_DENSITY => 16#0B62#,
FOG_START => 16#0B63#,
FOG_END => 16#0B64#,
FOG_MODE => 16#0B65#
);
for FogParameterEnm'Size use GL.enum'Size;
type FogParameterVEnm is
(
FOG_INDEX,
FOG_DENSITY,
FOG_START,
FOG_END,
FOG_MODE,
FOG_COLOR
);
for FogParameterVEnm use
(
FOG_INDEX => 16#0B61#,
FOG_DENSITY => 16#0B62#,
FOG_START => 16#0B63#,
FOG_END => 16#0B64#,
FOG_MODE => 16#0B65#,
FOG_COLOR => 16#0B66#
);
for FogParameterVEnm'Size use GL.enum'Size;
-- Fog attenuation modes
LINEAR : constant := 16#2601#;
EXP1 : constant := 16#0800#;
EXP2 : constant := 16#0801#;
-- EXP1: original was EXP, confused with the Exp function (29-May-2006)
procedure Fogf (pname: FogParameterEnm;
param: GL.Float);
procedure Fog (pname: FogParameterEnm;
param: GL.Float) renames Fogf;
procedure Fogi (pname: FogParameterEnm;
param: GL.Int);
procedure Fog (pname: FogParameterEnm;
param: GL.Int) renames Fogi;
procedure Fogfv (pname : FogParameterVEnm;
params: floatPtr);
procedure Fog (pname : FogParameterVEnm;
params: floatPtr) renames Fogfv;
procedure Fogiv (pname : FogParameterVEnm;
params: GL.intPointer);
procedure Fog (pname : FogParameterVEnm;
params: GL.intPointer) renames Fogiv;
-- 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 GL.enum'Size;
-- Feedback tokens
POINT_TOKEN : constant := 16#0701#;
LINE_TOKEN : constant := 16#0702#;
LINE_RESET_TOKEN : constant := 16#0707#;
POLYGON_TOKEN : constant := 16#0703#;
BITMAP_TOKEN : constant := 16#0704#;
DRAW_PIXEL_TOKEN : constant := 16#0705#;
COPY_PIXEL_TOKEN : constant := 16#0706#;
PASS_THROUGH_TOKEN : constant := 16#0700#;
FEEDBACK_BUFFER_SIZE : constant := 16#0DF1#;
FEEDBACK_BUFFER_TYPE : constant := 16#0DF2#;
procedure FeedbackBuffer (size : GL.Sizei;
c_type: FeedbackModeEnm;
buffer: floatPtr);
procedure PassThrough (token: GL.Float);
-- Color tables (extension)
type ColorTableTargetEnm is
(
TEXTURE_1D,
TEXTURE_2D,
PROXY_TEXTURE_1D,
PROXY_TEXTURE_2D,
TEXTURE_3D_EXT,
PROXY_TEXTURE_3D_EXT,
SHARED_TEXTURE_PALETTE_EXT
);
for ColorTableTargetEnm use
(
TEXTURE_1D => 16#0DE0#,
TEXTURE_2D => 16#0DE1#,
PROXY_TEXTURE_1D => 16#8063#,
PROXY_TEXTURE_2D => 16#8064#,
TEXTURE_3D_EXT => 16#806F#,
PROXY_TEXTURE_3D_EXT => 16#8070#,
SHARED_TEXTURE_PALETTE_EXT => 16#81FB#
);
for ColorTableTargetEnm'Size use GL.enum'Size;
type GetColorTableTargetEnm is
(
TEXTURE_1D,
TEXTURE_2D,
TEXTURE_3D_EXT,
SHARED_TEXTURE_PALETTE_EXT
);
for GetColorTableTargetEnm use
(
TEXTURE_1D => 16#0DE0#,
TEXTURE_2D => 16#0DE1#,
TEXTURE_3D_EXT => 16#806F#,
SHARED_TEXTURE_PALETTE_EXT => 16#81FB#
);
for GetColorTableTargetEnm'Size use GL.enum'Size;
type ColorTableParameterEnm is
(
COLOR_TABLE_FORMAT_EXT,
COLOR_TABLE_WIDTH_EXT,
COLOR_TABLE_RED_SIZE_EXT,
COLOR_TABLE_GREEN_SIZE_EXT,
COLOR_TABLE_BLUE_SIZE_EXT,
COLOR_TABLE_ALPHA_SIZE_EXT,
COLOR_TABLE_LUMINANCE_SIZE_EXT,
COLOR_TABLE_INTENSITY_SIZE_EXT
);
for ColorTableParameterEnm use
(
COLOR_TABLE_FORMAT_EXT => 16#80D8#,
COLOR_TABLE_WIDTH_EXT => 16#80D9#,
COLOR_TABLE_RED_SIZE_EXT => 16#80DA#,
COLOR_TABLE_GREEN_SIZE_EXT => 16#80DB#,
COLOR_TABLE_BLUE_SIZE_EXT => 16#80DC#,
COLOR_TABLE_ALPHA_SIZE_EXT => 16#80DD#,
COLOR_TABLE_LUMINANCE_SIZE_EXT => 16#80DE#,
COLOR_TABLE_INTENSITY_SIZE_EXT => 16#80DF#
);
for ColorTableParameterEnm'Size use GL.enum'Size;
procedure ColorTableEXT (target : ColorTableTargetEnm;
internalformat: TexFormatEnm;
width : GL.Sizei;
format : TexPixelFormatEnm;
c_type : PixelDataTypeEnm;
table : GL.pointer);
procedure ColorSubTableEXT (target: ColorTableTargetEnm;
start : GL.Sizei;
count : GL.Sizei;
format: TexPixelFormatEnm;
c_type: PixelDataTypeEnm;
data : GL.pointer);
procedure GetColorTableEXT (target: GetColorTableTargetEnm;
format: TexPixelFormatEnm;
c_type: PixelDataTypeEnm;
table : GL.pointer);
procedure GetColorTableParameterfvEXT (target: GetColorTableTargetEnm;
pname : ColorTableParameterEnm;
params: floatPtr);
procedure GetColorTableParameterivEXT (target: GetColorTableTargetEnm;
pname : ColorTableParameterEnm;
params: GL.intPointer);
-- Point parameters (extension)
type PointParameterEnm is
(
POINT_SIZE_MIN_EXT,
POINT_SIZE_MAX_EXT,
POINT_FADE_THRESHOLD_SIZE_EXT
);
for PointParameterEnm use
(
POINT_SIZE_MIN_EXT => 16#8126#,
POINT_SIZE_MAX_EXT => 16#8127#,
POINT_FADE_THRESHOLD_SIZE_EXT => 16#8128#
);
for PointParameterEnm'Size use GL.enum'Size;
type PointParameterVEnm is
(
POINT_SIZE_MIN_EXT,
POINT_SIZE_MAX_EXT,
POINT_FADE_THRESHOLD_SIZE_EXT,
DISTANCE_ATTENUATION_EXT
);
for PointParameterVEnm use
(
POINT_SIZE_MIN_EXT => 16#8126#,
POINT_SIZE_MAX_EXT => 16#8127#,
POINT_FADE_THRESHOLD_SIZE_EXT => 16#8128#,
DISTANCE_ATTENUATION_EXT => 16#8129#
);
for PointParameterVEnm'Size use GL.enum'Size;
procedure PointParameterfEXT (pname: PointParameterEnm;
param: GL.Float);
procedure PointParameterfvEXT (pname : PointParameterVEnm;
params: floatPtr);
-- Clears
procedure ClearIndex (c: GL.Float);
procedure ClearColor (red : GL.Clampf;
green: GL.Clampf;
blue : GL.Clampf;
alpha: GL.Clampf);
procedure Clear (mask: Bitfield);
procedure ClearDepth (depth: GL.Clampd);
procedure ClearAccum (red : GL.Float;
green: GL.Float;
blue : GL.Float;
alpha: GL.Float);
-- Masks
procedure IndexMask (mask: GL.Uint);
procedure ColorMask (red : GL_Boolean;
green: GL_Boolean;
blue : GL_Boolean;
alpha: GL_Boolean);
-- Drawing parameters
procedure PointSize (size: GL.Float);
procedure LineWidth (width: GL.Float);
procedure LineStipple (factor : GL.Int;
pattern: GL.Ushort);
procedure PolygonOffset (factor: GL.Float;
units : GL.Float);
procedure PolygonStipple (mask: ubytePtr);
procedure GetPolygonStipple (mask: ubytePtr);
procedure EdgeFlag (flag: GL_Boolean);
procedure EdgeFlagv (flag: GL_BooleanPtr);
procedure Scissor (x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height: GL.Sizei);
-- Atribute stacks
procedure PushAttrib (mask: Bitfield);
procedure PopAttrib;
procedure PushClientAttrib (mask: Bitfield);
procedure PopClientAttrib;
-- Pipeline control
procedure Finish;
procedure Flush;
procedure DepthMask (flag: GL_Boolean);
procedure DepthRange (near_val: GL.Clampd;
far_val : GL.Clampd);
-- Projections
procedure Ortho (left : GL.Double;
right : GL.Double;
bottom : GL.Double;
top : GL.Double;
near_val: GL.Double;
far_val : GL.Double);
procedure Frustum (left : GL.Double;
right : GL.Double;
bottom : GL.Double;
top : GL.Double;
near_val: GL.Double;
far_val : GL.Double);
procedure Viewport (x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height: GL.Sizei);
-- Matrix stacks
procedure PushMatrix;
procedure PopMatrix;
procedure LoadIdentity;
procedure LoadMatrixd (m: GL.doublePtr);
procedure LoadMatrixf (m: floatPtr);
procedure MultMatrixd (m: GL.doublePtr);
procedure MultMatrixf (m: floatPtr);
-- Transformations
procedure Rotate (angle: GL.Double;
x : GL.Double;
y : GL.Double;
z : GL.Double);
procedure Rotate_f (angle: GL.Float;
x : GL.Float;
y : GL.Float;
z : GL.Float);
procedure Scale (x,y,z: GL.Double);
procedure Scale_f (x,y,z: GL.Float);
procedure Translate (x,y,z: GL.Double);
procedure Translate_f (x,y,z: GL.Float);
procedure Translate (v: Double_Vector_3D);
pragma Inline(Translate);
-- Specify vertices
procedure Vertex (x,y: GL.Double);
procedure Vertex_f (x,y: GL.Float);
procedure Vertex (x,y: GL.Int);
procedure Vertex_s (x,y: GL.Short);
procedure Vertex (x,y,z: GL.Double);
procedure Vertex_f (x,y,z: GL.Float);
procedure Vertex (x,y,z: GL.Int);
procedure Vertex_s (x,y,z: GL.Short);
procedure Vertex (x,y,z,w: GL.Double);
procedure Vertex_f (x,y,z,w: GL.Float);
procedure Vertex (x,y,z,w: GL.Int);
procedure Vertex_s (x,y,z,w: GL.Short);
procedure Vertex (v: Double_Vector_3D);
pragma Inline(Vertex);
procedure Vertex2dv (v: GL.doublePtr);
procedure Vertex2fv (v: floatPtr);
procedure Vertex2iv (v: GL.intPointer);
procedure Vertex2sv (v: GL.shortPtr);
procedure Vertex3dv (v: GL.doublePtr);
procedure Vertex3fv (v: floatPtr);
procedure Vertex3iv (v: GL.intPointer);
procedure Vertex3sv (v: GL.shortPtr);
procedure Vertex4dv (v: GL.doublePtr);
procedure Vertex4fv (v: floatPtr);
procedure Vertex4iv (v: GL.intPointer);
procedure Vertex4sv (v: GL.shortPtr);
-- Specify normal vectors
procedure Normal (x,y,z: GL.Double);
procedure Normal_f (x,y,z: GL.Float);
procedure Normal (x,y,z: GL.Int);
procedure Normal_b (x,y,z: GL.Byte);
procedure Normal_s (x,y,z: GL.Short);
procedure Normal (v: Double_Vector_3D);
pragma Inline(Normal);
procedure Normal3bv (v: GL.bytePtr);
procedure Normal3dv (v: GL.doublePtr);
procedure Normal3fv (v: floatPtr);
procedure Normal3iv (v: GL.intPointer);
procedure Normal3sv (v: GL.shortPtr);
-- Indexed color
procedure Indexd (c: GL.Double);
procedure Indexf (c: GL.Float);
procedure Indexi (c: GL.Int);
procedure Indexs (c: GL.Short);
procedure Indexub (c: GL.Ubyte);
procedure Indexdv (c: GL.doublePtr);
procedure Indexfv (c: floatPtr);
procedure Indexiv (c: GL.intPointer);
procedure Indexsv (c: GL.shortPtr);
procedure Indexubv (c: ubytePtr);
-- Component color
procedure Color3b (red : GL.Byte;
green: GL.Byte;
blue : GL.Byte);
procedure Color (red, green, blue: GL.Double);
procedure Color_f (red, green, blue : GL.Float);
procedure Color (red, green, blue : GL.Int);
procedure Color_s (red, green, blue : GL.Short);
procedure Color3ub (red : GL.Ubyte;
green: GL.Ubyte;
blue : GL.Ubyte);
procedure Color3ui (red : GL.Uint;
green: GL.Uint;
blue : GL.Uint);
procedure Color3us (red : GL.Ushort;
green: GL.Ushort;
blue : GL.Ushort);
procedure Color4b (red : GL.Byte;
green: GL.Byte;
blue : GL.Byte;
alpha: GL.Byte);
procedure Color (red, green, blue, alpha: GL.Double);
procedure Color_f (red, green, blue, alpha: GL.Float);
procedure Color (red, green, blue, alpha: GL.Int);
procedure Color_s (red, green, blue, alpha: GL.Short);
procedure Color4ub (red : GL.Ubyte;
green: GL.Ubyte;
blue : GL.Ubyte;
alpha: GL.Ubyte);
procedure Color4ui (red : GL.Uint;
green: GL.Uint;
blue : GL.Uint;
alpha: GL.Uint);
procedure Color4us (red : GL.Ushort;
green: GL.Ushort;
blue : GL.Ushort;
alpha: GL.Ushort);
procedure Color3bv (v: GL.bytePtr);
procedure Color3dv (v: GL.doublePtr);
procedure Color(v: RGB_Color);
procedure Color3fv (v: GL.floatPtr);
procedure Color3iv (v: GL.intPointer);
procedure Color3sv (v: GL.shortPtr);
procedure Color3ubv (v: GL.ubytePtr);
procedure Color3uiv (v: GL.uintPtr);
procedure Color3usv (v: GL.ushortPtr);
procedure Color4bv (v: GL.bytePtr);
procedure Color4dv (v: GL.doublePtr);
procedure Color(v: RGBA_Color);
procedure Color4fv (v: GL.floatPtr);
procedure Color4iv (v: GL.intPointer);
procedure Color4sv (v: GL.shortPtr);
procedure Color4ubv (v: GL.ubytePtr);
procedure Color4uiv (v: GL.uintPtr);
procedure Color4usv (v: GL.ushortPtr);
-- Texture coordinates
procedure TexCoord1d (s: GL.Double);
procedure TexCoord1f (s: GL.Float);
procedure TexCoord1i (s: GL.Int);
procedure TexCoord1s (s: GL.Short);
procedure TexCoord (s: GL.Double;
t: GL.Double);
procedure TexCoordf (s: GL.Float;
t: GL.Float);
procedure TexCoord2i (s: GL.Int;
t: GL.Int);
procedure TexCoord2s (s: GL.Short;
t: GL.Short);
procedure TexCoord3d (s: GL.Double;
t: GL.Double;
r: GL.Double);
procedure TexCoord3f (s: GL.Float;
t: GL.Float;
r: GL.Float);
procedure TexCoord3i (s: GL.Int;
t: GL.Int;
r: GL.Int);
procedure TexCoord3s (s: GL.Short;
t: GL.Short;
r: GL.Short);
procedure TexCoord4d (s: GL.Double;
t: GL.Double;
r: GL.Double;
q: GL.Double);
procedure TexCoord4f (s: GL.Float;
t: GL.Float;
r: GL.Float;
q: GL.Float);
procedure TexCoord4i (s: GL.Int;
t: GL.Int;
r: GL.Int;
q: GL.Int);
procedure TexCoord4s (s: GL.Short;
t: GL.Short;
r: GL.Short;
q: GL.Short);
procedure TexCoord1dv (v: GL.doublePtr);
procedure TexCoord1fv (v: floatPtr);
procedure TexCoord1iv (v: GL.intPointer);
procedure TexCoord1sv (v: GL.shortPtr);
procedure TexCoord2dv (v: GL.doublePtr);
procedure TexCoord2fv (v: floatPtr);
procedure TexCoord2iv (v: GL.intPointer);
procedure TexCoord2sv (v: GL.shortPtr);
procedure TexCoord3dv (v: GL.doublePtr);
procedure TexCoord3fv (v: floatPtr);
procedure TexCoord3iv (v: GL.intPointer);
procedure TexCoord3sv (v: GL.shortPtr);
procedure TexCoord4dv (v: GL.doublePtr);
procedure TexCoord4fv (v: floatPtr);
procedure TexCoord4iv (v: GL.intPointer);
procedure TexCoord4sv (v: GL.shortPtr);
-- Pixel op raster position
procedure RasterPos2d (x: GL.Double;
y: GL.Double);
procedure RasterPos2f (x: GL.Float;
y: GL.Float);
procedure RasterPos(x,y: GL.Int);
procedure RasterPos2s (x: GL.Short;
y: GL.Short);
procedure RasterPos3d (x: GL.Double;
y: GL.Double;
z: GL.Double);
procedure RasterPos3f (x: GL.Float;
y: GL.Float;
z: GL.Float);
procedure RasterPos3i (x: GL.Int;
y: GL.Int;
z: GL.Int);
procedure RasterPos3s (x: GL.Short;
y: GL.Short;
z: GL.Short);
procedure RasterPos4d (x: GL.Double;
y: GL.Double;
z: GL.Double;
w: GL.Double);
procedure RasterPos4f (x: GL.Float;
y: GL.Float;
z: GL.Float;
w: GL.Float);
procedure RasterPos4i (x: GL.Int;
y: GL.Int;
z: GL.Int;
w: GL.Int);
procedure RasterPos4s (x: GL.Short;
y: GL.Short;
z: GL.Short;
w: GL.Short);
procedure RasterPos2dv (v: GL.doublePtr);
procedure RasterPos2fv (v: floatPtr);
procedure RasterPos2iv (v: GL.intPointer);
procedure RasterPos2sv (v: GL.shortPtr);
procedure RasterPos3dv (v: GL.doublePtr);
procedure RasterPos3fv (v: floatPtr);
procedure RasterPos3iv (v: GL.intPointer);
procedure RasterPos3sv (v: GL.shortPtr);
procedure RasterPos4dv (v: GL.doublePtr);
procedure RasterPos4fv (v: floatPtr);
procedure RasterPos4iv (v: GL.intPointer);
procedure RasterPos4sv (v: GL.shortPtr);
-- Rectangles
procedure Rectd (x1: GL.Double;
y1: GL.Double;
x2: GL.Double;
y2: GL.Double);
procedure Rectf (x1: GL.Float;
y1: GL.Float;
x2: GL.Float;
y2: GL.Float);
procedure Recti (x1: GL.Int;
y1: GL.Int;
x2: GL.Int;
y2: GL.Int);
procedure Rects (x1: GL.Short;
y1: GL.Short;
x2: GL.Short;
y2: GL.Short);
procedure Rectdv (v1: GL.doublePtr;
v2: GL.doublePtr);
procedure Rectfv (v1: floatPtr;
v2: floatPtr);
procedure Rectiv (v1: GL.intPointer;
v2: GL.intPointer);
procedure Rectsv (v1: GL.shortPtr;
v2: GL.shortPtr);
-- Bitmap
procedure Bitmap (width : GL.Sizei;
height: GL.Sizei;
xorig : GL.Float;
yorig : GL.Float;
xmove : GL.Float;
ymove : GL.Float;
bitmap: ubytePtr);
-- Stenciling
procedure StencilMask (mask: GL.Uint);
procedure ClearStencil (s: GL.Int);
-- Selections and name stack
procedure SelectBuffer (size : GL.Sizei;
buffer: GL.uintPtr);
procedure InitNames;
procedure LoadName (name: GL.Uint);
procedure PushName (name: GL.Uint);
procedure PopName;
-- Mesa-specific routines
procedure WindowPos2iMESA (x: GL.Int;
y: GL.Int);
procedure WindowPos2sMESA (x: GL.Short;
y: GL.Short);
procedure WindowPos2fMESA (x: GL.Float;
y: GL.Float);
procedure WindowPos2dMESA (x: GL.Double;
y: GL.Double);
procedure WindowPos2ivMESA (p: GL.intPointer);
procedure WindowPos2svMESA (p: GL.shortPtr);
procedure WindowPos2fvMESA (p: floatPtr);
procedure WindowPos2dvMESA (p: GL.doublePtr);
procedure WindowPos3iMESA (x: GL.Int;
y: GL.Int;
z: GL.Int);
procedure WindowPos3sMESA (x: GL.Short;
y: GL.Short;
z: GL.Short);
procedure WindowPos3fMESA (x: GL.Float;
y: GL.Float;
z: GL.Float);
procedure WindowPos3dMESA (x: GL.Double;
y: GL.Double;
z: GL.Double);
procedure WindowPos3ivMESA (p: GL.intPointer);
procedure WindowPos3svMESA (p: GL.shortPtr);
procedure WindowPos3fvMESA (p: floatPtr);
procedure WindowPos3dvMESA (p: GL.doublePtr);
procedure WindowPos4iMESA (x: GL.Int;
y: GL.Int;
z: GL.Int;
w: GL.Int);
procedure WindowPos4sMESA (x: GL.Short;
y: GL.Short;
z: GL.Short;
w: GL.Short);
procedure WindowPos4fMESA (x: GL.Float;
y: GL.Float;
z: GL.Float;
w: GL.Float);
procedure WindowPos4dMESA (x: GL.Double;
y: GL.Double;
z: GL.Double;
w: GL.Double);
procedure WindowPos4ivMESA (p: GL.intPointer);
procedure WindowPos4svMESA (p: GL.shortPtr);
procedure WindowPos4fvMESA (p: floatPtr);
procedure WindowPos4dvMESA (p: GL.doublePtr);
procedure ResizeBuffersMESA;
private
-- Workaround for GNAT 3.15p (OA 7.2.2 OK), when applying pragma Import to all
-- functions named GetString:
-- -> convention for "GetString" does not permit returning unconstrained array type
function glGetString (name: StringEnm) return ubytePtr;
function GetString (name: StringEnm) return ubytePtr renames glGetString;
-- GdM: renames for getting rid of pointers and "...4f"-style suffixes
-- The following wrappers are automatically generated by
-- the GL_Overloader tool. To generate other wrappers easily,
-- look at GL_Overloader.adb .
-- Wrapper for color3d
procedure color3d (red, green, blue: GL.Double);
procedure Color (red, green, blue: GL.Double) renames color3d;
-- Wrapper for color3f
procedure color3f (red, green, blue: GL.Float);
procedure Color_f (red, green, blue: GL.Float) renames color3f;
-- Wrapper for color3i
procedure color3i (red, green, blue: GL.Int);
procedure Color (red, green, blue: GL.Int) renames color3i;
-- Wrapper for color3s
procedure color3s (red, green, blue: GL.Short);
procedure Color_s (red, green, blue: GL.Short) renames color3s;
-- Wrapper for color4d
procedure color4d (red, green, blue, alpha: GL.Double);
procedure Color (red, green, blue, alpha: GL.Double) renames color4d;
-- Wrapper for color4f
procedure color4f (red, green, blue, alpha: GL.Float);
procedure Color_f (red, green, blue, alpha: GL.Float) renames color4f;
-- Wrapper for color4i
procedure color4i (red, green, blue, alpha: GL.Int);
procedure Color (red, green, blue, alpha: GL.Int) renames color4i;
-- Wrapper for color4s
procedure color4s (red, green, blue, alpha: GL.Short);
procedure Color_s (red, green, blue, alpha: GL.Short) renames color4s;
-- Wrappers for Get
procedure GetDoublev (pname : ParameterNameEnm;
params: GL.doublePtr);
procedure Get (pname : ParameterNameEnm;
params: GL.doublePtr) renames GetDoublev;
-- Wrappers for Light
procedure Lightf (light: LightIDEnm;
pname: LightParameterEnm;
param: GL.Float);
procedure Light (light: LightIDEnm;
pname: LightParameterEnm;
param: GL.Float) renames Lightf;
procedure Lightfv (light : LightIDEnm;
pname : LightParameterVEnm;
params: floatPtr);
-- Wrappers for Material
procedure Materialf (face : FaceEnm;
pname: MaterialParameterEnm;
param: GL.Float);
procedure Material (face : FaceEnm;
pname: MaterialParameterEnm;
param: GL.Float) renames Materialf;
procedure Materialfv (face : FaceEnm;
pname : MaterialParameterVEnm;
params: floatPtr);
-- Wrapper for Normal3d
procedure Normal3d (x,y,z: GL.Double);
procedure Normal (x,y,z: GL.Double) renames Normal3d;
-- Wrapper for Normal3f
procedure Normal3f (x,y,z: GL.Float);
procedure Normal_f (x,y,z: GL.Float) renames Normal3f;
-- Wrapper for Normal3i
procedure Normal3i (x,y,z: GL.Int);
procedure Normal (x,y,z: GL.Int) renames Normal3i;
-- Wrapper for Normal3b
procedure Normal3b (x,y,z: GL.Byte);
procedure Normal_b (x,y,z: GL.Byte) renames Normal3b;
-- Wrapper for Normal3s
procedure Normal3s (x,y,z: GL.Short);
procedure Normal_s (x,y,z: GL.Short) renames Normal3s;
procedure PixelStorei (pname: PixelStorageEnm;
param: GL.Int);
procedure PixelStore (pname: PixelStorageEnm;
param: GL.Int) renames PixelStorei;
procedure RasterPos2i (x: GL.Int;
y: GL.Int);
procedure RasterPos (x,y: GL.Int) renames RasterPos2i;
procedure Rotated (angle: GL.Double;
x : GL.Double;
y : GL.Double;
z : GL.Double);
procedure Rotate (angle: GL.Double;
x : GL.Double;
y : GL.Double;
z : GL.Double) renames Rotated;
procedure Rotatef (angle: GL.Float;
x : GL.Float;
y : GL.Float;
z : GL.Float);
procedure Rotate_f (angle: GL.Float;
x : GL.Float;
y : GL.Float;
z : GL.Float) renames Rotatef;
-- Wrapper for scaled
procedure scaled (x,y,z: GL.Double);
procedure Scale (x,y,z: GL.Double) renames scaled;
-- Wrapper for scalef
procedure scalef (x,y,z: GL.Float);
procedure Scale_f (x,y,z: GL.Float) renames scalef;
procedure TexCoord2d (s: GL.Double;
t: GL.Double);
procedure TexCoord (s: GL.Double;
t: GL.Double) renames TexCoord2d;
procedure TexCoord2f (s: GL.Float;
t: GL.Float);
procedure TexCoordf (s: GL.Float;
t: GL.Float) renames TexCoord2f;
procedure TexEnvi (target: TexEnvEnm;
pname : TexEnvParameterEnm;
param : GL.Int);
procedure TexEnv (target: TexEnvEnm;
pname : TexEnvParameterEnm;
param : GL.Int) renames TexEnvi;
procedure TexParameteri (target: TargetTexEnm;
pname : TexParamEnm;
param : GL.Int);
procedure TexParameter (target: TargetTexEnm;
pname : TexParamEnm;
param : GL.Int) renames TexParameteri;
-- Wrapper for translated
procedure translated (x,y,z: GL.Double);
procedure Translate (x,y,z: GL.Double) renames translated;
-- Wrapper for translatef
procedure translatef (x,y,z: GL.Float);
procedure Translate_f (x,y,z: GL.Float) renames translatef;
-- Wrapper for vertex2d
procedure vertex2d (x,y: GL.Double);
procedure Vertex (x,y: GL.Double) renames vertex2d;
-- Wrapper for vertex2f
procedure vertex2f (x,y: GL.Float);
procedure Vertex_f (x,y: GL.Float) renames vertex2f;
-- Wrapper for vertex2i
procedure vertex2i (x,y: GL.Int);
procedure Vertex (x,y: GL.Int) renames vertex2i;
-- Wrapper for vertex2s
procedure vertex2s (x,y: GL.Short);
procedure Vertex_s (x,y: GL.Short) renames vertex2s;
-- Wrapper for vertex3d
procedure vertex3d (x,y,z: GL.Double);
procedure Vertex (x,y,z: GL.Double) renames vertex3d;
-- Wrapper for vertex3f
procedure vertex3f (x,y,z: GL.Float);
procedure Vertex_f (x,y,z: GL.Float) renames vertex3f;
-- Wrapper for vertex3i
procedure vertex3i (x,y,z: GL.Int);
procedure Vertex (x,y,z: GL.Int) renames vertex3i;
-- Wrapper for vertex3s
procedure vertex3s (x,y,z: GL.Short);
procedure Vertex_s (x,y,z: GL.Short) renames vertex3s;
-- Wrapper for vertex4d
procedure vertex4d (x,y,z,w: GL.Double);
procedure Vertex (x,y,z,w: GL.Double) renames vertex4d;
-- Wrapper for vertex4f
procedure vertex4f (x,y,z,w: GL.Float);
procedure Vertex_f (x,y,z,w: GL.Float) renames vertex4f;
-- Wrapper for vertex4i
procedure vertex4i (x,y,z,w: GL.Int);
procedure Vertex (x,y,z,w: GL.Int) renames vertex4i;
-- Wrapper for vertex4s
procedure vertex4s (x,y,z,w: GL.Short);
procedure Vertex_s (x,y,z,w: GL.Short) renames vertex4s;
-- Some renames due to possible ambiguity with enumerated
-- values (Accum, Clear, Viewport) that can be interpreted
-- as a parameterless function, confusing then pragma Import
-- on the Janus compiler and not GNAT and ObjectAda.
-- GM/TM 9-Sep-2006
procedure glAccum (op : AccumEnm;
value: GL.Float);
procedure Accum (op : AccumEnm;
value: GL.Float) renames glAccum;
--
procedure glClear (mask: Bitfield);
procedure Clear (mask: Bitfield) renames glClear;
--
procedure glViewport (x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height: GL.Sizei);
procedure Viewport (x : GL.Int;
y : GL.Int;
width : GL.Sizei;
height: GL.Sizei) renames glViewport;
-----------------
-- Interfacing --
-----------------
pragma Import (Stdcall, ClearIndex, "glClearIndex");
pragma Import (Stdcall, ClearColor, "glClearColor");
pragma Import (Stdcall, glClear, "glClear");
pragma Import (Stdcall, IndexMask, "glIndexMask");
pragma Import (Stdcall, ColorMask, "glColorMask");
pragma Import (Stdcall, AlphaFunc, "glAlphaFunc");
pragma Import (Stdcall, BlendFunc, "glBlendFunc");
pragma Import (Stdcall, LogicOp, "glLogicOp");
pragma Import (Stdcall, CullFace, "glCullFace");
pragma Import (Stdcall, FrontFace, "glFrontFace");
pragma Import (Stdcall, PointSize, "glPointSize");
pragma Import (Stdcall, LineWidth, "glLineWidth");
pragma Import (Stdcall, LineStipple, "glLineStipple");
pragma Import (Stdcall, PolygonMode, "glPolygonMode");
pragma Import (Stdcall, PolygonOffset, "glPolygonOffset");
pragma Import (Stdcall, PolygonStipple, "glPolygonStipple");
pragma Import (Stdcall, GetPolygonStipple, "glGetPolygonStipple");
pragma Import (Stdcall, EdgeFlag, "glEdgeFlag");
pragma Import (Stdcall, EdgeFlagv, "glEdgeFlagv");
pragma Import (Stdcall, Scissor, "glScissor");
pragma Import (Stdcall, ClipPlane, "glClipPlane");
pragma Import (Stdcall, GetClipPlane, "glGetClipPlane");
pragma Import (Stdcall, DrawBuffer, "glDrawBuffer");
pragma Import (Stdcall, ReadBuffer, "glReadBuffer");
pragma Import (Stdcall, Enable, "glEnable");
pragma Import (Stdcall, Disable, "glDisable");
pragma Import (Stdcall, IsEnabled, "glIsEnabled");
pragma Import (Stdcall, EnableClientState, "glEnableClientState");
pragma Import (Stdcall, DisableClientState, "glDisableClientState");
pragma Import (Stdcall, GetBooleanv, "glGetBooleanv");
pragma Import (Stdcall, GetDoublev, "glGetDoublev");
pragma Import (Stdcall, GetFloatv, "glGetFloatv");
pragma Import (Stdcall, GetIntegerv, "glGetIntegerv");
pragma Import (Stdcall, PushAttrib, "glPushAttrib");
pragma Import (Stdcall, PopAttrib, "glPopAttrib");
pragma Import (Stdcall, PushClientAttrib, "glPushClientAttrib");
pragma Import (Stdcall, PopClientAttrib, "glPopClientAttrib");
pragma Import (Stdcall, RenderMode, "glRenderMode");
pragma Import (Stdcall, GetError, "glGetError");
pragma Import (Stdcall, glGetString, "glGetString");
pragma Import (Stdcall, Finish, "glFinish");
pragma Import (Stdcall, Flush, "glFlush");
pragma Import (Stdcall, Hint, "glHint");
pragma Import (Stdcall, ClearDepth, "glClearDepth");
pragma Import (Stdcall, DepthFunc, "glDepthFunc");
pragma Import (Stdcall, DepthMask, "glDepthMask");
pragma Import (Stdcall, DepthRange, "glDepthRange");
pragma Import (Stdcall, ClearAccum, "glClearAccum");
pragma Import (Stdcall, glAccum, "glAccum");
pragma Import (Stdcall, MatrixMode, "glMatrixMode");
pragma Import (Stdcall, Ortho, "glOrtho");
pragma Import (Stdcall, Frustum, "glFrustum");
pragma Import (Stdcall, glViewport, "glViewport");
pragma Import (Stdcall, PushMatrix, "glPushMatrix");
pragma Import (Stdcall, PopMatrix, "glPopMatrix");
pragma Import (Stdcall, LoadIdentity, "glLoadIdentity");
pragma Import (Stdcall, LoadMatrixd, "glLoadMatrixd");
pragma Import (Stdcall, LoadMatrixf, "glLoadMatrixf");
pragma Import (Stdcall, MultMatrixd, "glMultMatrixd");
pragma Import (Stdcall, MultMatrixf, "glMultMatrixf");
pragma Import (Stdcall, Rotated, "glRotated");
pragma Import (Stdcall, Rotatef, "glRotatef");
pragma Import (Stdcall, scaled, "glScaled");
pragma Import (Stdcall, scalef, "glScalef");
pragma Import (Stdcall, translated, "glTranslated");
pragma Import (Stdcall, translatef, "glTranslatef");
pragma Import (Stdcall, IsList, "glIsList");
pragma Import (Stdcall, DeleteLists, "glDeleteLists");
pragma Import (Stdcall, GenLists, "glGenLists");
pragma Import (Stdcall, NewList, "glNewList");
pragma Import (Stdcall, EndList, "glEndList");
pragma Import (Stdcall, CallList, "glCallList");
pragma Import (Stdcall, CallLists, "glCallLists");
pragma Import (Stdcall, ListBase, "glListBase");
pragma Import (Stdcall, GL_Begin, "glBegin");
pragma Import (Stdcall, GL_End, "glEnd");
pragma Import (Stdcall, vertex2d, "glVertex2d");
pragma Import (Stdcall, vertex2f, "glVertex2f");
pragma Import (Stdcall, vertex2i, "glVertex2i");
pragma Import (Stdcall, vertex2s, "glVertex2s");
pragma Import (Stdcall, vertex3d, "glVertex3d");
pragma Import (Stdcall, vertex3f, "glVertex3f");
pragma Import (Stdcall, vertex3i, "glVertex3i");
pragma Import (Stdcall, vertex3s, "glVertex3s");
pragma Import (Stdcall, vertex4d, "glVertex4d");
pragma Import (Stdcall, vertex4f, "glVertex4f");
pragma Import (Stdcall, vertex4i, "glVertex4i");
pragma Import (Stdcall, vertex4s, "glVertex4s");
pragma Import (Stdcall, Vertex2dv, "glVertex2dv");
pragma Import (Stdcall, Vertex2fv, "glVertex2fv");
pragma Import (Stdcall, Vertex2iv, "glVertex2iv");
pragma Import (Stdcall, Vertex2sv, "glVertex2sv");
pragma Import (Stdcall, Vertex3dv, "glVertex3dv");
pragma Import (Stdcall, Vertex3fv, "glVertex3fv");
pragma Import (Stdcall, Vertex3iv, "glVertex3iv");
pragma Import (Stdcall, Vertex3sv, "glVertex3sv");
pragma Import (Stdcall, Vertex4dv, "glVertex4dv");
pragma Import (Stdcall, Vertex4fv, "glVertex4fv");
pragma Import (Stdcall, Vertex4iv, "glVertex4iv");
pragma Import (Stdcall, Vertex4sv, "glVertex4sv");
pragma Import (Stdcall, Normal3b, "glNormal3b");
pragma Import (Stdcall, Normal3d, "glNormal3d");
pragma Import (Stdcall, Normal3f, "glNormal3f");
pragma Import (Stdcall, Normal3i, "glNormal3i");
pragma Import (Stdcall, Normal3s, "glNormal3s");
pragma Import (Stdcall, Normal3bv, "glNormal3bv");
pragma Import (Stdcall, Normal3dv, "glNormal3dv");
pragma Import (Stdcall, Normal3fv, "glNormal3fv");
pragma Import (Stdcall, Normal3iv, "glNormal3iv");
pragma Import (Stdcall, Normal3sv, "glNormal3sv");
pragma Import (Stdcall, Indexd, "glIndexd");
pragma Import (Stdcall, Indexf, "glIndexf");
pragma Import (Stdcall, Indexi, "glIndexi");
pragma Import (Stdcall, Indexs, "glIndexs");
pragma Import (Stdcall, Indexub, "glIndexub");
pragma Import (Stdcall, Indexdv, "glIndexdv");
pragma Import (Stdcall, Indexfv, "glIndexfv");
pragma Import (Stdcall, Indexiv, "glIndexiv");
pragma Import (Stdcall, Indexsv, "glIndexsv");
pragma Import (Stdcall, Indexubv, "glIndexubv");
pragma Import (Stdcall, Color3b, "glColor3b");
pragma Import (Stdcall, color3d, "glColor3d");
pragma Import (Stdcall, color3f, "glColor3f");
pragma Import (Stdcall, color3i, "glColor3i");
pragma Import (Stdcall, color3s, "glColor3s");
pragma Import (Stdcall, Color3ub, "glColor3ub");
pragma Import (Stdcall, Color3ui, "glColor3ui");
pragma Import (Stdcall, Color3us, "glColor3us");
pragma Import (Stdcall, Color4b, "glColor4b");
pragma Import (Stdcall, color4d, "glColor4d");
pragma Import (Stdcall, color4f, "glColor4f");
pragma Import (Stdcall, color4i, "glColor4i");
pragma Import (Stdcall, color4s, "glColor4s");
pragma Import (Stdcall, Color4ub, "glColor4ub");
pragma Import (Stdcall, Color4ui, "glColor4ui");
pragma Import (Stdcall, Color4us, "glColor4us");
pragma Import (Stdcall, Color3bv, "glColor3bv");
pragma Import (Stdcall, Color3dv, "glColor3dv");
pragma Import (Stdcall, Color3fv, "glColor3fv");
pragma Import (Stdcall, Color3iv, "glColor3iv");
pragma Import (Stdcall, Color3sv, "glColor3sv");
pragma Import (Stdcall, Color3ubv, "glColor3ubv");
pragma Import (Stdcall, Color3uiv, "glColor3uiv");
pragma Import (Stdcall, Color3usv, "glColor3usv");
pragma Import (Stdcall, Color4bv, "glColor4bv");
pragma Import (Stdcall, Color4dv, "glColor4dv");
pragma Import (Stdcall, Color4fv, "glColor4fv");
pragma Import (Stdcall, Color4iv, "glColor4iv");
pragma Import (Stdcall, Color4sv, "glColor4sv");
pragma Import (Stdcall, Color4ubv, "glColor4ubv");
pragma Import (Stdcall, Color4uiv, "glColor4uiv");
pragma Import (Stdcall, Color4usv, "glColor4usv");
pragma Import (Stdcall, TexCoord1d, "glTexCoord1d");
pragma Import (Stdcall, TexCoord1f, "glTexCoord1f");
pragma Import (Stdcall, TexCoord1i, "glTexCoord1i");
pragma Import (Stdcall, TexCoord1s, "glTexCoord1s");
pragma Import (Stdcall, TexCoord2d, "glTexCoord2d");
pragma Import (Stdcall, TexCoord2f, "glTexCoord2f");
pragma Import (Stdcall, TexCoord2i, "glTexCoord2i");
pragma Import (Stdcall, TexCoord2s, "glTexCoord2s");
pragma Import (Stdcall, TexCoord3d, "glTexCoord3d");
pragma Import (Stdcall, TexCoord3f, "glTexCoord3f");
pragma Import (Stdcall, TexCoord3i, "glTexCoord3i");
pragma Import (Stdcall, TexCoord3s, "glTexCoord3s");
pragma Import (Stdcall, TexCoord4d, "glTexCoord4d");
pragma Import (Stdcall, TexCoord4f, "glTexCoord4f");
pragma Import (Stdcall, TexCoord4i, "glTexCoord4i");
pragma Import (Stdcall, TexCoord4s, "glTexCoord4s");
pragma Import (Stdcall, TexCoord1dv, "glTexCoord1dv");
pragma Import (Stdcall, TexCoord1fv, "glTexCoord1fv");
pragma Import (Stdcall, TexCoord1iv, "glTexCoord1iv");
pragma Import (Stdcall, TexCoord1sv, "glTexCoord1sv");
pragma Import (Stdcall, TexCoord2dv, "glTexCoord2dv");
pragma Import (Stdcall, TexCoord2fv, "glTexCoord2fv");
pragma Import (Stdcall, TexCoord2iv, "glTexCoord2iv");
pragma Import (Stdcall, TexCoord2sv, "glTexCoord2sv");
pragma Import (Stdcall, TexCoord3dv, "glTexCoord3dv");
pragma Import (Stdcall, TexCoord3fv, "glTexCoord3fv");
pragma Import (Stdcall, TexCoord3iv, "glTexCoord3iv");
pragma Import (Stdcall, TexCoord3sv, "glTexCoord3sv");
pragma Import (Stdcall, TexCoord4dv, "glTexCoord4dv");
pragma Import (Stdcall, TexCoord4fv, "glTexCoord4fv");
pragma Import (Stdcall, TexCoord4iv, "glTexCoord4iv");
pragma Import (Stdcall, TexCoord4sv, "glTexCoord4sv");
pragma Import (Stdcall, RasterPos2d, "glRasterPos2d");
pragma Import (Stdcall, RasterPos2f, "glRasterPos2f");
pragma Import (Stdcall, RasterPos2i, "glRasterPos2i");
pragma Import (Stdcall, RasterPos2s, "glRasterPos2s");
pragma Import (Stdcall, RasterPos3d, "glRasterPos3d");
pragma Import (Stdcall, RasterPos3f, "glRasterPos3f");
pragma Import (Stdcall, RasterPos3i, "glRasterPos3i");
pragma Import (Stdcall, RasterPos3s, "glRasterPos3s");
pragma Import (Stdcall, RasterPos4d, "glRasterPos4d");
pragma Import (Stdcall, RasterPos4f, "glRasterPos4f");
pragma Import (Stdcall, RasterPos4i, "glRasterPos4i");
pragma Import (Stdcall, RasterPos4s, "glRasterPos4s");
pragma Import (Stdcall, RasterPos2dv, "glRasterPos2dv");
pragma Import (Stdcall, RasterPos2fv, "glRasterPos2fv");
pragma Import (Stdcall, RasterPos2iv, "glRasterPos2iv");
pragma Import (Stdcall, RasterPos2sv, "glRasterPos2sv");
pragma Import (Stdcall, RasterPos3dv, "glRasterPos3dv");
pragma Import (Stdcall, RasterPos3fv, "glRasterPos3fv");
pragma Import (Stdcall, RasterPos3iv, "glRasterPos3iv");
pragma Import (Stdcall, RasterPos3sv, "glRasterPos3sv");
pragma Import (Stdcall, RasterPos4dv, "glRasterPos4dv");
pragma Import (Stdcall, RasterPos4fv, "glRasterPos4fv");
pragma Import (Stdcall, RasterPos4iv, "glRasterPos4iv");
pragma Import (Stdcall, RasterPos4sv, "glRasterPos4sv");
pragma Import (Stdcall, Rectd, "glRectd");
pragma Import (Stdcall, Rectf, "glRectf");
pragma Import (Stdcall, Recti, "glRecti");
pragma Import (Stdcall, Rects, "glRects");
pragma Import (Stdcall, Rectdv, "glRectdv");
pragma Import (Stdcall, Rectfv, "glRectfv");
pragma Import (Stdcall, Rectiv, "glRectiv");
pragma Import (Stdcall, Rectsv, "glRectsv");
pragma Import (Stdcall, VertexPointer, "glVertexPointer");
pragma Import (Stdcall, NormalPointer, "glNormalPointer");
pragma Import (Stdcall, ColorPointer, "glColorPointer");
pragma Import (Stdcall, IndexPointer, "glIndexPointer");
pragma Import (Stdcall, TexCoordPointer, "glTexCoordPointer");
pragma Import (Stdcall, EdgeFlagPointer, "glEdgeFlagPointer");
pragma Import (Stdcall, GetPointerv, "glGetPointerv");
pragma Import (Stdcall, ArrayElement, "glArrayElement");
pragma Import (Stdcall, DrawArrays, "glDrawArrays");
pragma Import (Stdcall, DrawElements, "glDrawElements");
pragma Import (Stdcall, InterleavedArrays, "glInterleavedArrays");
pragma Import (Stdcall, ShadeModel, "glShadeModel");
pragma Import (Stdcall, Lightf, "glLightf");
pragma Import (Stdcall, Lighti, "glLighti");
pragma Import (Stdcall, Lightfv, "glLightfv");
pragma Import (Stdcall, Lightiv, "glLightiv");
pragma Import (Stdcall, GetLightfv, "glGetLightfv");
pragma Import (Stdcall, GetLightiv, "glGetLightiv");
pragma Import (Stdcall, LightModelf, "glLightModelf");
pragma Import (Stdcall, LightModeli, "glLightModeli");
pragma Import (Stdcall, LightModelfv, "glLightModelfv");
pragma Import (Stdcall, LightModeliv, "glLightModeliv");
pragma Import (Stdcall, Materialf, "glMaterialf");
pragma Import (Stdcall, Materiali, "glMateriali");
pragma Import (Stdcall, Materialfv, "glMaterialfv");
pragma Import (Stdcall, Materialiv, "glMaterialiv");
pragma Import (Stdcall, GetMaterialfv, "glGetMaterialfv");
pragma Import (Stdcall, GetMaterialiv, "glGetMaterialiv");
pragma Import (Stdcall, ColorMaterial, "glColorMaterial");
pragma Import (Stdcall, PixelZoom, "glPixelZoom");
pragma Import (Stdcall, PixelStoref, "glPixelStoref");
pragma Import (Stdcall, PixelStorei, "glPixelStorei");
pragma Import (Stdcall, PixelTransferf, "glPixelTransferf");
pragma Import (Stdcall, PixelTransferi, "glPixelTransferi");
pragma Import (Stdcall, PixelMapfv, "glPixelMapfv");
pragma Import (Stdcall, PixelMapuiv, "glPixelMapuiv");
pragma Import (Stdcall, PixelMapusv, "glPixelMapusv");
pragma Import (Stdcall, GetPixelMapfv, "glGetPixelMapfv");
pragma Import (Stdcall, GetPixelMapuiv, "glGetPixelMapuiv");
pragma Import (Stdcall, GetPixelMapusv, "glGetPixelMapusv");
pragma Import (Stdcall, Bitmap, "glBitmap");
pragma Import (Stdcall, ReadPixels, "glReadPixels");
pragma Import (Stdcall, DrawPixels, "glDrawPixels");
pragma Import (Stdcall, CopyPixels, "glCopyPixels");
pragma Import (Stdcall, StencilFunc, "glStencilFunc");
pragma Import (Stdcall, StencilMask, "glStencilMask");
pragma Import (Stdcall, StencilOp, "glStencilOp");
pragma Import (Stdcall, ClearStencil, "glClearStencil");
pragma Import (Stdcall, TexGend, "glTexGend");
pragma Import (Stdcall, TexGenf, "glTexGenf");
pragma Import (Stdcall, TexGeni, "glTexGeni");
pragma Import (Stdcall, TexGendv, "glTexGendv");
pragma Import (Stdcall, TexGenfv, "glTexGenfv");
pragma Import (Stdcall, TexGeniv, "glTexGeniv");
pragma Import (Stdcall, GetTexGendv, "glGetTexGendv");
pragma Import (Stdcall, GetTexGenfv, "glGetTexGenfv");
pragma Import (Stdcall, GetTexGeniv, "glGetTexGeniv");
pragma Import (Stdcall, TexEnvf, "glTexEnvf");
pragma Import (Stdcall, TexEnvi, "glTexEnvi");
pragma Import (Stdcall, TexEnvfv, "glTexEnvfv");
pragma Import (Stdcall, TexEnviv, "glTexEnviv");
pragma Import (Stdcall, GetTexEnvfv, "glGetTexEnvfv");
pragma Import (Stdcall, GetTexEnviv, "glGetTexEnviv");
pragma Import (Stdcall, TexParameterf, "glTexParameterf");
pragma Import (Stdcall, TexParameteri, "glTexParameteri");
pragma Import (Stdcall, TexParameterfv, "glTexParameterfv");
pragma Import (Stdcall, TexParameteriv, "glTexParameteriv");
pragma Import (Stdcall, GetTexParameterfv, "glGetTexParameterfv");
pragma Import (Stdcall, GetTexParameteriv, "glGetTexParameteriv");
pragma Import (Stdcall, GetTexLevelParameterfv, "glGetTexLevelParameterfv");
pragma Import (Stdcall, GetTexLevelParameteriv, "glGetTexLevelParameteriv");
pragma Import (Stdcall, TexImage1D, "glTexImage1D");
pragma Import (Stdcall, TexImage2D, "glTexImage2D");
pragma Import (Stdcall, GetTexImage, "glGetTexImage");
pragma Import (Stdcall, GenTextures, "glGenTextures");
pragma Import (Stdcall, DeleteTextures, "glDeleteTextures");
pragma Import (Stdcall, BindTexture, "glBindTexture");
pragma Import (Stdcall, PrioritizeTextures, "glPrioritizeTextures");
pragma Import (Stdcall, AreTexturesResident, "glAreTexturesResident");
pragma Import (Stdcall, IsTexture, "glIsTexture");
pragma Import (Stdcall, TexSubImage1D, "glTexSubImage1D");
pragma Import (Stdcall, TexSubImage2D, "glTexSubImage2D");
pragma Import (Stdcall, CopyTexImage1D, "glCopyTexImage1D");
pragma Import (Stdcall, CopyTexImage2D, "glCopyTexImage2D");
pragma Import (Stdcall, CopyTexSubImage1D, "glCopyTexSubImage1D");
pragma Import (Stdcall, CopyTexSubImage2D, "glCopyTexSubImage2D");
pragma Import (Stdcall, Map1d, "glMap1d");
pragma Import (Stdcall, Map1f, "glMap1f");
pragma Import (Stdcall, Map2d, "glMap2d");
pragma Import (Stdcall, Map2f, "glMap2f");
pragma Import (Stdcall, GetMapdv, "glGetMapdv");
pragma Import (Stdcall, GetMapfv, "glGetMapfv");
pragma Import (Stdcall, GetMapiv, "glGetMapiv");
pragma Import (Stdcall, EvalCoord1d, "glEvalCoord1d");
pragma Import (Stdcall, EvalCoord1f, "glEvalCoord1f");
pragma Import (Stdcall, EvalCoord1dv, "glEvalCoord1dv");
pragma Import (Stdcall, EvalCoord1fv, "glEvalCoord1fv");
pragma Import (Stdcall, EvalCoord2d, "glEvalCoord2d");
pragma Import (Stdcall, EvalCoord2f, "glEvalCoord2f");
pragma Import (Stdcall, EvalCoord2dv, "glEvalCoord2dv");
pragma Import (Stdcall, EvalCoord2fv, "glEvalCoord2fv");
pragma Import (Stdcall, MapGrid1d, "glMapGrid1d");
pragma Import (Stdcall, MapGrid1f, "glMapGrid1f");
pragma Import (Stdcall, MapGrid2d, "glMapGrid2d");
pragma Import (Stdcall, MapGrid2f, "glMapGrid2f");
pragma Import (Stdcall, EvalPoint1, "glEvalPoint1");
pragma Import (Stdcall, EvalPoint2, "glEvalPoint2");
pragma Import (Stdcall, EvalMesh1, "glEvalMesh1");
pragma Import (Stdcall, EvalMesh2, "glEvalMesh2");
pragma Import (Stdcall, Fogf, "glFogf");
pragma Import (Stdcall, Fogi, "glFogi");
pragma Import (Stdcall, Fogfv, "glFogfv");
pragma Import (Stdcall, Fogiv, "glFogiv");
pragma Import (Stdcall, FeedbackBuffer, "glFeedbackBuffer");
pragma Import (Stdcall, PassThrough, "glPassThrough");
pragma Import (Stdcall, SelectBuffer, "glSelectBuffer");
pragma Import (Stdcall, InitNames, "glInitNames");
pragma Import (Stdcall, LoadName, "glLoadName");
pragma Import (Stdcall, PushName, "glPushName");
pragma Import (Stdcall, PopName, "glPopName");
pragma Import (Stdcall, BlendEquationEXT, "glBlendEquationEXT");
pragma Import (Stdcall, BlendColorEXT, "glBlendColorEXT");
pragma Import (Stdcall, TexImage3DEXT, "glTexImage3DEXT");
pragma Import (Stdcall, TexSubImage3DEXT, "glTexSubImage3DEXT");
pragma Import (Stdcall, CopyTexSubImage3DEXT, "glCopyTexSubImage3DEXT");
pragma Import (Stdcall, ColorTableEXT, "glColorTableEXT");
pragma Import (Stdcall, ColorSubTableEXT, "glColorSubTableEXT");
pragma Import (Stdcall, GetColorTableEXT, "glGetColorTableEXT");
pragma Import (Stdcall, GetColorTableParameterfvEXT, "glGetColorTableParameterfvEXT");
pragma Import (Stdcall, GetColorTableParameterivEXT, "glGetColorTableParameterivEXT");
pragma Import (Stdcall, PointParameterfEXT, "glPointParameterfEXT");
pragma Import (Stdcall, PointParameterfvEXT, "glPointParameterfvEXT");
pragma Import (Stdcall, WindowPos2iMESA, "glWindowPos2iMESA");
pragma Import (Stdcall, WindowPos2sMESA, "glWindowPos2sMESA");
pragma Import (Stdcall, WindowPos2fMESA, "glWindowPos2fMESA");
pragma Import (Stdcall, WindowPos2dMESA, "glWindowPos2dMESA");
pragma Import (Stdcall, WindowPos2ivMESA, "glWindowPos2ivMESA");
pragma Import (Stdcall, WindowPos2svMESA, "glWindowPos2svMESA");
pragma Import (Stdcall, WindowPos2fvMESA, "glWindowPos2fvMESA");
pragma Import (Stdcall, WindowPos2dvMESA, "glWindowPos2dvMESA");
pragma Import (Stdcall, WindowPos3iMESA, "glWindowPos3iMESA");
pragma Import (Stdcall, WindowPos3sMESA, "glWindowPos3sMESA");
pragma Import (Stdcall, WindowPos3fMESA, "glWindowPos3fMESA");
pragma Import (Stdcall, WindowPos3dMESA, "glWindowPos3dMESA");
pragma Import (Stdcall, WindowPos3ivMESA, "glWindowPos3ivMESA");
pragma Import (Stdcall, WindowPos3svMESA, "glWindowPos3svMESA");
pragma Import (Stdcall, WindowPos3fvMESA, "glWindowPos3fvMESA");
pragma Import (Stdcall, WindowPos3dvMESA, "glWindowPos3dvMESA");
pragma Import (Stdcall, WindowPos4iMESA, "glWindowPos4iMESA");
pragma Import (Stdcall, WindowPos4sMESA, "glWindowPos4sMESA");
pragma Import (Stdcall, WindowPos4fMESA, "glWindowPos4fMESA");
pragma Import (Stdcall, WindowPos4dMESA, "glWindowPos4dMESA");
pragma Import (Stdcall, WindowPos4ivMESA, "glWindowPos4ivMESA");
pragma Import (Stdcall, WindowPos4svMESA, "glWindowPos4svMESA");
pragma Import (Stdcall, WindowPos4fvMESA, "glWindowPos4fvMESA");
pragma Import (Stdcall, WindowPos4dvMESA, "glWindowPos4dvMESA");
pragma Import (Stdcall, ResizeBuffersMESA, "glResizeBuffersMESA");
end GL;
GLOBE_3D: Ada library for real-time 3D rendering.
Ada programming.