gl.def 47 KB

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