gl.def 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037
  1. # This is the definition file for all GL functions and types.
  2. %COPY_INTERFACE
  3. // ===================================================================
  4. // GL consts, types and functions
  5. // ===================================================================
  6. // -------------------------------------------------------------------
  7. // GL types
  8. // -------------------------------------------------------------------
  9. type
  10. PSingle = ^Single;
  11. PDouble = ^Double;
  12. GLclampf = Single; // single precision float in [0,1]
  13. GLclampd = Double; // double precision float in [0,1]
  14. GLenum = Integer;
  15. type
  16. GLbitfield = set of (GL_CURRENT_BIT, GL_POINT_BIT, GL_LINE_BIT,
  17. GL_POLYGON_BIT, GL_POLYGON_STIPPLE_BIT, GL_PIXEL_MODE_BIT,
  18. GL_LIGHTING_BIT, GL_FOG_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT,
  19. GL_STENCIL_BUFFER_BIT, GL_VIEWPORT_BIT, GL_TRANSFORM_BIT, GL_ENABLE_BIT,
  20. GL_COLOR_BUFFER_BIT, GL_HINT_BIT, GL_EVAL_BIT, GL_LIST_BIT, GL_TEXTURE_BIT,
  21. GL_SCISSOR_BIT);
  22. const
  23. GL_ALL_ATTRIB_BITS = [Low(GLbitfield)..High(GLbitfield)];
  24. // -------------------------------------------------------------------
  25. // GL constants
  26. // -------------------------------------------------------------------
  27. const
  28. GL_NO_ERROR = 0;
  29. // Boolean values
  30. GL_FALSE = 0;
  31. GL_TRUE = 1;
  32. // Data types
  33. GL_BYTE = $1400;
  34. GL_UNSIGNED_BYTE = $1401;
  35. GL_SHORT = $1402;
  36. GL_UNSIGNED_SHORT = $1403;
  37. GL_INT = $1404;
  38. GL_UNSIGNED_INT = $1405;
  39. GL_FLOAT = $1406;
  40. GL_DOUBLE = $140A;
  41. GL_2_BYTES = $1407;
  42. GL_3_BYTES = $1408;
  43. GL_4_BYTES = $1409;
  44. // Primitives
  45. GL_LINES = $0001;
  46. GL_POINTS = $0000;
  47. GL_LINE_STRIP = $0003;
  48. GL_LINE_LOOP = $0002;
  49. GL_TRIANGLES = $0004;
  50. GL_TRIANGLE_STRIP = $0005;
  51. GL_TRIANGLE_FAN = $0006;
  52. GL_QUADS = $0007;
  53. GL_QUAD_STRIP = $0008;
  54. GL_POLYGON = $0009;
  55. GL_EDGE_FLAG = $0B43;
  56. // Vertex arrays
  57. GL_VERTEX_ARRAY = $8074;
  58. GL_NORMAL_ARRAY = $8075;
  59. GL_COLOR_ARRAY = $8076;
  60. GL_INDEX_ARRAY = $8077;
  61. GL_TEXTURE_COORD_ARRAY = $8078;
  62. GL_EDGE_FLAG_ARRAY = $8079;
  63. GL_VERTEX_ARRAY_SIZE = $807A;
  64. GL_VERTEX_ARRAY_TYPE = $807B;
  65. GL_VERTEX_ARRAY_STRIDE = $807C;
  66. GL_NORMAL_ARRAY_TYPE = $807E;
  67. GL_NORMAL_ARRAY_STRIDE = $807F;
  68. GL_COLOR_ARRAY_SIZE = $8081;
  69. GL_COLOR_ARRAY_TYPE = $8082;
  70. GL_COLOR_ARRAY_STRIDE = $8083;
  71. GL_INDEX_ARRAY_TYPE = $8085;
  72. GL_INDEX_ARRAY_STRIDE = $8086;
  73. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  74. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  75. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  76. GL_EDGE_FLAG_ARRAY_STRIDE = $808C;
  77. GL_VERTEX_ARRAY_POINTER = $808E;
  78. GL_NORMAL_ARRAY_POINTER = $808F;
  79. GL_COLOR_ARRAY_POINTER = $8090;
  80. GL_INDEX_ARRAY_POINTER = $8091;
  81. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  82. GL_EDGE_FLAG_ARRAY_POINTER = $8093;
  83. GL_V2F = $2A20;
  84. GL_V3F = $2A21;
  85. GL_C4UB_V2F = $2A22;
  86. GL_C4UB_V3F = $2A23;
  87. GL_C3F_V3F = $2A24;
  88. GL_N3F_V3F = $2A25;
  89. GL_C4F_N3F_V3F = $2A26;
  90. GL_T2F_V3F = $2A27;
  91. GL_T4F_V4F = $2A28;
  92. GL_T2F_C4UB_V3F = $2A29;
  93. GL_T2F_C3F_V3F = $2A2A;
  94. GL_T2F_N3F_V3F = $2A2B;
  95. GL_T2F_C4F_N3F_V3F = $2A2C;
  96. GL_T4F_C4F_N3F_V4F = $2A2D;
  97. // Matrix Mode
  98. GL_MATRIX_MODE = $0BA0;
  99. GL_MODELVIEW = $1700;
  100. GL_PROJECTION = $1701;
  101. GL_TEXTURE = $1702;
  102. // Points
  103. GL_POINT_SMOOTH = $0B10;
  104. GL_POINT_SIZE = $0B11;
  105. GL_POINT_SIZE_GRANULARITY = $0B13;
  106. GL_POINT_SIZE_RANGE = $0B12;
  107. // Lines
  108. GL_LINE_SMOOTH = $0B20;
  109. GL_LINE_STIPPLE = $0B24;
  110. GL_LINE_STIPPLE_PATTERN = $0B25;
  111. GL_LINE_STIPPLE_REPEAT = $0B26;
  112. GL_LINE_WIDTH = $0B21;
  113. GL_LINE_WIDTH_GRANULARITY = $0B23;
  114. GL_LINE_WIDTH_RANGE = $0B22;
  115. // Polygons
  116. GL_POINT = $1B00;
  117. GL_LINE = $1B01;
  118. GL_FILL = $1B02;
  119. GL_CCW = $0901;
  120. GL_CW = $0900;
  121. GL_FRONT = $0404;
  122. GL_BACK = $0405;
  123. GL_CULL_FACE = $0B44;
  124. GL_CULL_FACE_MODE = $0B45;
  125. GL_POLYGON_SMOOTH = $0B41;
  126. GL_POLYGON_STIPPLE = $0B42;
  127. GL_FRONT_FACE = $0B46;
  128. GL_POLYGON_MODE = $0B40;
  129. GL_POLYGON_OFFSET_FACTOR = $8038;
  130. GL_POLYGON_OFFSET_UNITS = $2A00;
  131. GL_POLYGON_OFFSET_POINT = $2A01;
  132. GL_POLYGON_OFFSET_LINE = $2A02;
  133. GL_POLYGON_OFFSET_FILL = $8037;
  134. // Display lists
  135. GL_COMPILE = $1300;
  136. GL_COMPILE_AND_EXECUTE = $1301;
  137. GL_LIST_BASE = $0B32;
  138. GL_LIST_INDEX = $0B33;
  139. GL_LIST_MODE = $0B30;
  140. // Depth buffer
  141. GL_NEVER = $0200;
  142. GL_LESS = $0201;
  143. GL_GEQUAL = $0206;
  144. GL_LEQUAL = $0203;
  145. GL_GREATER = $0204;
  146. GL_NOTEQUAL = $0205;
  147. GL_EQUAL = $0202;
  148. GL_ALWAYS = $0207;
  149. GL_DEPTH_TEST = $0B71;
  150. GL_DEPTH_BITS = $0D56;
  151. GL_DEPTH_CLEAR_VALUE = $0B73;
  152. GL_DEPTH_FUNC = $0B74;
  153. GL_DEPTH_RANGE = $0B70;
  154. GL_DEPTH_WRITEMASK = $0B72;
  155. GL_DEPTH_COMPONENT = $1902;
  156. // Lighting
  157. GL_LIGHTING = $0B50;
  158. GL_LIGHT0 = $4000;
  159. GL_LIGHT1 = $4001;
  160. GL_LIGHT2 = $4002;
  161. GL_LIGHT3 = $4003;
  162. GL_LIGHT4 = $4004;
  163. GL_LIGHT5 = $4005;
  164. GL_LIGHT6 = $4006;
  165. GL_LIGHT7 = $4007;
  166. GL_SPOT_EXPONENT = $1205;
  167. GL_SPOT_CUTOFF = $1206;
  168. GL_CONSTANT_ATTENUATION = $1207;
  169. GL_LINEAR_ATTENUATION = $1208;
  170. GL_QUADRATIC_ATTENUATION = $1209;
  171. GL_AMBIENT = $1200;
  172. GL_DIFFUSE = $1201;
  173. GL_SPECULAR = $1202;
  174. GL_SHININESS = $1601;
  175. GL_EMISSION = $1600;
  176. GL_POSITION = $1203;
  177. GL_SPOT_DIRECTION = $1204;
  178. GL_AMBIENT_AND_DIFFUSE = $1602;
  179. GL_COLOR_INDEXES = $1603;
  180. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  181. GL_LIGHT_MODEL_LOCAL_VIEWER = $0B51;
  182. GL_LIGHT_MODEL_AMBIENT = $0B53;
  183. GL_FRONT_AND_BACK = $0408;
  184. GL_SHADE_MODEL = $0B54;
  185. GL_FLAT = $1D00;
  186. GL_SMOOTH = $1D01;
  187. GL_COLOR_MATERIAL = $0B57;
  188. GL_COLOR_MATERIAL_FACE = $0B55;
  189. GL_COLOR_MATERIAL_PARAMETER = $0B56;
  190. GL_NORMALIZE = $0BA1;
  191. // User clipping planes
  192. GL_CLIP_PLANE0 = $3000;
  193. GL_CLIP_PLANE1 = $3001;
  194. GL_CLIP_PLANE2 = $3002;
  195. GL_CLIP_PLANE3 = $3003;
  196. GL_CLIP_PLANE4 = $3004;
  197. GL_CLIP_PLANE5 = $3005;
  198. // Accumulation buffer
  199. GL_ACCUM_RED_BITS = $0D58;
  200. GL_ACCUM_GREEN_BITS = $0D59;
  201. GL_ACCUM_BLUE_BITS = $0D5A;
  202. GL_ACCUM_ALPHA_BITS = $0D5B;
  203. GL_ACCUM_CLEAR_VALUE = $0B80;
  204. GL_ACCUM = $0100;
  205. GL_ADD = $0104;
  206. GL_LOAD = $0101;
  207. GL_MULT = $0103;
  208. GL_RETURN = $0102;
  209. // Alpha testing
  210. GL_ALPHA_TEST = $0BC0;
  211. GL_ALPHA_TEST_REF = $0BC2;
  212. GL_ALPHA_TEST_FUNC = $0BC1;
  213. // Blending
  214. GL_BLEND = $0BE2;
  215. GL_BLEND_SRC = $0BE1;
  216. GL_BLEND_DST = $0BE0;
  217. GL_ZERO = 0;
  218. GL_ONE = 1;
  219. GL_SRC_COLOR = $0300;
  220. GL_ONE_MINUS_SRC_COLOR = $0301;
  221. GL_DST_COLOR = $0306;
  222. GL_ONE_MINUS_DST_COLOR = $0307;
  223. GL_SRC_ALPHA = $0302;
  224. GL_ONE_MINUS_SRC_ALPHA = $0303;
  225. GL_DST_ALPHA = $0304;
  226. GL_ONE_MINUS_DST_ALPHA = $0305;
  227. GL_SRC_ALPHA_SATURATE = $0308;
  228. GL_CONSTANT_COLOR = $8001;
  229. GL_ONE_MINUS_CONSTANT_COLOR = $8002;
  230. GL_CONSTANT_ALPHA = $8003;
  231. GL_ONE_MINUS_CONSTANT_ALPHA = $8004;
  232. // Render mode
  233. GL_FEEDBACK = $1C01;
  234. GL_RENDER = $1C00;
  235. GL_SELECT = $1C02;
  236. // Feedback
  237. GL_2D = $0600;
  238. GL_3D = $0601;
  239. GL_3D_COLOR = $0602;
  240. GL_3D_COLOR_TEXTURE = $0603;
  241. GL_4D_COLOR_TEXTURE = $0604;
  242. GL_POINT_TOKEN = $0701;
  243. GL_LINE_TOKEN = $0702;
  244. GL_LINE_RESET_TOKEN = $0707;
  245. GL_POLYGON_TOKEN = $0703;
  246. GL_BITMAP_TOKEN = $0704;
  247. GL_DRAW_PIXEL_TOKEN = $0705;
  248. GL_COPY_PIXEL_TOKEN = $0706;
  249. GL_PASS_THROUGH_TOKEN = $0700;
  250. GL_FEEDBACK_BUFFER_POINTER = $0DF0;
  251. GL_FEEDBACK_BUFFER_SIZE = $0DF1;
  252. GL_FEEDBACK_BUFFER_TYPE = $0DF2;
  253. // Selection
  254. GL_SELECTION_BUFFER_POINTER = $0DF3;
  255. GL_SELECTION_BUFFER_SIZE = $0DF4;
  256. // Fog
  257. GL_FOG = $0B60;
  258. GL_FOG_MODE = $0B65;
  259. GL_FOG_DENSITY = $0B62;
  260. GL_FOG_COLOR = $0B66;
  261. GL_FOG_INDEX = $0B61;
  262. GL_FOG_START = $0B63;
  263. GL_FOG_END = $0B64;
  264. GL_LINEAR = $2601;
  265. GL_EXP = $0800;
  266. GL_EXP2 = $0801;
  267. // Logic ops
  268. GL_LOGIC_OP = $0BF1;
  269. GL_INDEX_LOGIC_OP = $0BF1;
  270. GL_COLOR_LOGIC_OP = $0BF2;
  271. GL_LOGIC_OP_MODE = $0BF0;
  272. GL_CLEAR = $1500;
  273. GL_SET = $150F;
  274. GL_COPY = $1503;
  275. GL_COPY_INVERTED = $150C;
  276. GL_NOOP = $1505;
  277. GL_INVERT = $150A;
  278. GL_AND = $1501;
  279. GL_NAND = $150E;
  280. GL_OR = $1507;
  281. GL_NOR = $1508;
  282. GL_XOR = $1506;
  283. GL_EQUIV = $1509;
  284. GL_AND_REVERSE = $1502;
  285. GL_AND_INVERTED = $1504;
  286. GL_OR_REVERSE = $150B;
  287. GL_OR_INVERTED = $150D;
  288. // Stencil
  289. GL_STENCIL_TEST = $0B90;
  290. GL_STENCIL_WRITEMASK = $0B98;
  291. GL_STENCIL_BITS = $0D57;
  292. GL_STENCIL_FUNC = $0B92;
  293. GL_STENCIL_VALUE_MASK = $0B93;
  294. GL_STENCIL_REF = $0B97;
  295. GL_STENCIL_FAIL = $0B94;
  296. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  297. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  298. GL_STENCIL_CLEAR_VALUE = $0B91;
  299. GL_STENCIL_INDEX = $1901;
  300. GL_KEEP = $1E00;
  301. GL_REPLACE = $1E01;
  302. GL_INCR = $1E02;
  303. GL_DECR = $1E03;
  304. // Buffers, Pixel Drawing/Reading
  305. GL_NONE = 0;
  306. GL_LEFT = $0406;
  307. GL_RIGHT = $0407;
  308. //GL_FRONT = $0404;
  309. //GL_BACK = $0405;
  310. //GL_FRONT_AND_BACK = $0408;
  311. GL_FRONT_LEFT = $0400;
  312. GL_FRONT_RIGHT = $0401;
  313. GL_BACK_LEFT = $0402;
  314. GL_BACK_RIGHT = $0403;
  315. GL_AUX0 = $0409;
  316. GL_AUX1 = $040A;
  317. GL_AUX2 = $040B;
  318. GL_AUX3 = $040C;
  319. GL_COLOR_INDEX = $1900;
  320. GL_RED = $1903;
  321. GL_GREEN = $1904;
  322. GL_BLUE = $1905;
  323. GL_ALPHA = $1906;
  324. GL_LUMINANCE = $1909;
  325. GL_LUMINANCE_ALPHA = $190A;
  326. GL_ALPHA_BITS = $0D55;
  327. GL_RED_BITS = $0D52;
  328. GL_GREEN_BITS = $0D53;
  329. GL_BLUE_BITS = $0D54;
  330. GL_INDEX_BITS = $0D51;
  331. GL_SUBPIXEL_BITS = $0D50;
  332. GL_AUX_BUFFERS = $0C00;
  333. GL_READ_BUFFER = $0C02;
  334. GL_DRAW_BUFFER = $0C01;
  335. GL_DOUBLEBUFFER = $0C32;
  336. GL_STEREO = $0C33;
  337. GL_BITMAP = $1A00;
  338. GL_COLOR = $1800;
  339. GL_DEPTH = $1801;
  340. GL_STENCIL = $1802;
  341. GL_DITHER = $0BD0;
  342. GL_RGB = $1907;
  343. GL_RGBA = $1908;
  344. // Implementation limits
  345. GL_MAX_LIST_NESTING = $0B31;
  346. GL_MAX_ATTRIB_STACK_DEPTH = $0D35;
  347. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  348. GL_MAX_NAME_STACK_DEPTH = $0D37;
  349. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  350. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  351. GL_MAX_EVAL_ORDER = $0D30;
  352. GL_MAX_LIGHTS = $0D31;
  353. GL_MAX_CLIP_PLANES = $0D32;
  354. GL_MAX_TEXTURE_SIZE = $0D33;
  355. GL_MAX_PIXEL_MAP_TABLE = $0D34;
  356. GL_MAX_VIEWPORT_DIMS = $0D3A;
  357. GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = $0D3B;
  358. // Gets
  359. GL_ATTRIB_STACK_DEPTH = $0BB0;
  360. GL_CLIENT_ATTRIB_STACK_DEPTH = $0BB1;
  361. GL_COLOR_CLEAR_VALUE = $0C22;
  362. GL_COLOR_WRITEMASK = $0C23;
  363. GL_CURRENT_INDEX = $0B01;
  364. GL_CURRENT_COLOR = $0B00;
  365. GL_CURRENT_NORMAL = $0B02;
  366. GL_CURRENT_RASTER_COLOR = $0B04;
  367. GL_CURRENT_RASTER_DISTANCE = $0B09;
  368. GL_CURRENT_RASTER_INDEX = $0B05;
  369. GL_CURRENT_RASTER_POSITION = $0B07;
  370. GL_CURRENT_RASTER_TEXTURE_COORDS = $0B06;
  371. GL_CURRENT_RASTER_POSITION_VALID = $0B08;
  372. GL_CURRENT_TEXTURE_COORDS = $0B03;
  373. GL_INDEX_CLEAR_VALUE = $0C20;
  374. GL_INDEX_MODE = $0C30;
  375. GL_INDEX_WRITEMASK = $0C21;
  376. GL_MODELVIEW_MATRIX = $0BA6;
  377. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  378. GL_NAME_STACK_DEPTH = $0D70;
  379. GL_PROJECTION_MATRIX = $0BA7;
  380. GL_PROJECTION_STACK_DEPTH = $0BA4;
  381. GL_RENDER_MODE = $0C40;
  382. GL_RGBA_MODE = $0C31;
  383. GL_TEXTURE_MATRIX = $0BA8;
  384. GL_TEXTURE_STACK_DEPTH = $0BA5;
  385. GL_VIEWPORT = $0BA2;
  386. // Evaluators
  387. GL_AUTO_NORMAL = $0D80;
  388. GL_MAP1_COLOR_4 = $0D90;
  389. GL_MAP1_GRID_DOMAIN = $0DD0;
  390. GL_MAP1_GRID_SEGMENTS = $0DD1;
  391. GL_MAP1_INDEX = $0D91;
  392. GL_MAP1_NORMAL = $0D92;
  393. GL_MAP1_TEXTURE_COORD_1 = $0D93;
  394. GL_MAP1_TEXTURE_COORD_2 = $0D94;
  395. GL_MAP1_TEXTURE_COORD_3 = $0D95;
  396. GL_MAP1_TEXTURE_COORD_4 = $0D96;
  397. GL_MAP1_VERTEX_3 = $0D97;
  398. GL_MAP1_VERTEX_4 = $0D98;
  399. GL_MAP2_COLOR_4 = $0DB0;
  400. GL_MAP2_GRID_DOMAIN = $0DD2;
  401. GL_MAP2_GRID_SEGMENTS = $0DD3;
  402. GL_MAP2_INDEX = $0DB1;
  403. GL_MAP2_NORMAL = $0DB2;
  404. GL_MAP2_TEXTURE_COORD_1 = $0DB3;
  405. GL_MAP2_TEXTURE_COORD_2 = $0DB4;
  406. GL_MAP2_TEXTURE_COORD_3 = $0DB5;
  407. GL_MAP2_TEXTURE_COORD_4 = $0DB6;
  408. GL_MAP2_VERTEX_3 = $0DB7;
  409. GL_MAP2_VERTEX_4 = $0DB8;
  410. GL_COEFF = $0A00;
  411. GL_DOMAIN = $0A02;
  412. GL_ORDER = $0A01;
  413. // Hints
  414. GL_FOG_HINT = $0C54;
  415. GL_LINE_SMOOTH_HINT = $0C52;
  416. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  417. GL_POINT_SMOOTH_HINT = $0C51;
  418. GL_POLYGON_SMOOTH_HINT = $0C53;
  419. GL_DONT_CARE = $1100;
  420. GL_FASTEST = $1101;
  421. GL_NICEST = $1102;
  422. // Scissor box
  423. GL_SCISSOR_TEST = $0C11;
  424. GL_SCISSOR_BOX = $0C10;
  425. // Pixel Mode / Transfer
  426. GL_MAP_COLOR = $0D10;
  427. GL_MAP_STENCIL = $0D11;
  428. GL_INDEX_SHIFT = $0D12;
  429. GL_INDEX_OFFSET = $0D13;
  430. GL_RED_SCALE = $0D14;
  431. GL_RED_BIAS = $0D15;
  432. GL_GREEN_SCALE = $0D18;
  433. GL_GREEN_BIAS = $0D19;
  434. GL_BLUE_SCALE = $0D1A;
  435. GL_BLUE_BIAS = $0D1B;
  436. GL_ALPHA_SCALE = $0D1C;
  437. GL_ALPHA_BIAS = $0D1D;
  438. GL_DEPTH_SCALE = $0D1E;
  439. GL_DEPTH_BIAS = $0D1F;
  440. GL_PIXEL_MAP_S_TO_S_SIZE = $0CB1;
  441. GL_PIXEL_MAP_I_TO_I_SIZE = $0CB0;
  442. GL_PIXEL_MAP_I_TO_R_SIZE = $0CB2;
  443. GL_PIXEL_MAP_I_TO_G_SIZE = $0CB3;
  444. GL_PIXEL_MAP_I_TO_B_SIZE = $0CB4;
  445. GL_PIXEL_MAP_I_TO_A_SIZE = $0CB5;
  446. GL_PIXEL_MAP_R_TO_R_SIZE = $0CB6;
  447. GL_PIXEL_MAP_G_TO_G_SIZE = $0CB7;
  448. GL_PIXEL_MAP_B_TO_B_SIZE = $0CB8;
  449. GL_PIXEL_MAP_A_TO_A_SIZE = $0CB9;
  450. GL_PIXEL_MAP_S_TO_S = $0C71;
  451. GL_PIXEL_MAP_I_TO_I = $0C70;
  452. GL_PIXEL_MAP_I_TO_R = $0C72;
  453. GL_PIXEL_MAP_I_TO_G = $0C73;
  454. GL_PIXEL_MAP_I_TO_B = $0C74;
  455. GL_PIXEL_MAP_I_TO_A = $0C75;
  456. GL_PIXEL_MAP_R_TO_R = $0C76;
  457. GL_PIXEL_MAP_G_TO_G = $0C77;
  458. GL_PIXEL_MAP_B_TO_B = $0C78;
  459. GL_PIXEL_MAP_A_TO_A = $0C79;
  460. GL_PACK_ALIGNMENT = $0D05;
  461. GL_PACK_LSB_FIRST = $0D01;
  462. GL_PACK_ROW_LENGTH = $0D02;
  463. GL_PACK_SKIP_PIXELS = $0D04;
  464. GL_PACK_SKIP_ROWS = $0D03;
  465. GL_PACK_SWAP_BYTES = $0D00;
  466. GL_UNPACK_ALIGNMENT = $0CF5;
  467. GL_UNPACK_LSB_FIRST = $0CF1;
  468. GL_UNPACK_ROW_LENGTH = $0CF2;
  469. GL_UNPACK_SKIP_PIXELS = $0CF4;
  470. GL_UNPACK_SKIP_ROWS = $0CF3;
  471. GL_UNPACK_SWAP_BYTES = $0CF0;
  472. GL_ZOOM_X = $0D16;
  473. GL_ZOOM_Y = $0D17;
  474. // Texture mapping
  475. GL_TEXTURE_ENV = $2300;
  476. GL_TEXTURE_ENV_MODE = $2200;
  477. GL_TEXTURE_1D = $0DE0;
  478. GL_TEXTURE_2D = $0DE1;
  479. GL_TEXTURE_WRAP_S = $2802;
  480. GL_TEXTURE_WRAP_T = $2803;
  481. GL_TEXTURE_MAG_FILTER = $2800;
  482. GL_TEXTURE_MIN_FILTER = $2801;
  483. GL_TEXTURE_ENV_COLOR = $2201;
  484. GL_TEXTURE_GEN_S = $0C60;
  485. GL_TEXTURE_GEN_T = $0C61;
  486. GL_TEXTURE_GEN_MODE = $2500;
  487. GL_TEXTURE_BORDER_COLOR = $1004;
  488. GL_TEXTURE_WIDTH = $1000;
  489. GL_TEXTURE_HEIGHT = $1001;
  490. GL_TEXTURE_BORDER = $1005;
  491. GL_TEXTURE_COMPONENTS = $1003;
  492. GL_TEXTURE_RED_SIZE = $805C;
  493. GL_TEXTURE_GREEN_SIZE = $805D;
  494. GL_TEXTURE_BLUE_SIZE = $805E;
  495. GL_TEXTURE_ALPHA_SIZE = $805F;
  496. GL_TEXTURE_LUMINANCE_SIZE = $8060;
  497. GL_TEXTURE_INTENSITY_SIZE = $8061;
  498. GL_NEAREST_MIPMAP_NEAREST = $2700;
  499. GL_NEAREST_MIPMAP_LINEAR = $2702;
  500. GL_LINEAR_MIPMAP_NEAREST = $2701;
  501. GL_LINEAR_MIPMAP_LINEAR = $2703;
  502. GL_OBJECT_LINEAR = $2401;
  503. GL_OBJECT_PLANE = $2501;
  504. GL_EYE_LINEAR = $2400;
  505. GL_EYE_PLANE = $2502;
  506. GL_SPHERE_MAP = $2402;
  507. GL_DECAL = $2101;
  508. GL_MODULATE = $2100;
  509. GL_NEAREST = $2600;
  510. GL_REPEAT = $2901;
  511. GL_CLAMP = $2900;
  512. GL_S = $2000;
  513. GL_T = $2001;
  514. GL_R = $2002;
  515. GL_Q = $2003;
  516. GL_TEXTURE_GEN_R = $0C62;
  517. GL_TEXTURE_GEN_Q = $0C63;
  518. // GL 1.1 texturing
  519. GL_PROXY_TEXTURE_1D = $8063;
  520. GL_PROXY_TEXTURE_2D = $8064;
  521. GL_TEXTURE_PRIORITY = $8066;
  522. GL_TEXTURE_RESIDENT = $8067;
  523. GL_TEXTURE_BINDING_1D = $8068;
  524. GL_TEXTURE_BINDING_2D = $8069;
  525. GL_TEXTURE_INTERNAL_FORMAT = $1003;
  526. // GL 1.2 texturing
  527. GL_PACK_SKIP_IMAGES = $806B;
  528. GL_PACK_IMAGE_HEIGHT = $806C;
  529. GL_UNPACK_SKIP_IMAGES = $806D;
  530. GL_UNPACK_IMAGE_HEIGHT = $806E;
  531. GL_TEXTURE_3D = $806F;
  532. GL_PROXY_TEXTURE_3D = $8070;
  533. GL_TEXTURE_DEPTH = $8071;
  534. GL_TEXTURE_WRAP_R = $8072;
  535. GL_MAX_3D_TEXTURE_SIZE = $8073;
  536. GL_TEXTURE_BINDING_3D = $806A;
  537. // Internal texture formats (GL 1.1)
  538. GL_ALPHA4 = $803B;
  539. GL_ALPHA8 = $803C;
  540. GL_ALPHA12 = $803D;
  541. GL_ALPHA16 = $803E;
  542. GL_LUMINANCE4 = $803F;
  543. GL_LUMINANCE8 = $8040;
  544. GL_LUMINANCE12 = $8041;
  545. GL_LUMINANCE16 = $8042;
  546. GL_LUMINANCE4_ALPHA4 = $8043;
  547. GL_LUMINANCE6_ALPHA2 = $8044;
  548. GL_LUMINANCE8_ALPHA8 = $8045;
  549. GL_LUMINANCE12_ALPHA4 = $8046;
  550. GL_LUMINANCE12_ALPHA12 = $8047;
  551. GL_LUMINANCE16_ALPHA16 = $8048;
  552. GL_INTENSITY = $8049;
  553. GL_INTENSITY4 = $804A;
  554. GL_INTENSITY8 = $804B;
  555. GL_INTENSITY12 = $804C;
  556. GL_INTENSITY16 = $804D;
  557. GL_R3_G3_B2 = $2A10;
  558. GL_RGB4 = $804F;
  559. GL_RGB5 = $8050;
  560. GL_RGB8 = $8051;
  561. GL_RGB10 = $8052;
  562. GL_RGB12 = $8053;
  563. GL_RGB16 = $8054;
  564. GL_RGBA2 = $8055;
  565. GL_RGBA4 = $8056;
  566. GL_RGB5_A1 = $8057;
  567. GL_RGBA8 = $8058;
  568. GL_RGB10_A2 = $8059;
  569. GL_RGBA12 = $805A;
  570. GL_RGBA16 = $805B;
  571. // Utility
  572. GL_VENDOR = $1F00;
  573. GL_RENDERER = $1F01;
  574. GL_VERSION = $1F02;
  575. GL_EXTENSIONS = $1F03;
  576. // Errors
  577. GL_INVALID_VALUE = $0501;
  578. GL_INVALID_ENUM = $0500;
  579. GL_INVALID_OPERATION = $0502;
  580. GL_STACK_OVERFLOW = $0503;
  581. GL_STACK_UNDERFLOW = $0504;
  582. GL_OUT_OF_MEMORY = $0505;
  583. // OpenGL 1.2
  584. GL_RESCALE_NORMAL = $803A;
  585. GL_CLAMP_TO_EDGE = $812F;
  586. GL_MAX_ELEMENTS_VERTICES = $F0E8;
  587. GL_MAX_ELEMENTS_INDICES = $F0E9;
  588. GL_BGR = $80E0;
  589. GL_BGRA = $80E1;
  590. GL_UNSIGNED_BYTE_3_3_2 = $8032;
  591. GL_UNSIGNED_BYTE_2_3_3_REV = $8362;
  592. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  593. GL_UNSIGNED_SHORT_5_6_5_REV = $8364;
  594. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  595. GL_UNSIGNED_SHORT_4_4_4_4_REV = $8365;
  596. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  597. GL_UNSIGNED_SHORT_1_5_5_5_REV = $8366;
  598. GL_UNSIGNED_INT_8_8_8_8 = $8035;
  599. GL_UNSIGNED_INT_8_8_8_8_REV = $8367;
  600. GL_UNSIGNED_INT_10_10_10_2 = $8036;
  601. GL_UNSIGNED_INT_2_10_10_10_REV = $8368;
  602. GL_LIGHT_MODEL_COLOR_CONTROL = $81F8;
  603. GL_SINGLE_COLOR = $81F9;
  604. GL_SEPARATE_SPECULAR_COLOR = $81FA;
  605. GL_TEXTURE_MIN_LOD = $813A;
  606. GL_TEXTURE_MAX_LOD = $813B;
  607. GL_TEXTURE_BASE_LEVEL = $813C;
  608. GL_TEXTURE_MAX_LEVEL = $813D;
  609. // -------------------------------------------------------------------
  610. // GL procedures and functions
  611. // -------------------------------------------------------------------
  612. var
  613. %END
  614. #=====================================================================
  615. # Procedures and functions
  616. #=====================================================================
  617. %PROCS
  618. // Miscellaneous
  619. glClearIndex: procedure(c: Single);
  620. glClearColor: procedure(red, green, blue, alpha: GLclampf);
  621. glClear: procedure(mask: GLbitfield);
  622. glIndexMask: procedure(mask: LongWord);
  623. glColorMask: procedure(red, green, blue, alpha: Boolean);
  624. glAlphaFunc: procedure(func: GLenum; ref: GLclampf);
  625. glBlendFunc: procedure(sfactor, dfactor: GLenum);
  626. glLogicOp: procedure(opcode: GLenum);
  627. glCullFace: procedure(mode: GLenum);
  628. glFrontFace: procedure(mode: GLenum);
  629. glPointSize: procedure(size: Single);
  630. glLineWidth: procedure(width: Single);
  631. glLineStipple: procedure(factor: LongInt; pattern: Word);
  632. glPolygonMode: procedure(face, mode: GLenum);
  633. glPolygonOffset: procedure(factor, units: Single);
  634. glPolygonStipple: procedure(var mask: Byte);
  635. glGetPolygonStipple: procedure(var mask: Byte);
  636. glEdgeFlag: procedure(flag: Boolean);
  637. glEdgeFlagv: procedure(var flag: Boolean);
  638. glScissor: procedure(x, y, width, height: LongInt);
  639. glClipPlane: procedure(plane: GLenum; var equation: Double);
  640. glGetClipPlane: procedure(plane: GLenum; var equation: Double);
  641. glDrawBuffer: procedure(mode: GLenum);
  642. glReadBuffer: procedure(mode: GLenum);
  643. glEnable: procedure(cap: LongInt);
  644. glDisable: procedure(cap: LongInt);
  645. glIsEnabled: function(cap: GLenum): Boolean;
  646. glEnableClientState: procedure(cap: GLenum); // 1.1
  647. glDisableClientState: procedure(cap: GLenum); // 1.1
  648. glGetBooleanv: procedure(pname: GLenum; var params: Boolean);
  649. glGetDoublev: procedure(pname: GLenum; var params: Double);
  650. glGetFloatv: procedure(pname: GLenum; var params: Single);
  651. glGetIntegerv: procedure(pname: GLenum; var params: LongInt);
  652. glPushAttrib: procedure(mask: GLbitfield);
  653. glPopAttrib: procedure;
  654. glPushClientAttrib: procedure(mask: GLbitfield); // 1.1
  655. glPopClientAttrib: procedure; // 1.1
  656. glRenderMode: function(mode: GLenum): LongInt;
  657. glGetError: function: GLenum;
  658. glGetString: function(name: GLenum): PChar;
  659. glFinish: procedure;
  660. glFlush: procedure;
  661. glHint: procedure(target, mode: GLenum);
  662. // Depth Buffer
  663. glClearDepth: procedure(depth: GLclampd);
  664. glDepthFunc: procedure(func: LongInt);
  665. glDepthMask: procedure(flag: Boolean);
  666. glDepthRange: procedure(near_val, far_val: GLclampd);
  667. // Accumulation Buffer
  668. glClearAccum: procedure(red, green, blue, alpha: Single);
  669. glAccum: procedure(op: GLenum; value: Single);
  670. // Tranformation
  671. glMatrixMode: procedure(mode: GLenum);
  672. glOrtho: procedure(left, right, bottom, top, near_val, far_val: Double);
  673. glFrustum: procedure(left, right, bottom, top, near_val, far_val: Double);
  674. glViewport: procedure(x, y, width, height: LongInt);
  675. glPushMatrix: procedure;
  676. glPopMatrix: procedure;
  677. glLoadIdentity: procedure;
  678. glLoadMatrixd: procedure(var m: Double);
  679. glLoadMatrixf: procedure(var m: PSingle);
  680. glMultMatrixd: procedure(var m: Double);
  681. glMultMatrixf: procedure(var m: Single);
  682. glRotated: procedure(angle, x, y, z: Double);
  683. glRotatef: procedure(angle, x, y, z: Single);
  684. glScaled: procedure(x, y, z: Double);
  685. glScalef: procedure(x, y, z: Single);
  686. glTranslated: procedure(x, y, z: Double);
  687. glTranslatef: procedure(x, y, z: Single);
  688. // Display Lists
  689. glIsList: function(list: LongWord): Boolean;
  690. glDeleteLists: procedure(list: LongWord; range: LongInt);
  691. glGenLists: function(range: LongInt): LongWord;
  692. glNewList: procedure(list: LongWord; mode: GLenum);
  693. glEndList: procedure;
  694. glCallList: procedure(list: LongWord);
  695. glCallLists: procedure(n: LongInt; AType: GLenum; var lists);
  696. glListBase: procedure(base: LongWord);
  697. // Drawing Functions
  698. glBegin: procedure(mode: GLenum);
  699. glEnd: procedure;
  700. glVertex2d: procedure(x, y: Double);
  701. glVertex2f: procedure(x, y: Single);
  702. glVertex2i: procedure(x, y: LongInt);
  703. glVertex2s: procedure(x, y: SmallInt);
  704. glVertex3d: procedure(x, y, z: Double);
  705. glVertex3f: procedure(x, y, z: Single);
  706. glVertex3i: procedure(x, y, z: LongInt);
  707. glVertex3s: procedure(x, y, z: SmallInt);
  708. glVertex4d: procedure(x, y, z, w: Double);
  709. glVertex4f: procedure(x, y, z, w: Single);
  710. glVertex4i: procedure(x, y, z, w: LongInt);
  711. glVertex4s: procedure(x, y, z, w: SmallInt);
  712. glVertex2dv: procedure(var v: Double);
  713. glVertex2fv: procedure(var v: Single);
  714. glVertex2iv: procedure(var v: LongInt);
  715. glVertex2sv: procedure(var v: SmallInt);
  716. glVertex3dv: procedure(var v: Double);
  717. glVertex3fv: procedure(var v: Single);
  718. glVertex3iv: procedure(var v: LongInt);
  719. glVertex3sv: procedure(var v: SmallInt);
  720. glVertex4dv: procedure(var v: Double);
  721. glVertex4fv: procedure(var v: Single);
  722. glVertex4iv: procedure(var v: LongInt);
  723. glVertex4sv: procedure(var v: SmallInt);
  724. glNormal3b: procedure(nx, ny, nz: Byte);
  725. glNormal3d: procedure(nx, ny, nz: Double);
  726. glNormal3f: procedure(nx, ny, nz: Single);
  727. glNormal3i: procedure(nx, ny, nz: LongInt);
  728. glNormal3s: procedure(nx, ny, nz: SmallInt);
  729. glNormal3bv: procedure(var v: ShortInt);
  730. glNormal3dv: procedure(var v: Double);
  731. glNormal3fv: procedure(var v: Single);
  732. glNormal3iv: procedure(var v: LongInt);
  733. glNormal3sv: procedure(var v: SmallInt);
  734. glIndexd: procedure(c: Double);
  735. glIndexf: procedure(c: Single);
  736. glIndexi: procedure(c: LongInt);
  737. glIndexs: procedure(c: SmallInt);
  738. glIndexub: procedure(c: Byte); // 1.1
  739. glIndexdv: procedure(var c: Double);
  740. glIndexfv: procedure(var c: Single);
  741. glIndexiv: procedure(var c: LongInt);
  742. glIndexsv: procedure(var c: SmallInt);
  743. glIndexubv: procedure(var c: Byte); // 1.1
  744. glColor3b : procedure(red, green, blue: ShortInt);
  745. glColor3d : procedure(red, green, blue: Double);
  746. glColor3f : procedure(red, green, blue: Single);
  747. glColor3i : procedure(red, green, blue: LongInt);
  748. glColor3s : procedure(red, green, blue: SmallInt);
  749. glColor3ub: procedure(red, green, blue: Byte);
  750. glColor3ui: procedure(red, green, blue: LongWord);
  751. glColor3us: procedure(red, green, blue: Word);
  752. glColor4b : procedure(red, green, blue, alpha: ShortInt);
  753. glColor4d : procedure(red, green, blue, alpha: Double);
  754. glColor4f : procedure(red, green, blue, alpha: Single);
  755. glColor4i : procedure(red, green, blue, alpha: LongInt);
  756. glColor4s : procedure(red, green, blue, alpha: SmallInt);
  757. glColor4ub: procedure(red, green, blue, alpha: Byte);
  758. glColor4ui: procedure(red, green, blue, alpha: LongWord);
  759. glColor4us: procedure(red, green, blue, alpha: Word);
  760. glColor3bv : procedure(var v: ShortInt);
  761. glColor3dv : procedure(var v: Double);
  762. glColor3fv : procedure(var v: Single);
  763. glColor3iv : procedure(var v: LongInt);
  764. glColor3sv : procedure(var v: SmallInt);
  765. glColor3ubv: procedure(var v: Byte);
  766. glColor3uiv: procedure(var v: LongWord);
  767. glColor3usv: procedure(var v: Word);
  768. glColor4bv : procedure(var v: ShortInt);
  769. glColor4dv : procedure(var v: Double);
  770. glColor4fv : procedure(var v: Single);
  771. glColor4iv : procedure(var v: LongInt);
  772. glColor4sv : procedure(var v: SmallInt);
  773. glColor4ubv: procedure(var v: Byte);
  774. glColor4uiv: procedure(var v: LongWord);
  775. glColor4usv: procedure(var v: Word);
  776. glTexCoord1d: procedure(s: Double);
  777. glTexCoord1f: procedure(s: Single);
  778. glTexCoord1i: procedure(s: LongInt);
  779. glTexCoord1s: procedure(s: SmallInt);
  780. glTexCoord2d: procedure(s, t: Double);
  781. glTexCoord2f: procedure(s, t: Single);
  782. glTexCoord2i: procedure(s, t: LongInt);
  783. glTexCoord2s: procedure(s, t: SmallInt);
  784. glTexCoord3d: procedure(s, t, r: Double);
  785. glTexCoord3f: procedure(s, t, r: Single);
  786. glTexCoord3i: procedure(s, t, r: LongInt);
  787. glTexCoord3s: procedure(s, t, r: SmallInt);
  788. glTexCoord4d: procedure(s, t, r, q: Double);
  789. glTexCoord4f: procedure(s, t, r, q: Single);
  790. glTexCoord4i: procedure(s, t, r, q: LongInt);
  791. glTexCoord4s: procedure(s, t, r, q: SmallInt);
  792. glTexCoord1dv: procedure(var v: Double);
  793. glTexCoord1fv: procedure(var v: Single);
  794. glTexCoord1iv: procedure(var v: LongInt);
  795. glTexCoord1sv: procedure(var v: SmallInt);
  796. glTexCoord2dv: procedure(var v: Double);
  797. glTexCoord2fv: procedure(var v: Single);
  798. glTexCoord2iv: procedure(var v: LongInt);
  799. glTexCoord2sv: procedure(var v: SmallInt);
  800. glTexCoord3dv: procedure(var v: Double);
  801. glTexCoord3fv: procedure(var v: Single);
  802. glTexCoord3iv: procedure(var v: LongInt);
  803. glTexCoord3sv: procedure(var v: SmallInt);
  804. glTexCoord4dv: procedure(var v: Double);
  805. glTexCoord4fv: procedure(var v: Single);
  806. glTexCoord4iv: procedure(var v: LongInt);
  807. glTexCoord4sv: procedure(var v: SmallInt);
  808. glRasterPos2d: procedure(x, y: Double);
  809. glRasterPos2f: procedure(x, y: Single);
  810. glRasterPos2i: procedure(x, y: LongInt);
  811. glRasterPos2s: procedure(x, y: SmallInt);
  812. glRasterPos3d: procedure(x, y, z: Double);
  813. glRasterPos3f: procedure(x, y, z: Single);
  814. glRasterPos3i: procedure(x, y, z: LongInt);
  815. glRasterPos3s: procedure(x, y, z: SmallInt);
  816. glRasterPos4d: procedure(x, y, z, w: Double);
  817. glRasterPos4f: procedure(x, y, z, w: Single);
  818. glRasterPos4i: procedure(x, y, z, w: LongInt);
  819. glRasterPos4s: procedure(x, y, z, w: SmallInt);
  820. glRasterPos2dv: procedure(var v: Double);
  821. glRasterPos2fv: procedure(var v: Single);
  822. glRasterPos2iv: procedure(var v: LongInt);
  823. glRasterPos2sv: procedure(var v: SmallInt);
  824. glRasterPos3dv: procedure(var v: Double);
  825. glRasterPos3fv: procedure(var v: Single);
  826. glRasterPos3iv: procedure(var v: LongInt);
  827. glRasterPos3sv: procedure(var v: SmallInt);
  828. glRasterPos4dv: procedure(var v: Double);
  829. glRasterPos4fv: procedure(var v: Single);
  830. glRasterPos4iv: procedure(var v: LongInt);
  831. glRasterPos4sv: procedure(var v: SmallInt);
  832. glRectd: procedure(x1, y1, x2, y2: Double);
  833. glRectf: procedure(x1, y1, x2, y2: Single);
  834. glRecti: procedure(x1, y1, x2, y2: LongInt);
  835. glRects: procedure(x1, y1, x2, y2: SmallInt);
  836. glRectdv: procedure(var v1, v2: Double);
  837. glRectfv: procedure(var v1, v2: Single);
  838. glRectiv: procedure(var v1, v2: LongInt);
  839. glRectsv: procedure(var v1, v2: SmallInt);
  840. // Vertex Arrays (1.1)
  841. glVertexPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr);
  842. glNormalPointer: procedure(AType: GLenum; stride: LongInt; var ptr);
  843. glColorPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr);
  844. glIndexPointer: procedure(AType: GLenum; stride: LongInt; var ptr);
  845. glTexCoordPointer: procedure(size: LongInt; AType: GLenum; stride: LongInt; var ptr);
  846. glEdgeFlagPointer: procedure(stride: LongInt; var ptr);
  847. glGetPointerv: procedure(pname: GLenum; var params: Pointer);
  848. glArrayElement: procedure(i: LongInt);
  849. glDrawArrays: procedure(mode: GLenum; first, count: LongInt);
  850. glDrawElements: procedure(mode: GLenum; count: Integer; AType: GLenum; var indices);
  851. glInterleavedArrays: procedure(format: GLenum; stride: LongInt; var pointer);
  852. // Lighting
  853. glShadeModel: procedure(mode: GLenum);
  854. glLightf: procedure(light, pname: GLenum; param: Single);
  855. glLighti: procedure(light, pname: GLenum; param: LongInt);
  856. glLightfv: procedure(light, pname: GLenum; var params: Single);
  857. glLightiv: procedure(light, pname: GLenum; var params: LongInt);
  858. glGetLightfv: procedure(light, pname: GLenum; var params: Single);
  859. glGetLightiv: procedure(light, pname: GLenum; var params: LongInt);
  860. glLightModelf: procedure(pname: GLenum; param: Single);
  861. glLightModeli: procedure(pname: GLenum; param: LongInt);
  862. glLightModelfv: procedure(pname: GLenum; var params: Single);
  863. glLightModeliv: procedure(pname: GLenum; var param: LongInt);
  864. glMaterialf: procedure(face, pname: GLenum; param: Single);
  865. glMateriali: procedure(face, pname: GLenum; param: LongInt);
  866. glMaterialfv: procedure(face, pname: GLenum; var params: Single);
  867. glMaterialiv: procedure(face, pname: GLenum; var params: LongInt);
  868. glGetMaterialfv: procedure(face, pname: GLenum; var params: Single);
  869. glGetMaterialiv: procedure(face, pname: GLenum; var params: LongInt);
  870. glColorMaterial: procedure(face, mode: GLenum);
  871. // Raster Functions
  872. glPixelZoom: procedure(xfactor, yfactor: Single);
  873. glPixelStoref: procedure(pname: GLenum; param: Single);
  874. glPixelStorei: procedure(pname: GLenum; param: LongInt);
  875. glPixelTransferf: procedure(pname: GLenum; param: Single);
  876. glPixelTransferi: procedure(pname: GLenum; param: LongInt);
  877. glPixelMapfv: procedure(map: GLenum; mapsize: LongInt; var values: Single);
  878. glPixelMapuiv: procedure(map: GLenum; mapsize: LongInt; var values: LongWord);
  879. glPixelMapusv: procedure(map: GLenum; mapsize: LongInt; var values: Word);
  880. glGetPixelMapfv: procedure(map: GLenum; var values: Single);
  881. glGetPixelMapuiv: procedure(map: GLenum; var values: LongWord);
  882. glGetPixelMapusv: procedure(map: GLenum; var values: Word);
  883. glBitmap: procedure(width, height: LongInt; xorig, yorig, xmove, ymove: Single; var bitmap);
  884. glReadPixels: procedure(x, y, width, height: LongInt; format, AType: GLenum; var pixels);
  885. glDrawPixels: procedure(width, height: LongInt; format, AType: GLenum; var pixels);
  886. glCopyPixels: procedure(x, y, width, height: LongInt; AType: GLenum);
  887. // Stenciling
  888. glStencilFunc: procedure(func: GLenum; ref: LongInt; mask: LongWord);
  889. glStencilMask: procedure(mask: LongWord);
  890. glStencilOp: procedure(fail, zfail, zpass: GLenum);
  891. glClearStencil: procedure(s: LongInt);
  892. // Texture Mapping
  893. glTexGend: procedure(cord, pname: GLenum; param: Double);
  894. glTexGenf: procedure(cord, pname: GLenum; param: Single);
  895. glTexGeni: procedure(cord, pname: GLenum; param: LongInt);
  896. glTexGendv: procedure(cord, pname: GLenum; var params: Double);
  897. glTexGenfv: procedure(cord, pname: GLenum; var params: Single);
  898. glTexGeniv: procedure(cord, pname: GLenum; var params: LongInt);
  899. glGetTexGendv: procedure(cord, pname: GLenum; var params: Double);
  900. glGetTexGenfv: procedure(cord, pname: GLenum; var params: Single);
  901. glGetTexGeniv: procedure(cord, pname: GLenum; var params: LongInt);
  902. glTexEnvf: procedure(target, pname: GLenum; param: Single);
  903. glTexEnvi: procedure(target, pname: GLenum; param: LongInt);
  904. glTexEnvfv: procedure(target, pname: GLenum; var params: Single);
  905. glTexEnviv: procedure(target, pname: GLenum; var params: LongInt);
  906. glGetTexEnvfv: procedure(target, pname: GLenum; var params: Single);
  907. glGetTexEnviv: procedure(target, pname: GLenum; var params: LongInt);
  908. glTexParameterf: procedure(target, pname: GLenum; param: Single);
  909. glTexParameteri: procedure(target, pname: GLenum; param: LongInt);
  910. glTexParameterfv: procedure(target, pname: GLenum; var params: Single);
  911. glTexParameteriv: procedure(target, pname: GLenum; var params: LongInt);
  912. glGetTexParameterfv: procedure(target, pname: GLenum; var params: Single);
  913. glGetTexParameteriv: procedure(target, pname: GLenum; var params: LongInt);
  914. glGetTexLevelParameterfv: procedure(target: GLenum; level: LongInt; pname: GLenum; var params: Single);
  915. glGetTexLevelParameteriv: procedure(target: GLenum; level: LongInt; pname: GLenum; var params: LongInt);
  916. glTexImage1D: procedure(target: GLenum; level, internalFormat, width, border: LongInt; format, AType: GLenum; var pixels);
  917. glTexImage2D: procedure(target: GLenum; level, internalFormat, width, height, border: LongInt; format, AType: GLenum; var pixels);
  918. glGetTexImage: procedure(target: GLenum; level: LongInt; format, AType: GLenum; var pixels);
  919. // 1.1 functions:
  920. glGenTextures: procedure(n: LongInt; var textures: LongWord);
  921. glDeleteTextures: procedure(n: LongInt; var textures: LongWord);
  922. glBindTexture: procedure(target: GLenum; texture: LongWord);
  923. glPrioritizeTextures: procedure(n: LongInt; var textures: LongWord; var priorities: GLclampf);
  924. glAreTexturesResident: function(n: LongInt; var textures: LongWord; var residences: Boolean): Boolean;
  925. glIsTexture: function(texture: LongWord): Boolean;
  926. glTexSubImage1D: procedure(target: GLenum; level, xoffset, width: LongInt; format, AType: GLenum; var pixels);
  927. glTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, width, height: LongInt; format, AType: GLenum; var pixels);
  928. glCopyTexImage1D: procedure(target: GLenum; level: LongInt; format: GLenum; x, y, width, border: LongInt);
  929. glCopyTexImage2D: procedure(target: GLenum; level: LongInt; format: GLenum; x, y, width, height, border: LongInt);
  930. glCopyTexSubImage1D: procedure(target: GLenum; level, xoffset, x, y, width: LongInt);
  931. glCopyTexSubImage2D: procedure(target: GLenum; level, xoffset, yoffset, x, y, width, height: LongInt);
  932. // Evaluators
  933. glMap1d: procedure(target: GLenum; u1, u2: Double; stride, order: LongInt; var points: Double);
  934. glMap1f: procedure(target: GLenum; u1, u2: Single; stride, order: LongInt; var points: Single);
  935. glMap2d: procedure(target: GLenum; u1, u2: Double; ustride, uorder: LongInt; v1, v2: Double; vstride, vorder: LongInt; var points: Double);
  936. glMap2f: procedure(target: GLenum; u1, u2: Single; ustride, uorder: LongInt; v1, v2: Single; vstride, vorder: LongInt; var points: Single);
  937. glGetMapdv: procedure(target, query: GLenum; var v: Double);
  938. glGetMapfv: procedure(target, query: GLenum; var v: Single);
  939. glGetMapiv: procedure(target, query: GLenum; var v: LongInt);
  940. glEvalCoord1d: procedure(u: Double);
  941. glEvalCoord1f: procedure(u: Single);
  942. glEvalCoord1dv: procedure(var u: Double);
  943. glEvalCoord1fv: procedure(var u: Single);
  944. glEvalCoord2d: procedure(u, v: Double);
  945. glEvalCoord2f: procedure(u, v: Single);
  946. glEvalCoord2dv: procedure(var u, v: Double);
  947. glEvalCoord2fv: procedure(var u, v: Single);
  948. glMapGrid1d: procedure(un: LongInt; u1, u2: Double);
  949. glMapGrid1f: procedure(un: LongInt; u1, u2: Single);
  950. glMapGrid2d: procedure(un: LongInt; u1, u2: Double; vn: LongInt; v1, v2: Double);
  951. glMapGrid2f: procedure(un: LongInt; u1, u2: Single; vn: LongInt; v1, v2: Single);
  952. glEvalPoint1: procedure(i: LongInt);
  953. glEvalPoint2: procedure(i, j: LongInt);
  954. glEvalMesh1: procedure(mode: GLenum; i1, i2: LongInt);
  955. glEvalMesh2: procedure(mode: GLenum; i1, i2, j1, j2: LongInt);
  956. // Fog
  957. glFogf: procedure(pname: GLenum; param: Single);
  958. glFogi: procedure(pname: GLenum; param: LongInt);
  959. glFogfv: procedure(pname: GLenum; var params: Single);
  960. glFogiv: procedure(pname: GLenum; var params: LongInt);
  961. // Selection and Feedback
  962. glFeedbackBuffer: procedure(size: LongInt; AType: GLenum; var buffer: Single);
  963. glPassThrough: procedure(token: Single);
  964. glSelectBuffer: procedure(size: LongInt; var buffer: LongWord);
  965. glInitNames: procedure;
  966. glLoadName: procedure(name: LongWord);
  967. glPushName: procedure(name: LongWord);
  968. glPopName: procedure;
  969. %END