fpc/packages/opengl/build/gl.def

1038 lines
46 KiB
Modula-2

# This is the definition file for all GL functions and types.
%COPY_INTERFACE
// ===================================================================
// GL consts, types and functions
// ===================================================================
// -------------------------------------------------------------------
// GL types
// -------------------------------------------------------------------
type
PSingle = ^Single;
PDouble = ^Double;
GLclampf = Single; // single precision float in [0,1]
GLclampd = Double; // double precision float in [0,1]
GLenum = Integer;
type
GLbitfield = set of (GL_CURRENT_BIT, GL_POINT_BIT, GL_LINE_BIT,
GL_POLYGON_BIT, GL_POLYGON_STIPPLE_BIT, GL_PIXEL_MODE_BIT,
GL_LIGHTING_BIT, GL_FOG_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT,
GL_STENCIL_BUFFER_BIT, GL_VIEWPORT_BIT, GL_TRANSFORM_BIT, GL_ENABLE_BIT,
GL_COLOR_BUFFER_BIT, GL_HINT_BIT, GL_EVAL_BIT, GL_LIST_BIT, GL_TEXTURE_BIT,
GL_SCISSOR_BIT);
const
GL_ALL_ATTRIB_BITS = [Low(GLbitfield)..High(GLbitfield)];
// -------------------------------------------------------------------
// GL constants
// -------------------------------------------------------------------
const
GL_NO_ERROR = 0;
// Boolean values
GL_FALSE = 0;
GL_TRUE = 1;
// Data types
GL_BYTE = $1400;
GL_UNSIGNED_BYTE = $1401;
GL_SHORT = $1402;
GL_UNSIGNED_SHORT = $1403;
GL_INT = $1404;
GL_UNSIGNED_INT = $1405;
GL_FLOAT = $1406;
GL_DOUBLE = $140A;
GL_2_BYTES = $1407;
GL_3_BYTES = $1408;
GL_4_BYTES = $1409;
// Primitives
GL_LINES = $0001;
GL_POINTS = $0000;
GL_LINE_STRIP = $0003;
GL_LINE_LOOP = $0002;
GL_TRIANGLES = $0004;
GL_TRIANGLE_STRIP = $0005;
GL_TRIANGLE_FAN = $0006;
GL_QUADS = $0007;
GL_QUAD_STRIP = $0008;
GL_POLYGON = $0009;
GL_EDGE_FLAG = $0B43;
// Vertex arrays
GL_VERTEX_ARRAY = $8074;
GL_NORMAL_ARRAY = $8075;
GL_COLOR_ARRAY = $8076;
GL_INDEX_ARRAY = $8077;
GL_TEXTURE_COORD_ARRAY = $8078;
GL_EDGE_FLAG_ARRAY = $8079;
GL_VERTEX_ARRAY_SIZE = $807A;
GL_VERTEX_ARRAY_TYPE = $807B;
GL_VERTEX_ARRAY_STRIDE = $807C;
GL_NORMAL_ARRAY_TYPE = $807E;
GL_NORMAL_ARRAY_STRIDE = $807F;
GL_COLOR_ARRAY_SIZE = $8081;
GL_COLOR_ARRAY_TYPE = $8082;
GL_COLOR_ARRAY_STRIDE = $8083;
GL_INDEX_ARRAY_TYPE = $8085;
GL_INDEX_ARRAY_STRIDE = $8086;
GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
GL_VERTEX_ARRAY_POINTER = $808E;
GL_NORMAL_ARRAY_POINTER = $808F;
GL_COLOR_ARRAY_POINTER = $8090;
GL_INDEX_ARRAY_POINTER = $8091;
GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
GL_EDGE_FLAG_ARRAY_POINTER = $8093;
GL_V2F = $2A20;
GL_V3F = $2A21;
GL_C4UB_V2F = $2A22;
GL_C4UB_V3F = $2A23;
GL_C3F_V3F = $2A24;
GL_N3F_V3F = $2A25;
GL_C4F_N3F_V3F = $2A26;
GL_T2F_V3F = $2A27;
GL_T4F_V4F = $2A28;
GL_T2F_C4UB_V3F = $2A29;
GL_T2F_C3F_V3F = $2A2A;
GL_T2F_N3F_V3F = $2A2B;
GL_T2F_C4F_N3F_V3F = $2A2C;
GL_T4F_C4F_N3F_V4F = $2A2D;
// Matrix Mode
GL_MATRIX_MODE = $0BA0;
GL_MODELVIEW = $1700;
GL_PROJECTION = $1701;
GL_TEXTURE = $1702;
// Points
GL_POINT_SMOOTH = $0B10;
GL_POINT_SIZE = $0B11;
GL_POINT_SIZE_GRANULARITY = $0B13;
GL_POINT_SIZE_RANGE = $0B12;
// Lines
GL_LINE_SMOOTH = $0B20;
GL_LINE_STIPPLE = $0B24;
GL_LINE_STIPPLE_PATTERN = $0B25;
GL_LINE_STIPPLE_REPEAT = $0B26;
GL_LINE_WIDTH = $0B21;
GL_LINE_WIDTH_GRANULARITY = $0B23;
GL_LINE_WIDTH_RANGE = $0B22;
// Polygons
GL_POINT = $1B00;
GL_LINE = $1B01;
GL_FILL = $1B02;
GL_CCW = $0901;
GL_CW = $0900;
GL_FRONT = $0404;
GL_BACK = $0405;
GL_CULL_FACE = $0B44;
GL_CULL_FACE_MODE = $0B45;
GL_POLYGON_SMOOTH = $0B41;
GL_POLYGON_STIPPLE = $0B42;
GL_FRONT_FACE = $0B46;
GL_POLYGON_MODE = $0B40;
GL_POLYGON_OFFSET_FACTOR = $8038;
GL_POLYGON_OFFSET_UNITS = $2A00;
GL_POLYGON_OFFSET_POINT = $2A01;
GL_POLYGON_OFFSET_LINE = $2A02;
GL_POLYGON_OFFSET_FILL = $8037;
// Display lists
GL_COMPILE = $1300;
GL_COMPILE_AND_EXECUTE = $1301;
GL_LIST_BASE = $0B32;
GL_LIST_INDEX = $0B33;
GL_LIST_MODE = $0B30;
// Depth buffer
GL_NEVER = $0200;
GL_LESS = $0201;
GL_GEQUAL = $0206;
GL_LEQUAL = $0203;
GL_GREATER = $0204;
GL_NOTEQUAL = $0205;
GL_EQUAL = $0202;
GL_ALWAYS = $0207;
GL_DEPTH_TEST = $0B71;
GL_DEPTH_BITS = $0D56;
GL_DEPTH_CLEAR_VALUE = $0B73;
GL_DEPTH_FUNC = $0B74;
GL_DEPTH_RANGE = $0B70;
GL_DEPTH_WRITEMASK = $0B72;
GL_DEPTH_COMPONENT = $1902;
// Lighting
GL_LIGHTING = $0B50;
GL_LIGHT0 = $4000;
GL_LIGHT1 = $4001;
GL_LIGHT2 = $4002;
GL_LIGHT3 = $4003;
GL_LIGHT4 = $4004;
GL_LIGHT5 = $4005;
GL_LIGHT6 = $4006;
GL_LIGHT7 = $4007;
GL_SPOT_EXPONENT = $1205;
GL_SPOT_CUTOFF = $1206;
GL_CONSTANT_ATTENUATION = $1207;
GL_LINEAR_ATTENUATION = $1208;
GL_QUADRATIC_ATTENUATION = $1209;
GL_AMBIENT = $1200;
GL_DIFFUSE = $1201;
GL_SPECULAR = $1202;
GL_SHININESS = $1601;
GL_EMISSION = $1600;
GL_POSITION = $1203;
GL_SPOT_DIRECTION = $1204;
GL_AMBIENT_AND_DIFFUSE = $1602;
GL_COLOR_INDEXES = $1603;
GL_LIGHT_MODEL_TWO_SIDE = $0B52;
GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
GL_LIGHT_MODEL_AMBIENT = $0B53;
GL_FRONT_AND_BACK = $0408;
GL_SHADE_MODEL = $0B54;
GL_FLAT = $1D00;
GL_SMOOTH = $1D01;
GL_COLOR_MATERIAL = $0B57;
GL_COLOR_MATERIAL_FACE = $0B55;
GL_COLOR_MATERIAL_PARAMETER = $0B56;
GL_NORMALIZE = $0BA1;
// User clipping planes
GL_CLIP_PLANE0 = $3000;
GL_CLIP_PLANE1 = $3001;
GL_CLIP_PLANE2 = $3002;
GL_CLIP_PLANE3 = $3003;
GL_CLIP_PLANE4 = $3004;
GL_CLIP_PLANE5 = $3005;
// Accumulation buffer
GL_ACCUM_RED_BITS = $0D58;
GL_ACCUM_GREEN_BITS = $0D59;
GL_ACCUM_BLUE_BITS = $0D5A;
GL_ACCUM_ALPHA_BITS = $0D5B;
GL_ACCUM_CLEAR_VALUE = $0B80;
GL_ACCUM = $0100;
GL_ADD = $0104;
GL_LOAD = $0101;
GL_MULT = $0103;
GL_RETURN = $0102;
// Alpha testing
GL_ALPHA_TEST = $0BC0;
GL_ALPHA_TEST_REF = $0BC2;
GL_ALPHA_TEST_FUNC = $0BC1;
// Blending
GL_BLEND = $0BE2;
GL_BLEND_SRC = $0BE1;
GL_BLEND_DST = $0BE0;
GL_ZERO = 0;
GL_ONE = 1;
GL_SRC_COLOR = $0300;
GL_ONE_MINUS_SRC_COLOR = $0301;
GL_DST_COLOR = $0306;
GL_ONE_MINUS_DST_COLOR = $0307;
GL_SRC_ALPHA = $0302;
GL_ONE_MINUS_SRC_ALPHA = $0303;
GL_DST_ALPHA = $0304;
GL_ONE_MINUS_DST_ALPHA = $0305;
GL_SRC_ALPHA_SATURATE = $0308;
GL_CONSTANT_COLOR = $8001;
GL_ONE_MINUS_CONSTANT_COLOR = $8002;
GL_CONSTANT_ALPHA = $8003;
GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
// Render mode
GL_FEEDBACK = $1C01;
GL_RENDER = $1C00;
GL_SELECT = $1C02;
// Feedback
GL_2D = $0600;
GL_3D = $0601;
GL_3D_COLOR = $0602;
GL_3D_COLOR_TEXTURE = $0603;
GL_4D_COLOR_TEXTURE = $0604;
GL_POINT_TOKEN = $0701;
GL_LINE_TOKEN = $0702;
GL_LINE_RESET_TOKEN = $0707;
GL_POLYGON_TOKEN = $0703;
GL_BITMAP_TOKEN = $0704;
GL_DRAW_PIXEL_TOKEN = $0705;
GL_COPY_PIXEL_TOKEN = $0706;
GL_PASS_THROUGH_TOKEN = $0700;
GL_FEEDBACK_BUFFER_POINTER = $0DF0;
GL_FEEDBACK_BUFFER_SIZE = $0DF1;
GL_FEEDBACK_BUFFER_TYPE = $0DF2;
// Selection
GL_SELECTION_BUFFER_POINTER = $0DF3;
GL_SELECTION_BUFFER_SIZE = $0DF4;
// Fog
GL_FOG = $0B60;
GL_FOG_MODE = $0B65;
GL_FOG_DENSITY = $0B62;
GL_FOG_COLOR = $0B66;
GL_FOG_INDEX = $0B61;
GL_FOG_START = $0B63;
GL_FOG_END = $0B64;
GL_LINEAR = $2601;
GL_EXP = $0800;
GL_EXP2 = $0801;
// Logic ops
GL_LOGIC_OP = $0BF1;
GL_INDEX_LOGIC_OP = $0BF1;
GL_COLOR_LOGIC_OP = $0BF2;
GL_LOGIC_OP_MODE = $0BF0;
GL_CLEAR = $1500;
GL_SET = $150F;
GL_COPY = $1503;
GL_COPY_INVERTED = $150C;
GL_NOOP = $1505;
GL_INVERT = $150A;
GL_AND = $1501;
GL_NAND = $150E;
GL_OR = $1507;
GL_NOR = $1508;
GL_XOR = $1506;
GL_EQUIV = $1509;
GL_AND_REVERSE = $1502;
GL_AND_INVERTED = $1504;
GL_OR_REVERSE = $150B;
GL_OR_INVERTED = $150D;
// Stencil
GL_STENCIL_TEST = $0B90;
GL_STENCIL_WRITEMASK = $0B98;
GL_STENCIL_BITS = $0D57;
GL_STENCIL_FUNC = $0B92;
GL_STENCIL_VALUE_MASK = $0B93;
GL_STENCIL_REF = $0B97;
GL_STENCIL_FAIL = $0B94;
GL_STENCIL_PASS_DEPTH_PASS = $0B96;
GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
GL_STENCIL_CLEAR_VALUE = $0B91;
GL_STENCIL_INDEX = $1901;
GL_KEEP = $1E00;
GL_REPLACE = $1E01;
GL_INCR = $1E02;
GL_DECR = $1E03;
// Buffers, Pixel Drawing/Reading
GL_NONE = 0;
GL_LEFT = $0406;
GL_RIGHT = $0407;
//GL_FRONT = $0404;
//GL_BACK = $0405;
//GL_FRONT_AND_BACK = $0408;
GL_FRONT_LEFT = $0400;
GL_FRONT_RIGHT = $0401;
GL_BACK_LEFT = $0402;
GL_BACK_RIGHT = $0403;
GL_AUX0 = $0409;
GL_AUX1 = $040A;
GL_AUX2 = $040B;
GL_AUX3 = $040C;
GL_COLOR_INDEX = $1900;
GL_RED = $1903;
GL_GREEN = $1904;
GL_BLUE = $1905;
GL_ALPHA = $1906;
GL_LUMINANCE = $1909;
GL_LUMINANCE_ALPHA = $190A;
GL_ALPHA_BITS = $0D55;
GL_RED_BITS = $0D52;
GL_GREEN_BITS = $0D53;
GL_BLUE_BITS = $0D54;
GL_INDEX_BITS = $0D51;
GL_SUBPIXEL_BITS = $0D50;
GL_AUX_BUFFERS = $0C00;
GL_READ_BUFFER = $0C02;
GL_DRAW_BUFFER = $0C01;
GL_DOUBLEBUFFER = $0C32;
GL_STEREO = $0C33;
GL_BITMAP = $1A00;
GL_COLOR = $1800;
GL_DEPTH = $1801;
GL_STENCIL = $1802;
GL_DITHER = $0BD0;
GL_RGB = $1907;
GL_RGBA = $1908;
// Implementation limits
GL_MAX_LIST_NESTING = $0B31;
GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
GL_MAX_NAME_STACK_DEPTH = $0D37;
GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
GL_MAX_EVAL_ORDER = $0D30;
GL_MAX_LIGHTS = $0D31;
GL_MAX_CLIP_PLANES = $0D32;
GL_MAX_TEXTURE_SIZE = $0D33;
GL_MAX_PIXEL_MAP_TABLE = $0D34;
GL_MAX_VIEWPORT_DIMS = $0D3A;
GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
// Gets
GL_ATTRIB_STACK_DEPTH = $0BB0;
GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
GL_COLOR_CLEAR_VALUE = $0C22;
GL_COLOR_WRITEMASK = $0C23;
GL_CURRENT_INDEX = $0B01;
GL_CURRENT_COLOR = $0B00;
GL_CURRENT_NORMAL = $0B02;
GL_CURRENT_RASTER_COLOR = $0B04;
GL_CURRENT_RASTER_DISTANCE = $0B09;
GL_CURRENT_RASTER_INDEX = $0B05;
GL_CURRENT_RASTER_POSITION = $0B07;
GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
GL_CURRENT_RASTER_POSITION_VALID = $0B08;
GL_CURRENT_TEXTURE_COORDS = $0B03;
GL_INDEX_CLEAR_VALUE = $0C20;
GL_INDEX_MODE = $0C30;
GL_INDEX_WRITEMASK = $0C21;
GL_MODELVIEW_MATRIX = $0BA6;
GL_MODELVIEW_STACK_DEPTH = $0BA3;
GL_NAME_STACK_DEPTH = $0D70;
GL_PROJECTION_MATRIX = $0BA7;
GL_PROJECTION_STACK_DEPTH = $0BA4;
GL_RENDER_MODE = $0C40;
GL_RGBA_MODE = $0C31;
GL_TEXTURE_MATRIX = $0BA8;
GL_TEXTURE_STACK_DEPTH = $0BA5;
GL_VIEWPORT = $0BA2;
// Evaluators
GL_AUTO_NORMAL = $0D80;
GL_MAP1_COLOR_4 = $0D90;
GL_MAP1_GRID_DOMAIN = $0DD0;
GL_MAP1_GRID_SEGMENTS = $0DD1;
GL_MAP1_INDEX = $0D91;
GL_MAP1_NORMAL = $0D92;
GL_MAP1_TEXTURE_COORD_1 = $0D93;
GL_MAP1_TEXTURE_COORD_2 = $0D94;
GL_MAP1_TEXTURE_COORD_3 = $0D95;
GL_MAP1_TEXTURE_COORD_4 = $0D96;
GL_MAP1_VERTEX_3 = $0D97;
GL_MAP1_VERTEX_4 = $0D98;
GL_MAP2_COLOR_4 = $0DB0;
GL_MAP2_GRID_DOMAIN = $0DD2;
GL_MAP2_GRID_SEGMENTS = $0DD3;
GL_MAP2_INDEX = $0DB1;
GL_MAP2_NORMAL = $0DB2;
GL_MAP2_TEXTURE_COORD_1 = $0DB3;
GL_MAP2_TEXTURE_COORD_2 = $0DB4;
GL_MAP2_TEXTURE_COORD_3 = $0DB5;
GL_MAP2_TEXTURE_COORD_4 = $0DB6;
GL_MAP2_VERTEX_3 = $0DB7;
GL_MAP2_VERTEX_4 = $0DB8;
GL_COEFF = $0A00;
GL_DOMAIN = $0A02;
GL_ORDER = $0A01;
// Hints
GL_FOG_HINT = $0C54;
GL_LINE_SMOOTH_HINT = $0C52;
GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
GL_POINT_SMOOTH_HINT = $0C51;
GL_POLYGON_SMOOTH_HINT = $0C53;
GL_DONT_CARE = $1100;
GL_FASTEST = $1101;
GL_NICEST = $1102;
// Scissor box
GL_SCISSOR_TEST = $0C11;
GL_SCISSOR_BOX = $0C10;
// Pixel Mode / Transfer
GL_MAP_COLOR = $0D10;
GL_MAP_STENCIL = $0D11;
GL_INDEX_SHIFT = $0D12;
GL_INDEX_OFFSET = $0D13;
GL_RED_SCALE = $0D14;
GL_RED_BIAS = $0D15;
GL_GREEN_SCALE = $0D18;
GL_GREEN_BIAS = $0D19;
GL_BLUE_SCALE = $0D1A;
GL_BLUE_BIAS = $0D1B;
GL_ALPHA_SCALE = $0D1C;
GL_ALPHA_BIAS = $0D1D;
GL_DEPTH_SCALE = $0D1E;
GL_DEPTH_BIAS = $0D1F;
GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
GL_PIXEL_MAP_S_TO_S = $0C71;
GL_PIXEL_MAP_I_TO_I = $0C70;
GL_PIXEL_MAP_I_TO_R = $0C72;
GL_PIXEL_MAP_I_TO_G = $0C73;
GL_PIXEL_MAP_I_TO_B = $0C74;
GL_PIXEL_MAP_I_TO_A = $0C75;
GL_PIXEL_MAP_R_TO_R = $0C76;
GL_PIXEL_MAP_G_TO_G = $0C77;
GL_PIXEL_MAP_B_TO_B = $0C78;
GL_PIXEL_MAP_A_TO_A = $0C79;
GL_PACK_ALIGNMENT = $0D05;
GL_PACK_LSB_FIRST = $0D01;
GL_PACK_ROW_LENGTH = $0D02;
GL_PACK_SKIP_PIXELS = $0D04;
GL_PACK_SKIP_ROWS = $0D03;
GL_PACK_SWAP_BYTES = $0D00;
GL_UNPACK_ALIGNMENT = $0CF5;
GL_UNPACK_LSB_FIRST = $0CF1;
GL_UNPACK_ROW_LENGTH = $0CF2;
GL_UNPACK_SKIP_PIXELS = $0CF4;
GL_UNPACK_SKIP_ROWS = $0CF3;
GL_UNPACK_SWAP_BYTES = $0CF0;
GL_ZOOM_X = $0D16;
GL_ZOOM_Y = $0D17;
// Texture mapping
GL_TEXTURE_ENV = $2300;
GL_TEXTURE_ENV_MODE = $2200;
GL_TEXTURE_1D = $0DE0;
GL_TEXTURE_2D = $0DE1;
GL_TEXTURE_WRAP_S = $2802;
GL_TEXTURE_WRAP_T = $2803;
GL_TEXTURE_MAG_FILTER = $2800;
GL_TEXTURE_MIN_FILTER = $2801;
GL_TEXTURE_ENV_COLOR = $2201;
GL_TEXTURE_GEN_S = $0C60;
GL_TEXTURE_GEN_T = $0C61;
GL_TEXTURE_GEN_MODE = $2500;
GL_TEXTURE_BORDER_COLOR = $1004;
GL_TEXTURE_WIDTH = $1000;
GL_TEXTURE_HEIGHT = $1001;
GL_TEXTURE_BORDER = $1005;
GL_TEXTURE_COMPONENTS = $1003;
GL_TEXTURE_RED_SIZE = $805C;
GL_TEXTURE_GREEN_SIZE = $805D;
GL_TEXTURE_BLUE_SIZE = $805E;
GL_TEXTURE_ALPHA_SIZE = $805F;
GL_TEXTURE_LUMINANCE_SIZE = $8060;
GL_TEXTURE_INTENSITY_SIZE = $8061;
GL_NEAREST_MIPMAP_NEAREST = $2700;
GL_NEAREST_MIPMAP_LINEAR = $2702;
GL_LINEAR_MIPMAP_NEAREST = $2701;
GL_LINEAR_MIPMAP_LINEAR = $2703;
GL_OBJECT_LINEAR = $2401;
GL_OBJECT_PLANE = $2501;
GL_EYE_LINEAR = $2400;
GL_EYE_PLANE = $2502;
GL_SPHERE_MAP = $2402;
GL_DECAL = $2101;
GL_MODULATE = $2100;
GL_NEAREST = $2600;
GL_REPEAT = $2901;
GL_CLAMP = $2900;
GL_S = $2000;
GL_T = $2001;
GL_R = $2002;
GL_Q = $2003;
GL_TEXTURE_GEN_R = $0C62;
GL_TEXTURE_GEN_Q = $0C63;
// GL 1.1 texturing
GL_PROXY_TEXTURE_1D = $8063;
GL_PROXY_TEXTURE_2D = $8064;
GL_TEXTURE_PRIORITY = $8066;
GL_TEXTURE_RESIDENT = $8067;
GL_TEXTURE_BINDING_1D = $8068;
GL_TEXTURE_BINDING_2D = $8069;
GL_TEXTURE_INTERNAL_FORMAT = $1003;
// GL 1.2 texturing
GL_PACK_SKIP_IMAGES = $806B;
GL_PACK_IMAGE_HEIGHT = $806C;
GL_UNPACK_SKIP_IMAGES = $806D;
GL_UNPACK_IMAGE_HEIGHT = $806E;
GL_TEXTURE_3D = $806F;
GL_PROXY_TEXTURE_3D = $8070;
GL_TEXTURE_DEPTH = $8071;
GL_TEXTURE_WRAP_R = $8072;
GL_MAX_3D_TEXTURE_SIZE = $8073;
GL_TEXTURE_BINDING_3D = $806A;
// Internal texture formats (GL 1.1)
GL_ALPHA4 = $803B;
GL_ALPHA8 = $803C;
GL_ALPHA12 = $803D;
GL_ALPHA16 = $803E;
GL_LUMINANCE4 = $803F;
GL_LUMINANCE8 = $8040;
GL_LUMINANCE12 = $8041;
GL_LUMINANCE16 = $8042;
GL_LUMINANCE4_ALPHA4 = $8043;
GL_LUMINANCE6_ALPHA2 = $8044;
GL_LUMINANCE8_ALPHA8 = $8045;
GL_LUMINANCE12_ALPHA4 = $8046;
GL_LUMINANCE12_ALPHA12 = $8047;
GL_LUMINANCE16_ALPHA16 = $8048;
GL_INTENSITY = $8049;
GL_INTENSITY4 = $804A;
GL_INTENSITY8 = $804B;
GL_INTENSITY12 = $804C;
GL_INTENSITY16 = $804D;
GL_R3_G3_B2 = $2A10;
GL_RGB4 = $804F;
GL_RGB5 = $8050;
GL_RGB8 = $8051;
GL_RGB10 = $8052;
GL_RGB12 = $8053;
GL_RGB16 = $8054;
GL_RGBA2 = $8055;
GL_RGBA4 = $8056;
GL_RGB5_A1 = $8057;
GL_RGBA8 = $8058;
GL_RGB10_A2 = $8059;
GL_RGBA12 = $805A;
GL_RGBA16 = $805B;
// Utility
GL_VENDOR = $1F00;
GL_RENDERER = $1F01;
GL_VERSION = $1F02;
GL_EXTENSIONS = $1F03;
// Errors
GL_INVALID_VALUE = $0501;
GL_INVALID_ENUM = $0500;
GL_INVALID_OPERATION = $0502;
GL_STACK_OVERFLOW = $0503;
GL_STACK_UNDERFLOW = $0504;
GL_OUT_OF_MEMORY = $0505;
// OpenGL 1.2
GL_RESCALE_NORMAL = $803A;
GL_CLAMP_TO_EDGE = $812F;
GL_MAX_ELEMENTS_VERTICES = $F0E8;
GL_MAX_ELEMENTS_INDICES = $F0E9;
GL_BGR = $80E0;
GL_BGRA = $80E1;
GL_UNSIGNED_BYTE_3_3_2 = $8032;
GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
GL_UNSIGNED_SHORT_5_6_5 = $8363;
GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
GL_UNSIGNED_INT_8_8_8_8 = $8035;
GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
GL_UNSIGNED_INT_10_10_10_2 = $8036;
GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
GL_SINGLE_COLOR = $81F9;
GL_SEPARATE_SPECULAR_COLOR = $81FA;
GL_TEXTURE_MIN_LOD = $813A;
GL_TEXTURE_MAX_LOD = $813B;
GL_TEXTURE_BASE_LEVEL = $813C;
GL_TEXTURE_MAX_LEVEL = $813D;
// -------------------------------------------------------------------
// GL procedures and functions
// -------------------------------------------------------------------
var
%END
#=====================================================================
# Procedures and functions
#=====================================================================
%PROCS
// Miscellaneous
glClearIndex: procedure(c: Single);
glClearColor: procedure(red, green, blue, alpha: GLclampf);
glClear: procedure(mask: GLbitfield);
glIndexMask: procedure(mask: LongWord);
glColorMask: procedure(red, green, blue, alpha: Boolean);
glAlphaFunc: procedure(func: GLenum; ref: GLclampf);
glBlendFunc: procedure(sfactor, dfactor: GLenum);
glLogicOp: procedure(opcode: GLenum);
glCullFace: procedure(mode: GLenum);
glFrontFace: procedure(mode: GLenum);
glPointSize: procedure(size: Single);
glLineWidth: procedure(width: Single);
glLineStipple: procedure(factor: LongInt; pattern: Word);
glPolygonMode: procedure(face, mode: GLenum);
glPolygonOffset: procedure(factor, units: Single);
glPolygonStipple: procedure(var mask: Byte);
glGetPolygonStipple: procedure(var mask: Byte);
glEdgeFlag: procedure(flag: Boolean);
glEdgeFlagv: procedure(var flag: Boolean);
glScissor: procedure(x, y, width, height: LongInt);
glClipPlane: procedure(plane: GLenum; var equation: Double);
glGetClipPlane: procedure(plane: GLenum; var equation: Double);
glDrawBuffer: procedure(mode: GLenum);
glReadBuffer: procedure(mode: GLenum);
glEnable: procedure(cap: LongInt);
glDisable: procedure(cap: LongInt);
glIsEnabled: function(cap: GLenum): Boolean;
glEnableClientState: procedure(cap: GLenum); // 1.1
glDisableClientState: procedure(cap: GLenum); // 1.1
glGetBooleanv: procedure(pname: GLenum; var params: Boolean);
glGetDoublev: procedure(pname: GLenum; var params: Double);
glGetFloatv: procedure(pname: GLenum; var params: Single);
glGetIntegerv: procedure(pname: GLenum; var params: LongInt);
glPushAttrib: procedure(mask: GLbitfield);
glPopAttrib: procedure;
glPushClientAttrib: procedure(mask: GLbitfield); // 1.1
glPopClientAttrib: procedure; // 1.1
glRenderMode: function(mode: GLenum): LongInt;
glGetError: function: GLenum;
glGetString: function(name: GLenum): PChar;
glFinish: procedure;
glFlush: procedure;
glHint: procedure(target, mode: GLenum);
// Depth Buffer
glClearDepth: procedure(depth: GLclampd);
glDepthFunc: procedure(func: LongInt);
glDepthMask: procedure(flag: Boolean);
glDepthRange: procedure(near_val, far_val: GLclampd);
// Accumulation Buffer
glClearAccum: procedure(red, green, blue, alpha: Single);
glAccum: procedure(op: GLenum; value: Single);
// Tranformation
glMatrixMode: procedure(mode: GLenum);
glOrtho: procedure(left, right, bottom, top, near_val, far_val: Double);
glFrustum: procedure(left, right, bottom, top, near_val, far_val: Double);
glViewport: procedure(x, y, width, height: LongInt);
glPushMatrix: procedure;
glPopMatrix: procedure;
glLoadIdentity: procedure;
glLoadMatrixd: procedure(var m: Double);
glLoadMatrixf: procedure(var m: PSingle);
glMultMatrixd: procedure(var m: Double);
glMultMatrixf: procedure(var m: Single);
glRotated: procedure(angle, x, y, z: Double);
glRotatef: procedure(angle, x, y, z: Single);
glScaled: procedure(x, y, z: Double);
glScalef: procedure(x, y, z: Single);
glTranslated: procedure(x, y, z: Double);
glTranslatef: procedure(x, y, z: Single);
// Display Lists
glIsList: function(list: LongWord): Boolean;
glDeleteLists: procedure(list: LongWord; range: LongInt);
glGenLists: function(range: LongInt): LongWord;
glNewList: procedure(list: LongWord; mode: GLenum);
glEndList: procedure;
glCallList: procedure(list: LongWord);
glCallLists: procedure(n: LongInt; AType: GLenum; var lists);
glListBase: procedure(base: LongWord);
// Drawing Functions
glBegin: procedure(mode: GLenum);
glEnd: procedure;
glVertex2d: procedure(x, y: Double);
glVertex2f: procedure(x, y: Single);
glVertex2i: procedure(x, y: LongInt);
glVertex2s: procedure(x, y: SmallInt);
glVertex3d: procedure(x, y, z: Double);
glVertex3f: procedure(x, y, z: Single);
glVertex3i: procedure(x, y, z: LongInt);
glVertex3s: procedure(x, y, z: SmallInt);
glVertex4d: procedure(x, y, z, w: Double);
glVertex4f: procedure(x, y, z, w: Single);
glVertex4i: procedure(x, y, z, w: LongInt);
glVertex4s: procedure(x, y, z, w: SmallInt);
glVertex2dv: procedure(var v: Double);
glVertex2fv: procedure(var v: Single);
glVertex2iv: procedure(var v: LongInt);
glVertex2sv: procedure(var v: SmallInt);
glVertex3dv: procedure(var v: Double);
glVertex3fv: procedure(var v: Single);
glVertex3iv: procedure(var v: LongInt);
glVertex3sv: procedure(var v: SmallInt);
glVertex4dv: procedure(var v: Double);
glVertex4fv: procedure(var v: Single);
glVertex4iv: procedure(var v: LongInt);
glVertex4sv: procedure(var v: SmallInt);
glNormal3b: procedure(nx, ny, nz: Byte);
glNormal3d: procedure(nx, ny, nz: Double);
glNormal3f: procedure(nx, ny, nz: Single);
glNormal3i: procedure(nx, ny, nz: LongInt);
glNormal3s: procedure(nx, ny, nz: SmallInt);
glNormal3bv: procedure(var v: ShortInt);
glNormal3dv: procedure(var v: Double);
glNormal3fv: procedure(var v: Single);
glNormal3iv: procedure(var v: LongInt);
glNormal3sv: procedure(var v: SmallInt);
glIndexd: procedure(c: Double);
glIndexf: procedure(c: Single);
glIndexi: procedure(c: LongInt);
glIndexs: procedure(c: SmallInt);
glIndexub: procedure(c: Byte); // 1.1
glIndexdv: procedure(var c: Double);
glIndexfv: procedure(var c: Single);
glIndexiv: procedure(var c: LongInt);
glIndexsv: procedure(var c: SmallInt);
glIndexubv: procedure(var c: Byte); // 1.1
glColor3b : procedure(red, green, blue: ShortInt);
glColor3d : procedure(red, green, blue: Double);
glColor3f : procedure(red, green, blue: Single);
glColor3i : procedure(red, green, blue: LongInt);
glColor3s : procedure(red, green, blue: SmallInt);
glColor3ub: procedure(red, green, blue: Byte);
glColor3ui: procedure(red, green, blue: LongWord);
glColor3us: procedure(red, green, blue: Word);
glColor4b : procedure(red, green, blue, alpha: ShortInt);
glColor4d : procedure(red, green, blue, alpha: Double);
glColor4f : procedure(red, green, blue, alpha: Single);
glColor4i : procedure(red, green, blue, alpha: LongInt);
glColor4s : procedure(red, green, blue, alpha: SmallInt);
glColor4ub: procedure(red, green, blue, alpha: Byte);
glColor4ui: procedure(red, green, blue, alpha: LongWord);
glColor4us: procedure(red, green, blue, alpha: Word);
glColor3bv : procedure(var v: ShortInt);
glColor3dv : procedure(var v: Double);
glColor3fv : procedure(var v: Single);
glColor3iv : procedure(var v: LongInt);
glColor3sv : procedure(var v: SmallInt);
glColor3ubv: procedure(var v: Byte);
glColor3uiv: procedure(var v: LongWord);
glColor3usv: procedure(var v: Word);
glColor4bv : procedure(var v: ShortInt);
glColor4dv : procedure(var v: Double);
glColor4fv : procedure(var v: Single);
glColor4iv : procedure(var v: LongInt);
glColor4sv : procedure(var v: SmallInt);
glColor4ubv: procedure(var v: Byte);
glColor4uiv: procedure(var v: LongWord);
glColor4usv: procedure(var v: Word);
glTexCoord1d: procedure(s: Double);
glTexCoord1f: procedure(s: Single);
glTexCoord1i: procedure(s: LongInt);
glTexCoord1s: procedure(s: SmallInt);
glTexCoord2d: procedure(s, t: Double);
glTexCoord2f: procedure(s, t: Single);
glTexCoord2i: procedure(s, t: LongInt);
glTexCoord2s: procedure(s, t: SmallInt);
glTexCoord3d: procedure(s, t, r: Double);
glTexCoord3f: procedure(s, t, r: Single);
glTexCoord3i: procedure(s, t, r: LongInt);
glTexCoord3s: procedure(s, t, r: SmallInt);
glTexCoord4d: procedure(s, t, r, q: Double);
glTexCoord4f: procedure(s, t, r, q: Single);
glTexCoord4i: procedure(s, t, r, q: LongInt);
glTexCoord4s: procedure(s, t, r, q: SmallInt);
glTexCoord1dv: procedure(var v: Double);
glTexCoord1fv: procedure(var v: Single);
glTexCoord1iv: procedure(var v: LongInt);
glTexCoord1sv: procedure(var v: SmallInt);
glTexCoord2dv: procedure(var v: Double);
glTexCoord2fv: procedure(var v: Single);
glTexCoord2iv: procedure(var v: LongInt);
glTexCoord2sv: procedure(var v: SmallInt);
glTexCoord3dv: procedure(var v: Double);
glTexCoord3fv: procedure(var v: Single);
glTexCoord3iv: procedure(var v: LongInt);
glTexCoord3sv: procedure(var v: SmallInt);
glTexCoord4dv: procedure(var v: Double);
glTexCoord4fv: procedure(var v: Single);
glTexCoord4iv: procedure(var v: LongInt);
glTexCoord4sv: procedure(var v: SmallInt);
glRasterPos2d: procedure(x, y: Double);
glRasterPos2f: procedure(x, y: Single);
glRasterPos2i: procedure(x, y: LongInt);
glRasterPos2s: procedure(x, y: SmallInt);
glRasterPos3d: procedure(x, y, z: Double);
glRasterPos3f: procedure(x, y, z: Single);
glRasterPos3i: procedure(x, y, z: LongInt);
glRasterPos3s: procedure(x, y, z: SmallInt);
glRasterPos4d: procedure(x, y, z, w: Double);
glRasterPos4f: procedure(x, y, z, w: Single);
glRasterPos4i: procedure(x, y, z, w: LongInt);
glRasterPos4s: procedure(x, y, z, w: SmallInt);
glRasterPos2dv: procedure(var v: Double);
glRasterPos2fv: procedure(var v: Single);
glRasterPos2iv: procedure(var v: LongInt);
glRasterPos2sv: procedure(var v: SmallInt);
glRasterPos3dv: procedure(var v: Double);
glRasterPos3fv: procedure(var v: Single);
glRasterPos3iv: procedure(var v: LongInt);
glRasterPos3sv: procedure(var v: SmallInt);
glRasterPos4dv: procedure(var v: Double);
glRasterPos4fv: procedure(var v: Single);
glRasterPos4iv: procedure(var v: LongInt);
glRasterPos4sv: procedure(var v: SmallInt);
glRectd: procedure(x1, y1, x2, y2: Double);
glRectf: procedure(x1, y1, x2, y2: Single);
glRecti: procedure(x1, y1, x2, y2: LongInt);
glRects: procedure(x1, y1, x2, y2: SmallInt);
glRectdv: procedure(var v1, v2: Double);
glRectfv: procedure(var v1, v2: Single);
glRectiv: procedure(var v1, v2: LongInt);
glRectsv: procedure(var v1, v2: SmallInt);
// Vertex Arrays (1.1)
glVertexPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr);
glNormalPointer: procedure(AType: GLenum; stride: LongInt; var ptr);
glColorPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr);
glIndexPointer: procedure(AType: GLenum; stride: LongInt; var ptr);
glTexCoordPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr);
glEdgeFlagPointer: procedure(stride: LongInt; var ptr);
glGetPointerv: procedure(pname: GLenum; var params: Pointer);
glArrayElement: procedure(i: LongInt);
glDrawArrays: procedure(mode: GLenum; first, count: LongInt);
glDrawElements: procedure(mode: GLenum; count: Integer; AType: GLenum; var indices);
glInterleavedArrays: procedure(format: GLenum; stride: LongInt; var pointer);
// Lighting
glShadeModel: procedure(mode: GLenum);
glLightf: procedure(light, pname: GLenum; param: Single);
glLighti: procedure(light, pname: GLenum; param: LongInt);
glLightfv: procedure(light, pname: GLenum; var params: Single);
glLightiv: procedure(light, pname: GLenum; var params: LongInt);
glGetLightfv: procedure(light, pname: GLenum; var params: Single);
glGetLightiv: procedure(light, pname: GLenum; var params: LongInt);
glLightModelf: procedure(pname: GLenum; param: Single);
glLightModeli: procedure(pname: GLenum; param: LongInt);
glLightModelfv: procedure(pname: GLenum; var params: Single);
glLightModeliv: procedure(pname: GLenum; var param: LongInt);
glMaterialf: procedure(face, pname: GLenum; param: Single);
glMateriali: procedure(face, pname: GLenum; param: LongInt);
glMaterialfv: procedure(face, pname: GLenum; var params: Single);
glMaterialiv: procedure(face, pname: GLenum; var params: LongInt);
glGetMaterialfv: procedure(face, pname: GLenum; var params: Single);
glGetMaterialiv: procedure(face, pname: GLenum; var params: LongInt);
glColorMaterial: procedure(face, mode: GLenum);
// Raster Functions
glPixelZoom: procedure(xfactor, yfactor: Single);
glPixelStoref: procedure(pname: GLenum; param: Single);
glPixelStorei: procedure(pname: GLenum; param: LongInt);
glPixelTransferf: procedure(pname: GLenum; param: Single);
glPixelTransferi: procedure(pname: GLenum; param: LongInt);
glPixelMapfv: procedure(map: GLenum; mapsize: LongInt; var values: Single);
glPixelMapuiv: procedure(map: GLenum; mapsize: LongInt; var values: LongWord);
glPixelMapusv: procedure(map: GLenum; mapsize: LongInt; var values: Word);
glGetPixelMapfv: procedure(map: GLenum; var values: Single);
glGetPixelMapuiv: procedure(map: GLenum; var values: LongWord);
glGetPixelMapusv: procedure(map: GLenum; var values: Word);
glBitmap: procedure(width, height: LongInt; xorig, yorig, xmove, ymove: Single; var bitmap);
glReadPixels: procedure(x, y, width, height: LongInt; format, AType: GLenum; var pixels);
glDrawPixels: procedure(width, height: LongInt; format, AType: GLenum; var pixels);
glCopyPixels: procedure(x, y, width, height: LongInt; AType: GLenum);
// Stenciling
glStencilFunc: procedure(func: GLenum; ref: LongInt; mask: LongWord);
glStencilMask: procedure(mask: LongWord);
glStencilOp: procedure(fail, zfail, zpass: GLenum);
glClearStencil: procedure(s: LongInt);
// Texture Mapping
glTexGend: procedure(cord, pname: GLenum; param: Double);
glTexGenf: procedure(cord, pname: GLenum; param: Single);
glTexGeni: procedure(cord, pname: GLenum; param: LongInt);
glTexGendv: procedure(cord, pname: GLenum; var params: Double);
glTexGenfv: procedure(cord, pname: GLenum; var params: Single);
glTexGeniv: procedure(cord, pname: GLenum; var params: LongInt);
glGetTexGendv: procedure(cord, pname: GLenum; var params: Double);
glGetTexGenfv: procedure(cord, pname: GLenum; var params: Single);
glGetTexGeniv: procedure(cord, pname: GLenum; var params: LongInt);
glTexEnvf: procedure(target, pname: GLenum; param: Single);
glTexEnvi: procedure(target, pname: GLenum; param: LongInt);
glTexEnvfv: procedure(target, pname: GLenum; var params: Single);
glTexEnviv: procedure(target, pname: GLenum; var params: LongInt);
glGetTexEnvfv: procedure(target, pname: GLenum; var params: Single);
glGetTexEnviv: procedure(target, pname: GLenum; var params: LongInt);
glTexParameterf: procedure(target, pname: GLenum; param: Single);
glTexParameteri: procedure(target, pname: GLenum; param: LongInt);
glTexParameterfv: procedure(target, pname: GLenum; var params: Single);
glTexParameteriv: procedure(target, pname: GLenum; var params: LongInt);
glGetTexParameterfv: procedure(target, pname: GLenum; var params: Single);
glGetTexParameteriv: procedure(target, pname: GLenum; var params: LongInt);
glGetTexLevelParameterfv: procedure(target: GLenum; level: LongInt; pname: GLenum; var params: Single);
glGetTexLevelParameteriv: procedure(target: GLenum; level: LongInt; pname: GLenum; var params: LongInt);
glTexImage1D: procedure(target: GLenum; level, internalFormat, width, border: LongInt; format, AType: GLenum; var pixels);
glTexImage2D: procedure(target: GLenum; level, internalFormat, width, height, border: LongInt; format, AType: GLenum; var pixels);
glGetTexImage: procedure(target: GLenum; level: LongInt; format, AType: GLenum; var pixels);
// 1.1 functions:
glGenTextures: procedure(n: LongInt; var textures: LongWord);
glDeleteTextures: procedure(n: LongInt; var textures: LongWord);
glBindTexture: procedure(target: GLenum; texture: LongWord);
glPrioritizeTextures: procedure(n: LongInt; var textures: LongWord; var priorities: GLclampf);
glAreTexturesResident: function(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean;
glIsTexture: function(texture: LongWord): Boolean;
glTexSubImage1D: procedure(target: GLenum; level, xoffset, width: LongInt; format, AType: GLenum; var pixels);
glTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, width, height: LongInt; format, AType: GLenum; var pixels);
glCopyTexImage1D: procedure(target: GLenum; level: LongInt; format: GLenum; x, y, width, border: LongInt);
glCopyTexImage2D: procedure(target: GLenum; level: LongInt; format: GLenum; x, y, width, height, border: LongInt);
glCopyTexSubImage1D: procedure(target: GLenum; level, xoffset, x, y, width: LongInt);
glCopyTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, x, y, width, height: LongInt);
// Evaluators
glMap1d: procedure(target: GLenum; u1, u2: Double; stride, order: LongInt; var points: Double);
glMap1f: procedure(target: GLenum; u1, u2: Single; stride, order: LongInt; var points: Single);
glMap2d: procedure(target: GLenum; u1, u2: Double; ustride, uorder: LongInt; v1, v2: Double; vstride, vorder: LongInt; var points: Double);
glMap2f: procedure(target: GLenum; u1, u2: Single; ustride, uorder: LongInt; v1, v2: Single; vstride, vorder: LongInt; var points: Single);
glGetMapdv: procedure(target, query: GLenum; var v: Double);
glGetMapfv: procedure(target, query: GLenum; var v: Single);
glGetMapiv: procedure(target, query: GLenum; var v: LongInt);
glEvalCoord1d: procedure(u: Double);
glEvalCoord1f: procedure(u: Single);
glEvalCoord1dv: procedure(var u: Double);
glEvalCoord1fv: procedure(var u: Single);
glEvalCoord2d: procedure(u, v: Double);
glEvalCoord2f: procedure(u, v: Single);
glEvalCoord2dv: procedure(var u, v: Double);
glEvalCoord2fv: procedure(var u, v: Single);
glMapGrid1d: procedure(un: LongInt; u1, u2: Double);
glMapGrid1f: procedure(un: LongInt; u1, u2: Single);
glMapGrid2d: procedure(un: LongInt; u1, u2: Double; vn: LongInt; v1, v2: Double);
glMapGrid2f: procedure(un: LongInt; u1, u2: Single; vn: LongInt; v1, v2: Single);
glEvalPoint1: procedure(i: LongInt);
glEvalPoint2: procedure(i, j: LongInt);
glEvalMesh1: procedure(mode: GLenum; i1, i2: LongInt);
glEvalMesh2: procedure(mode: GLenum; i1, i2, j1, j2: LongInt);
// Fog
glFogf: procedure(pname: GLenum; param: Single);
glFogi: procedure(pname: GLenum; param: LongInt);
glFogfv: procedure(pname: GLenum; var params: Single);
glFogiv: procedure(pname: GLenum; var params: LongInt);
// Selection and Feedback
glFeedbackBuffer: procedure(size: LongInt; AType: GLenum; var buffer: Single);
glPassThrough: procedure(token: Single);
glSelectBuffer: procedure(size: LongInt; var buffer: LongWord);
glInitNames: procedure;
glLoadName: procedure(name: LongWord);
glPushName: procedure(name: LongWord);
glPopName: procedure;
%END