1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065 |
- {
- $Id$
- Translation of the Mesa GL headers for FreePascal
- Copyright (C) 1999 Sebastian Guenther
- Mesa 3-D graphics library
- Version: 3.0
- Copyright (C) 1995-1998 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.
- }
- {$MODE delphi} // objfpc would not work because of direct proc var assignments
- {You have to enable Macros (compiler switch "-Sm") for compiling this unit!
- This is necessary for supporting different platforms with different calling
- conventions via a single unit.}
- unit GL;
- interface
- {$DEFINE GL1_0}
- {$DEFINE GL1_1}
- {$DEFINE GL1_2}
- {$DEFINE MESA} {enable if you want to use some special mesa extensions}
- {$DEFINE EXTENSIONS} {enable if you need one/all of extensions}
- {$DEFINE SGI_EXTENSIONS} {enable if you need one/all of extensions}
- {$MACRO ON}
- {$IFDEF Linux}
- {$LINKLIB c}
- {$ELSE}
- {$MESSAGE Unsupported platform.}
- {$ENDIF}
- // =======================================================
- // Unit specific extensions
- // =======================================================
- function InitGLFromLibrary(libname: PChar): Boolean;
- // determines automatically which libraries to use:
- function InitGL: Boolean;
- var
- GLDumpUnresolvedFunctions,
- GLInitialized: Boolean;
- // =======================================================
- // GL consts, types and functions
- // =======================================================
- // -------------------------------------------------------
- // GL types
- // -------------------------------------------------------
- type
- PSingle = ^Single;
- PDouble = ^Double;
- GLvoid = Pointer;
- GLboolean = Byte;
- GLbyte = ShortInt; // 1-byte signed
- GLshort = Integer; // 2-byte signed
- GLint = LongInt; // 4-byte signed
- GLubyte = Byte; // 1-byte unsigned
- GLushort = Word; // 2-byte unsigned
- GLuint = DWord; // 4-byte signed
- GLsizei = LongInt; // 4-byte signed
- GLfloat = Single; // single precision float
- GLclampf = Single; // single precision float in [0,1]
- GLdouble = Double; // double precision float
- GLclampd = Double; // double precision float in [0,1]
- GLenum = DWord;
- PGLBoolean = ^GLBoolean;
- PGLFloat = ^GLfloat;
- PGLDouble = ^GLDouble;
- type
- GLbitfield = DWord; { was an enum - no corresponding thing in pascal }
- const
- GL_CURRENT_BIT = $00000001;
- GL_POINT_BIT = $00000002;
- GL_LINE_BIT = $00000004;
- GL_POLYGON_BIT = $00000008;
- GL_POLYGON_STIPPLE_BIT= $00000010;
- GL_PIXEL_MODE_BIT = $00000020;
- GL_LIGHTING_BIT = $00000040;
- GL_FOG_BIT = $00000080;
- GL_DEPTH_BUFFER_BIT = $00000100;
- GL_ACCUM_BUFFER_BIT = $00000200;
- GL_STENCIL_BUFFER_BIT = $00000400;
- GL_VIEWPORT_BIT = $00000800;
- GL_TRANSFORM_BIT = $00001000;
- GL_ENABLE_BIT = $00002000;
- GL_COLOR_BUFFER_BIT = $00004000;
- GL_HINT_BIT = $00008000;
- GL_EVAL_BIT = $00010000;
- GL_LIST_BIT = $00020000;
- GL_TEXTURE_BIT = $00040000;
- GL_SCISSOR_BIT = $00080000;
- GL_ALL_ATTRIB_BITS = $000fffff;
- // -------------------------------------------------------
- // GL constants
- // -------------------------------------------------------
- {$IFDEF GL1_0}
- 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;
- {$ENDIF GL1_0}
- {$IFDEF GL1_1}
- const
- // 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;
- // 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;
- {$ENDIF GL1_1}
- {$IFDEF GL1_2}
- const
- // 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;
- const
- 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;
- {$ENDIF GL1_2}
- const
- // 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;
- // -------------------------------------------------------
- // GL extensions constants
- // -------------------------------------------------------
- {$IFDEF EXTENSIONS}
- const
- // GL_EXT_blend_minmax and GL_EXT_blend_color
- GL_CONSTANT_COLOR_EXT = $8001;
- GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
- GL_CONSTANT_ALPHA_EXT = $8003;
- GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
- GL_BLEND_EQUATION_EXT = $8009;
- GL_MIN_EXT = $8007;
- GL_MAX_EXT = $8008;
- GL_FUNC_ADD_EXT = $8006;
- GL_FUNC_SUBTRACT_EXT = $800A;
- GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
- GL_BLEND_COLOR_EXT = $8005;
- // GL_EXT_polygon_offset
- GL_POLYGON_OFFSET_EXT = $8037;
- GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
- GL_POLYGON_OFFSET_BIAS_EXT = $8039;
- // GL_EXT_vertex_array
- GL_VERTEX_ARRAY_EXT = $8074;
- GL_NORMAL_ARRAY_EXT = $8075;
- GL_COLOR_ARRAY_EXT = $8076;
- GL_INDEX_ARRAY_EXT = $8077;
- GL_TEXTURE_COORD_ARRAY_EXT = $8078;
- GL_EDGE_FLAG_ARRAY_EXT = $8079;
- GL_VERTEX_ARRAY_SIZE_EXT = $807A;
- GL_VERTEX_ARRAY_TYPE_EXT = $807B;
- GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
- GL_VERTEX_ARRAY_COUNT_EXT = $807D;
- GL_NORMAL_ARRAY_TYPE_EXT = $807E;
- GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
- GL_NORMAL_ARRAY_COUNT_EXT = $8080;
- GL_COLOR_ARRAY_SIZE_EXT = $8081;
- GL_COLOR_ARRAY_TYPE_EXT = $8082;
- GL_COLOR_ARRAY_STRIDE_EXT = $8083;
- GL_COLOR_ARRAY_COUNT_EXT = $8084;
- GL_INDEX_ARRAY_TYPE_EXT = $8085;
- GL_INDEX_ARRAY_STRIDE_EXT = $8086;
- GL_INDEX_ARRAY_COUNT_EXT = $8087;
- GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
- GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
- GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
- GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
- GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
- GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
- GL_VERTEX_ARRAY_POINTER_EXT = $808E;
- GL_NORMAL_ARRAY_POINTER_EXT = $808F;
- GL_COLOR_ARRAY_POINTER_EXT = $8090;
- GL_INDEX_ARRAY_POINTER_EXT = $8091;
- GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
- GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
- // GL_EXT_texture_object
- GL_TEXTURE_PRIORITY_EXT = $8066;
- GL_TEXTURE_RESIDENT_EXT = $8067;
- GL_TEXTURE_1D_BINDING_EXT = $8068;
- GL_TEXTURE_2D_BINDING_EXT = $8069;
- // GL_EXT_texture3D
- GL_PACK_SKIP_IMAGES_EXT = $806B;
- GL_PACK_IMAGE_HEIGHT_EXT = $806C;
- GL_UNPACK_SKIP_IMAGES_EXT = $806D;
- GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
- GL_TEXTURE_3D_EXT = $806F;
- GL_PROXY_TEXTURE_3D_EXT = $8070;
- GL_TEXTURE_DEPTH_EXT = $8071;
- GL_TEXTURE_WRAP_R_EXT = $8072;
- GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
- GL_TEXTURE_3D_BINDING_EXT = $806A;
- // GL_EXT_paletted_texture
- GL_TABLE_TOO_LARGE_EXT = $8031;
- GL_COLOR_TABLE_FORMAT_EXT = $80D8;
- GL_COLOR_TABLE_WIDTH_EXT = $80D9;
- GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
- GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
- GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
- GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
- GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
- GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
- GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
- GL_COLOR_INDEX1_EXT = $80E2;
- GL_COLOR_INDEX2_EXT = $80E3;
- GL_COLOR_INDEX4_EXT = $80E4;
- GL_COLOR_INDEX8_EXT = $80E5;
- GL_COLOR_INDEX12_EXT = $80E6;
- GL_COLOR_INDEX16_EXT = $80E7;
- // GL_EXT_shared_texture_palette
- GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
- // GL_EXT_point_parameters
- GL_POINT_SIZE_MIN_EXT = $8126;
- GL_POINT_SIZE_MAX_EXT = $8127;
- GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
- GL_DISTANCE_ATTENUATION_EXT = $8129;
- // GL_EXT_rescale_normal
- GL_RESCALE_NORMAL_EXT = $803A;
- // GL_EXT_abgr
- GL_ABGR_EXT = $8000;
- const
- // GL_EXT_multitexture
- GL_SELECTED_TEXTURE_EXT = $83C0;
- GL_SELECTED_TEXTURE_COORD_SET_EXT = $83C1;
- GL_SELECTED_TEXTURE_TRANSFORM_EXT = $83C2;
- GL_MAX_TEXTURES_EXT = $83C3;
- GL_MAX_TEXTURE_COORD_SETS_EXT = $83C4;
- GL_TEXTURE_ENV_COORD_SET_EXT = $83C5;
- GL_TEXTURE0_EXT = $83C6;
- GL_TEXTURE1_EXT = $83C7;
- GL_TEXTURE2_EXT = $83C8;
- GL_TEXTURE3_EXT = $83C9;
- {$ENDIF EXTENSIONS}
- {$IFDEF SGI_EXTENSIONS}
- const
- // GL_SGIS_multitexture
- GL_SELECTED_TEXTURE_SGIS = $835C;
- GL_SELECTED_TEXTURE_COORD_SET_SGIS = $835D;
- GL_MAX_TEXTURES_SGIS = $835E;
- GL_TEXTURE0_SGIS = $835F;
- GL_TEXTURE1_SGIS = $8360;
- GL_TEXTURE2_SGIS = $8361;
- GL_TEXTURE3_SGIS = $8362;
- GL_TEXTURE_COORD_SET_SOURCE_SGIS = $8363;
- const
- // GL_SGIS_texture_edge_clamp
- GL_CLAMP_TO_EDGE_SGIS = $812F;
- {$ENDIF SGI_EXTENSIONS}
- {$IFDEF MESA}
- {$ENDIF MESA}
- // -------------------------------------------------------
- // GL procedures and functions
- // -------------------------------------------------------
- {$IFDEF GL1_0}
- var
- // Miscellaneous
- glClearIndex: procedure(c: Single); cdecl;
- glClearColor: procedure(red, green, blue, alpha: GLclampf); cdecl;
- glClear: procedure(mask: GLbitfield); cdecl;
- glIndexMask: procedure(mask: LongWord); cdecl;
- glColorMask: procedure(red, green, blue, alpha: GLboolean); cdecl;
- glAlphaFunc: procedure(func: GLenum; ref: GLclampf); cdecl;
- glBlendFunc: procedure(sfactor, dfactor: GLenum); cdecl;
- glLogicOp: procedure(opcode: GLenum); cdecl;
- glCullFace: procedure(mode: GLenum); cdecl;
- glFrontFace: procedure(mode: GLenum); cdecl;
- glPointSize: procedure(size: Single); cdecl;
- glLineWidth: procedure(width: Single); cdecl;
- glLineStipple: procedure(factor: LongInt; pattern: Word); cdecl;
- glPolygonMode: procedure(face, mode: GLenum); cdecl;
- glPolygonOffset: procedure(factor, units: Single); cdecl;
- glPolygonStipple: procedure(var mask: Byte); cdecl;
- glGetPolygonStipple: procedure(var mask: Byte); cdecl;
- glEdgeFlag: procedure(flag: GLBoolean); cdecl;
- glEdgeFlagv: procedure(var flag: GLBoolean); cdecl;
- glScissor: procedure(x, y, width, height: LongInt); cdecl;
- glClipPlane: procedure(plane: GLenum; var equation: Double); cdecl;
- glGetClipPlane: procedure(plane: GLenum; var equation: Double); cdecl;
- glDrawBuffer: procedure(mode: GLenum); cdecl;
- glReadBuffer: procedure(mode: GLenum); cdecl;
- glEnable: procedure(cap: LongInt); cdecl;
- glDisable: procedure(cap: LongInt); cdecl;
- glIsEnabled: function(cap: GLenum): GLBoolean; cdecl;
- glGetBooleanv: procedure(pname: GLenum; params : PGLBoolean); cdecl;
- glGetDoublev: procedure(pname: GLenum; params : PDouble); cdecl;
- glGetFloatv: procedure(pname: GLenum; params : PSingle); cdecl;
- glGetIntegerv: procedure(pname: GLenum; params : PLongInt); cdecl;
- glPushAttrib: procedure(mask: GLbitfield); cdecl;
- glPopAttrib: procedure; cdecl;
- glRenderMode: function(mode: GLenum): LongInt; cdecl;
- glGetError: function: GLenum; cdecl;
- glGetString: function(name: GLenum): PChar; cdecl;
- glFinish: procedure; cdecl;
- glFlush: procedure; cdecl;
- glHint: procedure(target, mode: GLenum); cdecl;
- // Depth Buffer
- glClearDepth: procedure(depth: GLclampd); cdecl;
- glDepthFunc: procedure(func: LongInt); cdecl;
- glDepthMask: procedure(flag: GLBoolean); cdecl;
- glDepthRange: procedure(near_val, far_val: GLclampd); cdecl;
- // Accumulation Buffer
- glClearAccum: procedure(red, green, blue, alpha: Single); cdecl;
- glAccum: procedure(op: GLenum; value: Single); cdecl;
- // Tranformation
- glMatrixMode: procedure(mode: GLenum); cdecl;
- glOrtho: procedure(left, right, bottom, top, near_val, far_val: Double); cdecl;
- glFrustum: procedure(left, right, bottom, top, near_val, far_val: Double); cdecl;
- glViewport: procedure(x, y, width, height: LongInt); cdecl;
- glPushMatrix: procedure; cdecl;
- glPopMatrix: procedure; cdecl;
- glLoadIdentity: procedure; cdecl;
- glLoadMatrixd: procedure(var m: Double); cdecl;
- glLoadMatrixf: procedure(var m: PSingle); cdecl;
- glMultMatrixd: procedure(var m: Double); cdecl;
- glMultMatrixf: procedure(var m: Single); cdecl;
- glRotated: procedure(angle, x, y, z: Double); cdecl;
- glRotatef: procedure(angle, x, y, z: Single); cdecl;
- glScaled: procedure(x, y, z: Double); cdecl;
- glScalef: procedure(x, y, z: Single); cdecl;
- glTranslated: procedure(x, y, z: Double); cdecl;
- glTranslatef: procedure(x, y, z: Single); cdecl;
- // Display Lists
- glIsList: function(list: LongWord): GLBoolean; cdecl;
- glDeleteLists: procedure(list: LongWord; range: LongInt); cdecl;
- glGenLists: function(range: LongInt): LongWord; cdecl;
- glNewList: procedure(list: LongWord; mode: GLenum); cdecl;
- glEndList: procedure; cdecl;
- glCallList: procedure(list: LongWord); cdecl;
- glCallLists: procedure(n: LongInt; AType: GLenum; var lists); cdecl;
- glListBase: procedure(base: LongWord); cdecl;
- // Drawing Functions
- glBegin: procedure(mode: GLenum); cdecl;
- glEnd: procedure; cdecl;
- glVertex2d: procedure(x, y: Double); cdecl;
- glVertex2f: procedure(x, y: Single); cdecl;
- glVertex2i: procedure(x, y: LongInt); cdecl;
- glVertex2s: procedure(x, y: SmallInt); cdecl;
- glVertex3d: procedure(x, y, z: Double); cdecl;
- glVertex3f: procedure(x, y, z: Single); cdecl;
- glVertex3i: procedure(x, y, z: LongInt); cdecl;
- glVertex3s: procedure(x, y, z: SmallInt); cdecl;
- glVertex4d: procedure(x, y, z, w: Double); cdecl;
- glVertex4f: procedure(x, y, z, w: Single); cdecl;
- glVertex4i: procedure(x, y, z, w: LongInt); cdecl;
- glVertex4s: procedure(x, y, z, w: SmallInt); cdecl;
- glVertex2dv: procedure(var v: Double); cdecl;
- glVertex2fv: procedure(var v: Single); cdecl;
- glVertex2iv: procedure(var v: LongInt); cdecl;
- glVertex2sv: procedure(var v: SmallInt); cdecl;
- glVertex3dv: procedure(var v: Double); cdecl;
- glVertex3fv: procedure(var v: Single); cdecl;
- glVertex3iv: procedure(var v: LongInt); cdecl;
- glVertex3sv: procedure(var v: SmallInt); cdecl;
- glVertex4dv: procedure(var v: Double); cdecl;
- glVertex4fv: procedure(var v: Single); cdecl;
- glVertex4iv: procedure(var v: LongInt); cdecl;
- glVertex4sv: procedure(var v: SmallInt); cdecl;
- glNormal3b: procedure(nx, ny, nz: Byte); cdecl;
- glNormal3d: procedure(nx, ny, nz: Double); cdecl;
- glNormal3f: procedure(nx, ny, nz: Single); cdecl;
- glNormal3i: procedure(nx, ny, nz: LongInt); cdecl;
- glNormal3s: procedure(nx, ny, nz: SmallInt); cdecl;
- glNormal3bv: procedure(var v: ShortInt); cdecl;
- glNormal3dv: procedure(var v: Double); cdecl;
- glNormal3fv: procedure(var v: Single); cdecl;
- glNormal3iv: procedure(var v: LongInt); cdecl;
- glNormal3sv: procedure(var v: SmallInt); cdecl;
- glIndexd: procedure(c: Double); cdecl;
- glIndexf: procedure(c: Single); cdecl;
- glIndexi: procedure(c: LongInt); cdecl;
- glIndexs: procedure(c: SmallInt); cdecl;
- glIndexdv: procedure(var c: Double); cdecl;
- glIndexfv: procedure(var c: Single); cdecl;
- glIndexiv: procedure(var c: LongInt); cdecl;
- glIndexsv: procedure(var c: SmallInt); cdecl;
- glColor3b: procedure (red, green, blue: ShortInt); cdecl;
- glColor3d: procedure (red, green, blue: Double); cdecl;
- glColor3f: procedure (red, green, blue: Single); cdecl;
- glColor3i: procedure (red, green, blue: LongInt); cdecl;
- glColor3s: procedure (red, green, blue: SmallInt); cdecl;
- glColor3ub: procedure(red, green, blue: Byte); cdecl;
- glColor3ui: procedure(red, green, blue: LongWord); cdecl;
- glColor3us: procedure(red, green, blue: Word); cdecl;
- glColor4b: procedure (red, green, blue, alpha: ShortInt); cdecl;
- glColor4d: procedure (red, green, blue, alpha: Double); cdecl;
- glColor4f: procedure (red, green, blue, alpha: Single); cdecl;
- glColor4i: procedure (red, green, blue, alpha: LongInt); cdecl;
- glColor4s: procedure (red, green, blue, alpha: SmallInt); cdecl;
- glColor4ub: procedure(red, green, blue, alpha: Byte); cdecl;
- glColor4ui: procedure(red, green, blue, alpha: LongWord); cdecl;
- glColor4us: procedure(red, green, blue, alpha: Word); cdecl;
- glColor3bv: procedure (var v: ShortInt); cdecl;
- glColor3dv: procedure (var v: Double); cdecl;
- glColor3fv: procedure (var v: Single); cdecl;
- glColor3iv: procedure (var v: LongInt); cdecl;
- glColor3sv: procedure (var v: SmallInt); cdecl;
- glColor3ubv: procedure(var v: Byte); cdecl;
- glColor3uiv: procedure(var v: LongWord); cdecl;
- glColor3usv: procedure(var v: Word); cdecl;
- glColor4bv: procedure (var v: ShortInt); cdecl;
- glColor4dv: procedure (var v: Double); cdecl;
- glColor4fv: procedure (var v: Single); cdecl;
- glColor4iv: procedure (var v: LongInt); cdecl;
- glColor4sv: procedure (var v: SmallInt); cdecl;
- glColor4ubv: procedure(var v: Byte); cdecl;
- glColor4uiv: procedure(var v: LongWord); cdecl;
- glColor4usv: procedure(var v: Word); cdecl;
- glTexCoord1d: procedure(s: Double); cdecl;
- glTexCoord1f: procedure(s: Single); cdecl;
- glTexCoord1i: procedure(s: LongInt); cdecl;
- glTexCoord1s: procedure(s: SmallInt); cdecl;
- glTexCoord2d: procedure(s, t: Double); cdecl;
- glTexCoord2f: procedure(s, t: Single); cdecl;
- glTexCoord2i: procedure(s, t: LongInt); cdecl;
- glTexCoord2s: procedure(s, t: SmallInt); cdecl;
- glTexCoord3d: procedure(s, t, r: Double); cdecl;
- glTexCoord3f: procedure(s, t, r: Single); cdecl;
- glTexCoord3i: procedure(s, t, r: LongInt); cdecl;
- glTexCoord3s: procedure(s, t, r: SmallInt); cdecl;
- glTexCoord4d: procedure(s, t, r, q: Double); cdecl;
- glTexCoord4f: procedure(s, t, r, q: Single); cdecl;
- glTexCoord4i: procedure(s, t, r, q: LongInt); cdecl;
- glTexCoord4s: procedure(s, t, r, q: SmallInt); cdecl;
- glTexCoord1dv: procedure(var v: Double); cdecl;
- glTexCoord1fv: procedure(var v: Single); cdecl;
- glTexCoord1iv: procedure(var v: LongInt); cdecl;
- glTexCoord1sv: procedure(var v: SmallInt); cdecl;
- glTexCoord2dv: procedure(var v: Double); cdecl;
- glTexCoord2fv: procedure(var v: Single); cdecl;
- glTexCoord2iv: procedure(var v: LongInt); cdecl;
- glTexCoord2sv: procedure(var v: SmallInt); cdecl;
- glTexCoord3dv: procedure(var v: Double); cdecl;
- glTexCoord3fv: procedure(var v: Single); cdecl;
- glTexCoord3iv: procedure(var v: LongInt); cdecl;
- glTexCoord3sv: procedure(var v: SmallInt); cdecl;
- glTexCoord4dv: procedure(var v: Double); cdecl;
- glTexCoord4fv: procedure(var v: Single); cdecl;
- glTexCoord4iv: procedure(var v: LongInt); cdecl;
- glTexCoord4sv: procedure(var v: SmallInt); cdecl;
- glRasterPos2d: procedure(x, y: Double); cdecl;
- glRasterPos2f: procedure(x, y: Single); cdecl;
- glRasterPos2i: procedure(x, y: LongInt); cdecl;
- glRasterPos2s: procedure(x, y: SmallInt); cdecl;
- glRasterPos3d: procedure(x, y, z: Double); cdecl;
- glRasterPos3f: procedure(x, y, z: Single); cdecl;
- glRasterPos3i: procedure(x, y, z: LongInt); cdecl;
- glRasterPos3s: procedure(x, y, z: SmallInt); cdecl;
- glRasterPos4d: procedure(x, y, z, w: Double); cdecl;
- glRasterPos4f: procedure(x, y, z, w: Single); cdecl;
- glRasterPos4i: procedure(x, y, z, w: LongInt); cdecl;
- glRasterPos4s: procedure(x, y, z, w: SmallInt); cdecl;
- glRasterPos2dv: procedure(var v: Double); cdecl;
- glRasterPos2fv: procedure(var v: Single); cdecl;
- glRasterPos2iv: procedure(var v: LongInt); cdecl;
- glRasterPos2sv: procedure(var v: SmallInt); cdecl;
- glRasterPos3dv: procedure(var v: Double); cdecl;
- glRasterPos3fv: procedure(var v: Single); cdecl;
- glRasterPos3iv: procedure(var v: LongInt); cdecl;
- glRasterPos3sv: procedure(var v: SmallInt); cdecl;
- glRasterPos4dv: procedure(var v: Double); cdecl;
- glRasterPos4fv: procedure(var v: Single); cdecl;
- glRasterPos4iv: procedure(var v: LongInt); cdecl;
- glRasterPos4sv: procedure(var v: SmallInt); cdecl;
- glRectd: procedure(x1, y1, x2, y2: Double); cdecl;
- glRectf: procedure(x1, y1, x2, y2: Single); cdecl;
- glRecti: procedure(x1, y1, x2, y2: LongInt); cdecl;
- glRects: procedure(x1, y1, x2, y2: SmallInt); cdecl;
- glRectdv: procedure(var v1, v2: Double); cdecl;
- glRectfv: procedure(var v1, v2: Single); cdecl;
- glRectiv: procedure(var v1, v2: LongInt); cdecl;
- glRectsv: procedure(var v1, v2: SmallInt); cdecl;
- // Lighting
- glShadeModel: procedure(mode: GLenum); cdecl;
- glLightf: procedure(light, pname: GLenum; param: Single); cdecl;
- glLighti: procedure(light, pname: GLenum; param: LongInt); cdecl;
- glLightfv: procedure(light, pname: GLenum; params : PSingle); cdecl;
- glLightiv: procedure(light, pname: GLenum; params : PLongInt); cdecl;
- glGetLightfv: procedure(light, pname: GLenum; params : PSingle); cdecl;
- glGetLightiv: procedure(light, pname: GLenum; params : PLongInt); cdecl;
- glLightModelf: procedure(pname: GLenum; param: Single); cdecl;
- glLightModeli: procedure(pname: GLenum; param: LongInt); cdecl;
- glLightModelfv: procedure(pname: GLenum; params : PSingle); cdecl;
- glLightModeliv: procedure(pname: GLenum; params : PLongInt); cdecl;
- glMaterialf: procedure(face, pname: GLenum; param: Single); cdecl;
- glMateriali: procedure(face, pname: GLenum; param: LongInt); cdecl;
- glMaterialfv: procedure(face, pname: GLenum; params : PSingle); cdecl;
- glMaterialiv: procedure(face, pname: GLenum; params : PLongInt); cdecl;
- glGetMaterialfv: procedure(face, pname: GLenum; params : PSingle); cdecl;
- glGetMaterialiv: procedure(face, pname: GLenum; params : PLongInt); cdecl;
- glColorMaterial: procedure(face, mode: GLenum); cdecl;
- // Raster Functions
- glPixelZoom: procedure(xfactor, yfactor: Single); cdecl;
- glPixelStoref: procedure(pname: GLenum; param: Single); cdecl;
- glPixelStorei: procedure(pname: GLenum; param: LongInt); cdecl;
- glPixelTransferf: procedure(pname: GLenum; param: Single); cdecl;
- glPixelTransferi: procedure(pname: GLenum; param: LongInt); cdecl;
- glPixelMapfv: procedure(map: GLenum; mapsize: LongInt; var values: Single); cdecl;
- glPixelMapuiv: procedure(map: GLenum; mapsize: LongInt; var values: LongWord); cdecl;
- glPixelMapusv: procedure(map: GLenum; mapsize: LongInt; var values: Word); cdecl;
- glGetPixelMapfv: procedure(map: GLenum; var values: Single); cdecl;
- glGetPixelMapuiv: procedure(map: GLenum; var values: LongWord); cdecl;
- glGetPixelMapusv: procedure(map: GLenum; var values: Word); cdecl;
- glBitmap: procedure(width, height: LongInt; xorig, yorig, xmove, ymove: Single; var bitmap); cdecl;
- glReadPixels: procedure(x, y, width, height: LongInt; format, AType: GLenum; var pixels); cdecl;
- glDrawPixels: procedure(width, height: LongInt; format, AType: GLenum; var pixels); cdecl;
- glCopyPixels: procedure(x, y, width, height: LongInt; AType: GLenum); cdecl;
- // Stenciling
- glStencilFunc: procedure(func: GLenum; ref: LongInt; mask: LongWord); cdecl;
- glStencilMask: procedure(mask: LongWord); cdecl;
- glStencilOp: procedure(fail, zfail, zpass: GLenum); cdecl;
- glClearStencil: procedure(s: LongInt); cdecl;
- // Texture Mapping
- glTexGend: procedure(cord, pname: GLenum; param: Double); cdecl;
- glTexGenf: procedure(cord, pname: GLenum; param: Single); cdecl;
- glTexGeni: procedure(cord, pname: GLenum; param: LongInt); cdecl;
- glTexGendv: procedure(cord, pname: GLenum; params : PDouble); cdecl;
- glTexGenfv: procedure(cord, pname: GLenum; params : PSingle); cdecl;
- glTexGeniv: procedure(cord, pname: GLenum; params : PLongInt); cdecl;
- glGetTexGendv: procedure(cord, pname: GLenum; params : PDouble); cdecl;
- glGetTexGenfv: procedure(cord, pname: GLenum; params : PSingle); cdecl;
- glGetTexGeniv: procedure(cord, pname: GLenum; params : PLongInt); cdecl;
- glTexEnvf: procedure(target, pname: GLenum; param: Single); cdecl;
- glTexEnvi: procedure(target, pname: GLenum; param: LongInt); cdecl;
- glTexEnvfv: procedure(target, pname: GLenum; params : PSingle); cdecl;
- glTexEnviv: procedure(target, pname: GLenum; params : PLongInt); cdecl;
- glGetTexEnvfv: procedure(target, pname: GLenum; params : PSingle); cdecl;
- glGetTexEnviv: procedure(target, pname: GLenum; params : PLongInt); cdecl;
- glTexParameterf: procedure(target, pname: GLenum; param: Single); cdecl;
- glTexParameteri: procedure(target, pname: GLenum; param: LongInt); cdecl;
- glTexParameterfv: procedure(target, pname: GLenum; params : PSingle); cdecl;
- glTexParameteriv: procedure(target, pname: GLenum; params : PLongInt); cdecl;
- glGetTexParameterfv: procedure(target, pname: GLenum; params : PSingle); cdecl;
- glGetTexParameteriv: procedure(target, pname: GLenum; params : PLongInt); cdecl;
- glGetTexLevelParameterfv: procedure(target: GLenum; level: LongInt; pname: GLenum; params : PSingle); cdecl;
- glGetTexLevelParameteriv: procedure(target: GLenum; level: LongInt; pname: GLenum; params : PLongInt); cdecl;
- glTexImage1D: procedure(target: GLenum; level, internalFormat, width, border: LongInt; format, AType: GLenum; var pixels); cdecl;
- glTexImage2D: procedure(target: GLenum; level, internalFormat, width, height, border: LongInt; format, AType: GLenum; var pixels); cdecl;
- glGetTexImage: procedure(target: GLenum; level: LongInt; format, AType: GLenum; var pixels); cdecl;
- // Evaluators
- glMap1d: procedure(target: GLenum; u1, u2: Double; stride, order: LongInt; var points: Double); cdecl;
- glMap1f: procedure(target: GLenum; u1, u2: Single; stride, order: LongInt; var points: Single); cdecl;
- glMap2d: procedure(target: GLenum; u1, u2: Double; ustride, uorder: LongInt; v1, v2: Double; vstride, vorder: LongInt; var points: Double); cdecl;
- glMap2f: procedure(target: GLenum; u1, u2: Single; ustride, uorder: LongInt; v1, v2: Single; vstride, vorder: LongInt; var points: Single); cdecl;
- glGetMapdv: procedure(target, query: GLenum; var v: Double); cdecl;
- glGetMapfv: procedure(target, query: GLenum; var v: Single); cdecl;
- glGetMapiv: procedure(target, query: GLenum; var v: LongInt); cdecl;
- glEvalCoord1d: procedure(u: Double); cdecl;
- glEvalCoord1f: procedure(u: Single); cdecl;
- glEvalCoord1dv: procedure(var u: Double); cdecl;
- glEvalCoord1fv: procedure(var u: Single); cdecl;
- glEvalCoord2d: procedure(u, v: Double); cdecl;
- glEvalCoord2f: procedure(u, v: Single); cdecl;
- glEvalCoord2dv: procedure(var u, v: Double); cdecl;
- glEvalCoord2fv: procedure(var u, v: Single); cdecl;
- glMapGrid1d: procedure(un: LongInt; u1, u2: Double); cdecl;
- glMapGrid1f: procedure(un: LongInt; u1, u2: Single); cdecl;
- glMapGrid2d: procedure(un: LongInt; u1, u2: Double; vn: LongInt; v1, v2: Double); cdecl;
- glMapGrid2f: procedure(un: LongInt; u1, u2: Single; vn: LongInt; v1, v2: Single); cdecl;
- glEvalPoint1: procedure(i: LongInt); cdecl;
- glEvalPoint2: procedure(i, j: LongInt); cdecl;
- glEvalMesh1: procedure(mode: GLenum; i1, i2: LongInt); cdecl;
- glEvalMesh2: procedure(mode: GLenum; i1, i2, j1, j2: LongInt); cdecl;
- // Fog
- glFogf: procedure(pname: GLenum; param: Single); cdecl;
- glFogi: procedure(pname: GLenum; param: LongInt); cdecl;
- glFogfv: procedure(pname: GLenum; params : PSingle); cdecl;
- glFogiv: procedure(pname: GLenum; params : PLongInt); cdecl;
- // Selection and Feedback
- glFeedbackBuffer: procedure(size: LongInt; AType: GLenum; var buffer: Single); cdecl;
- glPassThrough: procedure(token: Single); cdecl;
- glSelectBuffer: procedure(size: LongInt; var buffer: LongWord); cdecl;
- glInitNames: procedure; cdecl;
- glLoadName: procedure(name: LongWord); cdecl;
- glPushName: procedure(name: LongWord); cdecl;
- glPopName: procedure; cdecl;
- {$ENDIF GL1_0}
- {$IFDEF GL1_1}
- var
- // Miscellaneous
- glEnableClientState: procedure(cap: GLenum); cdecl;
- glDisableClientState: procedure(cap: GLenum); cdecl;
- glPushClientAttrib: procedure(mask: GLbitfield); cdecl;
- glPopClientAttrib: procedure; cdecl;
- // Drawing Functions
- glIndexub: procedure(c: Byte); cdecl;
- glIndexubv: procedure(var c: Byte); cdecl;
- // Vertex Arrays
- glVertexPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr); cdecl;
- glNormalPointer: procedure(AType: GLenum; stride: LongInt; var ptr); cdecl;
- glColorPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr); cdecl;
- glIndexPointer: procedure(AType: GLenum; stride: LongInt; var ptr); cdecl;
- glTexCoordPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr); cdecl;
- glEdgeFlagPointer: procedure(stride: LongInt; var ptr); cdecl;
- glGetPointerv: procedure(pname: GLenum; var params: Pointer); cdecl;
- glArrayElement: procedure(i: LongInt); cdecl;
- glDrawArrays: procedure(mode: GLenum; first, count: LongInt); cdecl;
- glDrawElements: procedure(mode: GLenum; count: Integer; AType: GLenum; var indices); cdecl;
- glInterleavedArrays: procedure(format: GLenum; stride: LongInt; var pointer); cdecl;
- // Texture Mapping
- glGenTextures: procedure(n: LongInt; var textures: LongWord); cdecl;
- glDeleteTextures: procedure(n: LongInt; var textures: LongWord); cdecl;
- glBindTexture: procedure(target: GLenum; texture: LongWord); cdecl;
- glPrioritizeTextures: procedure(n: LongInt; var textures: LongWord; var priorities: GLclampf); cdecl;
- glAreTexturesResident: function(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean; cdecl;
- glIsTexture: function(texture: LongWord): Boolean; cdecl;
- glTexSubImage1D: procedure(target: GLenum; level, xoffset, width: LongInt; format, AType: GLenum; var pixels); cdecl;
- glTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, width, height: LongInt; format, AType: GLenum; var pixels); cdecl;
- glCopyTexImage1D: procedure(target: GLenum; level: LongInt; format: GLenum; x, y, width, border: LongInt); cdecl;
- glCopyTexImage2D: procedure(target: GLenum; level: LongInt; format: GLenum; x, y, width, height, border: LongInt); cdecl;
- glCopyTexSubImage1D: procedure(target: GLenum; level, xoffset, x, y, width: LongInt); cdecl;
- glCopyTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, x, y, width, height: LongInt); cdecl;
- {$ENDIF GL1_1}
- {$IFDEF GL1_2}
- var
- glDrawRangeElements: procedure(mode: GLenum; AStart, AEnd: LongWord; count: LongInt; AType: GLenum; var indices); cdecl;
- glTexImage3D: procedure(target: GLenum; level: LongInt; internalFormat: GLenum; width, height, depth, border: LongInt; format, AType: GLEnum; var pixels); cdecl;
- glTexSubImage3D: procedure(target: GLenum; level: LongInt; xoffset, yoffset, zoffset, width, height, depth: LongInt; format, AType: GLEnum; var pixels); cdecl;
- glCopyTexSubImage3D: procedure(target: GLenum; level: LongInt; xoffset, yoffset, zoffset, x, y, width, height: LongInt); cdecl;
- {$ENDIF GL1_2}
- // -------------------------------------------------------
- // GL Extensions
- // -------------------------------------------------------
- {$IFDEF EXTENSIONS}
- var
- // === 1.0 Extensions ===
- // GL_EXT_blend_minmax
- glBlendEquationEXT: procedure(mode: GLenum); cdecl;
- // GL_EXT_blend_color
- glBlendColorEXT: procedure(red, green, blue, alpha: GLclampf); cdecl;
- // GL_EXT_polygon_offset
- glPolygonOffsetEXT: procedure(factor, bias: Single); cdecl;
- // GL_EXT_vertex_array
- glVertexPointerEXT: procedure(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); cdecl;
- glNormalPointerEXT: procedure(AType: GLenum; stride, count: LongInt; var ptr); cdecl;
- glColorPointerEXT: procedure(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); cdecl;
- glIndexPointerEXT: procedure(AType: GLenum; stride, count: LongInt; var ptr); cdecl;
- glTexCoordPointerEXT: procedure(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); cdecl;
- glEdgeFlagPointerEXT: procedure(stride, count: LongInt; var ptr: Boolean); cdecl;
- glGetPointervEXT: procedure(pname: GLenum; var params: Pointer); cdecl;
- glArrayElementEXT: procedure(i: LongInt); cdecl;
- glDrawArraysEXT: procedure(mode: GLEnum; first, count: LongInt); cdecl;
- // GL_EXT_texture_object
- glGenTexturesEXT: procedure(n: LongInt; var textures: LongWord); cdecl;
- glDeleteTexturesEXT: procedure(n: LongInt; var textures: LongWord); cdecl;
- glBindTextureEXT: procedure(target: GLenum; texture: LongWord); cdecl;
- glPrioritizeTexturesEXT: procedure(n: LongInt; var textures: LongWord; var priorities: GLClampf); cdecl;
- glAreTexturesResidentEXT: function(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean; cdecl;
- glIsTextureEXT: function(texture: LongWord): Boolean; cdecl;
- // GL_EXT_texture3D
- glTexImage3DEXT: procedure(target: GLenum; level: LongInt; internalFormat: GLenum; width, height, depth, border: LongInt; format, AType: GLenum; var pixels); cdecl;
- glTexSubImage3DEXT: procedure(target: GLenum; level, xoffset, yoffset, zoffset, width, height, depth: LongInt; format, AType: GLenum; var pixels); cdecl;
- glCopyTexSubImage3DEXT: procedure(target: GLenum; level, xoffset, yoffset, zoffset, x, y, width, height: LongInt); cdecl;
- // GL_EXT_color_table
- glColorTableEXT: procedure(target, internalformat: GLenum; width: LongInt; format, AType: GLenum; var table); cdecl;
- glColorSubTableEXT: procedure(target: GLenum; start, count: LongInt; format, AType: GLEnum; var data); cdecl;
- glGetColorTableEXT: procedure(target, format, AType: GLenum; var table); cdecl;
- glGetColorTableParameterfvEXT: procedure(target, pname: GLenum; var params: Single); cdecl;
- glGetColorTableParameterivEXT: procedure(target, pname: GLenum; var params: LongInt); cdecl;
- {$ENDIF EXTENSIONS}
- // library dependent extensions
- {$IFDEF SGI_EXTENSIONS}
- var
- // GL_SGIS_multitexture
- glMultiTexCoord1dSGIS: procedure(target: GLenum; s: Double); cdecl;
- glMultiTexCoord1dvSGIS: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord1fSGIS: procedure(target: GLenum; s: Single); cdecl;
- glMultiTexCoord1fvSGIS: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord1iSGIS: procedure(target: GLenum; s: LongInt); cdecl;
- glMultiTexCoord1ivSGIS: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord1sSGIS: procedure(target: GLenum; s: ShortInt); cdecl;
- glMultiTexCoord1svSGIS: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoord2dSGIS: procedure(target: GLenum; s, t: Double); cdecl;
- glMultiTexCoord2dvSGIS: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord2fSGIS: procedure(target: GLenum; s, t: Single); cdecl;
- glMultiTexCoord2fvSGIS: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord2iSGIS: procedure(target: GLenum; s, t: LongInt); cdecl;
- glMultiTexCoord2ivSGIS: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord2sSGIS: procedure(target: GLenum; s, t: ShortInt); cdecl;
- glMultiTexCoord2svSGIS: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoord3dSGIS: procedure(target: GLenum; s, t, r: Double); cdecl;
- glMultiTexCoord3dvSGIS: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord3fSGIS: procedure(target: GLenum; s, t, r: Single); cdecl;
- glMultiTexCoord3fvSGIS: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord3iSGIS: procedure(target: GLenum; s, t, r: LongInt); cdecl;
- glMultiTexCoord3ivSGIS: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord3sSGIS: procedure(target: GLenum; s, t, r: ShortInt); cdecl;
- glMultiTexCoord3svSGIS: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoord4dSGIS: procedure(target: GLenum; s, t, r, q: Double); cdecl;
- glMultiTexCoord4dvSGIS: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord4fSGIS: procedure(target: GLenum; s, t, r, q: Single); cdecl;
- glMultiTexCoord4fvSGIS: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord4iSGIS: procedure(target: GLenum; s, t, r, q: LongInt); cdecl;
- glMultiTexCoord4ivSGIS: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord4sSGIS: procedure(target: GLenum; s, t, r, q: ShortInt); cdecl;
- glMultiTexCoord4svSGIS: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoordPointerSGIS: procedure(target: GLenum; size: LongInt; AType: GLEnum; stride: LongInt; var APointer); cdecl;
- glSelectTextureSGIS: procedure(target: GLenum); cdecl;
- glSelectTextureCoordSetSGIS: procedure(target: GLenum); cdecl;
- // GL_EXT_multitexture
- glMultiTexCoord1dEXT: procedure(target: GLenum; s: Double); cdecl;
- glMultiTexCoord1dvEXT: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord1fEXT: procedure(target: GLenum; s: Single); cdecl;
- glMultiTexCoord1fvEXT: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord1iEXT: procedure(target: GLenum; s: LongInt); cdecl;
- glMultiTexCoord1ivEXT: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord1sEXT: procedure(target: GLenum; s: ShortInt); cdecl;
- glMultiTexCoord1svEXT: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoord2dEXT: procedure(target: GLenum; s, t: Double); cdecl;
- glMultiTexCoord2dvEXT: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord2fEXT: procedure(target: GLenum; s, t: Single); cdecl;
- glMultiTexCoord2fvEXT: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord2iEXT: procedure(target: GLenum; s, t: LongInt); cdecl;
- glMultiTexCoord2ivEXT: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord2sEXT: procedure(target: GLenum; s, t: ShortInt); cdecl;
- glMultiTexCoord2svEXT: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoord3dEXT: procedure(target: GLenum; s, t, r: Double); cdecl;
- glMultiTexCoord3dvEXT: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord3fEXT: procedure(target: GLenum; s, t, r: Single); cdecl;
- glMultiTexCoord3fvEXT: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord3iEXT: procedure(target: GLenum; s, t, r: LongInt); cdecl;
- glMultiTexCoord3ivEXT: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord3sEXT: procedure(target: GLenum; s, t, r: ShortInt); cdecl;
- glMultiTexCoord3svEXT: procedure(target: GLenum; var v: ShortInt); cdecl;
- glMultiTexCoord4dEXT: procedure(target: GLenum; s, t, r, q: Double); cdecl;
- glMultiTexCoord4dvEXT: procedure(target: GLenum; var v: Double); cdecl;
- glMultiTexCoord4fEXT: procedure(target: GLenum; s, t, r, q: Single); cdecl;
- glMultiTexCoord4fvEXT: procedure(target: GLenum; var v: Single); cdecl;
- glMultiTexCoord4iEXT: procedure(target: GLenum; s, t, r, q: LongInt); cdecl;
- glMultiTexCoord4ivEXT: procedure(target: GLenum; var v: LongInt); cdecl;
- glMultiTexCoord4sEXT: procedure(target: GLenum; s, t, r, q: ShortInt); cdecl;
- glMultiTexCoord4svEXT: procedure(target: GLenum; var v: ShortInt); cdecl;
- glInterleavedTextureCoordSetsEXT: procedure(factor: LongInt); cdecl;
- glSelectTextureEXT: procedure(target: GLenum); cdecl;
- glSelectTextureCoordSetEXT: procedure(target: GLenum); cdecl;
- glSelectTextureTransformEXT: procedure(target: GLenum); cdecl;
- // GL_EXT_point_parameters
- glPointParameterfEXT: procedure(pname: GLenum; param: Single); cdecl;
- glPointParameterfvEXT: procedure(pname: GLenum; var params: Single); cdecl;
- {$ENDIF SGI_EXTENSIONS}
- {$ifdef MESA}
- var
- // GL_MESA_window_pos
- glWindowPos2iMESA: procedure(x, y: LongInt); cdecl;
- glWindowPos2sMESA: procedure(x, y: ShortInt); cdecl;
- glWindowPos2fMESA: procedure(x, y: Single); cdecl;
- glWindowPos2dMESA: procedure(x, y: Double); cdecl;
- glWindowPos2ivMESA: procedure(var p: LongInt); cdecl;
- glWindowPos2svMESA: procedure(var p: ShortInt); cdecl;
- glWindowPos2fvMESA: procedure(var p: Single); cdecl;
- glWindowPos2dvMESA: procedure(var p: Double); cdecl;
- glWindowPos3iMESA: procedure(x, y, z: LongInt); cdecl;
- glWindowPos3sMESA: procedure(x, y, z: ShortInt); cdecl;
- glWindowPos3fMESA: procedure(x, y, z: Single); cdecl;
- glWindowPos3dMESA: procedure(x, y, z: Double); cdecl;
- glWindowPos3ivMESA: procedure(var p: LongInt); cdecl;
- glWindowPos3svMESA: procedure(var p: ShortInt); cdecl;
- glWindowPos3fvMESA: procedure(var p: Single); cdecl;
- glWindowPos3dvMESA: procedure(var p: Double); cdecl;
- glWindowPos4iMESA: procedure(x, y, z, w: LongInt); cdecl;
- glWindowPos4sMESA: procedure(x, y, z, w: ShortInt); cdecl;
- glWindowPos4fMESA: procedure(x, y, z, w: Single); cdecl;
- glWindowPos4dMESA: procedure(x, y, z, w: Double); cdecl;
- glWindowPos4ivMESA: procedure(var p: LongInt); cdecl;
- glWindowPos4svMESA: procedure(var p: ShortInt); cdecl;
- glWindowPos4fvMESA: procedure(var p: Single); cdecl;
- glWindowPos4dvMESA: procedure(var p: Double); cdecl;
- // GL_MESA_resize_buffers
- glResizeBuffersMESA: procedure; cdecl;
- {$endif MESA}
- // =======================================================
- // =======================================================
- implementation
- {$LINKLIB m}
- function dlopen(AFile: PChar; mode: LongInt): Pointer; external 'dl';
- function dlclose(handle: Pointer): LongInt; external 'dl';
- function dlsym(handle: Pointer; name: PChar): Pointer; external 'dl';
- function LoadLibrary(name: PChar): Pointer;
- begin
- Result := dlopen(name, $101 {RTLD_GLOBAL or RTLD_LAZY});
- end;
- function GetProc(handle: Pointer; name: PChar): Pointer;
- begin
- Result := dlsym(handle, name);
- if (Result = nil) and GLDumpUnresolvedFunctions then
- WriteLn('Unresolved: ', name);
- end;
- var
- libGL : Pointer;
- function InitGLFromLibrary(libname: PChar): Boolean;
- begin
- Result := False;
- libGL := LoadLibrary(libname);
- if not Assigned(libGL) then exit;
- {$ifdef GL1_0}
- // Miscellaneous
- glClearIndex := GetProc(libgl, 'glClearIndex');
- glClearColor := GetProc(libgl, 'glClearColor');
- glClear := GetProc(libgl, 'glClear');
- glIndexMask := GetProc(libgl, 'glIndexMask');
- glColorMask := GetProc(libgl, 'glColorMask');
- glAlphaFunc := GetProc(libgl, 'glAlphaFunc');
- glBlendFunc := GetProc(libgl, 'glBlendFunc');
- glLogicOp := GetProc(libgl, 'glLogicOp');
- glCullFace := GetProc(libgl, 'glCullFace');
- glFrontFace := GetProc(libgl, 'glFrontFace');
- glPointSize := GetProc(libgl, 'glPointSize');
- glLineWidth := GetProc(libgl, 'glLineWidth');
- glLineStipple := GetProc(libgl, 'glLineStipple');
- glPolygonMode := GetProc(libgl, 'glPolygonMode');
- glPolygonOffset := GetProc(libgl, 'glPolygonOffset');
- glPolygonStipple := GetProc(libgl, 'glPolygonStipple');
- glGetPolygonStipple := GetProc(libgl, 'glGetPolygonStipple');
- glEdgeFlag := GetProc(libgl, 'glEdgeFlag');
- glEdgeFlagv := GetProc(libgl, 'glEdgeFlagv');
- glScissor := GetProc(libgl, 'glScissor');
- glClipPlane := GetProc(libgl, 'glClipPlane');
- glGetClipPlane := GetProc(libgl, 'glGetClipPlane');
- glDrawBuffer := GetProc(libgl, 'glDrawBuffer');
- glReadBuffer := GetProc(libgl, 'glReadBuffer');
- glEnable := GetProc(libgl, 'glEnable');
- glDisable := GetProc(libgl, 'glDisable');
- glIsEnabled := GetProc(libgl, 'glIsEnabled');
- glGetBooleanv := GetProc(libgl, 'glGetBooleanv');
- glGetDoublev := GetProc(libgl, 'glGetDoublev');
- glGetFloatv := GetProc(libgl, 'glGetFloatv');
- glGetIntegerv := GetProc(libgl, 'glGetIntegerv');
- glPushAttrib := GetProc(libgl, 'glPushAttrib');
- glPopAttrib := GetProc(libgl, 'glPopAttrib');
- glRenderMode := GetProc(libgl, 'glRenderMode');
- glGetError := GetProc(libgl, 'glGetError');
- glGetString := GetProc(libgl, 'glGetString');
- glFinish := GetProc(libgl, 'glFinish');
- glFlush := GetProc(libgl, 'glFlush');
- glHint := GetProc(libgl, 'glHint');
- // Depth Buffer
- glClearDepth := GetProc(libgl, 'glClearDepth');
- glDepthFunc := GetProc(libgl, 'glDepthFunc');
- glDepthMask := GetProc(libgl, 'glDepthMask');
- glDepthRange := GetProc(libgl, 'glDepthRange');
- // Accumulation Buffer
- glClearAccum := GetProc(libgl, 'glClearAccum');
- glAccum := GetProc(libgl, 'glAccum');
- // Tranformation
- glMatrixMode := GetProc(libgl, 'glMatrixMode');
- glOrtho := GetProc(libgl, 'glOrtho');
- glFrustum := GetProc(libgl, 'glFrustum');
- glViewport := GetProc(libgl, 'glViewport');
- glPushMatrix := GetProc(libgl, 'glPushMatrix');
- glPopMatrix := GetProc(libgl, 'glPopMatrix');
- glLoadIdentity := GetProc(libgl, 'glLoadIdentity');
- glLoadMatrixd := GetProc(libgl, 'glLoadMatrixd');
- glLoadMatrixf := GetProc(libgl, 'glLoadMatrixf');
- glMultMatrixd := GetProc(libgl, 'glMultMatrixd');
- glMultMatrixf := GetProc(libgl, 'glMultMatrixf');
- glRotated := GetProc(libgl, 'glRotated');
- glRotatef := GetProc(libgl, 'glRotatef');
- glScaled := GetProc(libgl, 'glScaled');
- glScalef := GetProc(libgl, 'glScalef');
- glTranslated := GetProc(libgl, 'glTranslated');
- glTranslatef := GetProc(libgl, 'glTranslatef');
- // Display Lists
- glIsList := GetProc(libgl, 'glIsList');
- glDeleteLists := GetProc(libgl, 'glDeleteLists');
- glGenLists := GetProc(libgl, 'glGenLists');
- glNewList := GetProc(libgl, 'glNewList');
- glEndList := GetProc(libgl, 'glEndList');
- glCallList := GetProc(libgl, 'glCallList');
- glCallLists := GetProc(libgl, 'glCallLists');
- glListBase := GetProc(libgl, 'glListBase');
- // Drawing Functions
- glBegin := GetProc(libgl, 'glBegin');
- glEnd := GetProc(libgl, 'glEnd');
- glVertex2d := GetProc(libgl, 'glVertex2d');
- glVertex2f := GetProc(libgl, 'glVertex2f');
- glVertex2i := GetProc(libgl, 'glVertex2i');
- glVertex2s := GetProc(libgl, 'glVertex2s');
- glVertex3d := GetProc(libgl, 'glVertex3d');
- glVertex3f := GetProc(libgl, 'glVertex3f');
- glVertex3i := GetProc(libgl, 'glVertex3i');
- glVertex3s := GetProc(libgl, 'glVertex3s');
- glVertex4d := GetProc(libgl, 'glVertex4d');
- glVertex4f := GetProc(libgl, 'glVertex4f');
- glVertex4i := GetProc(libgl, 'glVertex4i');
- glVertex4s := GetProc(libgl, 'glVertex4s');
- glVertex2dv := GetProc(libgl, 'glVertex2dv');
- glVertex2fv := GetProc(libgl, 'glVertex2fv');
- glVertex2iv := GetProc(libgl, 'glVertex2iv');
- glVertex2sv := GetProc(libgl, 'glVertex2sv');
- glVertex3dv := GetProc(libgl, 'glVertex3dv');
- glVertex3fv := GetProc(libgl, 'glVertex3fv');
- glVertex3iv := GetProc(libgl, 'glVertex3iv');
- glVertex3sv := GetProc(libgl, 'glVertex3sv');
- glVertex4dv := GetProc(libgl, 'glVertex4dv');
- glVertex4fv := GetProc(libgl, 'glVertex4fv');
- glVertex4iv := GetProc(libgl, 'glVertex4iv');
- glVertex4sv := GetProc(libgl, 'glVertex4sv');
- glNormal3b := GetProc(libgl, 'glNormal3b');
- glNormal3d := GetProc(libgl, 'glNormal3d');
- glNormal3f := GetProc(libgl, 'glNormal3f');
- glNormal3i := GetProc(libgl, 'glNormal3i');
- glNormal3s := GetProc(libgl, 'glNormal3s');
- glNormal3bv := GetProc(libgl, 'glNormal3bv');
- glNormal3dv := GetProc(libgl, 'glNormal3dv');
- glNormal3fv := GetProc(libgl, 'glNormal3fv');
- glNormal3iv := GetProc(libgl, 'glNormal3iv');
- glNormal3sv := GetProc(libgl, 'glNormal3sv');
- glIndexd := GetProc(libgl, 'glIndexd');
- glIndexf := GetProc(libgl, 'glIndexf');
- glIndexi := GetProc(libgl, 'glIndexi');
- glIndexs := GetProc(libgl, 'glIndexs');
- glIndexdv := GetProc(libgl, 'glIndexdv');
- glIndexfv := GetProc(libgl, 'glIndexfv');
- glIndexiv := GetProc(libgl, 'glIndexiv');
- glIndexsv := GetProc(libgl, 'glIndexsv');
- glColor3b := GetProc(libgl, 'glColor3b');
- glColor3d := GetProc(libgl, 'glColor3d');
- glColor3f := GetProc(libgl, 'glColor3f');
- glColor3i := GetProc(libgl, 'glColor3i');
- glColor3s := GetProc(libgl, 'glColor3s');
- glColor3ub := GetProc(libgl, 'glColor3ub');
- glColor3ui := GetProc(libgl, 'glColor3ui');
- glColor3us := GetProc(libgl, 'glColor3us');
- glColor4b := GetProc(libgl, 'glColor4b');
- glColor4d := GetProc(libgl, 'glColor4d');
- glColor4f := GetProc(libgl, 'glColor4f');
- glColor4i := GetProc(libgl, 'glColor4i');
- glColor4s := GetProc(libgl, 'glColor4s');
- glColor4ub := GetProc(libgl, 'glColor4ub');
- glColor4ui := GetProc(libgl, 'glColor4ui');
- glColor4us := GetProc(libgl, 'glColor4us');
- glColor3bv := GetProc(libgl, 'glColor3bv');
- glColor3dv := GetProc(libgl, 'glColor3dv');
- glColor3fv := GetProc(libgl, 'glColor3fv');
- glColor3iv := GetProc(libgl, 'glColor3iv');
- glColor3sv := GetProc(libgl, 'glColor3sv');
- glColor3ubv := GetProc(libgl, 'glColor3ubv');
- glColor3uiv := GetProc(libgl, 'glColor3uiv');
- glColor3usv := GetProc(libgl, 'glColor3usv');
- glColor4bv := GetProc(libgl, 'glColor4bv');
- glColor4dv := GetProc(libgl, 'glColor4dv');
- glColor4fv := GetProc(libgl, 'glColor4fv');
- glColor4iv := GetProc(libgl, 'glColor4iv');
- glColor4sv := GetProc(libgl, 'glColor4sv');
- glColor4ubv := GetProc(libgl, 'glColor4ubv');
- glColor4uiv := GetProc(libgl, 'glColor4uiv');
- glColor4usv := GetProc(libgl, 'glColor4usv');
- glTexCoord1d := GetProc(libgl, 'glTexCoord1d');
- glTexCoord1f := GetProc(libgl, 'glTexCoord1f');
- glTexCoord1i := GetProc(libgl, 'glTexCoord1i');
- glTexCoord1s := GetProc(libgl, 'glTexCoord1s');
- glTexCoord2d := GetProc(libgl, 'glTexCoord2d');
- glTexCoord2f := GetProc(libgl, 'glTexCoord2f');
- glTexCoord2i := GetProc(libgl, 'glTexCoord2i');
- glTexCoord2s := GetProc(libgl, 'glTexCoord2s');
- glTexCoord3d := GetProc(libgl, 'glTexCoord3d');
- glTexCoord3f := GetProc(libgl, 'glTexCoord3f');
- glTexCoord3i := GetProc(libgl, 'glTexCoord3i');
- glTexCoord3s := GetProc(libgl, 'glTexCoord3s');
- glTexCoord4d := GetProc(libgl, 'glTexCoord4d');
- glTexCoord4f := GetProc(libgl, 'glTexCoord4f');
- glTexCoord4i := GetProc(libgl, 'glTexCoord4i');
- glTexCoord4s := GetProc(libgl, 'glTexCoord4s');
- glTexCoord1dv := GetProc(libgl, 'glTexCoord1dv');
- glTexCoord1fv := GetProc(libgl, 'glTexCoord1fv');
- glTexCoord1iv := GetProc(libgl, 'glTexCoord1iv');
- glTexCoord1sv := GetProc(libgl, 'glTexCoord1sv');
- glTexCoord2dv := GetProc(libgl, 'glTexCoord2dv');
- glTexCoord2fv := GetProc(libgl, 'glTexCoord2fv');
- glTexCoord2iv := GetProc(libgl, 'glTexCoord2iv');
- glTexCoord2sv := GetProc(libgl, 'glTexCoord2sv');
- glTexCoord3dv := GetProc(libgl, 'glTexCoord3dv');
- glTexCoord3fv := GetProc(libgl, 'glTexCoord3fv');
- glTexCoord3iv := GetProc(libgl, 'glTexCoord3iv');
- glTexCoord3sv := GetProc(libgl, 'glTexCoord3sv');
- glTexCoord4dv := GetProc(libgl, 'glTexCoord4dv');
- glTexCoord4fv := GetProc(libgl, 'glTexCoord4fv');
- glTexCoord4iv := GetProc(libgl, 'glTexCoord4iv');
- glTexCoord4sv := GetProc(libgl, 'glTexCoord4sv');
- glRasterPos2d := GetProc(libgl, 'glRasterPos2d');
- glRasterPos2f := GetProc(libgl, 'glRasterPos2f');
- glRasterPos2i := GetProc(libgl, 'glRasterPos2i');
- glRasterPos2s := GetProc(libgl, 'glRasterPos2s');
- glRasterPos3d := GetProc(libgl, 'glRasterPos3d');
- glRasterPos3f := GetProc(libgl, 'glRasterPos3f');
- glRasterPos3i := GetProc(libgl, 'glRasterPos3i');
- glRasterPos3s := GetProc(libgl, 'glRasterPos3s');
- glRasterPos4d := GetProc(libgl, 'glRasterPos4d');
- glRasterPos4f := GetProc(libgl, 'glRasterPos4f');
- glRasterPos4i := GetProc(libgl, 'glRasterPos4i');
- glRasterPos4s := GetProc(libgl, 'glRasterPos4s');
- glRasterPos2dv := GetProc(libgl, 'glRasterPos2dv');
- glRasterPos2fv := GetProc(libgl, 'glRasterPos2fv');
- glRasterPos2iv := GetProc(libgl, 'glRasterPos2iv');
- glRasterPos2sv := GetProc(libgl, 'glRasterPos2sv');
- glRasterPos3dv := GetProc(libgl, 'glRasterPos3dv');
- glRasterPos3fv := GetProc(libgl, 'glRasterPos3fv');
- glRasterPos3iv := GetProc(libgl, 'glRasterPos3iv');
- glRasterPos3sv := GetProc(libgl, 'glRasterPos3sv');
- glRasterPos4dv := GetProc(libgl, 'glRasterPos4dv');
- glRasterPos4fv := GetProc(libgl, 'glRasterPos4fv');
- glRasterPos4iv := GetProc(libgl, 'glRasterPos4iv');
- glRasterPos4sv := GetProc(libgl, 'glRasterPos4sv');
- glRectd := GetProc(libgl, 'glRectd');
- glRectf := GetProc(libgl, 'glRectf');
- glRecti := GetProc(libgl, 'glRecti');
- glRects := GetProc(libgl, 'glRects');
- glRectdv := GetProc(libgl, 'glRectdv');
- glRectfv := GetProc(libgl, 'glRectfv');
- glRectiv := GetProc(libgl, 'glRectiv');
- glRectsv := GetProc(libgl, 'glRectsv');
- // Lighting
- glShadeModel := GetProc(libgl, 'glShadeModel');
- glLightf := GetProc(libgl, 'glLightf');
- glLighti := GetProc(libgl, 'glLighti');
- glLightfv := GetProc(libgl, 'glLightfv');
- glLightiv := GetProc(libgl, 'glLightiv');
- glGetLightfv := GetProc(libgl, 'glGetLightfv');
- glGetLightiv := GetProc(libgl, 'glGetLightiv');
- glLightModelf := GetProc(libgl, 'glLightModelf');
- glLightModeli := GetProc(libgl, 'glLightModeli');
- glLightModelfv := GetProc(libgl, 'glLightModelfv');
- glLightModeliv := GetProc(libgl, 'glLightModeliv');
- glMaterialf := GetProc(libgl, 'glMaterialf');
- glMateriali := GetProc(libgl, 'glMateriali');
- glMaterialfv := GetProc(libgl, 'glMaterialfv');
- glMaterialiv := GetProc(libgl, 'glMaterialiv');
- glGetMaterialfv := GetProc(libgl, 'glGetMaterialfv');
- glGetMaterialiv := GetProc(libgl, 'glGetMaterialiv');
- glColorMaterial := GetProc(libgl, 'glColorMaterial');
- // Raster Functions
- glPixelZoom := GetProc(libgl, 'glPixelZoom');
- glPixelStoref := GetProc(libgl, 'glPixelStoref');
- glPixelStorei := GetProc(libgl, 'glPixelStorei');
- glPixelTransferf := GetProc(libgl, 'glPixelTransferf');
- glPixelTransferi := GetProc(libgl, 'glPixelTransferi');
- glPixelMapfv := GetProc(libgl, 'glPixelMapfv');
- glPixelMapuiv := GetProc(libgl, 'glPixelMapuiv');
- glPixelMapusv := GetProc(libgl, 'glPixelMapusv');
- glGetPixelMapfv := GetProc(libgl, 'glGetPixelMapfv');
- glGetPixelMapuiv := GetProc(libgl, 'glGetPixelMapuiv');
- glGetPixelMapusv := GetProc(libgl, 'glGetPixelMapusv');
- glBitmap := GetProc(libgl, 'glBitmap');
- glReadPixels := GetProc(libgl, 'glReadPixels');
- glDrawPixels := GetProc(libgl, 'glDrawPixels');
- glCopyPixels := GetProc(libgl, 'glCopyPixels');
- // Stenciling
- glStencilFunc := GetProc(libgl, 'glStencilFunc');
- glStencilMask := GetProc(libgl, 'glStencilMask');
- glStencilOp := GetProc(libgl, 'glStencilOp');
- glClearStencil := GetProc(libgl, 'glClearStencil');
- // Texture Mapping
- glTexGend := GetProc(libgl, 'glTexGend');
- glTexGenf := GetProc(libgl, 'glTexGenf');
- glTexGeni := GetProc(libgl, 'glTexGeni');
- glTexGendv := GetProc(libgl, 'glTexGendv');
- glTexGenfv := GetProc(libgl, 'glTexGenfv');
- glTexGeniv := GetProc(libgl, 'glTexGeniv');
- glGetTexGendv := GetProc(libgl, 'glGetTexGendv');
- glGetTexGenfv := GetProc(libgl, 'glGetTexGenfv');
- glGetTexGeniv := GetProc(libgl, 'glGetTexGeniv');
- glTexEnvf := GetProc(libgl, 'glTexEnvf');
- glTexEnvi := GetProc(libgl, 'glTexEnvi');
- glTexEnvfv := GetProc(libgl, 'glTexEnvfv');
- glTexEnviv := GetProc(libgl, 'glTexEnviv');
- glGetTexEnvfv := GetProc(libgl, 'glGetTexEnvfv');
- glGetTexEnviv := GetProc(libgl, 'glGetTexEnviv');
- glTexParameterf := GetProc(libgl, 'glTexParameterf');
- glTexParameteri := GetProc(libgl, 'glTexParameteri');
- glTexParameterfv := GetProc(libgl, 'glTexParameterfv');
- glTexParameteriv := GetProc(libgl, 'glTexParameteriv');
- glGetTexParameterfv := GetProc(libgl, 'glGetTexParameterfv');
- glGetTexParameteriv := GetProc(libgl, 'glGetTexParameteriv');
- glGetTexLevelParameterfv := GetProc(libgl, 'glGetTexLevelParameterfv');
- glGetTexLevelParameteriv := GetProc(libgl, 'glGetTexLevelParameteriv');
- glTexImage1D := GetProc(libgl, 'glTexImage1D');
- glTexImage2D := GetProc(libgl, 'glTexImage2D');
- glGetTexImage := GetProc(libgl, 'glGetTexImage');
- // Evaluators
- glMap1d := GetProc(libgl, 'glMap1d');
- glMap1f := GetProc(libgl, 'glMap1f');
- glMap2d := GetProc(libgl, 'glMap2d');
- glMap2f := GetProc(libgl, 'glMap2f');
- glGetMapdv := GetProc(libgl, 'glGetMapdv');
- glGetMapfv := GetProc(libgl, 'glGetMapfv');
- glGetMapiv := GetProc(libgl, 'glGetMapiv');
- glEvalCoord1d := GetProc(libgl, 'glEvalCoord1d');
- glEvalCoord1f := GetProc(libgl, 'glEvalCoord1f');
- glEvalCoord1dv := GetProc(libgl, 'glEvalCoord1dv');
- glEvalCoord1fv := GetProc(libgl, 'glEvalCoord1fv');
- glEvalCoord2d := GetProc(libgl, 'glEvalCoord2d');
- glEvalCoord2f := GetProc(libgl, 'glEvalCoord2f');
- glEvalCoord2dv := GetProc(libgl, 'glEvalCoord2dv');
- glEvalCoord2fv := GetProc(libgl, 'glEvalCoord2fv');
- glMapGrid1d := GetProc(libgl, 'glMapGrid1d');
- glMapGrid1f := GetProc(libgl, 'glMapGrid1f');
- glMapGrid2d := GetProc(libgl, 'glMapGrid2d');
- glMapGrid2f := GetProc(libgl, 'glMapGrid2f');
- glEvalPoint1 := GetProc(libgl, 'glEvalPoint1');
- glEvalPoint2 := GetProc(libgl, 'glEvalPoint2');
- glEvalMesh1 := GetProc(libgl, 'glEvalMesh1');
- glEvalMesh2 := GetProc(libgl, 'glEvalMesh2');
- // Fog
- glFogf := GetProc(libgl, 'glFogf');
- glFogi := GetProc(libgl, 'glFogi');
- glFogfv := GetProc(libgl, 'glFogfv');
- glFogiv := GetProc(libgl, 'glFogiv');
- // Selection and Feedback
- glFeedbackBuffer := GetProc(libgl, 'glFeedbackBuffer');
- glPassThrough := GetProc(libgl, 'glPassThrough');
- glSelectBuffer := GetProc(libgl, 'glSelectBuffer');
- glInitNames := GetProc(libgl, 'glInitNames');
- glLoadName := GetProc(libgl, 'glLoadName');
- glPushName := GetProc(libgl, 'glPushName');
- glPopName := GetProc(libgl, 'glPopName');
- {$endif GL1_0}
- {$ifdef GL1_1}
- // Miscellaneous
- glEnableClientState := GetProc(libgl, 'glEnableClientState');
- glDisableClientState := GetProc(libgl, 'glDisableClientState');
- glPushClientAttrib := GetProc(libgl, 'glPushClientAttrib');
- glPopClientAttrib := GetProc(libgl, 'glPopClientAttrib');
- // Drawing Functions
- glIndexub := GetProc(libgl, 'glIndexub');
- glIndexubv := GetProc(libgl, 'glIndexubv');
- // Vertex Arrays
- glVertexPointer := GetProc(libgl, 'glVertexPointer');
- glNormalPointer := GetProc(libgl, 'glNormalPointer');
- glColorPointer := GetProc(libgl, 'glColorPointer');
- glIndexPointer := GetProc(libgl, 'glIndexPointer');
- glTexCoordPointer := GetProc(libgl, 'glTexCoordPointer');
- glEdgeFlagPointer := GetProc(libgl, 'glEdgeFlagPointer');
- glGetPointerv := GetProc(libgl, 'glGetPointerv');
- glArrayElement := GetProc(libgl, 'glArrayElement');
- glDrawArrays := GetProc(libgl, 'glDrawArrays');
- glDrawElements := GetProc(libgl, 'glDrawElements');
- glInterleavedArrays := GetProc(libgl, 'glInterleavedArrays');
- // Texture Mapping
- glGenTextures := GetProc(libgl, 'glGenTextures');
- glDeleteTextures := GetProc(libgl, 'glDeleteTextures');
- glBindTexture := GetProc(libgl, 'glBindTexture');
- glPrioritizeTextures := GetProc(libgl, 'glPrioritizeTextures');
- glAreTexturesResident := GetProc(libgl, 'glAreTexturesResident');
- glIsTexture := GetProc(libgl, 'glIsTexture');
- glTexSubImage1D := GetProc(libgl, 'glTexSubImage1D');
- glTexSubImage2D := GetProc(libgl, 'glTexSubImage2D');
- glCopyTexImage1D := GetProc(libgl, 'glCopyTexImage1D');
- glCopyTexImage2D := GetProc(libgl, 'glCopyTexImage2D');
- glCopyTexSubImage1D := GetProc(libgl, 'glCopyTexSubImage1D');
- glCopyTexSubImage2D := GetProc(libgl, 'glCopyTexSubImage2D');
- {$endif GL1_1}
- {$ifdef GL1_2}
- glDrawRangeElements := GetProc(libgl, 'glDrawRangeElements');
- glTexImage3D := GetProc(libgl, 'glTexImage3D');
- glTexSubImage3D := GetProc(libgl, 'glTexSubImage3D');
- glCopyTexSubImage3D := GetProc(libgl, 'glCopyTexSubImage3D');
- {$endif GL1_2}
- {$ifdef EXTENSIONS}
- // === 1.0 Extensions ===
- // GL_EXT_blend_minmax
- glBlendEquationEXT := GetProc(libgl, 'glBlendEquationEXT');
- // GL_EXT_blend_color
- glBlendColorEXT := GetProc(libgl, 'glBlendColorEXT');
- // GL_EXT_polygon_offset
- glPolygonOffsetEXT := GetProc(libgl, 'glPolygonOffsetEXT');
- // GL_EXT_vertex_array
- glVertexPointerEXT := GetProc(libgl, 'glVertexPointerEXT');
- glNormalPointerEXT := GetProc(libgl, 'glNormalPointerEXT');
- glColorPointerEXT := GetProc(libgl, 'glColorPointerEXT');
- glIndexPointerEXT := GetProc(libgl, 'glIndexPointerEXT');
- glTexCoordPointerEXT := GetProc(libgl, 'glTexCoordPointerEXT');
- glEdgeFlagPointerEXT := GetProc(libgl, 'glEdgeFlagPointerEXT');
- glGetPointervEXT := GetProc(libgl, 'glGetPointervEXT');
- glArrayElementEXT := GetProc(libgl, 'glArrayElementEXT');
- glDrawArraysEXT := GetProc(libgl, 'glDrawArraysEXT');
- // GL_EXT_texture_object
- glGenTexturesEXT := GetProc(libgl, 'glGenTexturesEXT');
- glDeleteTexturesEXT := GetProc(libgl, 'glDeleteTexturesEXT');
- glBindTextureEXT := GetProc(libgl, 'glBindTextureEXT');
- glPrioritizeTexturesEXT := GetProc(libgl, 'glPrioritizeTexturesEXT');
- glAreTexturesResidentEXT := GetProc(libgl, 'glAreTexturesResidentEXT');
- glIsTextureEXT := GetProc(libgl, 'glIsTextureEXT');
- // GL_EXT_texture3D
- glTexImage3DEXT := GetProc(libgl, 'glTexImage3DEXT');
- glTexSubImage3DEXT := GetProc(libgl, 'glTexSubImage3DEXT');
- glCopyTexSubImage3DEXT := GetProc(libgl, 'glCopyTexSubImage3DEXT');
- // GL_EXT_color_table
- glColorTableEXT := GetProc(libgl, 'glColorTableEXT');
- glColorSubTableEXT := GetProc(libgl, 'glColorSubTableEXT');
- glGetColorTableEXT := GetProc(libgl, 'glGetColorTableEXT');
- glGetColorTableParameterfvEXT := GetProc(libgl, 'glGetColorTableParameterfvEXT');
- glGetColorTableParameterivEXT := GetProc(libgl, 'glGetColorTableParameterivEXT');
- {$endif EXTENSIONS}
- {$ifdef SGI_EXTENSIONS}
- // GL_SGIS_multitexture
- glMultiTexCoord1dSGIS := GetProc(libgl, 'glMultiTexCoord1dSGIS');
- glMultiTexCoord1dvSGIS := GetProc(libgl, 'glMultiTexCoord1dvSGIS');
- glMultiTexCoord1fSGIS := GetProc(libgl, 'glMultiTexCoord1fSGIS');
- glMultiTexCoord1fvSGIS := GetProc(libgl, 'glMultiTexCoord1fvSGIS');
- glMultiTexCoord1iSGIS := GetProc(libgl, 'glMultiTexCoord1iSGIS');
- glMultiTexCoord1ivSGIS := GetProc(libgl, 'glMultiTexCoord1ivSGIS');
- glMultiTexCoord1sSGIS := GetProc(libgl, 'glMultiTexCoord1sSGIS');
- glMultiTexCoord1svSGIS := GetProc(libgl, 'glMultiTexCoord1svSGIS');
- glMultiTexCoord2dSGIS := GetProc(libgl, 'glMultiTexCoord2dSGIS');
- glMultiTexCoord2dvSGIS := GetProc(libgl, 'glMultiTexCoord2dvSGIS');
- glMultiTexCoord2fSGIS := GetProc(libgl, 'glMultiTexCoord2fSGIS');
- glMultiTexCoord2fvSGIS := GetProc(libgl, 'glMultiTexCoord2fvSGIS');
- glMultiTexCoord2iSGIS := GetProc(libgl, 'glMultiTexCoord2iSGIS');
- glMultiTexCoord2ivSGIS := GetProc(libgl, 'glMultiTexCoord2ivSGIS');
- glMultiTexCoord2sSGIS := GetProc(libgl, 'glMultiTexCoord2sSGIS');
- glMultiTexCoord2svSGIS := GetProc(libgl, 'glMultiTexCoord2svSGIS');
- glMultiTexCoord3dSGIS := GetProc(libgl, 'glMultiTexCoord3dSGIS');
- glMultiTexCoord3dvSGIS := GetProc(libgl, 'glMultiTexCoord3dvSGIS');
- glMultiTexCoord3fSGIS := GetProc(libgl, 'glMultiTexCoord3fSGIS');
- glMultiTexCoord3fvSGIS := GetProc(libgl, 'glMultiTexCoord3fvSGIS');
- glMultiTexCoord3iSGIS := GetProc(libgl, 'glMultiTexCoord3iSGIS');
- glMultiTexCoord3ivSGIS := GetProc(libgl, 'glMultiTexCoord3ivSGIS');
- glMultiTexCoord3sSGIS := GetProc(libgl, 'glMultiTexCoord3sSGIS');
- glMultiTexCoord3svSGIS := GetProc(libgl, 'glMultiTexCoord3svSGIS');
- glMultiTexCoord4dSGIS := GetProc(libgl, 'glMultiTexCoord4dSGIS');
- glMultiTexCoord4dvSGIS := GetProc(libgl, 'glMultiTexCoord4dvSGIS');
- glMultiTexCoord4fSGIS := GetProc(libgl, 'glMultiTexCoord4fSGIS');
- glMultiTexCoord4fvSGIS := GetProc(libgl, 'glMultiTexCoord4fvSGIS');
- glMultiTexCoord4iSGIS := GetProc(libgl, 'glMultiTexCoord4iSGIS');
- glMultiTexCoord4ivSGIS := GetProc(libgl, 'glMultiTexCoord4ivSGIS');
- glMultiTexCoord4sSGIS := GetProc(libgl, 'glMultiTexCoord4sSGIS');
- glMultiTexCoord4svSGIS := GetProc(libgl, 'glMultiTexCoord4svSGIS');
- glMultiTexCoordPointerSGIS := GetProc(libgl, 'glMultiTexCoordPointerSGIS');
- glSelectTextureSGIS := GetProc(libgl, 'glSelectTextureSGIS');
- glSelectTextureCoordSetSGIS := GetProc(libgl, 'glSelectTextureCoordSetSGIS');
- // GL_EXT_multitexture
- glMultiTexCoord1dEXT := GetProc(libgl, 'glMultiTexCoord1dEXT');
- glMultiTexCoord1dvEXT := GetProc(libgl, 'glMultiTexCoord1dvEXT');
- glMultiTexCoord1fEXT := GetProc(libgl, 'glMultiTexCoord1fEXT');
- glMultiTexCoord1fvEXT := GetProc(libgl, 'glMultiTexCoord1fvEXT');
- glMultiTexCoord1iEXT := GetProc(libgl, 'glMultiTexCoord1iEXT');
- glMultiTexCoord1ivEXT := GetProc(libgl, 'glMultiTexCoord1ivEXT');
- glMultiTexCoord1sEXT := GetProc(libgl, 'glMultiTexCoord1sEXT');
- glMultiTexCoord1svEXT := GetProc(libgl, 'glMultiTexCoord1svEXT');
- glMultiTexCoord2dEXT := GetProc(libgl, 'glMultiTexCoord2dEXT');
- glMultiTexCoord2dvEXT := GetProc(libgl, 'glMultiTexCoord2dvEXT');
- glMultiTexCoord2fEXT := GetProc(libgl, 'glMultiTexCoord2fEXT');
- glMultiTexCoord2fvEXT := GetProc(libgl, 'glMultiTexCoord2fvEXT');
- glMultiTexCoord2iEXT := GetProc(libgl, 'glMultiTexCoord2iEXT');
- glMultiTexCoord2ivEXT := GetProc(libgl, 'glMultiTexCoord2ivEXT');
- glMultiTexCoord2sEXT := GetProc(libgl, 'glMultiTexCoord2sEXT');
- glMultiTexCoord2svEXT := GetProc(libgl, 'glMultiTexCoord2svEXT');
- glMultiTexCoord3dEXT := GetProc(libgl, 'glMultiTexCoord3dEXT');
- glMultiTexCoord3dvEXT := GetProc(libgl, 'glMultiTexCoord3dvEXT');
- glMultiTexCoord3fEXT := GetProc(libgl, 'glMultiTexCoord3fEXT');
- glMultiTexCoord3fvEXT := GetProc(libgl, 'glMultiTexCoord3fvEXT');
- glMultiTexCoord3iEXT := GetProc(libgl, 'glMultiTexCoord3iEXT');
- glMultiTexCoord3ivEXT := GetProc(libgl, 'glMultiTexCoord3ivEXT');
- glMultiTexCoord3sEXT := GetProc(libgl, 'glMultiTexCoord3sEXT');
- glMultiTexCoord3svEXT := GetProc(libgl, 'glMultiTexCoord3svEXT');
- glMultiTexCoord4dEXT := GetProc(libgl, 'glMultiTexCoord4dEXT');
- glMultiTexCoord4dvEXT := GetProc(libgl, 'glMultiTexCoord4dvEXT');
- glMultiTexCoord4fEXT := GetProc(libgl, 'glMultiTexCoord4fEXT');
- glMultiTexCoord4fvEXT := GetProc(libgl, 'glMultiTexCoord4fvEXT');
- glMultiTexCoord4iEXT := GetProc(libgl, 'glMultiTexCoord4iEXT');
- glMultiTexCoord4ivEXT := GetProc(libgl, 'glMultiTexCoord4ivEXT');
- glMultiTexCoord4sEXT := GetProc(libgl, 'glMultiTexCoord4sEXT');
- glMultiTexCoord4svEXT := GetProc(libgl, 'glMultiTexCoord4svEXT');
- glInterleavedTextureCoordSetsEXT := GetProc(libgl, 'glInterleavedTextureCoordSetsEXT');
- glSelectTextureEXT := GetProc(libgl, 'glSelectTextureEXT');
- glSelectTextureCoordSetEXT := GetProc(libgl, 'glSelectTextureCoordSetEXT');
- glSelectTextureTransformEXT := GetProc(libgl, 'glSelectTextureTransformEXT');
- // GL_EXT_point_parameters
- glPointParameterfEXT := GetProc(libgl, 'glPointParameterfEXT');
- glPointParameterfvEXT := GetProc(libgl, 'glPointParameterfvEXT');
- {$endif SGI_EXTENSIONS}
- {$ifdef MESA}
- // GL_MESA_window_pos
- glWindowPos2iMESA := GetProc(libgl, 'glWindowPos2iMESA');
- glWindowPos2sMESA := GetProc(libgl, 'glWindowPos2sMESA');
- glWindowPos2fMESA := GetProc(libgl, 'glWindowPos2fMESA');
- glWindowPos2dMESA := GetProc(libgl, 'glWindowPos2dMESA');
- glWindowPos2ivMESA := GetProc(libgl, 'glWindowPos2ivMESA');
- glWindowPos2svMESA := GetProc(libgl, 'glWindowPos2svMESA');
- glWindowPos2fvMESA := GetProc(libgl, 'glWindowPos2fvMESA');
- glWindowPos2dvMESA := GetProc(libgl, 'glWindowPos2dvMESA');
- glWindowPos3iMESA := GetProc(libgl, 'glWindowPos3iMESA');
- glWindowPos3sMESA := GetProc(libgl, 'glWindowPos3sMESA');
- glWindowPos3fMESA := GetProc(libgl, 'glWindowPos3fMESA');
- glWindowPos3dMESA := GetProc(libgl, 'glWindowPos3dMESA');
- glWindowPos3ivMESA := GetProc(libgl, 'glWindowPos3ivMESA');
- glWindowPos3svMESA := GetProc(libgl, 'glWindowPos3svMESA');
- glWindowPos3fvMESA := GetProc(libgl, 'glWindowPos3fvMESA');
- glWindowPos3dvMESA := GetProc(libgl, 'glWindowPos3dvMESA');
- glWindowPos4iMESA := GetProc(libgl, 'glWindowPos4iMESA');
- glWindowPos4sMESA := GetProc(libgl, 'glWindowPos4sMESA');
- glWindowPos4fMESA := GetProc(libgl, 'glWindowPos4fMESA');
- glWindowPos4dMESA := GetProc(libgl, 'glWindowPos4dMESA');
- glWindowPos4ivMESA := GetProc(libgl, 'glWindowPos4ivMESA');
- glWindowPos4svMESA := GetProc(libgl, 'glWindowPos4svMESA');
- glWindowPos4fvMESA := GetProc(libgl, 'glWindowPos4fvMESA');
- glWindowPos4dvMESA := GetProc(libgl, 'glWindowPos4dvMESA');
- // GL_MESA_resize_buffers
- glResizeBuffersMESA := GetProc(libgl, 'glResizeBuffersMESA');
- {$endif MESA}
- GLInitialized := True;
- Result := True;
- end;
- function InitGL: Boolean;
- begin
- Result := InitGLFromLibrary('libGL.so') or
- InitGLFromLibrary('libGL.so.1') or
- InitGLFromLibrary('libMesaGL.so') or
- InitGLFromLibrary('libMesaGL.so.3');
- end;
- initialization
- InitGL;
- finalization
- if Assigned(libGL) then dlclose(libGL);
- end.
- {
- $Log$
- Revision 1.5 2000-10-01 22:17:58 peter
- * new bounce demo
- Revision 1.4.2.1 2000/10/01 22:12:27 peter
- * new demo
- Revision 1.1 2000/07/13 06:34:17 michael
- + Initial import
- Revision 1.2 2000/05/31 00:34:28 alex
- made templates work
- }
- {
- $Log$
- Revision 1.5 2000-10-01 22:17:58 peter
- * new bounce demo
- Revision 1.4.2.1 2000/10/01 22:12:27 peter
- * new demo
- }
|