1 unit gles;
2 
3 interface
4 
5 uses ctypes;
6 
7 const
8   libname = 'libGLESv1_CM.so';
9 
10 type
11   GLvoid = pointer;
12   GLenum = cuint;
13   GLboolean = cuchar;
14   GLbitfield = cuint;
15   GLbyte = byte;
16   GLshort = cshort;
17   GLint = cint;
18   GLsizei = cint;
19   GLubyte = cuchar;
20   GLushort = cushort;
21   GLuint = cuint;
22   GLfloat = cfloat;
23   GLclampf = cfloat;
24   GLfixed = longint;
25   GLclampx = longint;
26 
27   GLintptr = ptrint;
28   GLsizeiptr = sizeint;
29 
30   PGLfloat = ^GLfloat;
31   PGLvoid = ^GLvoid;
32   PGLubyte = ^GLubyte;
33   PGLint = ^GLint;
34   PGLboolean = ^GLboolean;
35   PGLuint = ^GLuint;
36   PGLfixed = ^GLfixed;
37 
38 const
39   GL_VERSION_ES_CM_1_0 = 1;
40   GL_VERSION_ES_CL_1_0 = 1;
41   GL_VERSION_ES_CM_1_1 = 1;
42   GL_VERSION_ES_CL_1_1 = 1;
43 
44   (* ClearBufferMask  *)
45   GL_DEPTH_BUFFER_BIT = $00000100;
46   GL_STENCIL_BUFFER_BIT = $00000400;
47   GL_COLOR_BUFFER_BIT = $00004000;
48 
49   (* Boolean  *)
50   GL_FALSE = 0;
51   GL_TRUE = 1;
52 
53   (* BeginMode  *)
54   GL_POINTS = $0000;
55   GL_LINES = $0001;
56   GL_LINE_LOOP = $0002;
57   GL_LINE_STRIP = $0003;
58   GL_TRIANGLES = $0004;
59   GL_TRIANGLE_STRIP = $0005;
60   GL_TRIANGLE_FAN = $0006;
61   (* AlphaFunction  *)
62 
63   GL_NEVER = $0200;
64   GL_LESS = $0201;
65   GL_EQUAL = $0202;
66   GL_LEQUAL = $0203;
67   GL_GREATER = $0204;
68   GL_NOTEQUAL = $0205;
69   GL_GEQUAL = $0206;
70   GL_ALWAYS = $0207;
71   (* BlendingFactorDest  *)
72 
73   GL_ZERO = 0;
74   GL_ONE = 1;
75   GL_SRC_COLOR = $0300;
76   GL_ONE_MINUS_SRC_COLOR = $0301;
77   GL_SRC_ALPHA = $0302;
78   GL_ONE_MINUS_SRC_ALPHA = $0303;
79   GL_DST_ALPHA = $0304;
80   GL_ONE_MINUS_DST_ALPHA = $0305;
81   (* BlendingFactorSrc  *)
82 
83   (*      GL_ZERO  *)
84 
85   (*      GL_ONE  *)
86 
87   GL_DST_COLOR = $0306;
88   GL_ONE_MINUS_DST_COLOR = $0307;
89   GL_SRC_ALPHA_SATURATE = $0308;
90   (*      GL_SRC_ALPHA  *)
91 
92   (*      GL_ONE_MINUS_SRC_ALPHA  *)
93 
94   (*      GL_DST_ALPHA  *)
95 
96   (*      GL_ONE_MINUS_DST_ALPHA  *)
97 
98   (* ClipPlaneName  *)
99 
100   GL_CLIP_PLANE0 = $3000;
101   GL_CLIP_PLANE1 = $3001;
102   GL_CLIP_PLANE2 = $3002;
103   GL_CLIP_PLANE3 = $3003;
104   GL_CLIP_PLANE4 = $3004;
105   GL_CLIP_PLANE5 = $3005;
106   (* ColorMaterialFace  *)
107 
108   (*      GL_FRONT_AND_BACK  *)
109 
110   (* ColorMaterialParameter  *)
111 
112   (*      GL_AMBIENT_AND_DIFFUSE  *)
113 
114   (* ColorPointerType  *)
115 
116   (*      GL_UNSIGNED_BYTE  *)
117 
118   (*      GL_FLOAT  *)
119 
120   (*      GL_FIXED  *)
121 
122   (* CullFaceMode  *)
123 
124   GL_FRONT = $0404;
125   GL_BACK = $0405;
126   GL_FRONT_AND_BACK = $0408;
127   (* DepthFunction  *)
128 
129   (*      GL_NEVER  *)
130 
131   (*      GL_LESS  *)
132 
133   (*      GL_EQUAL  *)
134 
135   (*      GL_LEQUAL  *)
136 
137   (*      GL_GREATER  *)
138 
139   (*      GL_NOTEQUAL  *)
140 
141   (*      GL_GEQUAL  *)
142 
143   (*      GL_ALWAYS  *)
144 
145   (* EnableCap  *)
146 
147   GL_FOG = $0B60;
148   GL_LIGHTING = $0B50;
149   GL_TEXTURE_2D = $0DE1;
150   GL_CULL_FACE = $0B44;
151   GL_ALPHA_TEST = $0BC0;
152   GL_BLEND = $0BE2;
153   GL_COLOR_LOGIC_OP = $0BF2;
154   GL_DITHER = $0BD0;
155   GL_STENCIL_TEST = $0B90;
156   GL_DEPTH_TEST = $0B71;
157   (*      GL_LIGHT0  *)
158 
159   (*      GL_LIGHT1  *)
160 
161   (*      GL_LIGHT2  *)
162 
163   (*      GL_LIGHT3  *)
164 
165   (*      GL_LIGHT4  *)
166 
167   (*      GL_LIGHT5  *)
168 
169   (*      GL_LIGHT6  *)
170 
171   (*      GL_LIGHT7  *)
172 
173   GL_POINT_SMOOTH = $0B10;
174   GL_LINE_SMOOTH = $0B20;
175   GL_SCISSOR_TEST = $0C11;
176   GL_COLOR_MATERIAL = $0B57;
177   GL_NORMALIZE = $0BA1;
178   GL_RESCALE_NORMAL = $803A;
179   GL_POLYGON_OFFSET_FILL = $8037;
180   GL_VERTEX_ARRAY = $8074;
181   GL_NORMAL_ARRAY = $8075;
182   GL_COLOR_ARRAY = $8076;
183   GL_TEXTURE_COORD_ARRAY = $8078;
184   GL_MULTISAMPLE = $809D;
185   GL_SAMPLE_ALPHA_TO_COVERAGE = $809E;
186   GL_SAMPLE_ALPHA_TO_ONE = $809F;
187   GL_SAMPLE_COVERAGE = $80A0;
188 
189   (* ErrorCode  *)
190   GL_NO_ERROR = 0;
191   GL_INVALID_ENUM = $0500;
192   GL_INVALID_VALUE = $0501;
193   GL_INVALID_OPERATION = $0502;
194   GL_STACK_OVERFLOW = $0503;
195   GL_STACK_UNDERFLOW = $0504;
196   GL_OUT_OF_MEMORY = $0505;
197 
198   (* FogMode  *)
199   (*      GL_LINEAR  *)
200   GL_EXP = $0800;
201   GL_EXP2 = $0801;
202 
203   (* FogParameter  *)
204   GL_FOG_DENSITY = $0B62;
205   GL_FOG_START = $0B63;
206   GL_FOG_END = $0B64;
207   GL_FOG_MODE = $0B65;
208   GL_FOG_COLOR = $0B66;
209 
210   (* FrontFaceDirection  *)
211   GL_CW = $0900;
212   GL_CCW = $0901;
213 
214   (* GetPName  *)
215   GL_CURRENT_COLOR = $0B00;
216   GL_CURRENT_NORMAL = $0B02;
217   GL_CURRENT_TEXTURE_COORDS = $0B03;
218   GL_POINT_SIZE = $0B11;
219   GL_POINT_SIZE_MIN = $8126;
220   GL_POINT_SIZE_MAX = $8127;
221   GL_POINT_FADE_THRESHOLD_SIZE = $8128;
222   GL_POINT_DISTANCE_ATTENUATION = $8129;
223   GL_SMOOTH_POINT_SIZE_RANGE = $0B12;
224   GL_LINE_WIDTH = $0B21;
225   GL_SMOOTH_LINE_WIDTH_RANGE = $0B22;
226   GL_ALIASED_POINT_SIZE_RANGE = $846D;
227   GL_ALIASED_LINE_WIDTH_RANGE = $846E;
228   GL_CULL_FACE_MODE = $0B45;
229   GL_FRONT_FACE = $0B46;
230   GL_SHADE_MODEL = $0B54;
231   GL_DEPTH_RANGE = $0B70;
232   GL_DEPTH_WRITEMASK = $0B72;
233   GL_DEPTH_CLEAR_VALUE = $0B73;
234   GL_DEPTH_FUNC = $0B74;
235   GL_STENCIL_CLEAR_VALUE = $0B91;
236   GL_STENCIL_FUNC = $0B92;
237   GL_STENCIL_VALUE_MASK = $0B93;
238   GL_STENCIL_FAIL = $0B94;
239   GL_STENCIL_PASS_DEPTH_FAIL = $0B95;
240   GL_STENCIL_PASS_DEPTH_PASS = $0B96;
241   GL_STENCIL_REF = $0B97;
242   GL_STENCIL_WRITEMASK = $0B98;
243   GL_MATRIX_MODE = $0BA0;
244   GL_VIEWPORT = $0BA2;
245   GL_MODELVIEW_STACK_DEPTH = $0BA3;
246   GL_PROJECTION_STACK_DEPTH = $0BA4;
247   GL_TEXTURE_STACK_DEPTH = $0BA5;
248   GL_MODELVIEW_MATRIX = $0BA6;
249   GL_PROJECTION_MATRIX = $0BA7;
250   GL_TEXTURE_MATRIX = $0BA8;
251   GL_ALPHA_TEST_FUNC = $0BC1;
252   GL_ALPHA_TEST_REF = $0BC2;
253   GL_BLEND_DST = $0BE0;
254   GL_BLEND_SRC = $0BE1;
255   GL_LOGIC_OP_MODE = $0BF0;
256   GL_SCISSOR_BOX = $0C10;
257   GL_COLOR_CLEAR_VALUE = $0C22;
258   GL_COLOR_WRITEMASK = $0C23;
259   GL_UNPACK_ALIGNMENT = $0CF5;
260   GL_PACK_ALIGNMENT = $0D05;
261   GL_MAX_LIGHTS = $0D31;
262   GL_MAX_CLIP_PLANES = $0D32;
263   GL_MAX_TEXTURE_SIZE = $0D33;
264   GL_MAX_MODELVIEW_STACK_DEPTH = $0D36;
265   GL_MAX_PROJECTION_STACK_DEPTH = $0D38;
266   GL_MAX_TEXTURE_STACK_DEPTH = $0D39;
267   GL_MAX_VIEWPORT_DIMS = $0D3A;
268   GL_MAX_TEXTURE_UNITS = $84E2;
269   GL_SUBPIXEL_BITS = $0D50;
270   GL_RED_BITS = $0D52;
271   GL_GREEN_BITS = $0D53;
272   GL_BLUE_BITS = $0D54;
273   GL_ALPHA_BITS = $0D55;
274   GL_DEPTH_BITS = $0D56;
275   GL_STENCIL_BITS = $0D57;
276   GL_POLYGON_OFFSET_UNITS = $2A00;
277   GL_POLYGON_OFFSET_FACTOR = $8038;
278   GL_TEXTURE_BINDING_2D = $8069;
279   GL_VERTEX_ARRAY_SIZE = $807A;
280   GL_VERTEX_ARRAY_TYPE = $807B;
281   GL_VERTEX_ARRAY_STRIDE = $807C;
282   GL_NORMAL_ARRAY_TYPE = $807E;
283   GL_NORMAL_ARRAY_STRIDE = $807F;
284   GL_COLOR_ARRAY_SIZE = $8081;
285   GL_COLOR_ARRAY_TYPE = $8082;
286   GL_COLOR_ARRAY_STRIDE = $8083;
287   GL_TEXTURE_COORD_ARRAY_SIZE = $8088;
288   GL_TEXTURE_COORD_ARRAY_TYPE = $8089;
289   GL_TEXTURE_COORD_ARRAY_STRIDE = $808A;
290   GL_VERTEX_ARRAY_POINTER = $808E;
291   GL_NORMAL_ARRAY_POINTER = $808F;
292   GL_COLOR_ARRAY_POINTER = $8090;
293   GL_TEXTURE_COORD_ARRAY_POINTER = $8092;
294   GL_SAMPLE_BUFFERS = $80A8;
295   GL_SAMPLES = $80A9;
296   GL_SAMPLE_COVERAGE_VALUE = $80AA;
297   GL_SAMPLE_COVERAGE_INVERT = $80AB;
298   (* GetTextureParameter  *)
299 
300   (*      GL_TEXTURE_MAG_FILTER  *)
301 
302   (*      GL_TEXTURE_MIN_FILTER  *)
303 
304   (*      GL_TEXTURE_WRAP_S  *)
305 
306   (*      GL_TEXTURE_WRAP_T  *)
307 
308   GL_NUM_COMPRESSED_TEXTURE_FORMATS = $86A2;
309   GL_COMPRESSED_TEXTURE_FORMATS = $86A3;
310   (* HintMode  *)
311 
312   GL_DONT_CARE = $1100;
313   GL_FASTEST = $1101;
314   GL_NICEST = $1102;
315   (* HintTarget  *)
316 
317   GL_PERSPECTIVE_CORRECTION_HINT = $0C50;
318   GL_POINT_SMOOTH_HINT = $0C51;
319   GL_LINE_SMOOTH_HINT = $0C52;
320   GL_FOG_HINT = $0C54;
321   GL_GENERATE_MIPMAP_HINT = $8192;
322   (* LightModelParameter  *)
323 
324   GL_LIGHT_MODEL_AMBIENT = $0B53;
325   GL_LIGHT_MODEL_TWO_SIDE = $0B52;
326   (* LightParameter  *)
327 
328   GL_AMBIENT = $1200;
329   GL_DIFFUSE = $1201;
330   GL_SPECULAR = $1202;
331   GL_POSITION = $1203;
332   GL_SPOT_DIRECTION = $1204;
333   GL_SPOT_EXPONENT = $1205;
334   GL_SPOT_CUTOFF = $1206;
335   GL_CONSTANT_ATTENUATION = $1207;
336   GL_LINEAR_ATTENUATION = $1208;
337   GL_QUADRATIC_ATTENUATION = $1209;
338   (* DataType  *)
339 
340   GL_BYTE = $1400;
341   GL_UNSIGNED_BYTE = $1401;
342   GL_SHORT = $1402;
343   GL_UNSIGNED_SHORT = $1403;
344   GL_FLOAT = $1406;
345   GL_FIXED = $140C;
346   (* LogicOp  *)
347 
348   GL_CLEAR = $1500;
349   GL_AND = $1501;
350   GL_AND_REVERSE = $1502;
351   GL_COPY = $1503;
352   GL_AND_INVERTED = $1504;
353   GL_NOOP = $1505;
354   GL_XOR = $1506;
355   GL_OR = $1507;
356   GL_NOR = $1508;
357   GL_EQUIV = $1509;
358   GL_INVERT = $150A;
359   GL_OR_REVERSE = $150B;
360   GL_COPY_INVERTED = $150C;
361   GL_OR_INVERTED = $150D;
362   GL_NAND = $150E;
363   GL_SET = $150F;
364   (* MaterialFace  *)
365 
366   (*      GL_FRONT_AND_BACK  *)
367 
368   (* MaterialParameter  *)
369 
370   GL_EMISSION = $1600;
371   GL_SHININESS = $1601;
372   GL_AMBIENT_AND_DIFFUSE = $1602;
373   (*      GL_AMBIENT  *)
374 
375   (*      GL_DIFFUSE  *)
376 
377   (*      GL_SPECULAR  *)
378 
379   (* MatrixMode  *)
380 
381   GL_MODELVIEW = $1700;
382   GL_PROJECTION = $1701;
383   GL_TEXTURE = $1702;
384   (* NormalPointerType  *)
385 
386   (*      GL_BYTE  *)
387 
388   (*      GL_SHORT  *)
389 
390   (*      GL_FLOAT  *)
391 
392   (*      GL_FIXED  *)
393 
394   (* PixelFormat  *)
395 
396   GL_ALPHA = $1906;
397   GL_RGB = $1907;
398   GL_RGBA = $1908;
399   GL_LUMINANCE = $1909;
400   GL_LUMINANCE_ALPHA = $190A;
401 
402   (* PixelType  *)
403   (*      GL_UNSIGNED_BYTE  *)
404 
405   GL_UNSIGNED_SHORT_4_4_4_4 = $8033;
406   GL_UNSIGNED_SHORT_5_5_5_1 = $8034;
407   GL_UNSIGNED_SHORT_5_6_5 = $8363;
408   (* ShadingModel  *)
409 
410   GL_FLAT = $1D00;
411   GL_SMOOTH = $1D01;
412   (* StencilFunction  *)
413 
414   (*      GL_NEVER  *)
415 
416   (*      GL_LESS  *)
417 
418   (*      GL_EQUAL  *)
419 
420   (*      GL_LEQUAL  *)
421 
422   (*      GL_GREATER  *)
423 
424   (*      GL_NOTEQUAL  *)
425 
426   (*      GL_GEQUAL  *)
427 
428   (*      GL_ALWAYS  *)
429 
430   (* StencilOp  *)
431 
432   (*      GL_ZERO  *)
433 
434   GL_KEEP = $1E00;
435   GL_REPLACE = $1E01;
436   GL_INCR = $1E02;
437   GL_DECR = $1E03;
438   (*      GL_INVERT  *)
439 
440   (* StringName  *)
441 
442   GL_VENDOR = $1F00;
443   GL_RENDERER = $1F01;
444   GL_VERSION = $1F02;
445   GL_EXTENSIONS = $1F03;
446   (* TexCoordPointerType  *)
447 
448   (*      GL_SHORT  *)
449 
450   (*      GL_FLOAT  *)
451 
452   (*      GL_FIXED  *)
453 
454   (*      GL_BYTE  *)
455 
456   (* TextureEnvMode  *)
457 
458   GL_MODULATE = $2100;
459   GL_DECAL = $2101;
460   (*      GL_BLEND  *)
461 
462   GL_ADD = $0104;
463   (*      GL_REPLACE  *)
464 
465   (* TextureEnvParameter  *)
466 
467   GL_TEXTURE_ENV_MODE = $2200;
468   GL_TEXTURE_ENV_COLOR = $2201;
469   (* TextureEnvTarget  *)
470 
471   GL_TEXTURE_ENV = $2300;
472   (* TextureMagFilter  *)
473 
474   GL_NEAREST = $2600;
475   GL_LINEAR = $2601;
476   (* TextureMinFilter  *)
477 
478   (*      GL_NEAREST  *)
479 
480   (*      GL_LINEAR  *)
481 
482   GL_NEAREST_MIPMAP_NEAREST = $2700;
483   GL_LINEAR_MIPMAP_NEAREST = $2701;
484   GL_NEAREST_MIPMAP_LINEAR = $2702;
485   GL_LINEAR_MIPMAP_LINEAR = $2703;
486   (* TextureParameterName  *)
487 
488   GL_TEXTURE_MAG_FILTER = $2800;
489   GL_TEXTURE_MIN_FILTER = $2801;
490   GL_TEXTURE_WRAP_S = $2802;
491   GL_TEXTURE_WRAP_T = $2803;
492   GL_GENERATE_MIPMAP = $8191;
493   (* TextureTarget  *)
494 
495   (*      GL_TEXTURE_2D  *)
496 
497   (* TextureUnit  *)
498 
499   GL_TEXTURE0 = $84C0;
500   GL_TEXTURE1 = $84C1;
501   GL_TEXTURE2 = $84C2;
502   GL_TEXTURE3 = $84C3;
503   GL_TEXTURE4 = $84C4;
504   GL_TEXTURE5 = $84C5;
505   GL_TEXTURE6 = $84C6;
506   GL_TEXTURE7 = $84C7;
507   GL_TEXTURE8 = $84C8;
508   GL_TEXTURE9 = $84C9;
509   GL_TEXTURE10 = $84CA;
510   GL_TEXTURE11 = $84CB;
511   GL_TEXTURE12 = $84CC;
512   GL_TEXTURE13 = $84CD;
513   GL_TEXTURE14 = $84CE;
514   GL_TEXTURE15 = $84CF;
515   GL_TEXTURE16 = $84D0;
516   GL_TEXTURE17 = $84D1;
517   GL_TEXTURE18 = $84D2;
518   GL_TEXTURE19 = $84D3;
519   GL_TEXTURE20 = $84D4;
520   GL_TEXTURE21 = $84D5;
521   GL_TEXTURE22 = $84D6;
522   GL_TEXTURE23 = $84D7;
523   GL_TEXTURE24 = $84D8;
524   GL_TEXTURE25 = $84D9;
525   GL_TEXTURE26 = $84DA;
526   GL_TEXTURE27 = $84DB;
527   GL_TEXTURE28 = $84DC;
528   GL_TEXTURE29 = $84DD;
529   GL_TEXTURE30 = $84DE;
530   GL_TEXTURE31 = $84DF;
531   GL_ACTIVE_TEXTURE = $84E0;
532   GL_CLIENT_ACTIVE_TEXTURE = $84E1;
533   (* TextureWrapMode  *)
534 
535   GL_REPEAT = $2901;
536   GL_CLAMP_TO_EDGE = $812F;
537   (* VertexPointerType  *)
538 
539   (*      GL_SHORT  *)
540 
541   (*      GL_FLOAT  *)
542 
543   (*      GL_FIXED  *)
544 
545   (*      GL_BYTE  *)
546 
547   (* LightName  *)
548 
549   GL_LIGHT0 = $4000;
550   GL_LIGHT1 = $4001;
551   GL_LIGHT2 = $4002;
552   GL_LIGHT3 = $4003;
553   GL_LIGHT4 = $4004;
554   GL_LIGHT5 = $4005;
555   GL_LIGHT6 = $4006;
556   GL_LIGHT7 = $4007;
557   (* Buffer Objects  *)
558 
559   GL_ARRAY_BUFFER = $8892;
560   GL_ELEMENT_ARRAY_BUFFER = $8893;
561   GL_ARRAY_BUFFER_BINDING = $8894;
562   GL_ELEMENT_ARRAY_BUFFER_BINDING = $8895;
563   GL_VERTEX_ARRAY_BUFFER_BINDING = $8896;
564   GL_NORMAL_ARRAY_BUFFER_BINDING = $8897;
565   GL_COLOR_ARRAY_BUFFER_BINDING = $8898;
566   GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = $889A;
567   GL_STATIC_DRAW = $88E4;
568   GL_DYNAMIC_DRAW = $88E8;
569   GL_BUFFER_SIZE = $8764;
570   GL_BUFFER_USAGE = $8765;
571   (* Texture combine + dot3  *)
572 
573   GL_SUBTRACT = $84E7;
574   GL_COMBINE = $8570;
575   GL_COMBINE_RGB = $8571;
576   GL_COMBINE_ALPHA = $8572;
577   GL_RGB_SCALE = $8573;
578   GL_ADD_SIGNED = $8574;
579   GL_INTERPOLATE = $8575;
580   GL_CONSTANT = $8576;
581   GL_PRIMARY_COLOR = $8577;
582   GL_PREVIOUS = $8578;
583   GL_OPERAND0_RGB = $8590;
584   GL_OPERAND1_RGB = $8591;
585   GL_OPERAND2_RGB = $8592;
586   GL_OPERAND0_ALPHA = $8598;
587   GL_OPERAND1_ALPHA = $8599;
588   GL_OPERAND2_ALPHA = $859A;
589   GL_ALPHA_SCALE = $0D1C;
590   GL_SRC0_RGB = $8580;
591   GL_SRC1_RGB = $8581;
592   GL_SRC2_RGB = $8582;
593   GL_SRC0_ALPHA = $8588;
594   GL_SRC1_ALPHA = $8589;
595   GL_SRC2_ALPHA = $858A;
596   GL_DOT3_RGB = $86AE;
597   GL_DOT3_RGBA = $86AF;
598   (*------------------------------------------------------------------------*
599  * required OES extension tokens
600  *------------------------------------------------------------------------ *)
601 
602   (* OES_read_format  *)
603 
604   GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = $8B9A;
605   GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = $8B9B;
606 
607   (* GL_OES_compressed_paletted_texture  *)
608 
609   GL_PALETTE4_RGB8_OES = $8B90;
610   GL_PALETTE4_RGBA8_OES = $8B91;
611   GL_PALETTE4_R5_G6_B5_OES = $8B92;
612   GL_PALETTE4_RGBA4_OES = $8B93;
613   GL_PALETTE4_RGB5_A1_OES = $8B94;
614   GL_PALETTE8_RGB8_OES = $8B95;
615   GL_PALETTE8_RGBA8_OES = $8B96;
616   GL_PALETTE8_R5_G6_B5_OES = $8B97;
617   GL_PALETTE8_RGBA4_OES = $8B98;
618   GL_PALETTE8_RGB5_A1_OES = $8B99;
619 
620   (* OES_point_size_array  *)
621 
622   GL_POINT_SIZE_ARRAY_OES = $8B9C;
623   GL_POINT_SIZE_ARRAY_TYPE_OES = $898A;
624   GL_POINT_SIZE_ARRAY_STRIDE_OES = $898B;
625   GL_POINT_SIZE_ARRAY_POINTER_OES = $898C;
626   GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = $8B9F;
627 
628   (* GL_OES_point_sprite  *)
629 
630   GL_POINT_SPRITE_OES = $8861;
631   GL_COORD_REPLACE_OES = $8862;
632 
633   (************************************************************ *)
634 
635   (* Available only in Common profile  *)
636 
637 procedure glAlphaFunc(func: GLenum; ref: GLclampf); cdecl; external;
638 procedure glClearColor(red, green, blue, alpha: GLclampf); cdecl; external libname;
639 procedure glClearDepthf(depth: GLclampf); cdecl; external libname;
640 procedure glClipPlanef(plane: GLenum; equation: PGLfloat); cdecl; external libname;
641 procedure glColor4f(red, green, blue, alpha: GLfloat); cdecl; external libname;
642 procedure glDepthRangef(zNear, zFar: GLclampf); cdecl; external libname;
643 procedure glFogf(pname: GLenum; param: GLfloat); cdecl; external libname;
644 procedure glFogfv(pname: GLenum; params: PGLfloat); cdecl; external libname;
645 procedure glFrustumf(left, right, bottom, top, zNear, zFar: GLfloat); cdecl; external libname;
646 procedure glGetClipPlanef(pname: GLenum; eqn: GLfloat); cdecl; external libname;
647 procedure glGetFloatv(pname: GLenum; params: PGLfloat); cdecl; external libname;
648 procedure glGetLightfv(light, pname: GLenum; params: PGLfloat); cdecl; external libname;
649 procedure glGetMaterialfv(face, pname: GLenum; params: PGLfloat); cdecl; external libname;
650 procedure glGetTexEnvfv(env, pname: GLenum; params: PGLfloat); cdecl; external libname;
651 procedure glGetTexParameterfv(target, pname: GLenum; params: PGLfloat); cdecl; external libname;
652 procedure glLightModelf(pname: GLenum; param: GLfloat); cdecl; external libname;
653 procedure glLightModelfv(pname: GLenum; params: PGLfloat); cdecl; external libname;
654 procedure glLightf(light, pname: GLenum; param: GLfloat); cdecl; external libname;
655 procedure glLightfv(light, pname: GLenum; params: PGLfloat); cdecl; external libname;
656 procedure glLineWidth(width: GLfloat); cdecl; external libname;
657 procedure glLoadMatrixf(m: PGLfloat); cdecl; external libname;
658 procedure glMaterialf(face, pname: GLenum; param: GLfloat); cdecl; external libname;
659 procedure glMaterialfv(face, pname: GLenum; params: PGLfloat); cdecl; external libname;
660 procedure glMultMatrixf(m: PGLfloat); cdecl; external libname;
661 procedure glMultiTexCoord4f(target: GLenum; s, t, r, q: GLfloat); cdecl; external libname;
662 procedure glNormal3f(nx, ny, nz: GLfloat); cdecl; external libname;
663 procedure glOrthof(left, right, bottom, top, zNear, zFar: GLfloat); cdecl; external libname;
664 procedure glPointParameterf(pname: GLenum; param: GLfloat); cdecl; external libname;
665 procedure glPointParameterfv(pname: GLenum; params: PGLfloat); cdecl; external libname;
666 procedure glPointSize(size: GLfloat); cdecl; external libname;
667 procedure glPolygonOffset(factor, units: GLfloat); cdecl; external libname;
668 procedure glRotatef(angle, x, y, z: GLfloat); cdecl; external libname;
669 procedure glScalef(x, y, z: GLfloat); cdecl; external libname;
670 procedure glTexEnvf(target, pname: GLenum; param: GLfloat); cdecl; external libname;
671 procedure glTexEnvfv(target, pname: GLenum; params: PGLfloat); cdecl; external libname;
672 procedure glTexParameterf(target, pname: GLenum; param: GLfloat); cdecl; external libname;
673 procedure glTexParameterfv(target, pname: GLenum; params: PGLfloat); cdecl; external libname;
674 procedure glTranslatef(x, y, z: GLfloat); cdecl; external libname;
675 
676 (* Available in both Common and Common-Lite profiles  *)
677 procedure glActiveTexture(texture: GLenum); cdecl; external libname;
678 procedure glAlphaFuncx(func: GLenum; ref: GLclampx); cdecl; external libname;
679 procedure glBindBuffer(target: GLenum; buffer: GLuint); cdecl; external libname;
680 procedure glBindTexture(target: GLenum; texture: GLuint); cdecl; external libname;
681 procedure glBlendFunc(sfactor, dfactor: GLenum); cdecl; external libname;
682 procedure glBufferData(target: GLenum; size: GLsizeiptr; data: PGLvoid; usage: GLenum); cdecl; external libname;
683 procedure glBufferSubData(target: GLenum; offset: GLintptr; size: GLsizeiptr; data: PGLvoid); cdecl; external libname;
684 procedure glClear(mask: GLbitfield); cdecl; external libname;
685 procedure glClearColorx(red, green, blue, alpha: GLclampx); cdecl; external libname;
686 procedure glClearDepthx(depth: GLclampx); cdecl; external libname;
687 procedure glClearStencil(s: GLint); cdecl; external libname;
688 procedure glClientActiveTexture(texture: GLenum); cdecl; external libname;
689 procedure glClipPlanex(plane: GLenum; equation: PGLfixed); cdecl; external libname;
690 procedure glColor4ub(red, green, blue, alpha: GLubyte); cdecl; external libname;
691 procedure glColor4x(red, green, blue, alpha: GLfixed); cdecl; external libname;
692 procedure glColorMask(red, green, blue, alpha: GLboolean); cdecl; external libname;
693 procedure glColorPointer(size: GLint; type_: GLenum; stride: GLsizei; pointer: PGLvoid); cdecl; external libname;
694 procedure glCompressedTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; width, height: GLsizei; border: GLint; imageSize: GLsizei; data: PGLvoid); cdecl; external libname;
695 procedure glCompressedTexSubImage2D(target: GLenum;level, xoffset, yoffset: GLint; width, height: GLsizei; format: GLenum;imageSize: GLsizei; data: PGLvoid); cdecl; external libname;
696 procedure glCopyTexImage2D(target: GLenum; level: GLint; internalformat: GLenum; x, y: GLint; width, height: GLsizei; border: GLint); cdecl; external libname;
697 procedure glCopyTexSubImage2D(target: GLenum; level, xoffset, yoffset, x, y: GLint; width, height: GLsizei); cdecl; external libname;
698 procedure glCullFace(mode: GLenum); cdecl; external libname;
699 procedure glDeleteBuffers(n: GLsizei; buffers: PGLuint); cdecl; external libname;
700 procedure glDeleteTextures(n: GLsizei; textures: PGLuint); cdecl; external libname;
701 procedure glDepthFunc(func: GLenum); cdecl; external libname;
702 procedure glDepthMask(flag: GLboolean); cdecl; external libname;
703 procedure glDepthRangex(zNear, zFar: GLclampx); cdecl; external libname;
704 procedure glDisable(cap: GLenum); cdecl; external libname;
705 procedure glDisableClientState(array_: GLenum); cdecl; external libname;
706 procedure glDrawArrays(mode: GLenum; first: GLint; count: GLsizei); cdecl; external libname;
707 procedure glDrawElements(mode: GLenum; count: GLsizei; type_: GLenum; indices: PGLvoid); cdecl; external libname;
708 procedure glEnable(cap: GLenum); cdecl; external libname;
709 procedure glEnableClientState(array_: GLenum); cdecl; external libname;
710 procedure glFinish; cdecl; external libname;
711 procedure glFlush; cdecl; external libname;
712 procedure glFogx(pname: GLenum; param: GLfixed); cdecl; external libname;
713 procedure glFogxv(pname: GLenum; params: PGLfixed); cdecl; external libname;
714 procedure glFrontFace(mode: GLenum); cdecl; external libname;
715 procedure glFrustumx(left, right, bottom, top, zNear, zFar: GLfixed); cdecl; external libname;
716 procedure glGetBooleanv(pname: GLenum; params: PGLboolean); cdecl; external libname;
717 procedure glGetBufferParameteriv(target, pname: GLenum; params: PGLint); cdecl; external libname;
718 procedure glGetClipPlanex(pname: GLenum; eqn: GLfixed); cdecl; external libname;
719 procedure glGenBuffers(n: GLsizei; buffers: PGLuint); cdecl; external libname;
720 procedure glGenTextures(n: GLsizei; textures: PGLuint); cdecl; external libname;
glGetErrornull721 function glGetError: GLenum; cdecl; external libname;
722 procedure glGetFixedv(pname: GLenum; params: PGLfixed); cdecl; external libname;
723 procedure glGetIntegerv(pname: GLenum; params: PGLint); cdecl; external libname;
724 procedure glGetLightxv(light, pname: GLenum; params: PGLfixed); cdecl; external libname;
725 procedure glGetMaterialxv(face, pname: GLenum; params: PGLfixed); cdecl; external libname;
726 procedure glGetPointerv(pname: GLenum; params: PPointer); cdecl; external libname;
glGetStringnull727 function glGetString(name_: GLenum): PGLubyte; cdecl; external libname;
728 procedure glGetTexEnviv(env, pname: GLenum; params: PGLint); cdecl; external libname;
729 procedure glGetTexEnvxv(env, pname: GLenum; params: PGLfixed); cdecl; external libname;
730 procedure glGetTexParameteriv(target, pname: GLenum; params: PGLint); cdecl; external libname;
731 procedure glGetTexParameterxv(target, pname: GLenum; params: PGLfixed); cdecl; external libname;
732 procedure glHint(target, mode: GLenum); cdecl; external libname;
glIsBuffernull733 function glIsBuffer(buffer: GLuint): GLboolean; cdecl; external libname;
glIsEnablednull734 function glIsEnabled(cap: GLenum): GLboolean; cdecl; external libname;
glIsTexturenull735 function glIsTexture(texture: GLuint): GLboolean; cdecl; external libname;
736 procedure glLightModelx(pname: GLenum; param: GLfixed); cdecl; external libname;
737 procedure glLightModelxv(pname: GLenum; params: PGLfixed); cdecl; external libname;
738 procedure glLightx(light, pname: GLenum; param: GLfixed); cdecl; external libname;
739 procedure glLightxv(light, pname: GLenum; params: PGLfixed); cdecl; external libname;
740 procedure glLineWidthx(width: GLfixed); cdecl; external libname;
741 procedure glLoadIdentity; cdecl; external libname;
742 procedure glLoadMatrixx(m: PGLfixed); cdecl; external libname;
743 procedure glLogicOp(opcode: GLenum); cdecl; external libname;
744 procedure glMaterialx(face, pname: GLenum; param: GLfixed); cdecl; external libname;
745 procedure glMaterialxv(face, pname: GLenum; params: PGLfixed); cdecl; external libname;
746 procedure glMatrixMode(mode: GLenum); cdecl; external libname;
747 procedure glMultMatrixx(m: PGLfixed); cdecl; external libname;
748 procedure glMultiTexCoord4x(target: GLenum; s, t, r, q: GLfixed); cdecl; external libname;
749 procedure glNormal3x(nx, ny, nz: GLfixed); cdecl; external libname;
750 procedure glNormalPointer(type_: GLenum; stride: GLsizei; pointer: PGLvoid); cdecl; external libname;
751 procedure glOrthox(left, right, bottom, top, zNear, zFar: GLfixed); cdecl; external libname;
752 procedure glPixelStorei(pname: GLenum; param: GLint); cdecl; external libname;
753 procedure glPointParameterx(pname: GLenum; param: GLfixed); cdecl; external libname;
754 procedure glPointParameterxv(pname: GLenum; params: PGLfixed); cdecl; external libname;
755 procedure glPointSizex(size: GLfixed); cdecl; external libname;
756 procedure glPolygonOffsetx(factor, units: GLfixed); cdecl; external libname;
757 procedure glPopMatrix; cdecl; external libname;
758 procedure glPushMatrix; cdecl; external libname;
759 procedure glReadPixels(x, y: GLint; width, height: GLsizei; format, type_: GLenum; pixels: PGLvoid); cdecl; external libname;
760 procedure glRotatex(angle, x, y, z: GLfixed); cdecl; external libname;
761 procedure glSampleCoverage(value: GLclampf; invert: GLboolean); cdecl; external libname;
762 procedure glSampleCoveragex(value: GLclampx; invert: GLboolean); cdecl; external libname;
763 procedure glScalex(x, y, z: GLfixed); cdecl; external libname;
764 procedure glScissor(x, y: GLint; width, height: GLsizei); cdecl; external libname;
765 procedure glShadeModel(mode: GLenum); cdecl; external libname;
766 procedure glStencilFunc(func: GLenum; ref: GLint; mask: GLuint); cdecl; external libname;
767 procedure glStencilMask(mask: GLuint); cdecl; external libname;
768 procedure glStencilOp(fail, zfail, zpass: GLenum); cdecl; external libname;
769 procedure glTexCoordPointer(size: GLint; type_: GLenum; stride: GLsizei; pointer: PGLvoid); cdecl; external libname;
770 procedure glTexEnvi(target, pname: GLenum; param: GLint); cdecl; external libname;
771 procedure glTexEnvx(target, pname: GLenum; param: GLfixed); cdecl; external libname;
772 procedure glTexEnviv(target, pname: GLenum; params: PGLint); cdecl; external libname;
773 procedure glTexEnvxv(target, pname: GLenum; params: PGLfixed); cdecl; external libname;
774 procedure glTexImage2D(target: GLenum; level, internalformat: GLint; width, height: GLsizei; border: GLint; format, type_: GLenum; pixels: PGLvoid); cdecl; external libname;
775 procedure glTexParameteri(target, pname: GLenum; param: GLint); cdecl; external libname;
776 procedure glTexParameterx(target, pname: GLenum; param: GLfixed); cdecl; external libname;
777 procedure glTexParameteriv(target, pname: GLenum; params: PGLint); cdecl; external libname;
778 procedure glTexParameterxv(target, pname: GLenum; params: PGLfixed); cdecl; external libname;
779 procedure glTexSubImage2D(target: GLenum; level, xoffset, yoffset: GLint; width, height: GLsizei; format, type_: GLenum; pixels: PGLvoid); cdecl; external libname;
780 procedure glTranslatex(x, y, z: GLfixed); cdecl; external libname;
781 procedure glVertexPointer(size: GLint; type_: GLenum; stride: GLsizei; pointer: PGLvoid); cdecl; external libname;
782 procedure glViewport(x, y: GLint; width, height: GLsizei); cdecl; external libname;
783 (*------------------------------------------------------------------------*
784  * Required OES extension functions
785  *------------------------------------------------------------------------ *)
786 
787 (* GL_OES_read_format  *)
788 
789 const
790   GL_OES_read_format = 1;
791 
792   (* GL_OES_compressed_paletted_texture  *)
793   GL_OES_compressed_paletted_texture = 1;
794 
795   (* GL_OES_point_size_array  *)
796   GL_OES_point_size_array = 1;
797 
798 procedure glPointSizePointerOES(type_: GLenum; stride: GLsizei; pointer: PGLvoid); cdecl; external libname;
799 
800 (* GL_OES_point_sprite  *)
801 
802 const
803   GL_OES_point_sprite = 1;
804 
805 
806 implementation
807 
808 end.
809 
810