gles11.pp 49 KB

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