gl_sl.pp 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494
  1. {
  2. Translation of the Mesa GL headers for FreePascal
  3. Copyright (C) 1999 Sebastian Guenther
  4. Template for static linking in Win32 environment by Alexander Stohr.
  5. Original copyright notice:
  6. Mesa 3-D graphics library
  7. Version: 3.0
  8. Copyright (C) 1995-1998 Brian Paul
  9. This library is free software; you can redistribute it and/or
  10. modify it under the terms of the GNU Library General Public
  11. License as published by the Free Software Foundation; either
  12. version 2 of the License, or (at your option) any later version.
  13. This library is distributed in the hope that it will be useful,
  14. but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. Library General Public License for more details.
  17. You should have received a copy of the GNU Library General Public
  18. License along with this library; if not, write to the Free
  19. Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. }
  21. {
  22. You have to enable Macros (compiler switch "-Sm") for compiling this unit!
  23. This is necessary for supporting different platforms with different calling
  24. conventions via a single unit.
  25. }
  26. unit GL_SL;
  27. interface
  28. {$DEFINE GL1_0}
  29. {x$DEFINE GL1_1}
  30. {x$DEFINE GL1_2}
  31. {x$DEFINE MESA} {enable if you want to use some special mesa extensions}
  32. {x$DEFINE EXTENSIONS} {enable if you need one/all of extensions}
  33. {x$DEFINE SGI_EXTENSIONS} {enable if you need one/all of extensions}
  34. {
  35. *** Note: ***
  36. There is currently one importants side effect when doing static linking.
  37. If you include a function statically than its required to be present
  38. in the supplied DLLs of your OS and Hardware.
  39. This means if the DLL is not present your program will not run.
  40. In Win95 it appears that you will be informined you about
  41. the name of the first missing symbol while loading the executable.
  42. }
  43. {$MACRO ON}
  44. {$IFDEF Win32}
  45. {$DEFINE ogl_dll := external 'opengl32.dll'}
  46. uses Windows;
  47. {$ELSE}
  48. {$MESSAGE Unsupported platform.}
  49. {$ENDIF}
  50. // =======================================================
  51. // Unit specific extensions
  52. // =======================================================
  53. // none - no special init required
  54. // =======================================================
  55. // GL consts, types and functions
  56. // =======================================================
  57. // -------------------------------------------------------
  58. // GL types
  59. // -------------------------------------------------------
  60. type
  61. PSingle = ^Single;
  62. PDouble = ^Double;
  63. GLvoid = Pointer;
  64. GLboolean = Byte;
  65. GLbyte = ShortInt; // 1-byte signed
  66. GLshort = Integer; // 2-byte signed
  67. GLint = LongInt; // 4-byte signed
  68. GLubyte = Byte; // 1-byte unsigned
  69. GLushort = Word; // 2-byte unsigned
  70. GLuint = DWord; // 4-byte signed
  71. GLsizei = LongInt; // 4-byte signed
  72. GLfloat = Single; // single precision float
  73. GLclampf = Single; // single precision float in [0,1]
  74. GLdouble = Double; // double precision float
  75. GLclampd = Double; // double precision float in [0,1]
  76. GLenum = DWord;
  77. PGLBoolean = ^GLBoolean;
  78. PGLFloat = ^GLfloat;
  79. PGLDouble = ^GLDouble;
  80. type
  81. GLbitfield = DWord; { was an enum - no corresponding thing in pascal }
  82. const
  83. GL_CURRENT_BIT = $00000001;
  84. GL_POINT_BIT = $00000002;
  85. GL_LINE_BIT = $00000004;
  86. GL_POLYGON_BIT = $00000008;
  87. GL_POLYGON_STIPPLE_BIT= $00000010;
  88. GL_PIXEL_MODE_BIT = $00000020;
  89. GL_LIGHTING_BIT = $00000040;
  90. GL_FOG_BIT = $00000080;
  91. GL_DEPTH_BUFFER_BIT = $00000100;
  92. GL_ACCUM_BUFFER_BIT = $00000200;
  93. GL_STENCIL_BUFFER_BIT = $00000400;
  94. GL_VIEWPORT_BIT = $00000800;
  95. GL_TRANSFORM_BIT = $00001000;
  96. GL_ENABLE_BIT = $00002000;
  97. GL_COLOR_BUFFER_BIT = $00004000;
  98. GL_HINT_BIT = $00008000;
  99. GL_EVAL_BIT = $00010000;
  100. GL_LIST_BIT = $00020000;
  101. GL_TEXTURE_BIT = $00040000;
  102. GL_SCISSOR_BIT = $00080000;
  103. GL_ALL_ATTRIB_BITS = $000fffff;
  104. // -------------------------------------------------------
  105. // GL constants
  106. // -------------------------------------------------------
  107. {$IFDEF GL1_0}
  108. const
  109. GL_NO_ERROR = 0;
  110. // Boolean values
  111. GL_FALSE = 0;
  112. GL_TRUE = 1;
  113. // Data types
  114. GL_BYTE = $1400;
  115. GL_UNSIGNED_BYTE = $1401;
  116. GL_SHORT = $1402;
  117. GL_UNSIGNED_SHORT = $1403;
  118. GL_INT = $1404;
  119. GL_UNSIGNED_INT = $1405;
  120. GL_FLOAT = $1406;
  121. GL_DOUBLE = $140A;
  122. GL_2_BYTES = $1407;
  123. GL_3_BYTES = $1408;
  124. GL_4_BYTES = $1409;
  125. // Primitives
  126. GL_LINES = $0001;
  127. GL_POINTS = $0000;
  128. GL_LINE_STRIP = $0003;
  129. GL_LINE_LOOP = $0002;
  130. GL_TRIANGLES = $0004;
  131. GL_TRIANGLE_STRIP = $0005;
  132. GL_TRIANGLE_FAN = $0006;
  133. GL_QUADS = $0007;
  134. GL_QUAD_STRIP = $0008;
  135. GL_POLYGON = $0009;
  136. GL_EDGE_FLAG = $0B43;
  137. // Vertex arrays
  138. GL_VERTEX_ARRAY = $8074;
  139. GL_NORMAL_ARRAY = $8075;
  140. GL_COLOR_ARRAY = $8076;
  141. GL_INDEX_ARRAY = $8077;
  142. GL_TEXTURE_COORD_ARRAY = $8078;
  143. GL_EDGE_FLAG_ARRAY = $8079;
  144. GL_VERTEX_ARRAY_SIZE = $807A;
  145. GL_VERTEX_ARRAY_TYPE = $807B;
  146. GL_VERTEX_ARRAY_STRIDE = $807C;
  147. GL_NORMAL_ARRAY_TYPE = $807E;
  148. GL_NORMAL_ARRAY_STRIDE = $807F;
  149. GL_COLOR_ARRAY_SIZE = $8081;
  150. GL_COLOR_ARRAY_TYPE = $8082;
  151. GL_COLOR_ARRAY_STRIDE = $8083;
  152. GL_INDEX_ARRAY_TYPE = $8085;
  153. GL_INDEX_ARRAY_STRIDE = $8086;
  154. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  155. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  156. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  157. GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
  158. GL_VERTEX_ARRAY_POINTER = $808E;
  159. GL_NORMAL_ARRAY_POINTER = $808F;
  160. GL_COLOR_ARRAY_POINTER = $8090;
  161. GL_INDEX_ARRAY_POINTER = $8091;
  162. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  163. GL_EDGE_FLAG_ARRAY_POINTER = $8093;
  164. GL_V2F = $2A20;
  165. GL_V3F = $2A21;
  166. GL_C4UB_V2F = $2A22;
  167. GL_C4UB_V3F = $2A23;
  168. GL_C3F_V3F = $2A24;
  169. GL_N3F_V3F = $2A25;
  170. GL_C4F_N3F_V3F = $2A26;
  171. GL_T2F_V3F = $2A27;
  172. GL_T4F_V4F = $2A28;
  173. GL_T2F_C4UB_V3F = $2A29;
  174. GL_T2F_C3F_V3F = $2A2A;
  175. GL_T2F_N3F_V3F = $2A2B;
  176. GL_T2F_C4F_N3F_V3F = $2A2C;
  177. GL_T4F_C4F_N3F_V4F = $2A2D;
  178. // Matrix Mode
  179. GL_MATRIX_MODE = $0BA0;
  180. GL_MODELVIEW = $1700;
  181. GL_PROJECTION = $1701;
  182. GL_TEXTURE = $1702;
  183. // Points
  184. GL_POINT_SMOOTH = $0B10;
  185. GL_POINT_SIZE = $0B11;
  186. GL_POINT_SIZE_GRANULARITY = $0B13;
  187. GL_POINT_SIZE_RANGE = $0B12;
  188. // Lines
  189. GL_LINE_SMOOTH = $0B20;
  190. GL_LINE_STIPPLE = $0B24;
  191. GL_LINE_STIPPLE_PATTERN = $0B25;
  192. GL_LINE_STIPPLE_REPEAT = $0B26;
  193. GL_LINE_WIDTH = $0B21;
  194. GL_LINE_WIDTH_GRANULARITY = $0B23;
  195. GL_LINE_WIDTH_RANGE = $0B22;
  196. // Polygons
  197. GL_POINT = $1B00;
  198. GL_LINE = $1B01;
  199. GL_FILL = $1B02;
  200. GL_CCW = $0901;
  201. GL_CW = $0900;
  202. GL_FRONT = $0404;
  203. GL_BACK = $0405;
  204. GL_CULL_FACE = $0B44;
  205. GL_CULL_FACE_MODE = $0B45;
  206. GL_POLYGON_SMOOTH = $0B41;
  207. GL_POLYGON_STIPPLE = $0B42;
  208. GL_FRONT_FACE = $0B46;
  209. GL_POLYGON_MODE = $0B40;
  210. GL_POLYGON_OFFSET_FACTOR = $8038;
  211. GL_POLYGON_OFFSET_UNITS = $2A00;
  212. GL_POLYGON_OFFSET_POINT = $2A01;
  213. GL_POLYGON_OFFSET_LINE = $2A02;
  214. GL_POLYGON_OFFSET_FILL = $8037;
  215. // Display lists
  216. GL_COMPILE = $1300;
  217. GL_COMPILE_AND_EXECUTE = $1301;
  218. GL_LIST_BASE = $0B32;
  219. GL_LIST_INDEX = $0B33;
  220. GL_LIST_MODE = $0B30;
  221. // Depth buffer
  222. GL_NEVER = $0200;
  223. GL_LESS = $0201;
  224. GL_GEQUAL = $0206;
  225. GL_LEQUAL = $0203;
  226. GL_GREATER = $0204;
  227. GL_NOTEQUAL = $0205;
  228. GL_EQUAL = $0202;
  229. GL_ALWAYS = $0207;
  230. GL_DEPTH_TEST = $0B71;
  231. GL_DEPTH_BITS = $0D56;
  232. GL_DEPTH_CLEAR_VALUE = $0B73;
  233. GL_DEPTH_FUNC = $0B74;
  234. GL_DEPTH_RANGE = $0B70;
  235. GL_DEPTH_WRITEMASK = $0B72;
  236. GL_DEPTH_COMPONENT = $1902;
  237. // Lighting
  238. GL_LIGHTING = $0B50;
  239. GL_LIGHT0 = $4000;
  240. GL_LIGHT1 = $4001;
  241. GL_LIGHT2 = $4002;
  242. GL_LIGHT3 = $4003;
  243. GL_LIGHT4 = $4004;
  244. GL_LIGHT5 = $4005;
  245. GL_LIGHT6 = $4006;
  246. GL_LIGHT7 = $4007;
  247. GL_SPOT_EXPONENT = $1205;
  248. GL_SPOT_CUTOFF = $1206;
  249. GL_CONSTANT_ATTENUATION = $1207;
  250. GL_LINEAR_ATTENUATION = $1208;
  251. GL_QUADRATIC_ATTENUATION = $1209;
  252. GL_AMBIENT = $1200;
  253. GL_DIFFUSE = $1201;
  254. GL_SPECULAR = $1202;
  255. GL_SHININESS = $1601;
  256. GL_EMISSION = $1600;
  257. GL_POSITION = $1203;
  258. GL_SPOT_DIRECTION = $1204;
  259. GL_AMBIENT_AND_DIFFUSE = $1602;
  260. GL_COLOR_INDEXES = $1603;
  261. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  262. GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
  263. GL_LIGHT_MODEL_AMBIENT = $0B53;
  264. GL_FRONT_AND_BACK = $0408;
  265. GL_SHADE_MODEL = $0B54;
  266. GL_FLAT = $1D00;
  267. GL_SMOOTH = $1D01;
  268. GL_COLOR_MATERIAL = $0B57;
  269. GL_COLOR_MATERIAL_FACE = $0B55;
  270. GL_COLOR_MATERIAL_PARAMETER = $0B56;
  271. GL_NORMALIZE = $0BA1;
  272. // User clipping planes
  273. GL_CLIP_PLANE0 = $3000;
  274. GL_CLIP_PLANE1 = $3001;
  275. GL_CLIP_PLANE2 = $3002;
  276. GL_CLIP_PLANE3 = $3003;
  277. GL_CLIP_PLANE4 = $3004;
  278. GL_CLIP_PLANE5 = $3005;
  279. // Accumulation buffer
  280. GL_ACCUM_RED_BITS = $0D58;
  281. GL_ACCUM_GREEN_BITS = $0D59;
  282. GL_ACCUM_BLUE_BITS = $0D5A;
  283. GL_ACCUM_ALPHA_BITS = $0D5B;
  284. GL_ACCUM_CLEAR_VALUE = $0B80;
  285. GL_ACCUM = $0100;
  286. GL_ADD = $0104;
  287. GL_LOAD = $0101;
  288. GL_MULT = $0103;
  289. GL_RETURN = $0102;
  290. // Alpha testing
  291. GL_ALPHA_TEST = $0BC0;
  292. GL_ALPHA_TEST_REF = $0BC2;
  293. GL_ALPHA_TEST_FUNC = $0BC1;
  294. // Blending
  295. GL_BLEND = $0BE2;
  296. GL_BLEND_SRC = $0BE1;
  297. GL_BLEND_DST = $0BE0;
  298. GL_ZERO = 0;
  299. GL_ONE = 1;
  300. GL_SRC_COLOR = $0300;
  301. GL_ONE_MINUS_SRC_COLOR = $0301;
  302. GL_DST_COLOR = $0306;
  303. GL_ONE_MINUS_DST_COLOR = $0307;
  304. GL_SRC_ALPHA = $0302;
  305. GL_ONE_MINUS_SRC_ALPHA = $0303;
  306. GL_DST_ALPHA = $0304;
  307. GL_ONE_MINUS_DST_ALPHA = $0305;
  308. GL_SRC_ALPHA_SATURATE = $0308;
  309. GL_CONSTANT_COLOR = $8001;
  310. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  311. GL_CONSTANT_ALPHA = $8003;
  312. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  313. // Render mode
  314. GL_FEEDBACK = $1C01;
  315. GL_RENDER = $1C00;
  316. GL_SELECT = $1C02;
  317. // Feedback
  318. GL_2D = $0600;
  319. GL_3D = $0601;
  320. GL_3D_COLOR = $0602;
  321. GL_3D_COLOR_TEXTURE = $0603;
  322. GL_4D_COLOR_TEXTURE = $0604;
  323. GL_POINT_TOKEN = $0701;
  324. GL_LINE_TOKEN = $0702;
  325. GL_LINE_RESET_TOKEN = $0707;
  326. GL_POLYGON_TOKEN = $0703;
  327. GL_BITMAP_TOKEN = $0704;
  328. GL_DRAW_PIXEL_TOKEN = $0705;
  329. GL_COPY_PIXEL_TOKEN = $0706;
  330. GL_PASS_THROUGH_TOKEN = $0700;
  331. GL_FEEDBACK_BUFFER_POINTER = $0DF0;
  332. GL_FEEDBACK_BUFFER_SIZE = $0DF1;
  333. GL_FEEDBACK_BUFFER_TYPE = $0DF2;
  334. // Selection
  335. GL_SELECTION_BUFFER_POINTER = $0DF3;
  336. GL_SELECTION_BUFFER_SIZE = $0DF4;
  337. // Fog
  338. GL_FOG = $0B60;
  339. GL_FOG_MODE = $0B65;
  340. GL_FOG_DENSITY = $0B62;
  341. GL_FOG_COLOR = $0B66;
  342. GL_FOG_INDEX = $0B61;
  343. GL_FOG_START = $0B63;
  344. GL_FOG_END = $0B64;
  345. GL_LINEAR = $2601;
  346. GL_EXP = $0800;
  347. GL_EXP2 = $0801;
  348. // Logic ops
  349. GL_LOGIC_OP = $0BF1;
  350. GL_INDEX_LOGIC_OP = $0BF1;
  351. GL_COLOR_LOGIC_OP = $0BF2;
  352. GL_LOGIC_OP_MODE = $0BF0;
  353. GL_CLEAR = $1500;
  354. GL_SET = $150F;
  355. GL_COPY = $1503;
  356. GL_COPY_INVERTED = $150C;
  357. GL_NOOP = $1505;
  358. GL_INVERT = $150A;
  359. GL_AND = $1501;
  360. GL_NAND = $150E;
  361. GL_OR = $1507;
  362. GL_NOR = $1508;
  363. GL_XOR = $1506;
  364. GL_EQUIV = $1509;
  365. GL_AND_REVERSE = $1502;
  366. GL_AND_INVERTED = $1504;
  367. GL_OR_REVERSE = $150B;
  368. GL_OR_INVERTED = $150D;
  369. // Stencil
  370. GL_STENCIL_TEST = $0B90;
  371. GL_STENCIL_WRITEMASK = $0B98;
  372. GL_STENCIL_BITS = $0D57;
  373. GL_STENCIL_FUNC = $0B92;
  374. GL_STENCIL_VALUE_MASK = $0B93;
  375. GL_STENCIL_REF = $0B97;
  376. GL_STENCIL_FAIL = $0B94;
  377. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  378. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  379. GL_STENCIL_CLEAR_VALUE = $0B91;
  380. GL_STENCIL_INDEX = $1901;
  381. GL_KEEP = $1E00;
  382. GL_REPLACE = $1E01;
  383. GL_INCR = $1E02;
  384. GL_DECR = $1E03;
  385. // Buffers, Pixel Drawing/Reading
  386. GL_NONE = 0;
  387. GL_LEFT = $0406;
  388. GL_RIGHT = $0407;
  389. //GL_FRONT = $0404;
  390. //GL_BACK = $0405;
  391. //GL_FRONT_AND_BACK = $0408;
  392. GL_FRONT_LEFT = $0400;
  393. GL_FRONT_RIGHT = $0401;
  394. GL_BACK_LEFT = $0402;
  395. GL_BACK_RIGHT = $0403;
  396. GL_AUX0 = $0409;
  397. GL_AUX1 = $040A;
  398. GL_AUX2 = $040B;
  399. GL_AUX3 = $040C;
  400. GL_COLOR_INDEX = $1900;
  401. GL_RED = $1903;
  402. GL_GREEN = $1904;
  403. GL_BLUE = $1905;
  404. GL_ALPHA = $1906;
  405. GL_LUMINANCE = $1909;
  406. GL_LUMINANCE_ALPHA = $190A;
  407. GL_ALPHA_BITS = $0D55;
  408. GL_RED_BITS = $0D52;
  409. GL_GREEN_BITS = $0D53;
  410. GL_BLUE_BITS = $0D54;
  411. GL_INDEX_BITS = $0D51;
  412. GL_SUBPIXEL_BITS = $0D50;
  413. GL_AUX_BUFFERS = $0C00;
  414. GL_READ_BUFFER = $0C02;
  415. GL_DRAW_BUFFER = $0C01;
  416. GL_DOUBLEBUFFER = $0C32;
  417. GL_STEREO = $0C33;
  418. GL_BITMAP = $1A00;
  419. GL_COLOR = $1800;
  420. GL_DEPTH = $1801;
  421. GL_STENCIL = $1802;
  422. GL_DITHER = $0BD0;
  423. GL_RGB = $1907;
  424. GL_RGBA = $1908;
  425. // Implementation limits
  426. GL_MAX_LIST_NESTING = $0B31;
  427. GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
  428. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  429. GL_MAX_NAME_STACK_DEPTH = $0D37;
  430. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  431. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  432. GL_MAX_EVAL_ORDER = $0D30;
  433. GL_MAX_LIGHTS = $0D31;
  434. GL_MAX_CLIP_PLANES = $0D32;
  435. GL_MAX_TEXTURE_SIZE = $0D33;
  436. GL_MAX_PIXEL_MAP_TABLE = $0D34;
  437. GL_MAX_VIEWPORT_DIMS = $0D3A;
  438. GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
  439. // Gets
  440. GL_ATTRIB_STACK_DEPTH = $0BB0;
  441. GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
  442. GL_COLOR_CLEAR_VALUE = $0C22;
  443. GL_COLOR_WRITEMASK = $0C23;
  444. GL_CURRENT_INDEX = $0B01;
  445. GL_CURRENT_COLOR = $0B00;
  446. GL_CURRENT_NORMAL = $0B02;
  447. GL_CURRENT_RASTER_COLOR = $0B04;
  448. GL_CURRENT_RASTER_DISTANCE = $0B09;
  449. GL_CURRENT_RASTER_INDEX = $0B05;
  450. GL_CURRENT_RASTER_POSITION = $0B07;
  451. GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
  452. GL_CURRENT_RASTER_POSITION_VALID = $0B08;
  453. GL_CURRENT_TEXTURE_COORDS = $0B03;
  454. GL_INDEX_CLEAR_VALUE = $0C20;
  455. GL_INDEX_MODE = $0C30;
  456. GL_INDEX_WRITEMASK = $0C21;
  457. GL_MODELVIEW_MATRIX = $0BA6;
  458. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  459. GL_NAME_STACK_DEPTH = $0D70;
  460. GL_PROJECTION_MATRIX = $0BA7;
  461. GL_PROJECTION_STACK_DEPTH = $0BA4;
  462. GL_RENDER_MODE = $0C40;
  463. GL_RGBA_MODE = $0C31;
  464. GL_TEXTURE_MATRIX = $0BA8;
  465. GL_TEXTURE_STACK_DEPTH = $0BA5;
  466. GL_VIEWPORT = $0BA2;
  467. // Evaluators
  468. GL_AUTO_NORMAL = $0D80;
  469. GL_MAP1_COLOR_4 = $0D90;
  470. GL_MAP1_GRID_DOMAIN = $0DD0;
  471. GL_MAP1_GRID_SEGMENTS = $0DD1;
  472. GL_MAP1_INDEX = $0D91;
  473. GL_MAP1_NORMAL = $0D92;
  474. GL_MAP1_TEXTURE_COORD_1 = $0D93;
  475. GL_MAP1_TEXTURE_COORD_2 = $0D94;
  476. GL_MAP1_TEXTURE_COORD_3 = $0D95;
  477. GL_MAP1_TEXTURE_COORD_4 = $0D96;
  478. GL_MAP1_VERTEX_3 = $0D97;
  479. GL_MAP1_VERTEX_4 = $0D98;
  480. GL_MAP2_COLOR_4 = $0DB0;
  481. GL_MAP2_GRID_DOMAIN = $0DD2;
  482. GL_MAP2_GRID_SEGMENTS = $0DD3;
  483. GL_MAP2_INDEX = $0DB1;
  484. GL_MAP2_NORMAL = $0DB2;
  485. GL_MAP2_TEXTURE_COORD_1 = $0DB3;
  486. GL_MAP2_TEXTURE_COORD_2 = $0DB4;
  487. GL_MAP2_TEXTURE_COORD_3 = $0DB5;
  488. GL_MAP2_TEXTURE_COORD_4 = $0DB6;
  489. GL_MAP2_VERTEX_3 = $0DB7;
  490. GL_MAP2_VERTEX_4 = $0DB8;
  491. GL_COEFF = $0A00;
  492. GL_DOMAIN = $0A02;
  493. GL_ORDER = $0A01;
  494. // Hints
  495. GL_FOG_HINT = $0C54;
  496. GL_LINE_SMOOTH_HINT = $0C52;
  497. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  498. GL_POINT_SMOOTH_HINT = $0C51;
  499. GL_POLYGON_SMOOTH_HINT = $0C53;
  500. GL_DONT_CARE = $1100;
  501. GL_FASTEST = $1101;
  502. GL_NICEST = $1102;
  503. // Scissor box
  504. GL_SCISSOR_TEST = $0C11;
  505. GL_SCISSOR_BOX = $0C10;
  506. // Pixel Mode / Transfer
  507. GL_MAP_COLOR = $0D10;
  508. GL_MAP_STENCIL = $0D11;
  509. GL_INDEX_SHIFT = $0D12;
  510. GL_INDEX_OFFSET = $0D13;
  511. GL_RED_SCALE = $0D14;
  512. GL_RED_BIAS = $0D15;
  513. GL_GREEN_SCALE = $0D18;
  514. GL_GREEN_BIAS = $0D19;
  515. GL_BLUE_SCALE = $0D1A;
  516. GL_BLUE_BIAS = $0D1B;
  517. GL_ALPHA_SCALE = $0D1C;
  518. GL_ALPHA_BIAS = $0D1D;
  519. GL_DEPTH_SCALE = $0D1E;
  520. GL_DEPTH_BIAS = $0D1F;
  521. GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
  522. GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
  523. GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
  524. GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
  525. GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
  526. GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
  527. GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
  528. GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
  529. GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
  530. GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
  531. GL_PIXEL_MAP_S_TO_S = $0C71;
  532. GL_PIXEL_MAP_I_TO_I = $0C70;
  533. GL_PIXEL_MAP_I_TO_R = $0C72;
  534. GL_PIXEL_MAP_I_TO_G = $0C73;
  535. GL_PIXEL_MAP_I_TO_B = $0C74;
  536. GL_PIXEL_MAP_I_TO_A = $0C75;
  537. GL_PIXEL_MAP_R_TO_R = $0C76;
  538. GL_PIXEL_MAP_G_TO_G = $0C77;
  539. GL_PIXEL_MAP_B_TO_B = $0C78;
  540. GL_PIXEL_MAP_A_TO_A = $0C79;
  541. GL_PACK_ALIGNMENT = $0D05;
  542. GL_PACK_LSB_FIRST = $0D01;
  543. GL_PACK_ROW_LENGTH = $0D02;
  544. GL_PACK_SKIP_PIXELS = $0D04;
  545. GL_PACK_SKIP_ROWS = $0D03;
  546. GL_PACK_SWAP_BYTES = $0D00;
  547. GL_UNPACK_ALIGNMENT = $0CF5;
  548. GL_UNPACK_LSB_FIRST = $0CF1;
  549. GL_UNPACK_ROW_LENGTH = $0CF2;
  550. GL_UNPACK_SKIP_PIXELS = $0CF4;
  551. GL_UNPACK_SKIP_ROWS = $0CF3;
  552. GL_UNPACK_SWAP_BYTES = $0CF0;
  553. GL_ZOOM_X = $0D16;
  554. GL_ZOOM_Y = $0D17;
  555. // Texture mapping
  556. GL_TEXTURE_ENV = $2300;
  557. GL_TEXTURE_ENV_MODE = $2200;
  558. GL_TEXTURE_1D = $0DE0;
  559. GL_TEXTURE_2D = $0DE1;
  560. GL_TEXTURE_WRAP_S = $2802;
  561. GL_TEXTURE_WRAP_T = $2803;
  562. GL_TEXTURE_MAG_FILTER = $2800;
  563. GL_TEXTURE_MIN_FILTER = $2801;
  564. GL_TEXTURE_ENV_COLOR = $2201;
  565. GL_TEXTURE_GEN_S = $0C60;
  566. GL_TEXTURE_GEN_T = $0C61;
  567. GL_TEXTURE_GEN_MODE = $2500;
  568. GL_TEXTURE_BORDER_COLOR = $1004;
  569. GL_TEXTURE_WIDTH = $1000;
  570. GL_TEXTURE_HEIGHT = $1001;
  571. GL_TEXTURE_BORDER = $1005;
  572. GL_TEXTURE_COMPONENTS = $1003;
  573. GL_TEXTURE_RED_SIZE = $805C;
  574. GL_TEXTURE_GREEN_SIZE = $805D;
  575. GL_TEXTURE_BLUE_SIZE = $805E;
  576. GL_TEXTURE_ALPHA_SIZE = $805F;
  577. GL_TEXTURE_LUMINANCE_SIZE = $8060;
  578. GL_TEXTURE_INTENSITY_SIZE = $8061;
  579. GL_NEAREST_MIPMAP_NEAREST = $2700;
  580. GL_NEAREST_MIPMAP_LINEAR = $2702;
  581. GL_LINEAR_MIPMAP_NEAREST = $2701;
  582. GL_LINEAR_MIPMAP_LINEAR = $2703;
  583. GL_OBJECT_LINEAR = $2401;
  584. GL_OBJECT_PLANE = $2501;
  585. GL_EYE_LINEAR = $2400;
  586. GL_EYE_PLANE = $2502;
  587. GL_SPHERE_MAP = $2402;
  588. GL_DECAL = $2101;
  589. GL_MODULATE = $2100;
  590. GL_NEAREST = $2600;
  591. GL_REPEAT = $2901;
  592. GL_CLAMP = $2900;
  593. GL_S = $2000;
  594. GL_T = $2001;
  595. GL_R = $2002;
  596. GL_Q = $2003;
  597. GL_TEXTURE_GEN_R = $0C62;
  598. GL_TEXTURE_GEN_Q = $0C63;
  599. {$ENDIF GL1_0}
  600. {$IFDEF GL1_1}
  601. const
  602. // GL 1.1 texturing
  603. GL_PROXY_TEXTURE_1D = $8063;
  604. GL_PROXY_TEXTURE_2D = $8064;
  605. GL_TEXTURE_PRIORITY = $8066;
  606. GL_TEXTURE_RESIDENT = $8067;
  607. GL_TEXTURE_BINDING_1D = $8068;
  608. GL_TEXTURE_BINDING_2D = $8069;
  609. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  610. // Internal texture formats (GL 1.1)
  611. GL_ALPHA4 = $803B;
  612. GL_ALPHA8 = $803C;
  613. GL_ALPHA12 = $803D;
  614. GL_ALPHA16 = $803E;
  615. GL_LUMINANCE4 = $803F;
  616. GL_LUMINANCE8 = $8040;
  617. GL_LUMINANCE12 = $8041;
  618. GL_LUMINANCE16 = $8042;
  619. GL_LUMINANCE4_ALPHA4 = $8043;
  620. GL_LUMINANCE6_ALPHA2 = $8044;
  621. GL_LUMINANCE8_ALPHA8 = $8045;
  622. GL_LUMINANCE12_ALPHA4 = $8046;
  623. GL_LUMINANCE12_ALPHA12 = $8047;
  624. GL_LUMINANCE16_ALPHA16 = $8048;
  625. GL_INTENSITY = $8049;
  626. GL_INTENSITY4 = $804A;
  627. GL_INTENSITY8 = $804B;
  628. GL_INTENSITY12 = $804C;
  629. GL_INTENSITY16 = $804D;
  630. GL_R3_G3_B2 = $2A10;
  631. GL_RGB4 = $804F;
  632. GL_RGB5 = $8050;
  633. GL_RGB8 = $8051;
  634. GL_RGB10 = $8052;
  635. GL_RGB12 = $8053;
  636. GL_RGB16 = $8054;
  637. GL_RGBA2 = $8055;
  638. GL_RGBA4 = $8056;
  639. GL_RGB5_A1 = $8057;
  640. GL_RGBA8 = $8058;
  641. GL_RGB10_A2 = $8059;
  642. GL_RGBA12 = $805A;
  643. GL_RGBA16 = $805B;
  644. {$ENDIF GL1_1}
  645. {$IFDEF GL1_2}
  646. const
  647. // GL 1.2 texturing
  648. GL_PACK_SKIP_IMAGES = $806B;
  649. GL_PACK_IMAGE_HEIGHT = $806C;
  650. GL_UNPACK_SKIP_IMAGES = $806D;
  651. GL_UNPACK_IMAGE_HEIGHT = $806E;
  652. GL_TEXTURE_3D = $806F;
  653. GL_PROXY_TEXTURE_3D = $8070;
  654. GL_TEXTURE_DEPTH = $8071;
  655. GL_TEXTURE_WRAP_R = $8072;
  656. GL_MAX_3D_TEXTURE_SIZE = $8073;
  657. GL_TEXTURE_BINDING_3D = $806A;
  658. const
  659. GL_RESCALE_NORMAL = $803A;
  660. GL_CLAMP_TO_EDGE = $812F;
  661. GL_MAX_ELEMENTS_VERTICES = $F0E8;
  662. GL_MAX_ELEMENTS_INDICES = $F0E9;
  663. GL_BGR = $80E0;
  664. GL_BGRA = $80E1;
  665. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  666. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  667. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  668. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  669. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  670. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  671. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  672. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  673. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  674. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  675. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  676. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  677. GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
  678. GL_SINGLE_COLOR = $81F9;
  679. GL_SEPARATE_SPECULAR_COLOR = $81FA;
  680. GL_TEXTURE_MIN_LOD = $813A;
  681. GL_TEXTURE_MAX_LOD = $813B;
  682. GL_TEXTURE_BASE_LEVEL = $813C;
  683. GL_TEXTURE_MAX_LEVEL = $813D;
  684. {$ENDIF GL1_2}
  685. const
  686. // Utility
  687. GL_VENDOR = $1F00;
  688. GL_RENDERER = $1F01;
  689. GL_VERSION = $1F02;
  690. GL_EXTENSIONS = $1F03;
  691. // Errors
  692. GL_INVALID_VALUE = $0501;
  693. GL_INVALID_ENUM = $0500;
  694. GL_INVALID_OPERATION = $0502;
  695. GL_STACK_OVERFLOW = $0503;
  696. GL_STACK_UNDERFLOW = $0504;
  697. GL_OUT_OF_MEMORY = $0505;
  698. // -------------------------------------------------------
  699. // GL extensions constants
  700. // -------------------------------------------------------
  701. {$IFDEF EXTENSIONS}
  702. const
  703. // GL_EXT_blend_minmax and GL_EXT_blend_color
  704. GL_CONSTANT_COLOR_EXT = $8001;
  705. GL_ONE_MINUS_CONSTANT_COLOR_EXT = $8002;
  706. GL_CONSTANT_ALPHA_EXT = $8003;
  707. GL_ONE_MINUS_CONSTANT_ALPHA_EXT = $8004;
  708. GL_BLEND_EQUATION_EXT = $8009;
  709. GL_MIN_EXT = $8007;
  710. GL_MAX_EXT = $8008;
  711. GL_FUNC_ADD_EXT = $8006;
  712. GL_FUNC_SUBTRACT_EXT = $800A;
  713. GL_FUNC_REVERSE_SUBTRACT_EXT = $800B;
  714. GL_BLEND_COLOR_EXT = $8005;
  715. // GL_EXT_polygon_offset
  716. GL_POLYGON_OFFSET_EXT = $8037;
  717. GL_POLYGON_OFFSET_FACTOR_EXT = $8038;
  718. GL_POLYGON_OFFSET_BIAS_EXT = $8039;
  719. // GL_EXT_vertex_array
  720. GL_VERTEX_ARRAY_EXT = $8074;
  721. GL_NORMAL_ARRAY_EXT = $8075;
  722. GL_COLOR_ARRAY_EXT = $8076;
  723. GL_INDEX_ARRAY_EXT = $8077;
  724. GL_TEXTURE_COORD_ARRAY_EXT = $8078;
  725. GL_EDGE_FLAG_ARRAY_EXT = $8079;
  726. GL_VERTEX_ARRAY_SIZE_EXT = $807A;
  727. GL_VERTEX_ARRAY_TYPE_EXT = $807B;
  728. GL_VERTEX_ARRAY_STRIDE_EXT = $807C;
  729. GL_VERTEX_ARRAY_COUNT_EXT = $807D;
  730. GL_NORMAL_ARRAY_TYPE_EXT = $807E;
  731. GL_NORMAL_ARRAY_STRIDE_EXT = $807F;
  732. GL_NORMAL_ARRAY_COUNT_EXT = $8080;
  733. GL_COLOR_ARRAY_SIZE_EXT = $8081;
  734. GL_COLOR_ARRAY_TYPE_EXT = $8082;
  735. GL_COLOR_ARRAY_STRIDE_EXT = $8083;
  736. GL_COLOR_ARRAY_COUNT_EXT = $8084;
  737. GL_INDEX_ARRAY_TYPE_EXT = $8085;
  738. GL_INDEX_ARRAY_STRIDE_EXT = $8086;
  739. GL_INDEX_ARRAY_COUNT_EXT = $8087;
  740. GL_TEXTURE_COORD_ARRAY_SIZE_EXT = $8088;
  741. GL_TEXTURE_COORD_ARRAY_TYPE_EXT = $8089;
  742. GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = $808A;
  743. GL_TEXTURE_COORD_ARRAY_COUNT_EXT = $808B;
  744. GL_EDGE_FLAG_ARRAY_STRIDE_EXT = $808C;
  745. GL_EDGE_FLAG_ARRAY_COUNT_EXT = $808D;
  746. GL_VERTEX_ARRAY_POINTER_EXT = $808E;
  747. GL_NORMAL_ARRAY_POINTER_EXT = $808F;
  748. GL_COLOR_ARRAY_POINTER_EXT = $8090;
  749. GL_INDEX_ARRAY_POINTER_EXT = $8091;
  750. GL_TEXTURE_COORD_ARRAY_POINTER_EXT = $8092;
  751. GL_EDGE_FLAG_ARRAY_POINTER_EXT = $8093;
  752. // GL_EXT_texture_object
  753. GL_TEXTURE_PRIORITY_EXT = $8066;
  754. GL_TEXTURE_RESIDENT_EXT = $8067;
  755. GL_TEXTURE_1D_BINDING_EXT = $8068;
  756. GL_TEXTURE_2D_BINDING_EXT = $8069;
  757. // GL_EXT_texture3D
  758. GL_PACK_SKIP_IMAGES_EXT = $806B;
  759. GL_PACK_IMAGE_HEIGHT_EXT = $806C;
  760. GL_UNPACK_SKIP_IMAGES_EXT = $806D;
  761. GL_UNPACK_IMAGE_HEIGHT_EXT = $806E;
  762. GL_TEXTURE_3D_EXT = $806F;
  763. GL_PROXY_TEXTURE_3D_EXT = $8070;
  764. GL_TEXTURE_DEPTH_EXT = $8071;
  765. GL_TEXTURE_WRAP_R_EXT = $8072;
  766. GL_MAX_3D_TEXTURE_SIZE_EXT = $8073;
  767. GL_TEXTURE_3D_BINDING_EXT = $806A;
  768. // GL_EXT_paletted_texture
  769. GL_TABLE_TOO_LARGE_EXT = $8031;
  770. GL_COLOR_TABLE_FORMAT_EXT = $80D8;
  771. GL_COLOR_TABLE_WIDTH_EXT = $80D9;
  772. GL_COLOR_TABLE_RED_SIZE_EXT = $80DA;
  773. GL_COLOR_TABLE_GREEN_SIZE_EXT = $80DB;
  774. GL_COLOR_TABLE_BLUE_SIZE_EXT = $80DC;
  775. GL_COLOR_TABLE_ALPHA_SIZE_EXT = $80DD;
  776. GL_COLOR_TABLE_LUMINANCE_SIZE_EXT = $80DE;
  777. GL_COLOR_TABLE_INTENSITY_SIZE_EXT = $80DF;
  778. GL_TEXTURE_INDEX_SIZE_EXT = $80ED;
  779. GL_COLOR_INDEX1_EXT = $80E2;
  780. GL_COLOR_INDEX2_EXT = $80E3;
  781. GL_COLOR_INDEX4_EXT = $80E4;
  782. GL_COLOR_INDEX8_EXT = $80E5;
  783. GL_COLOR_INDEX12_EXT = $80E6;
  784. GL_COLOR_INDEX16_EXT = $80E7;
  785. // GL_EXT_shared_texture_palette
  786. GL_SHARED_TEXTURE_PALETTE_EXT = $81FB;
  787. // GL_EXT_point_parameters
  788. GL_POINT_SIZE_MIN_EXT = $8126;
  789. GL_POINT_SIZE_MAX_EXT = $8127;
  790. GL_POINT_FADE_THRESHOLD_SIZE_EXT = $8128;
  791. GL_DISTANCE_ATTENUATION_EXT = $8129;
  792. // GL_EXT_rescale_normal
  793. GL_RESCALE_NORMAL_EXT = $803A;
  794. // GL_EXT_abgr
  795. GL_ABGR_EXT = $8000;
  796. const
  797. // GL_EXT_multitexture
  798. GL_SELECTED_TEXTURE_EXT = $83C0;
  799. GL_SELECTED_TEXTURE_COORD_SET_EXT = $83C1;
  800. GL_SELECTED_TEXTURE_TRANSFORM_EXT = $83C2;
  801. GL_MAX_TEXTURES_EXT = $83C3;
  802. GL_MAX_TEXTURE_COORD_SETS_EXT = $83C4;
  803. GL_TEXTURE_ENV_COORD_SET_EXT = $83C5;
  804. GL_TEXTURE0_EXT = $83C6;
  805. GL_TEXTURE1_EXT = $83C7;
  806. GL_TEXTURE2_EXT = $83C8;
  807. GL_TEXTURE3_EXT = $83C9;
  808. {$ENDIF EXTENSIONS}
  809. {$IFDEF SGI_EXTENSIONS}
  810. const
  811. // GL_SGIS_multitexture
  812. GL_SELECTED_TEXTURE_SGIS = $835C;
  813. GL_SELECTED_TEXTURE_COORD_SET_SGIS = $835D;
  814. GL_MAX_TEXTURES_SGIS = $835E;
  815. GL_TEXTURE0_SGIS = $835F;
  816. GL_TEXTURE1_SGIS = $8360;
  817. GL_TEXTURE2_SGIS = $8361;
  818. GL_TEXTURE3_SGIS = $8362;
  819. GL_TEXTURE_COORD_SET_SOURCE_SGIS = $8363;
  820. const
  821. // GL_SGIS_texture_edge_clamp
  822. GL_CLAMP_TO_EDGE_SGIS = $812F;
  823. {$ENDIF SGI_EXTENSIONS}
  824. {$IFDEF MESA}
  825. {$ENDIF MESA}
  826. // -------------------------------------------------------
  827. // GL procedures and functions
  828. // -------------------------------------------------------
  829. {$IFDEF GL1_0}
  830. // Miscellaneous
  831. procedure glClearIndex(c: Single); ogl_dll;
  832. procedure glClearColor(red, green, blue, alpha: GLclampf); ogl_dll;
  833. procedure glClear(mask: GLbitfield); ogl_dll;
  834. procedure glIndexMask(mask: LongWord); ogl_dll;
  835. procedure glColorMask(red, green, blue, alpha: GLboolean); ogl_dll;
  836. procedure glAlphaFunc(func: GLenum; ref: GLclampf); ogl_dll;
  837. procedure glBlendFunc(sfactor, dfactor: GLenum); ogl_dll;
  838. procedure glLogicOp(opcode: GLenum); ogl_dll;
  839. procedure glCullFace(mode: GLenum); ogl_dll;
  840. procedure glFrontFace(mode: GLenum); ogl_dll;
  841. procedure glPointSize(size: Single); ogl_dll;
  842. procedure glLineWidth(width: Single); ogl_dll;
  843. procedure glLineStipple(factor: LongInt; pattern: Word); ogl_dll;
  844. procedure glPolygonMode(face, mode: GLenum); ogl_dll;
  845. procedure glPolygonOffset(factor, units: Single); ogl_dll;
  846. procedure glPolygonStipple(var mask: Byte); ogl_dll;
  847. procedure glGetPolygonStipple(var mask: Byte); ogl_dll;
  848. procedure glEdgeFlag(flag: GLBoolean); ogl_dll;
  849. procedure glEdgeFlagv(var flag: GLBoolean); ogl_dll;
  850. procedure glScissor(x, y, width, height: LongInt); ogl_dll;
  851. procedure glClipPlane(plane: GLenum; var equation: Double); ogl_dll;
  852. procedure glGetClipPlane(plane: GLenum; var equation: Double); ogl_dll;
  853. procedure glDrawBuffer(mode: GLenum); ogl_dll;
  854. procedure glReadBuffer(mode: GLenum); ogl_dll;
  855. procedure glEnable(cap: LongInt); ogl_dll;
  856. procedure glDisable(cap: LongInt); ogl_dll;
  857. function glIsEnabled(cap: GLenum): GLBoolean; ogl_dll;
  858. procedure glGetBooleanv(pname: GLenum; params : PGLBoolean); ogl_dll;
  859. procedure glGetDoublev(pname: GLenum; params : PDouble); ogl_dll;
  860. procedure glGetFloatv(pname: GLenum; params : PSingle); ogl_dll;
  861. procedure glGetIntegerv(pname: GLenum; params : PLongInt); ogl_dll;
  862. procedure glPushAttrib(mask: GLbitfield); ogl_dll;
  863. procedure glPopAttrib; ogl_dll;
  864. function glRenderMode(mode: GLenum): LongInt; ogl_dll;
  865. function glGetError: GLenum; ogl_dll;
  866. function glGetString(name: GLenum): PChar; ogl_dll;
  867. procedure glFinish; ogl_dll;
  868. procedure glFlush; ogl_dll;
  869. procedure glHint(target, mode: GLenum); ogl_dll;
  870. // Depth Buffer
  871. procedure glClearDepth(depth: GLclampd); ogl_dll;
  872. procedure glDepthFunc(func: LongInt); ogl_dll;
  873. procedure glDepthMask(flag: GLBoolean); ogl_dll;
  874. procedure glDepthRange(near_val, far_val: GLclampd); ogl_dll;
  875. // Accumulation Buffer
  876. procedure glClearAccum(red, green, blue, alpha: Single); ogl_dll;
  877. procedure glAccum(op: GLenum; value: Single); ogl_dll;
  878. // Tranformation
  879. procedure glMatrixMode(mode: GLenum); ogl_dll;
  880. procedure glOrtho(left, right, bottom, top, near_val, far_val: Double); ogl_dll;
  881. procedure glFrustum(left, right, bottom, top, near_val, far_val: Double); ogl_dll;
  882. procedure glViewport(x, y, width, height: LongInt); ogl_dll;
  883. procedure glPushMatrix; ogl_dll;
  884. procedure glPopMatrix; ogl_dll;
  885. procedure glLoadIdentity; ogl_dll;
  886. procedure glLoadMatrixd(var m: Double); ogl_dll;
  887. procedure glLoadMatrixf(var m: PSingle); ogl_dll;
  888. procedure glMultMatrixd(var m: Double); ogl_dll;
  889. procedure glMultMatrixf(var m: Single); ogl_dll;
  890. procedure glRotated(angle, x, y, z: Double); ogl_dll;
  891. procedure glRotatef(angle, x, y, z: Single); ogl_dll;
  892. procedure glScaled(x, y, z: Double); ogl_dll;
  893. procedure glScalef(x, y, z: Single); ogl_dll;
  894. procedure glTranslated(x, y, z: Double); ogl_dll;
  895. procedure glTranslatef(x, y, z: Single); ogl_dll;
  896. // Display Lists
  897. function glIsList(list: LongWord): GLBoolean; ogl_dll;
  898. procedure glDeleteLists(list: LongWord; range: LongInt); ogl_dll;
  899. function glGenLists(range: LongInt): LongWord; ogl_dll;
  900. procedure glNewList(list: LongWord; mode: GLenum); ogl_dll;
  901. procedure glEndList; ogl_dll;
  902. procedure glCallList(list: LongWord); ogl_dll;
  903. procedure glCallLists(n: LongInt; AType: GLenum; var lists); ogl_dll;
  904. procedure glListBase(base: LongWord); ogl_dll;
  905. // Drawing Functions
  906. procedure glBegin(mode: GLenum); ogl_dll;
  907. procedure glEnd; ogl_dll;
  908. procedure glVertex2d(x, y: Double); ogl_dll;
  909. procedure glVertex2f(x, y: Single); ogl_dll;
  910. procedure glVertex2i(x, y: LongInt); ogl_dll;
  911. procedure glVertex2s(x, y: SmallInt); ogl_dll;
  912. procedure glVertex3d(x, y, z: Double); ogl_dll;
  913. procedure glVertex3f(x, y, z: Single); ogl_dll;
  914. procedure glVertex3i(x, y, z: LongInt); ogl_dll;
  915. procedure glVertex3s(x, y, z: SmallInt); ogl_dll;
  916. procedure glVertex4d(x, y, z, w: Double); ogl_dll;
  917. procedure glVertex4f(x, y, z, w: Single); ogl_dll;
  918. procedure glVertex4i(x, y, z, w: LongInt); ogl_dll;
  919. procedure glVertex4s(x, y, z, w: SmallInt); ogl_dll;
  920. procedure glVertex2dv(var v: Double); ogl_dll;
  921. procedure glVertex2fv(var v: Single); ogl_dll;
  922. procedure glVertex2iv(var v: LongInt); ogl_dll;
  923. procedure glVertex2sv(var v: SmallInt); ogl_dll;
  924. procedure glVertex3dv(var v: Double); ogl_dll;
  925. procedure glVertex3fv(var v: Single); ogl_dll;
  926. procedure glVertex3iv(var v: LongInt); ogl_dll;
  927. procedure glVertex3sv(var v: SmallInt); ogl_dll;
  928. procedure glVertex4dv(var v: Double); ogl_dll;
  929. procedure glVertex4fv(var v: Single); ogl_dll;
  930. procedure glVertex4iv(var v: LongInt); ogl_dll;
  931. procedure glVertex4sv(var v: SmallInt); ogl_dll;
  932. procedure glNormal3b(nx, ny, nz: Byte); ogl_dll;
  933. procedure glNormal3d(nx, ny, nz: Double); ogl_dll;
  934. procedure glNormal3f(nx, ny, nz: Single); ogl_dll;
  935. procedure glNormal3i(nx, ny, nz: LongInt); ogl_dll;
  936. procedure glNormal3s(nx, ny, nz: SmallInt); ogl_dll;
  937. procedure glNormal3bv(var v: ShortInt); ogl_dll;
  938. procedure glNormal3dv(var v: Double); ogl_dll;
  939. procedure glNormal3fv(var v: Single); ogl_dll;
  940. procedure glNormal3iv(var v: LongInt); ogl_dll;
  941. procedure glNormal3sv(var v: SmallInt); ogl_dll;
  942. procedure glIndexd(c: Double); ogl_dll;
  943. procedure glIndexf(c: Single); ogl_dll;
  944. procedure glIndexi(c: LongInt); ogl_dll;
  945. procedure glIndexs(c: SmallInt); ogl_dll;
  946. procedure glIndexdv(var c: Double); ogl_dll;
  947. procedure glIndexfv(var c: Single); ogl_dll;
  948. procedure glIndexiv(var c: LongInt); ogl_dll;
  949. procedure glIndexsv(var c: SmallInt); ogl_dll;
  950. procedure glColor3b(red, green, blue: ShortInt); ogl_dll;
  951. procedure glColor3d(red, green, blue: Double); ogl_dll;
  952. procedure glColor3f(red, green, blue: Single); ogl_dll;
  953. procedure glColor3i(red, green, blue: LongInt); ogl_dll;
  954. procedure glColor3s(red, green, blue: SmallInt); ogl_dll;
  955. procedure glColor3ub(red, green, blue: Byte); ogl_dll;
  956. procedure glColor3ui(red, green, blue: LongWord); ogl_dll;
  957. procedure glColor3us(red, green, blue: Word); ogl_dll;
  958. procedure glColor4b(red, green, blue, alpha: ShortInt); ogl_dll;
  959. procedure glColor4d(red, green, blue, alpha: Double); ogl_dll;
  960. procedure glColor4f(red, green, blue, alpha: Single); ogl_dll;
  961. procedure glColor4i(red, green, blue, alpha: LongInt); ogl_dll;
  962. procedure glColor4s(red, green, blue, alpha: SmallInt); ogl_dll;
  963. procedure glColor4ub(red, green, blue, alpha: Byte); ogl_dll;
  964. procedure glColor4ui(red, green, blue, alpha: LongWord); ogl_dll;
  965. procedure glColor4us(red, green, blue, alpha: Word); ogl_dll;
  966. procedure glColor3bv(var v: ShortInt); ogl_dll;
  967. procedure glColor3dv(var v: Double); ogl_dll;
  968. procedure glColor3fv(var v: Single); ogl_dll;
  969. procedure glColor3iv(var v: LongInt); ogl_dll;
  970. procedure glColor3sv(var v: SmallInt); ogl_dll;
  971. procedure glColor3ubv(var v: Byte); ogl_dll;
  972. procedure glColor3uiv(var v: LongWord); ogl_dll;
  973. procedure glColor3usv(var v: Word); ogl_dll;
  974. procedure glColor4bv(var v: ShortInt); ogl_dll;
  975. procedure glColor4dv(var v: Double); ogl_dll;
  976. procedure glColor4fv(var v: Single); ogl_dll;
  977. procedure glColor4iv(var v: LongInt); ogl_dll;
  978. procedure glColor4sv(var v: SmallInt); ogl_dll;
  979. procedure glColor4ubv(var v: Byte); ogl_dll;
  980. procedure glColor4uiv(var v: LongWord); ogl_dll;
  981. procedure glColor4usv(var v: Word); ogl_dll;
  982. procedure glTexCoord1d(s: Double); ogl_dll;
  983. procedure glTexCoord1f(s: Single); ogl_dll;
  984. procedure glTexCoord1i(s: LongInt); ogl_dll;
  985. procedure glTexCoord1s(s: SmallInt); ogl_dll;
  986. procedure glTexCoord2d(s, t: Double); ogl_dll;
  987. procedure glTexCoord2f(s, t: Single); ogl_dll;
  988. procedure glTexCoord2i(s, t: LongInt); ogl_dll;
  989. procedure glTexCoord2s(s, t: SmallInt); ogl_dll;
  990. procedure glTexCoord3d(s, t, r: Double); ogl_dll;
  991. procedure glTexCoord3f(s, t, r: Single); ogl_dll;
  992. procedure glTexCoord3i(s, t, r: LongInt); ogl_dll;
  993. procedure glTexCoord3s(s, t, r: SmallInt); ogl_dll;
  994. procedure glTexCoord4d(s, t, r, q: Double); ogl_dll;
  995. procedure glTexCoord4f(s, t, r, q: Single); ogl_dll;
  996. procedure glTexCoord4i(s, t, r, q: LongInt); ogl_dll;
  997. procedure glTexCoord4s(s, t, r, q: SmallInt); ogl_dll;
  998. procedure glTexCoord1dv(var v: Double); ogl_dll;
  999. procedure glTexCoord1fv(var v: Single); ogl_dll;
  1000. procedure glTexCoord1iv(var v: LongInt); ogl_dll;
  1001. procedure glTexCoord1sv(var v: SmallInt); ogl_dll;
  1002. procedure glTexCoord2dv(var v: Double); ogl_dll;
  1003. procedure glTexCoord2fv(var v: Single); ogl_dll;
  1004. procedure glTexCoord2iv(var v: LongInt); ogl_dll;
  1005. procedure glTexCoord2sv(var v: SmallInt); ogl_dll;
  1006. procedure glTexCoord3dv(var v: Double); ogl_dll;
  1007. procedure glTexCoord3fv(var v: Single); ogl_dll;
  1008. procedure glTexCoord3iv(var v: LongInt); ogl_dll;
  1009. procedure glTexCoord3sv(var v: SmallInt); ogl_dll;
  1010. procedure glTexCoord4dv(var v: Double); ogl_dll;
  1011. procedure glTexCoord4fv(var v: Single); ogl_dll;
  1012. procedure glTexCoord4iv(var v: LongInt); ogl_dll;
  1013. procedure glTexCoord4sv(var v: SmallInt); ogl_dll;
  1014. procedure glRasterPos2d(x, y: Double); ogl_dll;
  1015. procedure glRasterPos2f(x, y: Single); ogl_dll;
  1016. procedure glRasterPos2i(x, y: LongInt); ogl_dll;
  1017. procedure glRasterPos2s(x, y: SmallInt); ogl_dll;
  1018. procedure glRasterPos3d(x, y, z: Double); ogl_dll;
  1019. procedure glRasterPos3f(x, y, z: Single); ogl_dll;
  1020. procedure glRasterPos3i(x, y, z: LongInt); ogl_dll;
  1021. procedure glRasterPos3s(x, y, z: SmallInt); ogl_dll;
  1022. procedure glRasterPos4d(x, y, z, w: Double); ogl_dll;
  1023. procedure glRasterPos4f(x, y, z, w: Single); ogl_dll;
  1024. procedure glRasterPos4i(x, y, z, w: LongInt); ogl_dll;
  1025. procedure glRasterPos4s(x, y, z, w: SmallInt); ogl_dll;
  1026. procedure glRasterPos2dv(var v: Double); ogl_dll;
  1027. procedure glRasterPos2fv(var v: Single); ogl_dll;
  1028. procedure glRasterPos2iv(var v: LongInt); ogl_dll;
  1029. procedure glRasterPos2sv(var v: SmallInt); ogl_dll;
  1030. procedure glRasterPos3dv(var v: Double); ogl_dll;
  1031. procedure glRasterPos3fv(var v: Single); ogl_dll;
  1032. procedure glRasterPos3iv(var v: LongInt); ogl_dll;
  1033. procedure glRasterPos3sv(var v: SmallInt); ogl_dll;
  1034. procedure glRasterPos4dv(var v: Double); ogl_dll;
  1035. procedure glRasterPos4fv(var v: Single); ogl_dll;
  1036. procedure glRasterPos4iv(var v: LongInt); ogl_dll;
  1037. procedure glRasterPos4sv(var v: SmallInt); ogl_dll;
  1038. procedure glRectd(x1, y1, x2, y2: Double); ogl_dll;
  1039. procedure glRectf(x1, y1, x2, y2: Single); ogl_dll;
  1040. procedure glRecti(x1, y1, x2, y2: LongInt); ogl_dll;
  1041. procedure glRects(x1, y1, x2, y2: SmallInt); ogl_dll;
  1042. procedure glRectdv(var v1, v2: Double); ogl_dll;
  1043. procedure glRectfv(var v1, v2: Single); ogl_dll;
  1044. procedure glRectiv(var v1, v2: LongInt); ogl_dll;
  1045. procedure glRectsv(var v1, v2: SmallInt); ogl_dll;
  1046. // Lighting
  1047. procedure glShadeModel(mode: GLenum); ogl_dll;
  1048. procedure glLightf(light, pname: GLenum; param: Single); ogl_dll;
  1049. procedure glLighti(light, pname: GLenum; param: LongInt); ogl_dll;
  1050. procedure glLightfv(light, pname: GLenum; params : PSingle); ogl_dll;
  1051. procedure glLightiv(light, pname: GLenum; params : PLongInt); ogl_dll;
  1052. procedure glGetLightfv(light, pname: GLenum; params : PSingle); ogl_dll;
  1053. procedure glGetLightiv(light, pname: GLenum; params : PLongInt); ogl_dll;
  1054. procedure glLightModelf(pname: GLenum; param: Single); ogl_dll;
  1055. procedure glLightModeli(pname: GLenum; param: LongInt); ogl_dll;
  1056. procedure glLightModelfv(pname: GLenum; params : PSingle); ogl_dll;
  1057. procedure glLightModeliv(pname: GLenum; params : PLongInt); ogl_dll;
  1058. procedure glMaterialf(face, pname: GLenum; param: Single); ogl_dll;
  1059. procedure glMateriali(face, pname: GLenum; param: LongInt); ogl_dll;
  1060. procedure glMaterialfv(face, pname: GLenum; params : PSingle); ogl_dll;
  1061. procedure glMaterialiv(face, pname: GLenum; params : PLongInt); ogl_dll;
  1062. procedure glGetMaterialfv(face, pname: GLenum; params : PSingle); ogl_dll;
  1063. procedure glGetMaterialiv(face, pname: GLenum; params : PLongInt); ogl_dll;
  1064. procedure glColorMaterial(face, mode: GLenum); ogl_dll;
  1065. // Raster Functions
  1066. procedure glPixelZoom(xfactor, yfactor: Single); ogl_dll;
  1067. procedure glPixelStoref(pname: GLenum; param: Single); ogl_dll;
  1068. procedure glPixelStorei(pname: GLenum; param: LongInt); ogl_dll;
  1069. procedure glPixelTransferf(pname: GLenum; param: Single); ogl_dll;
  1070. procedure glPixelTransferi(pname: GLenum; param: LongInt); ogl_dll;
  1071. procedure glPixelMapfv(map: GLenum; mapsize: LongInt; var values: Single); ogl_dll;
  1072. procedure glPixelMapuiv(map: GLenum; mapsize: LongInt; var values: LongWord); ogl_dll;
  1073. procedure glPixelMapusv(map: GLenum; mapsize: LongInt; var values: Word); ogl_dll;
  1074. procedure glGetPixelMapfv(map: GLenum; var values: Single); ogl_dll;
  1075. procedure glGetPixelMapuiv(map: GLenum; var values: LongWord); ogl_dll;
  1076. procedure glGetPixelMapusv(map: GLenum; var values: Word); ogl_dll;
  1077. procedure glBitmap(width, height: LongInt; xorig, yorig, xmove, ymove: Single; var bitmap); ogl_dll;
  1078. procedure glReadPixels(x, y, width, height: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1079. procedure glDrawPixels(width, height: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1080. procedure glCopyPixels(x, y, width, height: LongInt; AType: GLenum); ogl_dll;
  1081. // Stenciling
  1082. procedure glStencilFunc(func: GLenum; ref: LongInt; mask: LongWord); ogl_dll;
  1083. procedure glStencilMask(mask: LongWord); ogl_dll;
  1084. procedure glStencilOp(fail, zfail, zpass: GLenum); ogl_dll;
  1085. procedure glClearStencil(s: LongInt); ogl_dll;
  1086. // Texture Mapping
  1087. procedure glTexGend(cord, pname: GLenum; param: Double); ogl_dll;
  1088. procedure glTexGenf(cord, pname: GLenum; param: Single); ogl_dll;
  1089. procedure glTexGeni(cord, pname: GLenum; param: LongInt); ogl_dll;
  1090. procedure glTexGendv(cord, pname: GLenum; params : PDouble); ogl_dll;
  1091. procedure glTexGenfv(cord, pname: GLenum; params : PSingle); ogl_dll;
  1092. procedure glTexGeniv(cord, pname: GLenum; params : PLongInt); ogl_dll;
  1093. procedure glGetTexGendv(cord, pname: GLenum; params : PDouble); ogl_dll;
  1094. procedure glGetTexGenfv(cord, pname: GLenum; params : PSingle); ogl_dll;
  1095. procedure glGetTexGeniv(cord, pname: GLenum; params : PLongInt); ogl_dll;
  1096. procedure glTexEnvf(target, pname: GLenum; param: Single); ogl_dll;
  1097. procedure glTexEnvi(target, pname: GLenum; param: LongInt); ogl_dll;
  1098. procedure glTexEnvfv(target, pname: GLenum; params : PSingle); ogl_dll;
  1099. procedure glTexEnviv(target, pname: GLenum; params : PLongInt); ogl_dll;
  1100. procedure glGetTexEnvfv(target, pname: GLenum; params : PSingle); ogl_dll;
  1101. procedure glGetTexEnviv(target, pname: GLenum; params : PLongInt); ogl_dll;
  1102. procedure glTexParameterf(target, pname: GLenum; param: Single); ogl_dll;
  1103. procedure glTexParameteri(target, pname: GLenum; param: LongInt); ogl_dll;
  1104. procedure glTexParameterfv(target, pname: GLenum; params : PSingle); ogl_dll;
  1105. procedure glTexParameteriv(target, pname: GLenum; params : PLongInt); ogl_dll;
  1106. procedure glGetTexParameterfv(target, pname: GLenum; params : PSingle); ogl_dll;
  1107. procedure glGetTexParameteriv(target, pname: GLenum; params : PLongInt); ogl_dll;
  1108. procedure glGetTexLevelParameterfv(target: GLenum; level: LongInt; pname: GLenum; params : PSingle); ogl_dll;
  1109. procedure glGetTexLevelParameteriv(target: GLenum; level: LongInt; pname: GLenum; params : PLongInt); ogl_dll;
  1110. procedure glTexImage1D(target: GLenum; level, internalFormat, width, border: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1111. procedure glTexImage2D(target: GLenum; level, internalFormat, width, height, border: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1112. procedure glGetTexImage(target: GLenum; level: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1113. // Evaluators
  1114. procedure glMap1d(target: GLenum; u1, u2: Double; stride, order: LongInt; var points: Double); ogl_dll;
  1115. procedure glMap1f(target: GLenum; u1, u2: Single; stride, order: LongInt; var points: Single); ogl_dll;
  1116. procedure glMap2d(target: GLenum; u1, u2: Double; ustride, uorder: LongInt; v1, v2: Double; vstride, vorder: LongInt; var points: Double); ogl_dll;
  1117. procedure glMap2f(target: GLenum; u1, u2: Single; ustride, uorder: LongInt; v1, v2: Single; vstride, vorder: LongInt; var points: Single); ogl_dll;
  1118. procedure glGetMapdv(target, query: GLenum; var v: Double); ogl_dll;
  1119. procedure glGetMapfv(target, query: GLenum; var v: Single); ogl_dll;
  1120. procedure glGetMapiv(target, query: GLenum; var v: LongInt); ogl_dll;
  1121. procedure glEvalCoord1d(u: Double); ogl_dll;
  1122. procedure glEvalCoord1f(u: Single); ogl_dll;
  1123. procedure glEvalCoord1dv(var u: Double); ogl_dll;
  1124. procedure glEvalCoord1fv(var u: Single); ogl_dll;
  1125. procedure glEvalCoord2d(u, v: Double); ogl_dll;
  1126. procedure glEvalCoord2f(u, v: Single); ogl_dll;
  1127. procedure glEvalCoord2dv(var u, v: Double); ogl_dll;
  1128. procedure glEvalCoord2fv(var u, v: Single); ogl_dll;
  1129. procedure glMapGrid1d(un: LongInt; u1, u2: Double); ogl_dll;
  1130. procedure glMapGrid1f(un: LongInt; u1, u2: Single); ogl_dll;
  1131. procedure glMapGrid2d(un: LongInt; u1, u2: Double; vn: LongInt; v1, v2: Double); ogl_dll;
  1132. procedure glMapGrid2f(un: LongInt; u1, u2: Single; vn: LongInt; v1, v2: Single); ogl_dll;
  1133. procedure glEvalPoint1(i: LongInt); ogl_dll;
  1134. procedure glEvalPoint2(i, j: LongInt); ogl_dll;
  1135. procedure glEvalMesh1(mode: GLenum; i1, i2: LongInt); ogl_dll;
  1136. procedure glEvalMesh2(mode: GLenum; i1, i2, j1, j2: LongInt); ogl_dll;
  1137. // Fog
  1138. procedure glFogf(pname: GLenum; param: Single); ogl_dll;
  1139. procedure glFogi(pname: GLenum; param: LongInt); ogl_dll;
  1140. procedure glFogfv(pname: GLenum; params : PSingle); ogl_dll;
  1141. procedure glFogiv(pname: GLenum; params : PLongInt); ogl_dll;
  1142. // Selection and Feedback
  1143. procedure glFeedbackBuffer(size: LongInt; AType: GLenum; var buffer: Single); ogl_dll;
  1144. procedure glPassThrough(token: Single); ogl_dll;
  1145. procedure glSelectBuffer(size: LongInt; var buffer: LongWord); ogl_dll;
  1146. procedure glInitNames; ogl_dll;
  1147. procedure glLoadName(name: LongWord); ogl_dll;
  1148. procedure glPushName(name: LongWord); ogl_dll;
  1149. procedure glPopName; ogl_dll;
  1150. {$ENDIF GL1_0}
  1151. {$IFDEF GL1_1}
  1152. // Miscellaneous
  1153. procedure glEnableClientState(cap: GLenum); ogl_dll;
  1154. procedure glDisableClientState(cap: GLenum); ogl_dll;
  1155. procedure glPushClientAttrib(mask: GLbitfield); ogl_dll;
  1156. procedure glPopClientAttrib; ogl_dll;
  1157. // Drawing Functions
  1158. procedure glIndexub(c: Byte); ogl_dll;
  1159. procedure glIndexubv(var c: Byte); ogl_dll;
  1160. // Vertex Arrays
  1161. procedure glVertexPointer(size: LongInt; AType: GLenum; stride: LongInt; var ptr); ogl_dll;
  1162. procedure glNormalPointer(AType: GLenum; stride: LongInt; var ptr); ogl_dll;
  1163. procedure glColorPointer(size: LongInt; AType: GLenum; stride: LongInt; var ptr); ogl_dll;
  1164. procedure glIndexPointer(AType: GLenum; stride: LongInt; var ptr); ogl_dll;
  1165. procedure glTexCoordPointer(size: LongInt; AType: GLenum; stride: LongInt; var ptr); ogl_dll;
  1166. procedure glEdgeFlagPointer(stride: LongInt; var ptr); ogl_dll;
  1167. procedure glGetPointerv(pname: GLenum; var params: Pointer); ogl_dll;
  1168. procedure glArrayElement(i: LongInt); ogl_dll;
  1169. procedure glDrawArrays(mode: GLenum; first, count: LongInt); ogl_dll;
  1170. procedure glDrawElements(mode: GLenum; count: Integer; AType: GLenum; var indices); ogl_dll;
  1171. procedure glInterleavedArrays(format: GLenum; stride: LongInt; var pointer); ogl_dll;
  1172. // Texture Mapping
  1173. procedure glGenTextures(n: LongInt; var textures: LongWord); ogl_dll;
  1174. procedure glDeleteTextures(n: LongInt; var textures: LongWord); ogl_dll;
  1175. procedure glBindTexture(target: GLenum; texture: LongWord); ogl_dll;
  1176. procedure glPrioritizeTextures(n: LongInt; var textures: LongWord; var priorities: GLclampf); ogl_dll;
  1177. function glAreTexturesResident(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean; ogl_dll;
  1178. function glIsTexture(texture: LongWord): Boolean; ogl_dll;
  1179. procedure glTexSubImage1D(target: GLenum; level, xoffset, width: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1180. procedure glTexSubImage2D(target: GLenum; level, xoffset, yoffset, width, height: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1181. procedure glCopyTexImage1D(target: GLenum; level: LongInt; format: GLenum; x, y, width, border: LongInt); ogl_dll;
  1182. procedure glCopyTexImage2D(target: GLenum; level: LongInt; format: GLenum; x, y, width, height, border: LongInt); ogl_dll;
  1183. procedure glCopyTexSubImage1D(target: GLenum; level, xoffset, x, y, width: LongInt); ogl_dll;
  1184. procedure glCopyTexSubImage2D(target: GLenum; level, xoffset, yoffset, x, y, width, height: LongInt); ogl_dll;
  1185. {$ENDIF GL1_1}
  1186. {$IFDEF GL1_2}
  1187. procedure glDrawRangeElements(mode: GLenum; AStart, AEnd: LongWord; count: LongInt; AType: GLenum; var indices); ogl_dll;
  1188. procedure glTexImage3D(target: GLenum; level: LongInt; internalFormat: GLenum; width, height, depth, border: LongInt; format, AType: GLEnum; var pixels); ogl_dll;
  1189. procedure glTexSubImage3D(target: GLenum; level: LongInt; xoffset, yoffset, zoffset, width, height, depth: LongInt; format, AType: GLEnum; var pixels); ogl_dll;
  1190. procedure glCopyTexSubImage3D(target: GLenum; level: LongInt; xoffset, yoffset, zoffset, x, y, width, height: LongInt); ogl_dll;
  1191. {$ENDIF GL1_2}
  1192. // -------------------------------------------------------
  1193. // GL Extensions
  1194. // -------------------------------------------------------
  1195. {$IFDEF EXTENSIONS}
  1196. // === 1.0 Extensions ===
  1197. // GL_EXT_blend_minmax
  1198. procedure glBlendEquationEXT(mode: GLenum); ogl_dll;
  1199. // GL_EXT_blend_color
  1200. procedure glBlendColorEXT(red, green, blue, alpha: GLclampf); ogl_dll;
  1201. // GL_EXT_polygon_offset
  1202. procedure glPolygonOffsetEXT(factor, bias: Single); ogl_dll;
  1203. // GL_EXT_vertex_array
  1204. procedure glVertexPointerEXT(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
  1205. procedure glNormalPointerEXT(AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
  1206. procedure glColorPointerEXT(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
  1207. procedure glIndexPointerEXT(AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
  1208. procedure glTexCoordPointerEXT(size: LongInt; AType: GLenum; stride, count: LongInt; var ptr); ogl_dll;
  1209. procedure glEdgeFlagPointerEXT(stride, count: LongInt; var ptr: Boolean); ogl_dll;
  1210. procedure glGetPointervEXT(pname: GLenum; var params: Pointer); ogl_dll;
  1211. procedure glArrayElementEXT(i: LongInt); ogl_dll;
  1212. procedure glDrawArraysEXT(mode: GLEnum; first, count: LongInt); ogl_dll;
  1213. // GL_EXT_texture_object
  1214. procedure glGenTexturesEXT(n: LongInt; var textures: LongWord); ogl_dll;
  1215. procedure glDeleteTexturesEXT(n: LongInt; var textures: LongWord); ogl_dll;
  1216. procedure glBindTextureEXT(target: GLenum; texture: LongWord); ogl_dll;
  1217. procedure glPrioritizeTexturesEXT(n: LongInt; var textures: LongWord; var priorities: GLClampf); ogl_dll;
  1218. function glAreTexturesResidentEXT(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean; ogl_dll;
  1219. function glIsTextureEXT(texture: LongWord): Boolean; ogl_dll;
  1220. // GL_EXT_texture3D
  1221. procedure glTexImage3DEXT(target: GLenum; level: LongInt; internalFormat: GLenum; width, height, depth, border: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1222. procedure glTexSubImage3DEXT(target: GLenum; level, xoffset, yoffset, zoffset, width, height, depth: LongInt; format, AType: GLenum; var pixels); ogl_dll;
  1223. procedure glCopyTexSubImage3DEXT(target: GLenum; level, xoffset, yoffset, zoffset, x, y, width, height: LongInt); ogl_dll;
  1224. // GL_EXT_color_table
  1225. procedure glColorTableEXT(target, internalformat: GLenum; width: LongInt; format, AType: GLenum; var table); ogl_dll;
  1226. procedure glColorSubTableEXT(target: GLenum; start, count: LongInt; format, AType: GLEnum; var data); ogl_dll;
  1227. procedure glGetColorTableEXT(target, format, AType: GLenum; var table); ogl_dll;
  1228. procedure glGetColorTableParameterfvEXT(target, pname: GLenum; var params: Single); ogl_dll;
  1229. procedure glGetColorTableParameterivEXT(target, pname: GLenum; var params: LongInt); ogl_dll;
  1230. {$ENDIF EXTENSIONS}
  1231. // library dependent extensions
  1232. {$IFDEF SGI_EXTENSIONS}
  1233. // GL_SGIS_multitexture
  1234. procedure glMultiTexCoord1dSGIS(target: GLenum; s: Double); ogl_dll;
  1235. procedure glMultiTexCoord1dvSGIS(target: GLenum; var v: Double); ogl_dll;
  1236. procedure glMultiTexCoord1fSGIS(target: GLenum; s: Single); ogl_dll;
  1237. procedure glMultiTexCoord1fvSGIS(target: GLenum; var v: Single); ogl_dll;
  1238. procedure glMultiTexCoord1iSGIS(target: GLenum; s: LongInt); ogl_dll;
  1239. procedure glMultiTexCoord1ivSGIS(target: GLenum; var v: LongInt); ogl_dll;
  1240. procedure glMultiTexCoord1sSGIS(target: GLenum; s: ShortInt); ogl_dll;
  1241. procedure glMultiTexCoord1svSGIS(target: GLenum; var v: ShortInt); ogl_dll;
  1242. procedure glMultiTexCoord2dSGIS(target: GLenum; s, t: Double); ogl_dll;
  1243. procedure glMultiTexCoord2dvSGIS(target: GLenum; var v: Double); ogl_dll;
  1244. procedure glMultiTexCoord2fSGIS(target: GLenum; s, t: Single); ogl_dll;
  1245. procedure glMultiTexCoord2fvSGIS(target: GLenum; var v: Single); ogl_dll;
  1246. procedure glMultiTexCoord2iSGIS(target: GLenum; s, t: LongInt); ogl_dll;
  1247. procedure glMultiTexCoord2ivSGIS(target: GLenum; var v: LongInt); ogl_dll;
  1248. procedure glMultiTexCoord2sSGIS(target: GLenum; s, t: ShortInt); ogl_dll;
  1249. procedure glMultiTexCoord2svSGIS(target: GLenum; var v: ShortInt); ogl_dll;
  1250. procedure glMultiTexCoord3dSGIS(target: GLenum; s, t, r: Double); ogl_dll;
  1251. procedure glMultiTexCoord3dvSGIS(target: GLenum; var v: Double); ogl_dll;
  1252. procedure glMultiTexCoord3fSGIS(target: GLenum; s, t, r: Single); ogl_dll;
  1253. procedure glMultiTexCoord3fvSGIS(target: GLenum; var v: Single); ogl_dll;
  1254. procedure glMultiTexCoord3iSGIS(target: GLenum; s, t, r: LongInt); ogl_dll;
  1255. procedure glMultiTexCoord3ivSGIS(target: GLenum; var v: LongInt); ogl_dll;
  1256. procedure glMultiTexCoord3sSGIS(target: GLenum; s, t, r: ShortInt); ogl_dll;
  1257. procedure glMultiTexCoord3svSGIS(target: GLenum; var v: ShortInt); ogl_dll;
  1258. procedure glMultiTexCoord4dSGIS(target: GLenum; s, t, r, q: Double); ogl_dll;
  1259. procedure glMultiTexCoord4dvSGIS(target: GLenum; var v: Double); ogl_dll;
  1260. procedure glMultiTexCoord4fSGIS(target: GLenum; s, t, r, q: Single); ogl_dll;
  1261. procedure glMultiTexCoord4fvSGIS(target: GLenum; var v: Single); ogl_dll;
  1262. procedure glMultiTexCoord4iSGIS(target: GLenum; s, t, r, q: LongInt); ogl_dll;
  1263. procedure glMultiTexCoord4ivSGIS(target: GLenum; var v: LongInt); ogl_dll;
  1264. procedure glMultiTexCoord4sSGIS(target: GLenum; s, t, r, q: ShortInt); ogl_dll;
  1265. procedure glMultiTexCoord4svSGIS(target: GLenum; var v: ShortInt); ogl_dll;
  1266. procedure glMultiTexCoordPointerSGIS(target: GLenum; size: LongInt; AType: GLEnum; stride: LongInt; var APointer); ogl_dll;
  1267. procedure glSelectTextureSGIS(target: GLenum); ogl_dll;
  1268. procedure glSelectTextureCoordSetSGIS(target: GLenum); ogl_dll;
  1269. // GL_EXT_multitexture
  1270. procedure glMultiTexCoord1dEXT(target: GLenum; s: Double); ogl_dll;
  1271. procedure glMultiTexCoord1dvEXT(target: GLenum; var v: Double); ogl_dll;
  1272. procedure glMultiTexCoord1fEXT(target: GLenum; s: Single); ogl_dll;
  1273. procedure glMultiTexCoord1fvEXT(target: GLenum; var v: Single); ogl_dll;
  1274. procedure glMultiTexCoord1iEXT(target: GLenum; s: LongInt); ogl_dll;
  1275. procedure glMultiTexCoord1ivEXT(target: GLenum; var v: LongInt); ogl_dll;
  1276. procedure glMultiTexCoord1sEXT(target: GLenum; s: ShortInt); ogl_dll;
  1277. procedure glMultiTexCoord1svEXT(target: GLenum; var v: ShortInt); ogl_dll;
  1278. procedure glMultiTexCoord2dEXT(target: GLenum; s, t: Double); ogl_dll;
  1279. procedure glMultiTexCoord2dvEXT(target: GLenum; var v: Double); ogl_dll;
  1280. procedure glMultiTexCoord2fEXT(target: GLenum; s, t: Single); ogl_dll;
  1281. procedure glMultiTexCoord2fvEXT(target: GLenum; var v: Single); ogl_dll;
  1282. procedure glMultiTexCoord2iEXT(target: GLenum; s, t: LongInt); ogl_dll;
  1283. procedure glMultiTexCoord2ivEXT(target: GLenum; var v: LongInt); ogl_dll;
  1284. procedure glMultiTexCoord2sEXT(target: GLenum; s, t: ShortInt); ogl_dll;
  1285. procedure glMultiTexCoord2svEXT(target: GLenum; var v: ShortInt); ogl_dll;
  1286. procedure glMultiTexCoord3dEXT(target: GLenum; s, t, r: Double); ogl_dll;
  1287. procedure glMultiTexCoord3dvEXT(target: GLenum; var v: Double); ogl_dll;
  1288. procedure glMultiTexCoord3fEXT(target: GLenum; s, t, r: Single); ogl_dll;
  1289. procedure glMultiTexCoord3fvEXT(target: GLenum; var v: Single); ogl_dll;
  1290. procedure glMultiTexCoord3iEXT(target: GLenum; s, t, r: LongInt); ogl_dll;
  1291. procedure glMultiTexCoord3ivEXT(target: GLenum; var v: LongInt); ogl_dll;
  1292. procedure glMultiTexCoord3sEXT(target: GLenum; s, t, r: ShortInt); ogl_dll;
  1293. procedure glMultiTexCoord3svEXT(target: GLenum; var v: ShortInt); ogl_dll;
  1294. procedure glMultiTexCoord4dEXT(target: GLenum; s, t, r, q: Double); ogl_dll;
  1295. procedure glMultiTexCoord4dvEXT(target: GLenum; var v: Double); ogl_dll;
  1296. procedure glMultiTexCoord4fEXT(target: GLenum; s, t, r, q: Single); ogl_dll;
  1297. procedure glMultiTexCoord4fvEXT(target: GLenum; var v: Single); ogl_dll;
  1298. procedure glMultiTexCoord4iEXT(target: GLenum; s, t, r, q: LongInt); ogl_dll;
  1299. procedure glMultiTexCoord4ivEXT(target: GLenum; var v: LongInt); ogl_dll;
  1300. procedure glMultiTexCoord4sEXT(target: GLenum; s, t, r, q: ShortInt); ogl_dll;
  1301. procedure glMultiTexCoord4svEXT(target: GLenum; var v: ShortInt); ogl_dll;
  1302. procedure glInterleavedTextureCoordSetsEXT(factor: LongInt); ogl_dll;
  1303. procedure glSelectTextureEXT(target: GLenum); ogl_dll;
  1304. procedure glSelectTextureCoordSetEXT(target: GLenum); ogl_dll;
  1305. procedure glSelectTextureTransformEXT(target: GLenum); ogl_dll;
  1306. // GL_EXT_point_parameters
  1307. procedure glPointParameterfEXT(pname: GLenum; param: Single); ogl_dll;
  1308. procedure glPointParameterfvEXT(pname: GLenum; var params: Single); ogl_dll;
  1309. {$ENDIF SGI_EXTENSIONS}
  1310. {$ifdef MESA}
  1311. // GL_MESA_window_pos
  1312. procedure glWindowPos2iMESA(x, y: LongInt); ogl_dll;
  1313. procedure glWindowPos2sMESA(x, y: ShortInt); ogl_dll;
  1314. procedure glWindowPos2fMESA(x, y: Single); ogl_dll;
  1315. procedure glWindowPos2dMESA(x, y: Double); ogl_dll;
  1316. procedure glWindowPos2ivMESA(var p: LongInt); ogl_dll;
  1317. procedure glWindowPos2svMESA(var p: ShortInt); ogl_dll;
  1318. procedure glWindowPos2fvMESA(var p: Single); ogl_dll;
  1319. procedure glWindowPos2dvMESA(var p: Double); ogl_dll;
  1320. procedure glWindowPos3iMESA(x, y, z: LongInt); ogl_dll;
  1321. procedure glWindowPos3sMESA(x, y, z: ShortInt); ogl_dll;
  1322. procedure glWindowPos3fMESA(x, y, z: Single); ogl_dll;
  1323. procedure glWindowPos3dMESA(x, y, z: Double); ogl_dll;
  1324. procedure glWindowPos3ivMESA(var p: LongInt); ogl_dll;
  1325. procedure glWindowPos3svMESA(var p: ShortInt); ogl_dll;
  1326. procedure glWindowPos3fvMESA(var p: Single); ogl_dll;
  1327. procedure glWindowPos3dvMESA(var p: Double); ogl_dll;
  1328. procedure glWindowPos4iMESA(x, y, z, w: LongInt); ogl_dll;
  1329. procedure glWindowPos4sMESA(x, y, z, w: ShortInt); ogl_dll;
  1330. procedure glWindowPos4fMESA(x, y, z, w: Single); ogl_dll;
  1331. procedure glWindowPos4dMESA(x, y, z, w: Double); ogl_dll;
  1332. procedure glWindowPos4ivMESA(var p: LongInt); ogl_dll;
  1333. procedure glWindowPos4svMESA(var p: ShortInt); ogl_dll;
  1334. procedure glWindowPos4fvMESA(var p: Single); ogl_dll;
  1335. procedure glWindowPos4dvMESA(var p: Double); ogl_dll;
  1336. // GL_MESA_resize_buffers
  1337. procedure glResizeBuffersMESA; ogl_dll;
  1338. {$endif MESA}
  1339. // =======================================================
  1340. // =======================================================
  1341. implementation
  1342. {BEGIN}{OF INIT}
  1343. END.
  1344. {
  1345. $Log$
  1346. Revision 1.3 2000-10-01 22:17:59 peter
  1347. * new bounce demo
  1348. Revision 1.1.2.2 2000/10/01 22:12:28 peter
  1349. * new demo
  1350. }