gles11.pp 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182
  1. {$mode objfpc}
  2. unit gles11;
  3. interface
  4. uses
  5. ctypes;
  6. {
  7. Automatically converted by H2Pas 1.0.0 from gles.h
  8. The following command line parameters were used:
  9. -C
  10. -P
  11. -u
  12. gles
  13. -o
  14. gles11.pp
  15. gles.h
  16. }
  17. {$IFDEF FPC}
  18. {$PACKRECORDS C}
  19. {$ENDIF}
  20. {
  21. ** License Applicability. Except to the extent portions of this file are
  22. ** made subject to an alternative license as permitted in the SGI Free
  23. ** Software License B, Version 1.0 (the "License"), the contents of this
  24. ** file are subject only to the provisions of the License. You may not use
  25. ** this file except in compliance with the License. You may obtain a copy
  26. ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
  27. ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
  28. **
  29. ** http://oss.sgi.com/projects/FreeB
  30. **
  31. ** Note that, as provided in the License, the Software is distributed on an
  32. ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
  33. ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
  34. ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
  35. ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
  36. **
  37. ** Original Code. The Original Code is: OpenGL Sample Implementation,
  38. ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
  39. ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
  40. ** Copyright in any portions created by third parties is as indicated
  41. ** elsewhere herein. All Rights Reserved.
  42. **
  43. ** Additional Notice Provisions: The application programming interfaces
  44. ** established by SGI in conjunction with the Original Code are The
  45. ** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
  46. ** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
  47. ** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
  48. ** Window System(R) (Version 1.3), released October 19, 1998. This software
  49. ** was created using the OpenGL(R) version 1.2.1 Sample Implementation
  50. ** published by SGI, but has not been independently verified as being
  51. ** compliant with the OpenGL(R) version 1.2.1 Specification.
  52. }
  53. type
  54. GLenum = cuint;
  55. GLboolean = cuchar;
  56. GLbitfield = cuint;
  57. GLbyte = cschar;
  58. GLshort = cshort;
  59. GLint = cint;
  60. GLsizei = cint;
  61. GLubyte = cuchar;
  62. GLushort = cushort;
  63. GLuint = cuint;
  64. GLfloat = single;
  65. GLclampf = single;
  66. GLvoid = pointer;
  67. GLfixed = cint;
  68. GLclampx = cint;
  69. GLintptr = cint;
  70. GLsizeiptr = cint;
  71. GLFloatVector4 = array[0..3] of GLfloat;
  72. GLFixedVector4 = array[0..3] of GLFixed;
  73. Type
  74. PGLboolean = ^GLboolean;
  75. PGLubyte = ^GLubyte;
  76. PGLfixed = ^GLfixed;
  77. PGLfloat = ^GLfloat;
  78. PGLint = ^GLint;
  79. PGLshort = ^GLshort;
  80. PGLuint = ^GLuint;
  81. PGLvoid = ^GLvoid;
  82. PGLFloatVector4 = ^GLFloatVector4;
  83. PGLFixedVector4 = ^GLFixedVector4;
  84. {*********************************************************** }
  85. { OpenGL ES core versions }
  86. const
  87. GL_VERSION_ES_CM_1_0 = 1;
  88. GL_VERSION_ES_CL_1_0 = 1;
  89. GL_VERSION_ES_CM_1_1 = 1;
  90. GL_VERSION_ES_CL_1_1 = 1;
  91. { Legacy core versions }
  92. GL_OES_VERSION_1_0 = 1;
  93. GL_OES_VERSION_1_1 = 1;
  94. { Extensions }
  95. GL_OES_byte_coordinates = 1;
  96. GL_OES_compressed_paletted_texture = 1;
  97. GL_OES_draw_texture = 1;
  98. GL_OES_fixed_point = 1;
  99. GL_OES_matrix_get = 1;
  100. GL_OES_matrix_palette = 1;
  101. GL_OES_point_size_array = 1;
  102. GL_OES_point_sprite = 1;
  103. GL_OES_read_format = 1;
  104. GL_OES_single_precision = 1;
  105. { ClearBufferMask }
  106. GL_DEPTH_BUFFER_BIT = $00000100;
  107. GL_STENCIL_BUFFER_BIT = $00000400;
  108. GL_COLOR_BUFFER_BIT = $00004000;
  109. { Boolean }
  110. GL_FALSE = 0;
  111. GL_TRUE = 1;
  112. { BeginMode }
  113. GL_POINTS = $0000;
  114. GL_LINES = $0001;
  115. GL_LINE_LOOP = $0002;
  116. GL_LINE_STRIP = $0003;
  117. GL_TRIANGLES = $0004;
  118. GL_TRIANGLE_STRIP = $0005;
  119. GL_TRIANGLE_FAN = $0006;
  120. { AlphaFunction }
  121. GL_NEVER = $0200;
  122. GL_LESS = $0201;
  123. GL_EQUAL = $0202;
  124. GL_LEQUAL = $0203;
  125. GL_GREATER = $0204;
  126. GL_NOTEQUAL = $0205;
  127. GL_GEQUAL = $0206;
  128. GL_ALWAYS = $0207;
  129. { BlendingFactorDest }
  130. GL_ZERO = 0;
  131. GL_ONE = 1;
  132. GL_SRC_COLOR = $0300;
  133. GL_ONE_MINUS_SRC_COLOR = $0301;
  134. GL_SRC_ALPHA = $0302;
  135. GL_ONE_MINUS_SRC_ALPHA = $0303;
  136. GL_DST_ALPHA = $0304;
  137. GL_ONE_MINUS_DST_ALPHA = $0305;
  138. { BlendingFactorSrc }
  139. { GL_ZERO }
  140. { GL_ONE }
  141. GL_DST_COLOR = $0306;
  142. GL_ONE_MINUS_DST_COLOR = $0307;
  143. GL_SRC_ALPHA_SATURATE = $0308;
  144. { GL_SRC_ALPHA }
  145. { GL_ONE_MINUS_SRC_ALPHA }
  146. { GL_DST_ALPHA }
  147. { GL_ONE_MINUS_DST_ALPHA }
  148. { ClipPlaneName }
  149. GL_CLIP_PLANE0 = $3000;
  150. GL_CLIP_PLANE1 = $3001;
  151. GL_CLIP_PLANE2 = $3002;
  152. GL_CLIP_PLANE3 = $3003;
  153. GL_CLIP_PLANE4 = $3004;
  154. GL_CLIP_PLANE5 = $3005;
  155. { ColorMaterialFace }
  156. { GL_FRONT_AND_BACK }
  157. { ColorMaterialParameter }
  158. { GL_AMBIENT_AND_DIFFUSE }
  159. { ColorPointerType }
  160. { GL_UNSIGNED_BYTE }
  161. { GL_FLOAT }
  162. { GL_FIXED }
  163. { CullFaceMode }
  164. GL_FRONT = $0404;
  165. GL_BACK = $0405;
  166. GL_FRONT_AND_BACK = $0408;
  167. { DepthFunction }
  168. { GL_NEVER }
  169. { GL_LESS }
  170. { GL_EQUAL }
  171. { GL_LEQUAL }
  172. { GL_GREATER }
  173. { GL_NOTEQUAL }
  174. { GL_GEQUAL }
  175. { GL_ALWAYS }
  176. { EnableCap }
  177. GL_FOG = $0B60;
  178. GL_LIGHTING = $0B50;
  179. GL_TEXTURE_2D = $0DE1;
  180. GL_CULL_FACE = $0B44;
  181. GL_ALPHA_TEST = $0BC0;
  182. GL_BLEND = $0BE2;
  183. GL_COLOR_LOGIC_OP = $0BF2;
  184. GL_DITHER = $0BD0;
  185. GL_STENCIL_TEST = $0B90;
  186. GL_DEPTH_TEST = $0B71;
  187. { GL_LIGHT0 }
  188. { GL_LIGHT1 }
  189. { GL_LIGHT2 }
  190. { GL_LIGHT3 }
  191. { GL_LIGHT4 }
  192. { GL_LIGHT5 }
  193. { GL_LIGHT6 }
  194. { GL_LIGHT7 }
  195. GL_POINT_SMOOTH = $0B10;
  196. GL_LINE_SMOOTH = $0B20;
  197. { GL_SCISSOR_TEST = $0C11; }
  198. GL_COLOR_MATERIAL = $0B57;
  199. GL_NORMALIZE = $0BA1;
  200. GL_RESCALE_NORMAL = $803A;
  201. { GL_POLYGON_OFFSET_FILL = $8037; }
  202. GL_VERTEX_ARRAY = $8074;
  203. GL_NORMAL_ARRAY = $8075;
  204. GL_COLOR_ARRAY = $8076;
  205. GL_TEXTURE_COORD_ARRAY = $8078;
  206. GL_MULTISAMPLE = $809D;
  207. GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
  208. GL_SAMPLE_ALPHA_TO_ONE = $809F;
  209. GL_SAMPLE_COVERAGE = $80A0;
  210. { ErrorCode }
  211. GL_NO_ERROR = 0;
  212. GL_INVALID_ENUM = $0500;
  213. GL_INVALID_VALUE = $0501;
  214. GL_INVALID_OPERATION = $0502;
  215. GL_STACK_OVERFLOW = $0503;
  216. GL_STACK_UNDERFLOW = $0504;
  217. GL_OUT_OF_MEMORY = $0505;
  218. { FogMode }
  219. { GL_LINEAR }
  220. GL_EXP = $0800;
  221. GL_EXP2 = $0801;
  222. { FogParameter }
  223. GL_FOG_DENSITY = $0B62;
  224. GL_FOG_START = $0B63;
  225. GL_FOG_END = $0B64;
  226. GL_FOG_MODE = $0B65;
  227. GL_FOG_COLOR = $0B66;
  228. { FrontFaceDirection }
  229. GL_CW = $0900;
  230. GL_CCW = $0901;
  231. { GetPName }
  232. GL_CURRENT_COLOR = $0B00;
  233. GL_CURRENT_NORMAL = $0B02;
  234. GL_CURRENT_TEXTURE_COORDS = $0B03;
  235. GL_POINT_SIZE = $0B11;
  236. GL_POINT_SIZE_MIN = $8126;
  237. GL_POINT_SIZE_MAX = $8127;
  238. GL_POINT_FADE_THRESHOLD_SIZE = $8128;
  239. GL_POINT_DISTANCE_ATTENUATION = $8129;
  240. GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
  241. GL_LINE_WIDTH = $0B21;
  242. GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
  243. GL_ALIASED_POINT_SIZE_RANGE = $846D;
  244. GL_ALIASED_LINE_WIDTH_RANGE = $846E;
  245. GL_CULL_FACE_MODE = $0B45;
  246. GL_FRONT_FACE = $0B46;
  247. GL_SHADE_MODEL = $0B54;
  248. GL_DEPTH_RANGE = $0B70;
  249. GL_DEPTH_WRITEMASK = $0B72;
  250. GL_DEPTH_CLEAR_VALUE = $0B73;
  251. GL_DEPTH_FUNC = $0B74;
  252. GL_STENCIL_CLEAR_VALUE = $0B91;
  253. GL_STENCIL_FUNC = $0B92;
  254. GL_STENCIL_VALUE_MASK = $0B93;
  255. GL_STENCIL_FAIL = $0B94;
  256. GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
  257. GL_STENCIL_PASS_DEPTH_PASS = $0B96;
  258. GL_STENCIL_REF = $0B97;
  259. GL_STENCIL_WRITEMASK = $0B98;
  260. GL_MATRIX_MODE = $0BA0;
  261. GL_VIEWPORT = $0BA2;
  262. GL_MODELVIEW_STACK_DEPTH = $0BA3;
  263. GL_PROJECTION_STACK_DEPTH = $0BA4;
  264. GL_TEXTURE_STACK_DEPTH = $0BA5;
  265. GL_MODELVIEW_MATRIX = $0BA6;
  266. GL_PROJECTION_MATRIX = $0BA7;
  267. GL_TEXTURE_MATRIX = $0BA8;
  268. GL_ALPHA_TEST_FUNC = $0BC1;
  269. GL_ALPHA_TEST_REF = $0BC2;
  270. GL_BLEND_DST = $0BE0;
  271. GL_BLEND_SRC = $0BE1;
  272. GL_LOGIC_OP_MODE = $0BF0;
  273. GL_SCISSOR_BOX = $0C10;
  274. GL_SCISSOR_TEST = $0C11;
  275. GL_COLOR_CLEAR_VALUE = $0C22;
  276. GL_COLOR_WRITEMASK = $0C23;
  277. { GL_UNPACK_ALIGNMENT = $0CF5; }
  278. { GL_PACK_ALIGNMENT = $0D05; }
  279. GL_MAX_LIGHTS = $0D31;
  280. GL_MAX_CLIP_PLANES = $0D32;
  281. GL_MAX_TEXTURE_SIZE = $0D33;
  282. GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
  283. GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
  284. GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
  285. GL_MAX_VIEWPORT_DIMS = $0D3A;
  286. GL_MAX_TEXTURE_UNITS = $84E2;
  287. GL_SUBPIXEL_BITS = $0D50;
  288. GL_RED_BITS = $0D52;
  289. GL_GREEN_BITS = $0D53;
  290. GL_BLUE_BITS = $0D54;
  291. GL_ALPHA_BITS = $0D55;
  292. GL_DEPTH_BITS = $0D56;
  293. GL_STENCIL_BITS = $0D57;
  294. GL_POLYGON_OFFSET_UNITS = $2A00;
  295. GL_POLYGON_OFFSET_FILL = $8037;
  296. GL_POLYGON_OFFSET_FACTOR = $8038;
  297. GL_TEXTURE_BINDING_2D = $8069;
  298. GL_VERTEX_ARRAY_SIZE = $807A;
  299. GL_VERTEX_ARRAY_TYPE = $807B;
  300. GL_VERTEX_ARRAY_STRIDE = $807C;
  301. GL_NORMAL_ARRAY_TYPE = $807E;
  302. GL_NORMAL_ARRAY_STRIDE = $807F;
  303. GL_COLOR_ARRAY_SIZE = $8081;
  304. GL_COLOR_ARRAY_TYPE = $8082;
  305. GL_COLOR_ARRAY_STRIDE = $8083;
  306. GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
  307. GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
  308. GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
  309. GL_VERTEX_ARRAY_POINTER = $808E;
  310. GL_NORMAL_ARRAY_POINTER = $808F;
  311. GL_COLOR_ARRAY_POINTER = $8090;
  312. GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
  313. GL_SAMPLE_BUFFERS = $80A8;
  314. GL_SAMPLES = $80A9;
  315. GL_SAMPLE_COVERAGE_VALUE = $80AA;
  316. GL_SAMPLE_COVERAGE_INVERT = $80AB;
  317. { GetTextureParameter }
  318. { GL_TEXTURE_MAG_FILTER }
  319. { GL_TEXTURE_MIN_FILTER }
  320. { GL_TEXTURE_WRAP_S }
  321. { GL_TEXTURE_WRAP_T }
  322. GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = $8B9A;
  323. GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = $8B9B;
  324. GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
  325. GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
  326. { HintMode }
  327. GL_DONT_CARE = $1100;
  328. GL_FASTEST = $1101;
  329. GL_NICEST = $1102;
  330. { HintTarget }
  331. GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
  332. GL_POINT_SMOOTH_HINT = $0C51;
  333. GL_LINE_SMOOTH_HINT = $0C52;
  334. GL_FOG_HINT = $0C54;
  335. GL_GENERATE_MIPMAP_HINT = $8192;
  336. { LightModelParameter }
  337. GL_LIGHT_MODEL_AMBIENT = $0B53;
  338. GL_LIGHT_MODEL_TWO_SIDE = $0B52;
  339. { LightParameter }
  340. GL_AMBIENT = $1200;
  341. GL_DIFFUSE = $1201;
  342. GL_SPECULAR = $1202;
  343. GL_POSITION = $1203;
  344. GL_SPOT_DIRECTION = $1204;
  345. GL_SPOT_EXPONENT = $1205;
  346. GL_SPOT_CUTOFF = $1206;
  347. GL_CONSTANT_ATTENUATION = $1207;
  348. GL_LINEAR_ATTENUATION = $1208;
  349. GL_QUADRATIC_ATTENUATION = $1209;
  350. { DataType }
  351. GL_BYTE = $1400;
  352. GL_UNSIGNED_BYTE = $1401;
  353. GL_SHORT = $1402;
  354. GL_UNSIGNED_SHORT = $1403;
  355. GL_FLOAT = $1406;
  356. GL_FIXED = $140C;
  357. { LogicOp }
  358. GL_CLEAR = $1500;
  359. GL_AND = $1501;
  360. GL_AND_REVERSE = $1502;
  361. GL_COPY = $1503;
  362. GL_AND_INVERTED = $1504;
  363. GL_NOOP = $1505;
  364. GL_XOR = $1506;
  365. GL_OR = $1507;
  366. GL_NOR = $1508;
  367. GL_EQUIV = $1509;
  368. GL_INVERT = $150A;
  369. GL_OR_REVERSE = $150B;
  370. GL_COPY_INVERTED = $150C;
  371. GL_OR_INVERTED = $150D;
  372. GL_NAND = $150E;
  373. GL_SET = $150F;
  374. { MaterialFace }
  375. { GL_FRONT_AND_BACK }
  376. { MaterialParameter }
  377. GL_EMISSION = $1600;
  378. GL_SHININESS = $1601;
  379. GL_AMBIENT_AND_DIFFUSE = $1602;
  380. { GL_AMBIENT }
  381. { GL_DIFFUSE }
  382. { GL_SPECULAR }
  383. { MatrixMode }
  384. GL_MODELVIEW = $1700;
  385. GL_PROJECTION = $1701;
  386. GL_TEXTURE = $1702;
  387. { NormalPointerType }
  388. { GL_BYTE }
  389. { GL_SHORT }
  390. { GL_FLOAT }
  391. { GL_FIXED }
  392. { PixelFormat }
  393. GL_ALPHA = $1906;
  394. GL_RGB = $1907;
  395. GL_RGBA = $1908;
  396. GL_LUMINANCE = $1909;
  397. GL_LUMINANCE_ALPHA = $190A;
  398. { PixelStoreParameter }
  399. GL_UNPACK_ALIGNMENT = $0CF5;
  400. GL_PACK_ALIGNMENT = $0D05;
  401. { PixelType }
  402. { GL_UNSIGNED_BYTE }
  403. GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
  404. GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
  405. GL_UNSIGNED_SHORT_5_6_5 = $8363;
  406. { ShadingModel }
  407. GL_FLAT = $1D00;
  408. GL_SMOOTH = $1D01;
  409. { StencilFunction }
  410. { GL_NEVER }
  411. { GL_LESS }
  412. { GL_EQUAL }
  413. { GL_LEQUAL }
  414. { GL_GREATER }
  415. { GL_NOTEQUAL }
  416. { GL_GEQUAL }
  417. { GL_ALWAYS }
  418. { StencilOp }
  419. { GL_ZERO }
  420. GL_KEEP = $1E00;
  421. GL_REPLACE = $1E01;
  422. GL_INCR = $1E02;
  423. GL_DECR = $1E03;
  424. { GL_INVERT }
  425. { StringName }
  426. GL_VENDOR = $1F00;
  427. GL_RENDERER = $1F01;
  428. GL_VERSION = $1F02;
  429. GL_EXTENSIONS = $1F03;
  430. { TexCoordPointerType }
  431. { GL_SHORT }
  432. { GL_FLOAT }
  433. { GL_FIXED }
  434. { GL_BYTE }
  435. { TextureEnvMode }
  436. GL_MODULATE = $2100;
  437. GL_DECAL = $2101;
  438. { GL_BLEND }
  439. GL_ADD = $0104;
  440. { GL_REPLACE }
  441. { TextureEnvParameter }
  442. GL_TEXTURE_ENV_MODE = $2200;
  443. GL_TEXTURE_ENV_COLOR = $2201;
  444. { TextureEnvTarget }
  445. GL_TEXTURE_ENV = $2300;
  446. { TextureMagFilter }
  447. GL_NEAREST = $2600;
  448. GL_LINEAR = $2601;
  449. { TextureMinFilter }
  450. { GL_NEAREST }
  451. { GL_LINEAR }
  452. GL_NEAREST_MIPMAP_NEAREST = $2700;
  453. GL_LINEAR_MIPMAP_NEAREST = $2701;
  454. GL_NEAREST_MIPMAP_LINEAR = $2702;
  455. GL_LINEAR_MIPMAP_LINEAR = $2703;
  456. { TextureParameterName }
  457. GL_TEXTURE_MAG_FILTER = $2800;
  458. GL_TEXTURE_MIN_FILTER = $2801;
  459. GL_TEXTURE_WRAP_S = $2802;
  460. GL_TEXTURE_WRAP_T = $2803;
  461. GL_GENERATE_MIPMAP = $8191;
  462. { TextureTarget }
  463. { GL_TEXTURE_2D }
  464. { TextureUnit }
  465. GL_TEXTURE0 = $84C0;
  466. GL_TEXTURE1 = $84C1;
  467. GL_TEXTURE2 = $84C2;
  468. GL_TEXTURE3 = $84C3;
  469. GL_TEXTURE4 = $84C4;
  470. GL_TEXTURE5 = $84C5;
  471. GL_TEXTURE6 = $84C6;
  472. GL_TEXTURE7 = $84C7;
  473. GL_TEXTURE8 = $84C8;
  474. GL_TEXTURE9 = $84C9;
  475. GL_TEXTURE10 = $84CA;
  476. GL_TEXTURE11 = $84CB;
  477. GL_TEXTURE12 = $84CC;
  478. GL_TEXTURE13 = $84CD;
  479. GL_TEXTURE14 = $84CE;
  480. GL_TEXTURE15 = $84CF;
  481. GL_TEXTURE16 = $84D0;
  482. GL_TEXTURE17 = $84D1;
  483. GL_TEXTURE18 = $84D2;
  484. GL_TEXTURE19 = $84D3;
  485. GL_TEXTURE20 = $84D4;
  486. GL_TEXTURE21 = $84D5;
  487. GL_TEXTURE22 = $84D6;
  488. GL_TEXTURE23 = $84D7;
  489. GL_TEXTURE24 = $84D8;
  490. GL_TEXTURE25 = $84D9;
  491. GL_TEXTURE26 = $84DA;
  492. GL_TEXTURE27 = $84DB;
  493. GL_TEXTURE28 = $84DC;
  494. GL_TEXTURE29 = $84DD;
  495. GL_TEXTURE30 = $84DE;
  496. GL_TEXTURE31 = $84DF;
  497. GL_ACTIVE_TEXTURE = $84E0;
  498. GL_CLIENT_ACTIVE_TEXTURE = $84E1;
  499. { TextureWrapMode }
  500. GL_REPEAT = $2901;
  501. GL_CLAMP_TO_EDGE = $812F;
  502. { PixelInternalFormat }
  503. GL_PALETTE4_RGB8_OES = $8B90;
  504. GL_PALETTE4_RGBA8_OES = $8B91;
  505. GL_PALETTE4_R5_G6_B5_OES = $8B92;
  506. GL_PALETTE4_RGBA4_OES = $8B93;
  507. GL_PALETTE4_RGB5_A1_OES = $8B94;
  508. GL_PALETTE8_RGB8_OES = $8B95;
  509. GL_PALETTE8_RGBA8_OES = $8B96;
  510. GL_PALETTE8_R5_G6_B5_OES = $8B97;
  511. GL_PALETTE8_RGBA4_OES = $8B98;
  512. GL_PALETTE8_RGB5_A1_OES = $8B99;
  513. { VertexPointerType }
  514. { GL_SHORT }
  515. { GL_FLOAT }
  516. { GL_FIXED }
  517. { GL_BYTE }
  518. { LightName }
  519. GL_LIGHT0 = $4000;
  520. GL_LIGHT1 = $4001;
  521. GL_LIGHT2 = $4002;
  522. GL_LIGHT3 = $4003;
  523. GL_LIGHT4 = $4004;
  524. GL_LIGHT5 = $4005;
  525. GL_LIGHT6 = $4006;
  526. GL_LIGHT7 = $4007;
  527. { Buffer Objects }
  528. GL_ARRAY_BUFFER = $8892;
  529. GL_ELEMENT_ARRAY_BUFFER = $8893;
  530. GL_ARRAY_BUFFER_BINDING = $8894;
  531. GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
  532. GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
  533. GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
  534. GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
  535. GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
  536. GL_STATIC_DRAW = $88E4;
  537. GL_DYNAMIC_DRAW = $88E8;
  538. GL_BUFFER_SIZE = $8764;
  539. GL_BUFFER_USAGE = $8765;
  540. { Texture combine + dot3 }
  541. GL_SUBTRACT = $84E7;
  542. GL_COMBINE = $8570;
  543. GL_COMBINE_RGB = $8571;
  544. GL_COMBINE_ALPHA = $8572;
  545. GL_RGB_SCALE = $8573;
  546. GL_ADD_SIGNED = $8574;
  547. GL_INTERPOLATE = $8575;
  548. GL_CONSTANT = $8576;
  549. GL_PRIMARY_COLOR = $8577;
  550. GL_PREVIOUS = $8578;
  551. GL_OPERAND0_RGB = $8590;
  552. GL_OPERAND1_RGB = $8591;
  553. GL_OPERAND2_RGB = $8592;
  554. GL_OPERAND0_ALPHA = $8598;
  555. GL_OPERAND1_ALPHA = $8599;
  556. GL_OPERAND2_ALPHA = $859A;
  557. GL_ALPHA_SCALE = $0D1C;
  558. GL_SRC0_RGB = $8580;
  559. GL_SRC1_RGB = $8581;
  560. GL_SRC2_RGB = $8582;
  561. GL_SRC0_ALPHA = $8588;
  562. GL_SRC1_ALPHA = $8589;
  563. GL_SRC2_ALPHA = $858A;
  564. GL_DOT3_RGB = $86AE;
  565. GL_DOT3_RGBA = $86AF;
  566. {*************************************************************************************** }
  567. { OES extension functions }
  568. {*************************************************************************************** }
  569. { OES_draw_texture }
  570. GL_TEXTURE_CROP_RECT_OES = $8B9D;
  571. { OES_matrix_get }
  572. GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = $898D;
  573. GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = $898E;
  574. GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = $898F;
  575. { OES_matrix_palette }
  576. GL_MAX_VERTEX_UNITS_OES = $86A4;
  577. GL_MAX_PALETTE_MATRICES_OES = $8842;
  578. GL_MATRIX_PALETTE_OES = $8840;
  579. GL_MATRIX_INDEX_ARRAY_OES = $8844;
  580. GL_WEIGHT_ARRAY_OES = $86AD;
  581. GL_CURRENT_PALETTE_MATRIX_OES = $8843;
  582. GL_MATRIX_INDEX_ARRAY_SIZE_OES = $8846;
  583. GL_MATRIX_INDEX_ARRAY_TYPE_OES = $8847;
  584. GL_MATRIX_INDEX_ARRAY_STRIDE_OES = $8848;
  585. GL_MATRIX_INDEX_ARRAY_POINTER_OES = $8849;
  586. GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = $8B9E;
  587. GL_WEIGHT_ARRAY_SIZE_OES = $86AB;
  588. GL_WEIGHT_ARRAY_TYPE_OES = $86A9;
  589. GL_WEIGHT_ARRAY_STRIDE_OES = $86AA;
  590. GL_WEIGHT_ARRAY_POINTER_OES = $86AC;
  591. GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = $889E;
  592. { OES_point_size_array }
  593. GL_POINT_SIZE_ARRAY_OES = $8B9C;
  594. GL_POINT_SIZE_ARRAY_TYPE_OES = $898A;
  595. GL_POINT_SIZE_ARRAY_STRIDE_OES = $898B;
  596. GL_POINT_SIZE_ARRAY_POINTER_OES = $898C;
  597. GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = $8B9F;
  598. { OES_point_sprite }
  599. GL_POINT_SPRITE_OES = $8861;
  600. GL_COORD_REPLACE_OES = $8862;
  601. {*********************************************************** }
  602. var
  603. glAlphaFunc : procedure(func:GLenum; ref:GLclampf);cdecl;
  604. glClearColor : procedure(red:GLclampf; green:GLclampf; blue:GLclampf; alpha:GLclampf);cdecl;
  605. glClearDepthf : procedure(depth:GLclampf);cdecl;
  606. (* Const before type ignored *)
  607. glClipPlanef : procedure(plane:GLenum; equation:PGLfloat);cdecl;
  608. glColor4f : procedure(red:GLfloat; green:GLfloat; blue:GLfloat; alpha:GLfloat);cdecl;
  609. glDepthRangef : procedure(zNear:GLclampf; zFar:GLclampf);cdecl;
  610. glFogf : procedure(pname:GLenum; param:GLfloat);cdecl;
  611. (* Const before type ignored *)
  612. glFogfv : procedure(pname:GLenum; params:PGLfloat);cdecl;
  613. glFrustumf : procedure(left:GLfloat; right:GLfloat; bottom:GLfloat; top:GLfloat; zNear:GLfloat;
  614. zFar:GLfloat);cdecl;
  615. glGetClipPlanef : procedure(pname:GLenum; eqn:PGLFloatVector4);cdecl;
  616. glGetFloatv : procedure(pname:GLenum; params:PGLfloat);cdecl;
  617. glGetLightfv : procedure(light:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  618. glGetMaterialfv : procedure(face:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  619. glGetTexEnvfv : procedure(env:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  620. glGetTexParameterfv : procedure(target:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  621. glLightModelf : procedure(pname:GLenum; param:GLfloat);cdecl;
  622. (* Const before type ignored *)
  623. glLightModelfv : procedure(pname:GLenum; params:PGLfloat);cdecl;
  624. glLightf : procedure(light:GLenum; pname:GLenum; param:GLfloat);cdecl;
  625. (* Const before type ignored *)
  626. glLightfv : procedure(light:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  627. glLineWidth : procedure(width:GLfloat);cdecl;
  628. (* Const before type ignored *)
  629. glLoadMatrixf : procedure(m:PGLfloat);cdecl;
  630. glMaterialf : procedure(face:GLenum; pname:GLenum; param:GLfloat);cdecl;
  631. (* Const before type ignored *)
  632. glMaterialfv : procedure(face:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  633. (* Const before type ignored *)
  634. glMultMatrixf : procedure(m:PGLfloat);cdecl;
  635. glMultiTexCoord4f : procedure(target:GLenum; s:GLfloat; t:GLfloat; r:GLfloat; q:GLfloat);cdecl;
  636. glNormal3f : procedure(nx:GLfloat; ny:GLfloat; nz:GLfloat);cdecl;
  637. glOrthof : procedure(left:GLfloat; right:GLfloat; bottom:GLfloat; top:GLfloat; zNear:GLfloat;
  638. zFar:GLfloat);cdecl;
  639. glPointParameterf : procedure(pname:GLenum; param:GLfloat);cdecl;
  640. (* Const before type ignored *)
  641. glPointParameterfv : procedure(pname:GLenum; params:PGLfloat);cdecl;
  642. glPointSize : procedure(size:GLfloat);cdecl;
  643. glPolygonOffset : procedure(factor:GLfloat; units:GLfloat);cdecl;
  644. glRotatef : procedure(angle:GLfloat; x:GLfloat; y:GLfloat; z:GLfloat);cdecl;
  645. glScalef : procedure(x:GLfloat; y:GLfloat; z:GLfloat);cdecl;
  646. glTexEnvf : procedure(target:GLenum; pname:GLenum; param:GLfloat);cdecl;
  647. (* Const before type ignored *)
  648. glTexEnvfv : procedure(target:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  649. glTexParameterf : procedure(target:GLenum; pname:GLenum; param:GLfloat);cdecl;
  650. (* Const before type ignored *)
  651. glTexParameterfv : procedure(target:GLenum; pname:GLenum; params:PGLfloat);cdecl;
  652. glTranslatef : procedure(x:GLfloat; y:GLfloat; z:GLfloat);cdecl;
  653. glActiveTexture : procedure(texture:GLenum);cdecl;
  654. glAlphaFuncx : procedure(func:GLenum; ref:GLclampx);cdecl;
  655. glBindBuffer : procedure(target:GLenum; buffer:GLuint);cdecl;
  656. glBindTexture : procedure(target:GLenum; texture:GLuint);cdecl;
  657. glBlendFunc : procedure(sfactor:GLenum; dfactor:GLenum);cdecl;
  658. (* Const before type ignored *)
  659. glBufferData : procedure(target:GLenum; size:GLsizeiptr; data:PGLvoid; usage:GLenum);cdecl;
  660. (* Const before type ignored *)
  661. glBufferSubData : procedure(target:GLenum; offset:GLintptr; size:GLsizeiptr; data:PGLvoid);cdecl;
  662. glClear : procedure(mask:GLbitfield);cdecl;
  663. glClearColorx : procedure(red:GLclampx; green:GLclampx; blue:GLclampx; alpha:GLclampx);cdecl;
  664. glClearDepthx : procedure(depth:GLclampx);cdecl;
  665. glClearStencil : procedure(s:GLint);cdecl;
  666. glClientActiveTexture : procedure(texture:GLenum);cdecl;
  667. (* Const before type ignored *)
  668. glClipPlanex : procedure(plane:GLenum; equation:PGLfixed);cdecl;
  669. glColor4ub : procedure(red:GLubyte; green:GLubyte; blue:GLubyte; alpha:GLubyte);cdecl;
  670. glColor4x : procedure(red:GLfixed; green:GLfixed; blue:GLfixed; alpha:GLfixed);cdecl;
  671. glColorMask : procedure(red:GLboolean; green:GLboolean; blue:GLboolean; alpha:GLboolean);cdecl;
  672. (* Const before type ignored *)
  673. glColorPointer : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  674. (* Const before type ignored *)
  675. glCompressedTexImage2D : procedure(target:GLenum; level:GLint; internalformat:GLenum; width:GLsizei; height:GLsizei;
  676. border:GLint; imageSize:GLsizei; data:PGLvoid);cdecl;
  677. (* Const before type ignored *)
  678. glCompressedTexSubImage2D : procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei;
  679. height:GLsizei; format:GLenum; imageSize:GLsizei; data:PGLvoid);cdecl;
  680. glCopyTexImage2D : procedure(target:GLenum; level:GLint; internalformat:GLenum; x:GLint; y:GLint;
  681. width:GLsizei; height:GLsizei; border:GLint);cdecl;
  682. glCopyTexSubImage2D : procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; x:GLint;
  683. y:GLint; width:GLsizei; height:GLsizei);cdecl;
  684. glCullFace : procedure(mode:GLenum);cdecl;
  685. (* Const before type ignored *)
  686. glDeleteBuffers : procedure(n:GLsizei; buffers:PGLuint);cdecl;
  687. (* Const before type ignored *)
  688. glDeleteTextures : procedure(n:GLsizei; textures:PGLuint);cdecl;
  689. glDepthFunc : procedure(func:GLenum);cdecl;
  690. glDepthMask : procedure(flag:GLboolean);cdecl;
  691. glDepthRangex : procedure(zNear:GLclampx; zFar:GLclampx);cdecl;
  692. glDisable : procedure(cap:GLenum);cdecl;
  693. glDisableClientState : procedure(arr:GLenum);cdecl;
  694. glDrawArrays : procedure(mode:GLenum; first:GLint; count:GLsizei);cdecl;
  695. (* Const before type ignored *)
  696. glDrawElements : procedure(mode:GLenum; count:GLsizei; _type:GLenum; indices:PGLvoid);cdecl;
  697. glEnable : procedure(cap:GLenum);cdecl;
  698. glEnableClientState : procedure(arr:GLenum);cdecl;
  699. glFinish : procedure;cdecl;
  700. glFlush : procedure;cdecl;
  701. glFogx : procedure(pname:GLenum; param:GLfixed);cdecl;
  702. (* Const before type ignored *)
  703. glFogxv : procedure(pname:GLenum; params:PGLfixed);cdecl;
  704. glFrontFace : procedure(mode:GLenum);cdecl;
  705. glFrustumx : procedure(left:GLfixed; right:GLfixed; bottom:GLfixed; top:GLfixed; zNear:GLfixed;
  706. zFar:GLfixed);cdecl;
  707. glGetBooleanv : procedure(pname:GLenum; params:PGLboolean);cdecl;
  708. glGetBufferParameteriv : procedure(target:GLenum; pname:GLenum; params:PGLint);cdecl;
  709. glGetClipPlanex : procedure(pname:GLenum; eqn:GLFixedVector4);cdecl;
  710. glGenBuffers : procedure(n:GLsizei; buffers:PGLuint);cdecl;
  711. glGenTextures : procedure(n:GLsizei; textures:PGLuint);cdecl;
  712. glGetError : function:GLenum;cdecl;
  713. glGetFixedv : procedure(pname:GLenum; params:PGLfixed);cdecl;
  714. glGetIntegerv : procedure(pname:GLenum; params:PGLint);cdecl;
  715. glGetLightxv : procedure(light:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  716. glGetMaterialxv : procedure(face:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  717. glGetPointerv : procedure(pname:GLenum; params:Ppointer);cdecl;
  718. (* Const before type ignored *)
  719. glGetString : function(name:GLenum):PGLubyte;cdecl;
  720. glGetTexEnviv : procedure(env:GLenum; pname:GLenum; params:PGLint);cdecl;
  721. glGetTexEnvxv : procedure(env:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  722. glGetTexParameteriv : procedure(target:GLenum; pname:GLenum; params:PGLint);cdecl;
  723. glGetTexParameterxv : procedure(target:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  724. glHint : procedure(target:GLenum; mode:GLenum);cdecl;
  725. glIsBuffer : function(buffer:GLuint):GLboolean;cdecl;
  726. glIsEnabled : function(cap:GLenum):GLboolean;cdecl;
  727. glIsTexture : function(texture:GLuint):GLboolean;cdecl;
  728. glLightModelx : procedure(pname:GLenum; param:GLfixed);cdecl;
  729. (* Const before type ignored *)
  730. glLightModelxv : procedure(pname:GLenum; params:PGLfixed);cdecl;
  731. glLightx : procedure(light:GLenum; pname:GLenum; param:GLfixed);cdecl;
  732. (* Const before type ignored *)
  733. glLightxv : procedure(light:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  734. glLineWidthx : procedure(width:GLfixed);cdecl;
  735. glLoadIdentity : procedure;cdecl;
  736. (* Const before type ignored *)
  737. glLoadMatrixx : procedure(m:PGLfixed);cdecl;
  738. glLogicOp : procedure(opcode:GLenum);cdecl;
  739. glMaterialx : procedure(face:GLenum; pname:GLenum; param:GLfixed);cdecl;
  740. (* Const before type ignored *)
  741. glMaterialxv : procedure(face:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  742. glMatrixMode : procedure(mode:GLenum);cdecl;
  743. (* Const before type ignored *)
  744. glMultMatrixx : procedure(m:PGLfixed);cdecl;
  745. glMultiTexCoord4x : procedure(target:GLenum; s:GLfixed; t:GLfixed; r:GLfixed; q:GLfixed);cdecl;
  746. glNormal3x : procedure(nx:GLfixed; ny:GLfixed; nz:GLfixed);cdecl;
  747. (* Const before type ignored *)
  748. glNormalPointer : procedure(_type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  749. glOrthox : procedure(left:GLfixed; right:GLfixed; bottom:GLfixed; top:GLfixed; zNear:GLfixed;
  750. zFar:GLfixed);cdecl;
  751. glPixelStorei : procedure(pname:GLenum; param:GLint);cdecl;
  752. glPointParameterx : procedure(pname:GLenum; param:GLfixed);cdecl;
  753. (* Const before type ignored *)
  754. glPointParameterxv : procedure(pname:GLenum; params:PGLfixed);cdecl;
  755. glPointSizex : procedure(size:GLfixed);cdecl;
  756. glPolygonOffsetx : procedure(factor:GLfixed; units:GLfixed);cdecl;
  757. glPopMatrix : procedure;cdecl;
  758. glPushMatrix : procedure;cdecl;
  759. glReadPixels : procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei; format:GLenum;
  760. _type:GLenum; pixels:PGLvoid);cdecl;
  761. glRotatex : procedure(angle:GLfixed; x:GLfixed; y:GLfixed; z:GLfixed);cdecl;
  762. glSampleCoverage : procedure(value:GLclampf; invert:GLboolean);cdecl;
  763. glSampleCoveragex : procedure(value:GLclampx; invert:GLboolean);cdecl;
  764. glScalex : procedure(x:GLfixed; y:GLfixed; z:GLfixed);cdecl;
  765. glScissor : procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei);cdecl;
  766. glShadeModel : procedure(mode:GLenum);cdecl;
  767. glStencilFunc : procedure(func:GLenum; ref:GLint; mask:GLuint);cdecl;
  768. glStencilMask : procedure(mask:GLuint);cdecl;
  769. glStencilOp : procedure(fail:GLenum; zfail:GLenum; zpass:GLenum);cdecl;
  770. (* Const before type ignored *)
  771. glTexCoordPointer : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  772. glTexEnvi : procedure(target:GLenum; pname:GLenum; param:GLint);cdecl;
  773. glTexEnvx : procedure(target:GLenum; pname:GLenum; param:GLfixed);cdecl;
  774. (* Const before type ignored *)
  775. glTexEnviv : procedure(target:GLenum; pname:GLenum; params:PGLint);cdecl;
  776. (* Const before type ignored *)
  777. glTexEnvxv : procedure(target:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  778. (* Const before type ignored *)
  779. glTexImage2D : procedure(target:GLenum; level:GLint; internalformat:GLint; width:GLsizei; height:GLsizei;
  780. border:GLint; format:GLenum; _type:GLenum; pixels:PGLvoid);cdecl;
  781. glTexParameteri : procedure(target:GLenum; pname:GLenum; param:GLint);cdecl;
  782. glTexParameterx : procedure(target:GLenum; pname:GLenum; param:GLfixed);cdecl;
  783. (* Const before type ignored *)
  784. glTexParameteriv : procedure(target:GLenum; pname:GLenum; params:PGLint);cdecl;
  785. (* Const before type ignored *)
  786. glTexParameterxv : procedure(target:GLenum; pname:GLenum; params:PGLfixed);cdecl;
  787. (* Const before type ignored *)
  788. glTexSubImage2D : procedure(target:GLenum; level:GLint; xoffset:GLint; yoffset:GLint; width:GLsizei;
  789. height:GLsizei; format:GLenum; _type:GLenum; pixels:PGLvoid);cdecl;
  790. glTranslatex : procedure(x:GLfixed; y:GLfixed; z:GLfixed);cdecl;
  791. (* Const before type ignored *)
  792. glVertexPointer : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  793. glViewport : procedure(x:GLint; y:GLint; width:GLsizei; height:GLsizei);cdecl;
  794. {*************************************************************************************** }
  795. { OES extension functions }
  796. {*************************************************************************************** }
  797. { OES_matrix_palette }
  798. glCurrentPaletteMatrixOES : procedure(matrixpaletteindex:GLuint);cdecl;
  799. glLoadPaletteFromModelViewMatrixOES : procedure;cdecl;
  800. (* Const before type ignored *)
  801. glMatrixIndexPointerOES : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  802. (* Const before type ignored *)
  803. glWeightPointerOES : procedure(size:GLint; _type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  804. { OES_point_size_array }
  805. (* Const before type ignored *)
  806. glPointSizePointerOES : procedure(_type:GLenum; stride:GLsizei; pointer:PGLvoid);cdecl;
  807. { OES_draw_texture }
  808. glDrawTexsOES : procedure(x:GLshort; y:GLshort; z:GLshort; width:GLshort; height:GLshort);cdecl;
  809. glDrawTexiOES : procedure(x:GLint; y:GLint; z:GLint; width:GLint; height:GLint);cdecl;
  810. glDrawTexxOES : procedure(x:GLfixed; y:GLfixed; z:GLfixed; width:GLfixed; height:GLfixed);cdecl;
  811. (* Const before type ignored *)
  812. glDrawTexsvOES : procedure(coords:PGLshort);cdecl;
  813. (* Const before type ignored *)
  814. glDrawTexivOES : procedure(coords:PGLint);cdecl;
  815. (* Const before type ignored *)
  816. glDrawTexxvOES : procedure(coords:PGLfixed);cdecl;
  817. glDrawTexfOES : procedure(x:GLfloat; y:GLfloat; z:GLfloat; width:GLfloat; height:GLfloat);cdecl;
  818. (* Const before type ignored *)
  819. glDrawTexfvOES : procedure(coords:PGLfloat);cdecl;
  820. implementation
  821. uses
  822. sysutils, dynlibs, math;
  823. var
  824. hlib : tlibhandle;
  825. procedure Freegles;
  826. begin
  827. FreeLibrary(hlib);
  828. glAlphaFunc:=nil;
  829. glClearColor:=nil;
  830. glClearDepthf:=nil;
  831. glClipPlanef:=nil;
  832. glColor4f:=nil;
  833. glDepthRangef:=nil;
  834. glFogf:=nil;
  835. glFogfv:=nil;
  836. glFrustumf:=nil;
  837. glGetClipPlanef:=nil;
  838. glGetFloatv:=nil;
  839. glGetLightfv:=nil;
  840. glGetMaterialfv:=nil;
  841. glGetTexEnvfv:=nil;
  842. glGetTexParameterfv:=nil;
  843. glLightModelf:=nil;
  844. glLightModelfv:=nil;
  845. glLightf:=nil;
  846. glLightfv:=nil;
  847. glLineWidth:=nil;
  848. glLoadMatrixf:=nil;
  849. glMaterialf:=nil;
  850. glMaterialfv:=nil;
  851. glMultMatrixf:=nil;
  852. glMultiTexCoord4f:=nil;
  853. glNormal3f:=nil;
  854. glOrthof:=nil;
  855. glPointParameterf:=nil;
  856. glPointParameterfv:=nil;
  857. glPointSize:=nil;
  858. glPolygonOffset:=nil;
  859. glRotatef:=nil;
  860. glScalef:=nil;
  861. glTexEnvf:=nil;
  862. glTexEnvfv:=nil;
  863. glTexParameterf:=nil;
  864. glTexParameterfv:=nil;
  865. glTranslatef:=nil;
  866. glActiveTexture:=nil;
  867. glAlphaFuncx:=nil;
  868. glBindBuffer:=nil;
  869. glBindTexture:=nil;
  870. glBlendFunc:=nil;
  871. glBufferData:=nil;
  872. glBufferSubData:=nil;
  873. glClear:=nil;
  874. glClearColorx:=nil;
  875. glClearDepthx:=nil;
  876. glClearStencil:=nil;
  877. glClientActiveTexture:=nil;
  878. glClipPlanex:=nil;
  879. glColor4ub:=nil;
  880. glColor4x:=nil;
  881. glColorMask:=nil;
  882. glColorPointer:=nil;
  883. glCompressedTexImage2D:=nil;
  884. glCompressedTexSubImage2D:=nil;
  885. glCopyTexImage2D:=nil;
  886. glCopyTexSubImage2D:=nil;
  887. glCullFace:=nil;
  888. glDeleteBuffers:=nil;
  889. glDeleteTextures:=nil;
  890. glDepthFunc:=nil;
  891. glDepthMask:=nil;
  892. glDepthRangex:=nil;
  893. glDisable:=nil;
  894. glDisableClientState:=nil;
  895. glDrawArrays:=nil;
  896. glDrawElements:=nil;
  897. glEnable:=nil;
  898. glEnableClientState:=nil;
  899. glFinish:=nil;
  900. glFlush:=nil;
  901. glFogx:=nil;
  902. glFogxv:=nil;
  903. glFrontFace:=nil;
  904. glFrustumx:=nil;
  905. glGetBooleanv:=nil;
  906. glGetBufferParameteriv:=nil;
  907. glGetClipPlanex:=nil;
  908. glGenBuffers:=nil;
  909. glGenTextures:=nil;
  910. glGetError:=nil;
  911. glGetFixedv:=nil;
  912. glGetIntegerv:=nil;
  913. glGetLightxv:=nil;
  914. glGetMaterialxv:=nil;
  915. glGetPointerv:=nil;
  916. glGetString:=nil;
  917. glGetTexEnviv:=nil;
  918. glGetTexEnvxv:=nil;
  919. glGetTexParameteriv:=nil;
  920. glGetTexParameterxv:=nil;
  921. glHint:=nil;
  922. glIsBuffer:=nil;
  923. glIsEnabled:=nil;
  924. glIsTexture:=nil;
  925. glLightModelx:=nil;
  926. glLightModelxv:=nil;
  927. glLightx:=nil;
  928. glLightxv:=nil;
  929. glLineWidthx:=nil;
  930. glLoadIdentity:=nil;
  931. glLoadMatrixx:=nil;
  932. glLogicOp:=nil;
  933. glMaterialx:=nil;
  934. glMaterialxv:=nil;
  935. glMatrixMode:=nil;
  936. glMultMatrixx:=nil;
  937. glMultiTexCoord4x:=nil;
  938. glNormal3x:=nil;
  939. glNormalPointer:=nil;
  940. glOrthox:=nil;
  941. glPixelStorei:=nil;
  942. glPointParameterx:=nil;
  943. glPointParameterxv:=nil;
  944. glPointSizex:=nil;
  945. glPolygonOffsetx:=nil;
  946. glPopMatrix:=nil;
  947. glPushMatrix:=nil;
  948. glReadPixels:=nil;
  949. glRotatex:=nil;
  950. glSampleCoverage:=nil;
  951. glSampleCoveragex:=nil;
  952. glScalex:=nil;
  953. glScissor:=nil;
  954. glShadeModel:=nil;
  955. glStencilFunc:=nil;
  956. glStencilMask:=nil;
  957. glStencilOp:=nil;
  958. glTexCoordPointer:=nil;
  959. glTexEnvi:=nil;
  960. glTexEnvx:=nil;
  961. glTexEnviv:=nil;
  962. glTexEnvxv:=nil;
  963. glTexImage2D:=nil;
  964. glTexParameteri:=nil;
  965. glTexParameterx:=nil;
  966. glTexParameteriv:=nil;
  967. glTexParameterxv:=nil;
  968. glTexSubImage2D:=nil;
  969. glTranslatex:=nil;
  970. glVertexPointer:=nil;
  971. glViewport:=nil;
  972. glCurrentPaletteMatrixOES:=nil;
  973. glLoadPaletteFromModelViewMatrixOES:=nil;
  974. glMatrixIndexPointerOES:=nil;
  975. glWeightPointerOES:=nil;
  976. glPointSizePointerOES:=nil;
  977. glDrawTexsOES:=nil;
  978. glDrawTexiOES:=nil;
  979. glDrawTexxOES:=nil;
  980. glDrawTexsvOES:=nil;
  981. glDrawTexivOES:=nil;
  982. glDrawTexxvOES:=nil;
  983. glDrawTexfOES:=nil;
  984. glDrawTexfvOES:=nil;
  985. end;
  986. procedure Loadgles(lib : pchar);
  987. begin
  988. Freegles;
  989. hlib:=LoadLibrary(lib);
  990. if hlib=0 then
  991. raise Exception.Create(format('Could not load library: %s',[lib]));
  992. pointer(glAlphaFunc):=GetProcAddress(hlib,'glAlphaFunc');
  993. pointer(glClearColor):=GetProcAddress(hlib,'glClearColor');
  994. pointer(glClearDepthf):=GetProcAddress(hlib,'glClearDepthf');
  995. pointer(glClipPlanef):=GetProcAddress(hlib,'glClipPlanef');
  996. pointer(glColor4f):=GetProcAddress(hlib,'glColor4f');
  997. pointer(glDepthRangef):=GetProcAddress(hlib,'glDepthRangef');
  998. pointer(glFogf):=GetProcAddress(hlib,'glFogf');
  999. pointer(glFogfv):=GetProcAddress(hlib,'glFogfv');
  1000. pointer(glFrustumf):=GetProcAddress(hlib,'glFrustumf');
  1001. pointer(glGetClipPlanef):=GetProcAddress(hlib,'glGetClipPlanef');
  1002. pointer(glGetFloatv):=GetProcAddress(hlib,'glGetFloatv');
  1003. pointer(glGetLightfv):=GetProcAddress(hlib,'glGetLightfv');
  1004. pointer(glGetMaterialfv):=GetProcAddress(hlib,'glGetMaterialfv');
  1005. pointer(glGetTexEnvfv):=GetProcAddress(hlib,'glGetTexEnvfv');
  1006. pointer(glGetTexParameterfv):=GetProcAddress(hlib,'glGetTexParameterfv');
  1007. pointer(glLightModelf):=GetProcAddress(hlib,'glLightModelf');
  1008. pointer(glLightModelfv):=GetProcAddress(hlib,'glLightModelfv');
  1009. pointer(glLightf):=GetProcAddress(hlib,'glLightf');
  1010. pointer(glLightfv):=GetProcAddress(hlib,'glLightfv');
  1011. pointer(glLineWidth):=GetProcAddress(hlib,'glLineWidth');
  1012. pointer(glLoadMatrixf):=GetProcAddress(hlib,'glLoadMatrixf');
  1013. pointer(glMaterialf):=GetProcAddress(hlib,'glMaterialf');
  1014. pointer(glMaterialfv):=GetProcAddress(hlib,'glMaterialfv');
  1015. pointer(glMultMatrixf):=GetProcAddress(hlib,'glMultMatrixf');
  1016. pointer(glMultiTexCoord4f):=GetProcAddress(hlib,'glMultiTexCoord4f');
  1017. pointer(glNormal3f):=GetProcAddress(hlib,'glNormal3f');
  1018. pointer(glOrthof):=GetProcAddress(hlib,'glOrthof');
  1019. pointer(glPointParameterf):=GetProcAddress(hlib,'glPointParameterf');
  1020. pointer(glPointParameterfv):=GetProcAddress(hlib,'glPointParameterfv');
  1021. pointer(glPointSize):=GetProcAddress(hlib,'glPointSize');
  1022. pointer(glPolygonOffset):=GetProcAddress(hlib,'glPolygonOffset');
  1023. pointer(glRotatef):=GetProcAddress(hlib,'glRotatef');
  1024. pointer(glScalef):=GetProcAddress(hlib,'glScalef');
  1025. pointer(glTexEnvf):=GetProcAddress(hlib,'glTexEnvf');
  1026. pointer(glTexEnvfv):=GetProcAddress(hlib,'glTexEnvfv');
  1027. pointer(glTexParameterf):=GetProcAddress(hlib,'glTexParameterf');
  1028. pointer(glTexParameterfv):=GetProcAddress(hlib,'glTexParameterfv');
  1029. pointer(glTranslatef):=GetProcAddress(hlib,'glTranslatef');
  1030. pointer(glActiveTexture):=GetProcAddress(hlib,'glActiveTexture');
  1031. pointer(glAlphaFuncx):=GetProcAddress(hlib,'glAlphaFuncx');
  1032. pointer(glBindBuffer):=GetProcAddress(hlib,'glBindBuffer');
  1033. pointer(glBindTexture):=GetProcAddress(hlib,'glBindTexture');
  1034. pointer(glBlendFunc):=GetProcAddress(hlib,'glBlendFunc');
  1035. pointer(glBufferData):=GetProcAddress(hlib,'glBufferData');
  1036. pointer(glBufferSubData):=GetProcAddress(hlib,'glBufferSubData');
  1037. pointer(glClear):=GetProcAddress(hlib,'glClear');
  1038. pointer(glClearColorx):=GetProcAddress(hlib,'glClearColorx');
  1039. pointer(glClearDepthx):=GetProcAddress(hlib,'glClearDepthx');
  1040. pointer(glClearStencil):=GetProcAddress(hlib,'glClearStencil');
  1041. pointer(glClientActiveTexture):=GetProcAddress(hlib,'glClientActiveTexture');
  1042. pointer(glClipPlanex):=GetProcAddress(hlib,'glClipPlanex');
  1043. pointer(glColor4ub):=GetProcAddress(hlib,'glColor4ub');
  1044. pointer(glColor4x):=GetProcAddress(hlib,'glColor4x');
  1045. pointer(glColorMask):=GetProcAddress(hlib,'glColorMask');
  1046. pointer(glColorPointer):=GetProcAddress(hlib,'glColorPointer');
  1047. pointer(glCompressedTexImage2D):=GetProcAddress(hlib,'glCompressedTexImage2D');
  1048. pointer(glCompressedTexSubImage2D):=GetProcAddress(hlib,'glCompressedTexSubImage2D');
  1049. pointer(glCopyTexImage2D):=GetProcAddress(hlib,'glCopyTexImage2D');
  1050. pointer(glCopyTexSubImage2D):=GetProcAddress(hlib,'glCopyTexSubImage2D');
  1051. pointer(glCullFace):=GetProcAddress(hlib,'glCullFace');
  1052. pointer(glDeleteBuffers):=GetProcAddress(hlib,'glDeleteBuffers');
  1053. pointer(glDeleteTextures):=GetProcAddress(hlib,'glDeleteTextures');
  1054. pointer(glDepthFunc):=GetProcAddress(hlib,'glDepthFunc');
  1055. pointer(glDepthMask):=GetProcAddress(hlib,'glDepthMask');
  1056. pointer(glDepthRangex):=GetProcAddress(hlib,'glDepthRangex');
  1057. pointer(glDisable):=GetProcAddress(hlib,'glDisable');
  1058. pointer(glDisableClientState):=GetProcAddress(hlib,'glDisableClientState');
  1059. pointer(glDrawArrays):=GetProcAddress(hlib,'glDrawArrays');
  1060. pointer(glDrawElements):=GetProcAddress(hlib,'glDrawElements');
  1061. pointer(glEnable):=GetProcAddress(hlib,'glEnable');
  1062. pointer(glEnableClientState):=GetProcAddress(hlib,'glEnableClientState');
  1063. pointer(glFinish):=GetProcAddress(hlib,'glFinish');
  1064. pointer(glFlush):=GetProcAddress(hlib,'glFlush');
  1065. pointer(glFogx):=GetProcAddress(hlib,'glFogx');
  1066. pointer(glFogxv):=GetProcAddress(hlib,'glFogxv');
  1067. pointer(glFrontFace):=GetProcAddress(hlib,'glFrontFace');
  1068. pointer(glFrustumx):=GetProcAddress(hlib,'glFrustumx');
  1069. pointer(glGetBooleanv):=GetProcAddress(hlib,'glGetBooleanv');
  1070. pointer(glGetBufferParameteriv):=GetProcAddress(hlib,'glGetBufferParameteriv');
  1071. pointer(glGetClipPlanex):=GetProcAddress(hlib,'glGetClipPlanex');
  1072. pointer(glGenBuffers):=GetProcAddress(hlib,'glGenBuffers');
  1073. pointer(glGenTextures):=GetProcAddress(hlib,'glGenTextures');
  1074. pointer(glGetError):=GetProcAddress(hlib,'glGetError');
  1075. pointer(glGetFixedv):=GetProcAddress(hlib,'glGetFixedv');
  1076. pointer(glGetIntegerv):=GetProcAddress(hlib,'glGetIntegerv');
  1077. pointer(glGetLightxv):=GetProcAddress(hlib,'glGetLightxv');
  1078. pointer(glGetMaterialxv):=GetProcAddress(hlib,'glGetMaterialxv');
  1079. pointer(glGetPointerv):=GetProcAddress(hlib,'glGetPointerv');
  1080. pointer(glGetString):=GetProcAddress(hlib,'glGetString');
  1081. pointer(glGetTexEnviv):=GetProcAddress(hlib,'glGetTexEnviv');
  1082. pointer(glGetTexEnvxv):=GetProcAddress(hlib,'glGetTexEnvxv');
  1083. pointer(glGetTexParameteriv):=GetProcAddress(hlib,'glGetTexParameteriv');
  1084. pointer(glGetTexParameterxv):=GetProcAddress(hlib,'glGetTexParameterxv');
  1085. pointer(glHint):=GetProcAddress(hlib,'glHint');
  1086. pointer(glIsBuffer):=GetProcAddress(hlib,'glIsBuffer');
  1087. pointer(glIsEnabled):=GetProcAddress(hlib,'glIsEnabled');
  1088. pointer(glIsTexture):=GetProcAddress(hlib,'glIsTexture');
  1089. pointer(glLightModelx):=GetProcAddress(hlib,'glLightModelx');
  1090. pointer(glLightModelxv):=GetProcAddress(hlib,'glLightModelxv');
  1091. pointer(glLightx):=GetProcAddress(hlib,'glLightx');
  1092. pointer(glLightxv):=GetProcAddress(hlib,'glLightxv');
  1093. pointer(glLineWidthx):=GetProcAddress(hlib,'glLineWidthx');
  1094. pointer(glLoadIdentity):=GetProcAddress(hlib,'glLoadIdentity');
  1095. pointer(glLoadMatrixx):=GetProcAddress(hlib,'glLoadMatrixx');
  1096. pointer(glLogicOp):=GetProcAddress(hlib,'glLogicOp');
  1097. pointer(glMaterialx):=GetProcAddress(hlib,'glMaterialx');
  1098. pointer(glMaterialxv):=GetProcAddress(hlib,'glMaterialxv');
  1099. pointer(glMatrixMode):=GetProcAddress(hlib,'glMatrixMode');
  1100. pointer(glMultMatrixx):=GetProcAddress(hlib,'glMultMatrixx');
  1101. pointer(glMultiTexCoord4x):=GetProcAddress(hlib,'glMultiTexCoord4x');
  1102. pointer(glNormal3x):=GetProcAddress(hlib,'glNormal3x');
  1103. pointer(glNormalPointer):=GetProcAddress(hlib,'glNormalPointer');
  1104. pointer(glOrthox):=GetProcAddress(hlib,'glOrthox');
  1105. pointer(glPixelStorei):=GetProcAddress(hlib,'glPixelStorei');
  1106. pointer(glPointParameterx):=GetProcAddress(hlib,'glPointParameterx');
  1107. pointer(glPointParameterxv):=GetProcAddress(hlib,'glPointParameterxv');
  1108. pointer(glPointSizex):=GetProcAddress(hlib,'glPointSizex');
  1109. pointer(glPolygonOffsetx):=GetProcAddress(hlib,'glPolygonOffsetx');
  1110. pointer(glPopMatrix):=GetProcAddress(hlib,'glPopMatrix');
  1111. pointer(glPushMatrix):=GetProcAddress(hlib,'glPushMatrix');
  1112. pointer(glReadPixels):=GetProcAddress(hlib,'glReadPixels');
  1113. pointer(glRotatex):=GetProcAddress(hlib,'glRotatex');
  1114. pointer(glSampleCoverage):=GetProcAddress(hlib,'glSampleCoverage');
  1115. pointer(glSampleCoveragex):=GetProcAddress(hlib,'glSampleCoveragex');
  1116. pointer(glScalex):=GetProcAddress(hlib,'glScalex');
  1117. pointer(glScissor):=GetProcAddress(hlib,'glScissor');
  1118. pointer(glShadeModel):=GetProcAddress(hlib,'glShadeModel');
  1119. pointer(glStencilFunc):=GetProcAddress(hlib,'glStencilFunc');
  1120. pointer(glStencilMask):=GetProcAddress(hlib,'glStencilMask');
  1121. pointer(glStencilOp):=GetProcAddress(hlib,'glStencilOp');
  1122. pointer(glTexCoordPointer):=GetProcAddress(hlib,'glTexCoordPointer');
  1123. pointer(glTexEnvi):=GetProcAddress(hlib,'glTexEnvi');
  1124. pointer(glTexEnvx):=GetProcAddress(hlib,'glTexEnvx');
  1125. pointer(glTexEnviv):=GetProcAddress(hlib,'glTexEnviv');
  1126. pointer(glTexEnvxv):=GetProcAddress(hlib,'glTexEnvxv');
  1127. pointer(glTexImage2D):=GetProcAddress(hlib,'glTexImage2D');
  1128. pointer(glTexParameteri):=GetProcAddress(hlib,'glTexParameteri');
  1129. pointer(glTexParameterx):=GetProcAddress(hlib,'glTexParameterx');
  1130. pointer(glTexParameteriv):=GetProcAddress(hlib,'glTexParameteriv');
  1131. pointer(glTexParameterxv):=GetProcAddress(hlib,'glTexParameterxv');
  1132. pointer(glTexSubImage2D):=GetProcAddress(hlib,'glTexSubImage2D');
  1133. pointer(glTranslatex):=GetProcAddress(hlib,'glTranslatex');
  1134. pointer(glVertexPointer):=GetProcAddress(hlib,'glVertexPointer');
  1135. pointer(glViewport):=GetProcAddress(hlib,'glViewport');
  1136. pointer(glCurrentPaletteMatrixOES):=GetProcAddress(hlib,'glCurrentPaletteMatrixOES');
  1137. pointer(glLoadPaletteFromModelViewMatrixOES):=GetProcAddress(hlib,'glLoadPaletteFromModelViewMatrixOES');
  1138. pointer(glMatrixIndexPointerOES):=GetProcAddress(hlib,'glMatrixIndexPointerOES');
  1139. pointer(glWeightPointerOES):=GetProcAddress(hlib,'glWeightPointerOES');
  1140. pointer(glPointSizePointerOES):=GetProcAddress(hlib,'glPointSizePointerOES');
  1141. pointer(glDrawTexsOES):=GetProcAddress(hlib,'glDrawTexsOES');
  1142. pointer(glDrawTexiOES):=GetProcAddress(hlib,'glDrawTexiOES');
  1143. pointer(glDrawTexxOES):=GetProcAddress(hlib,'glDrawTexxOES');
  1144. pointer(glDrawTexsvOES):=GetProcAddress(hlib,'glDrawTexsvOES');
  1145. pointer(glDrawTexivOES):=GetProcAddress(hlib,'glDrawTexivOES');
  1146. pointer(glDrawTexxvOES):=GetProcAddress(hlib,'glDrawTexxvOES');
  1147. pointer(glDrawTexfOES):=GetProcAddress(hlib,'glDrawTexfOES');
  1148. pointer(glDrawTexfvOES):=GetProcAddress(hlib,'glDrawTexfvOES');
  1149. end;
  1150. initialization
  1151. SetExceptionMask([exInvalidOp, exDenormalized, exZeroDivide,exOverflow, exUnderflow, exPrecision]);
  1152. {$ifdef darwin}
  1153. Loadgles('/System/Library/Frameworks/OpenGLES.framework/OpenGLES');
  1154. {$endif}
  1155. finalization
  1156. Freegles;
  1157. end.