blob: 50b6ac43f88b685f8ab0da9e92891bc7532792c0 [file] [log] [blame]
The Android Open Source Project54b6cfa2008-10-21 07:00:00 -07001/*
2 * Copyright (C) 2006 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef __gl_h_
18#define __gl_h_
19
20#include <stdint.h>
21#include <sys/types.h>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/*****************************************************************************/
28
29typedef int8_t GLbyte; // b
30typedef int16_t GLshort; // s
31typedef int32_t GLint; // i
32typedef ssize_t GLsizei; // i
33typedef int32_t GLfixed; // x
34typedef int32_t GLclampx; // x
35typedef float GLfloat; // f
36typedef float GLclampf; // f
37typedef uint8_t GLubyte; // ub
38typedef uint8_t GLboolean; // ub
39typedef uint16_t GLushort; // us
40typedef uint32_t GLuint; // ui
41typedef unsigned int GLenum; // ui
42typedef unsigned int GLbitfield; // ui
43typedef void GLvoid;
44typedef intptr_t GLintptr;
45typedef int GLsizeiptr;
46typedef GLintptr GLintptrARB;
47typedef GLsizeiptr GLsizeiptrARB;
48
49/*****************************************************************************/
50
51#define GL_VERSION_ES_CM_1_0 1
52#define GL_VERSION_ES_CL_1_0 1
53#define GL_VERSION_ES_CM_1_1 1
54#define GL_VERSION_ES_CL_1_1 1
55
56#define GL_OES_byte_coordinates 1
57#define GL_OES_fixed_point 1
58#define GL_OES_single_precision 1
59#define GL_OES_read_format 1
60#define GL_OES_compressed_paletted_texture 1
61#define GL_OES_draw_texture 1
62#define GL_OES_matrix_get 1
63#define GL_OES_query_matrix 1
64#define GL_OES_vertex_buffer_object 1
65#define GL_OES_point_size_array 1
66#define GL_OES_point_sprite 1
67#define GL_ARB_texture_non_power_of_two 1
68
69/*****************************************************************************/
70/* OpenGL ES 1.0 names */
71
72#define GL_FALSE 0
73#define GL_TRUE 1
74
75/* begin mode */
76#define GL_POINTS 0x0000
77#define GL_LINES 0x0001
78#define GL_LINE_LOOP 0x0002
79#define GL_LINE_STRIP 0x0003
80#define GL_TRIANGLES 0x0004
81#define GL_TRIANGLE_STRIP 0x0005
82#define GL_TRIANGLE_FAN 0x0006
83
84/* clear mask */
85#define GL_DEPTH_BUFFER_BIT 0x00000100
86#define GL_STENCIL_BUFFER_BIT 0x00000400
87#define GL_COLOR_BUFFER_BIT 0x00004000
88
89/* enable/disable */
90#define GL_FOG 0x0B60
91#define GL_LIGHTING 0x0B50
92#define GL_TEXTURE_2D 0x0DE1
93#define GL_CULL_FACE 0x0B44
94#define GL_ALPHA_TEST 0x0BC0
95#define GL_BLEND 0x0BE2
96#define GL_COLOR_LOGIC_OP 0x0BF2
97#define GL_DITHER 0x0BD0
98#define GL_STENCIL_TEST 0x0B90
99#define GL_DEPTH_TEST 0x0B71
100#define GL_POINT_SMOOTH 0x0B10
101#define GL_LINE_SMOOTH 0x0B20
102#define GL_SCISSOR_TEST 0x0C11
103#define GL_COLOR_MATERIAL 0x0B57
104#define GL_NORMALIZE 0x0BA1
105#define GL_RESCALE_NORMAL 0x803A
106#define GL_POLYGON_OFFSET_FILL 0x8037
107#define GL_VERTEX_ARRAY 0x8074
108#define GL_NORMAL_ARRAY 0x8075
109#define GL_COLOR_ARRAY 0x8076
110#define GL_TEXTURE_COORD_ARRAY 0x8078
111#define GL_MULTISAMPLE 0x809D
112#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
113#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
114#define GL_SAMPLE_COVERAGE 0x80A0
115
116/* gets */
117#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
118#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
119#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
120#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
121#define GL_MAX_LIGHTS 0x0D31
122#define GL_MAX_CLIP_PLANES 0x0D32
123#define GL_MAX_TEXTURE_SIZE 0x0D33
124#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
125#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
126#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
127#define GL_MAX_VIEWPORT_DIMS 0x0D3A
128#define GL_MAX_ELEMENTS_VERTICES 0x80E8
129#define GL_MAX_ELEMENTS_INDICES 0x80E9
130#define GL_MAX_TEXTURE_UNITS 0x84E2
131#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
132#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
133#define GL_SUBPIXEL_BITS 0x0D50
134#define GL_RED_BITS 0x0D52
135#define GL_GREEN_BITS 0x0D53
136#define GL_BLUE_BITS 0x0D54
137#define GL_ALPHA_BITS 0x0D55
138#define GL_DEPTH_BITS 0x0D56
139#define GL_STENCIL_BITS 0x0D57
140
141/* clip planes */
142#define GL_CLIP_PLANE0 0x3000
143#define GL_CLIP_PLANE1 0x3001
144#define GL_CLIP_PLANE2 0x3002
145#define GL_CLIP_PLANE3 0x3003
146#define GL_CLIP_PLANE4 0x3004
147#define GL_CLIP_PLANE5 0x3005
148
149/* errors */
150#define GL_NO_ERROR 0
151#define GL_INVALID_ENUM 0x0500
152#define GL_INVALID_VALUE 0x0501
153#define GL_INVALID_OPERATION 0x0502
154#define GL_STACK_OVERFLOW 0x0503
155#define GL_STACK_UNDERFLOW 0x0504
156#define GL_OUT_OF_MEMORY 0x0505
157
158/* fog */
159#define GL_EXP 0x0800
160#define GL_EXP2 0x0801
161#define GL_FOG_DENSITY 0x0B62
162#define GL_FOG_START 0x0B63
163#define GL_FOG_END 0x0B64
164#define GL_FOG_MODE 0x0B65
165#define GL_FOG_COLOR 0x0B66
166
167/* culling */
168#define GL_CW 0x0900
169#define GL_CCW 0x0901
170
171#define GL_FRONT 0x0404
172#define GL_BACK 0x0405
173#define GL_FRONT_AND_BACK 0x0408
174
175/* hints */
176#define GL_DONT_CARE 0x1100
177#define GL_FASTEST 0x1101
178#define GL_NICEST 0x1102
179
180#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
181#define GL_POINT_SMOOTH_HINT 0x0C51
182#define GL_LINE_SMOOTH_HINT 0x0C52
183#define GL_POLYGON_SMOOTH_HINT 0x0C53
184#define GL_FOG_HINT 0x0C54
185#define GL_GENERATE_MIPMAP_HINT 0x8192
186
187/* lights */
188#define GL_LIGHT_MODEL_AMBIENT 0x0B53
189#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
190
191#define GL_AMBIENT 0x1200
192#define GL_DIFFUSE 0x1201
193#define GL_SPECULAR 0x1202
194#define GL_POSITION 0x1203
195#define GL_SPOT_DIRECTION 0x1204
196#define GL_SPOT_EXPONENT 0x1205
197#define GL_SPOT_CUTOFF 0x1206
198#define GL_CONSTANT_ATTENUATION 0x1207
199#define GL_LINEAR_ATTENUATION 0x1208
200#define GL_QUADRATIC_ATTENUATION 0x1209
201
202#define GL_LIGHT0 0x4000
203#define GL_LIGHT1 0x4001
204#define GL_LIGHT2 0x4002
205#define GL_LIGHT3 0x4003
206#define GL_LIGHT4 0x4004
207#define GL_LIGHT5 0x4005
208#define GL_LIGHT6 0x4006
209#define GL_LIGHT7 0x4007
210
211/* material */
212#define GL_EMISSION 0x1600
213#define GL_SHININESS 0x1601
214#define GL_AMBIENT_AND_DIFFUSE 0x1602
215
216/* matrix */
217#define GL_MODELVIEW 0x1700
218#define GL_PROJECTION 0x1701
219#define GL_TEXTURE 0x1702
220
221/* types */
222#define GL_BYTE 0x1400
223#define GL_UNSIGNED_BYTE 0x1401
224#define GL_SHORT 0x1402
225#define GL_UNSIGNED_SHORT 0x1403
226#define GL_FLOAT 0x1406
227#define GL_FIXED 0x140C
228
229/* pixel formats */
230#define GL_ALPHA 0x1906
231#define GL_RGB 0x1907
232#define GL_RGBA 0x1908
233#define GL_LUMINANCE 0x1909
234#define GL_LUMINANCE_ALPHA 0x190A
235
236/* pixel store */
237#define GL_UNPACK_ALIGNMENT 0x0CF5
238#define GL_PACK_ALIGNMENT 0x0D05
239
240/* pixel types */
241#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
242#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
243#define GL_UNSIGNED_SHORT_5_6_5 0x8363
244
245/* logic op */
246#define GL_CLEAR 0x1500 // 0
247#define GL_AND 0x1501 // s & d
248#define GL_AND_REVERSE 0x1502 // s & ~d
249#define GL_COPY 0x1503 // s
250#define GL_AND_INVERTED 0x1504 // ~s & d
251#define GL_NOOP 0x1505 // d
252#define GL_XOR 0x1506 // s ^ d
253#define GL_OR 0x1507 // s | d
254#define GL_NOR 0x1508 // ~(s | d)
255#define GL_EQUIV 0x1509 // ~(s ^ d)
256#define GL_INVERT 0x150A // ~d
257#define GL_OR_REVERSE 0x150B // s | ~d
258#define GL_COPY_INVERTED 0x150C // ~s
259#define GL_OR_INVERTED 0x150D // ~s | d
260#define GL_NAND 0x150E // ~(s & d)
261#define GL_SET 0x150F // 1
262
263/* shade model */
264#define GL_FLAT 0x1D00
265#define GL_SMOOTH 0x1D01
266
267/* strings */
268#define GL_VENDOR 0x1F00
269#define GL_RENDERER 0x1F01
270#define GL_VERSION 0x1F02
271#define GL_EXTENSIONS 0x1F03
272
273/* stencil */
274#define GL_KEEP 0x1E00
275#define GL_REPLACE 0x1E01
276#define GL_INCR 0x1E02
277#define GL_DECR 0x1E03
278
279/* alpha & stencil */
280#define GL_NEVER 0x0200
281#define GL_LESS 0x0201
282#define GL_EQUAL 0x0202
283#define GL_LEQUAL 0x0203
284#define GL_GREATER 0x0204
285#define GL_NOTEQUAL 0x0205
286#define GL_GEQUAL 0x0206
287#define GL_ALWAYS 0x0207
288
289/* blending equation & function */
290#define GL_ZERO 0 // SD
291#define GL_ONE 1 // SD
292#define GL_SRC_COLOR 0x0300 // D
293#define GL_ONE_MINUS_SRC_COLOR 0x0301 // D
294#define GL_SRC_ALPHA 0x0302 // SD
295#define GL_ONE_MINUS_SRC_ALPHA 0x0303 // SD
296#define GL_DST_ALPHA 0x0304 // SD
297#define GL_ONE_MINUS_DST_ALPHA 0x0305 // SD
298#define GL_DST_COLOR 0x0306 // S
299#define GL_ONE_MINUS_DST_COLOR 0x0307 // S
300#define GL_SRC_ALPHA_SATURATE 0x0308 // S
301
302/* Texture parameter name */
303#define GL_TEXTURE_MIN_FILTER 0x2801
304#define GL_TEXTURE_MAG_FILTER 0x2800
305#define GL_TEXTURE_WRAP_S 0x2802
306#define GL_TEXTURE_WRAP_T 0x2803
307#define GL_GENERATE_MIPMAP 0x8191
308#define GL_TEXTURE_CROP_RECT_OES 0x8B9D
309
310/* Texture Filter */
311#define GL_NEAREST 0x2600
312#define GL_LINEAR 0x2601
313#define GL_NEAREST_MIPMAP_NEAREST 0x2700
314#define GL_LINEAR_MIPMAP_NEAREST 0x2701
315#define GL_NEAREST_MIPMAP_LINEAR 0x2702
316#define GL_LINEAR_MIPMAP_LINEAR 0x2703
317
318/* Texture Wrap Mode */
319#define GL_CLAMP 0x2900
320#define GL_REPEAT 0x2901
321#define GL_CLAMP_TO_EDGE 0x812F
322
323/* Texture Env Mode */
324#define GL_REPLACE 0x1E01
325#define GL_MODULATE 0x2100
326#define GL_DECAL 0x2101
327#define GL_ADD 0x0104
328
329/* Texture Env Parameter */
330#define GL_TEXTURE_ENV_MODE 0x2200
331#define GL_TEXTURE_ENV_COLOR 0x2201
332
333/* Texture Env Target */
334#define GL_TEXTURE_ENV 0x2300
335
336/* TMUs */
337#define GL_TEXTURE0 0x84C0
338#define GL_TEXTURE1 0x84C1
339#define GL_TEXTURE2 0x84C2
340#define GL_TEXTURE3 0x84C3
341#define GL_TEXTURE4 0x84C4
342#define GL_TEXTURE5 0x84C5
343#define GL_TEXTURE6 0x84C6
344#define GL_TEXTURE7 0x84C7
345#define GL_TEXTURE8 0x84C8
346#define GL_TEXTURE9 0x84C9
347#define GL_TEXTURE10 0x84CA
348#define GL_TEXTURE11 0x84CB
349#define GL_TEXTURE12 0x84CC
350#define GL_TEXTURE13 0x84CD
351#define GL_TEXTURE14 0x84CE
352#define GL_TEXTURE15 0x84CF
353#define GL_TEXTURE16 0x84D0
354#define GL_TEXTURE17 0x84D1
355#define GL_TEXTURE18 0x84D2
356#define GL_TEXTURE19 0x84D3
357#define GL_TEXTURE20 0x84D4
358#define GL_TEXTURE21 0x84D5
359#define GL_TEXTURE22 0x84D6
360#define GL_TEXTURE23 0x84D7
361#define GL_TEXTURE24 0x84D8
362#define GL_TEXTURE25 0x84D9
363#define GL_TEXTURE26 0x84DA
364#define GL_TEXTURE27 0x84DB
365#define GL_TEXTURE28 0x84DC
366#define GL_TEXTURE29 0x84DD
367#define GL_TEXTURE30 0x84DE
368#define GL_TEXTURE31 0x84DF
369
370/*****************************************************************************/
371/* OpenGL ES 1.1 additions */
372
373#define GL_ARRAY_BUFFER 0x8892
374#define GL_ELEMENT_ARRAY_BUFFER 0x8893
375
376#define GL_STATIC_DRAW 0x88E4
377#define GL_DYNAMIC_DRAW 0x88E8
378
379#define GL_BUFFER_SIZE 0x8764
380#define GL_BUFFER_USAGE 0x8765
381
382#define GL_ARRAY_BUFFER_BINDING 0x8894
383#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
384#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
385#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
386#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
387#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
388
389/*****************************************************************************/
390/* Required extensions */
391
392#define GL_PALETTE4_RGB8_OES 0x8B90
393#define GL_PALETTE4_RGBA8_OES 0x8B91
394#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
395#define GL_PALETTE4_RGBA4_OES 0x8B93
396#define GL_PALETTE4_RGB5_A1_OES 0x8B94
397#define GL_PALETTE8_RGB8_OES 0x8B95
398#define GL_PALETTE8_RGBA8_OES 0x8B96
399#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
400#define GL_PALETTE8_RGBA4_OES 0x8B98
401#define GL_PALETTE8_RGB5_A1_OES 0x8B99
402
403#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
404#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
405
406#define GL_POINT_SPRITE_OES 0x8861
407#define GL_COORD_REPLACE_OES 0x8862
408
409#define GL_POINT_SIZE_ARRAY_OES 0x8B9C
410#define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A
411#define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B
412#define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C
413#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F
414
415/*****************************************************************************/
416/* Extensions */
417
418#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D
419#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E
420#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F
421
422#define GL_DIRECT_TEXTURE_2D_QUALCOMM 0x7E80
423
424
425
426
427/*****************************************************************************/
428/* OpenGL ES 1.0 functions */
429
430void glActiveTexture(GLenum texture);
431void glAlphaFunc(GLenum func, GLclampf ref);
432void glAlphaFuncx(GLenum func, GLclampx ref);
433void glBindTexture(GLenum target, GLuint texture);
434void glBlendFunc(GLenum sfactor, GLenum dfactor);
435void glClear(GLbitfield mask);
436void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
437void glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
438void glClearDepthf(GLclampf depth);
439void glClearDepthx(GLclampx depth);
440void glClearStencil(GLint s);
441void glClientActiveTexture(GLenum texture);
442void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
443void glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
444void glColorMask(GLboolean r, GLboolean g, GLboolean b, GLboolean a);
445void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr);
446void glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat,
447 GLsizei width, GLsizei height, GLint border,
448 GLsizei imageSize, const GLvoid *data);
449void glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset,
450 GLint yoffset, GLsizei width, GLsizei height,
451 GLenum format, GLsizei imageSize,
452 const GLvoid *data);
453void glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat,
454 GLint x, GLint y, GLsizei width, GLsizei height,
455 GLint border);
456void glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset,
457 GLint yoffset, GLint x, GLint y, GLsizei width,
458 GLsizei height);
459void glCullFace(GLenum mode);
460void glDeleteTextures(GLsizei n, const GLuint *textures);
461void glDepthFunc(GLenum func);
462void glDepthMask(GLboolean flag);
463void glDepthRangef(GLclampf zNear, GLclampf zFar);
464void glDepthRangex(GLclampx zNear, GLclampx zFar);
465void glDisable(GLenum cap);
466void glDisableClientState(GLenum array);
467void glDrawArrays(GLenum mode, GLint first, GLsizei count);
468void glDrawElements(GLenum mode, GLsizei count,
469 GLenum type, const GLvoid *indices);
470void glEnable(GLenum cap);
471void glEnableClientState(GLenum array);
472void glFinish(void);
473void glFlush(void);
474void glFogf(GLenum pname, GLfloat param);
475void glFogfv(GLenum pname, const GLfloat *params);
476void glFogx(GLenum pname, GLfixed param);
477void glFogxv(GLenum pname, const GLfixed *params);
478void glFrontFace(GLenum mode);
479void glFrustumf(GLfloat left, GLfloat right,
480 GLfloat bottom, GLfloat top,
481 GLfloat zNear, GLfloat zFar);
482void glFrustumx(GLfixed left, GLfixed right,
483 GLfixed bottom, GLfixed top,
484 GLfixed zNear, GLfixed zFar);
485void glGenTextures(GLsizei n, GLuint *textures);
486GLenum glGetError(void);
487void glGetIntegerv(GLenum pname, GLint *params);
488const GLubyte * glGetString(GLenum name);
489void glHint(GLenum target, GLenum mode);
490void glLightModelf(GLenum pname, GLfloat param);
491void glLightModelfv(GLenum pname, const GLfloat *params);
492void glLightModelx(GLenum pname, GLfixed param);
493void glLightModelxv(GLenum pname, const GLfixed *params);
494void glLightf(GLenum light, GLenum pname, GLfloat param);
495void glLightfv(GLenum light, GLenum pname, const GLfloat *params);
496void glLightx(GLenum light, GLenum pname, GLfixed param);
497void glLightxv(GLenum light, GLenum pname, const GLfixed *params);
498void glLineWidth(GLfloat width);
499void glLineWidthx(GLfixed width);
500void glLoadIdentity(void);
501void glLoadMatrixf(const GLfloat *m);
502void glLoadMatrixx(const GLfixed *m);
503void glLogicOp(GLenum opcode);
504void glMaterialf(GLenum face, GLenum pname, GLfloat param);
505void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params);
506void glMaterialx(GLenum face, GLenum pname, GLfixed param);
507void glMaterialxv(GLenum face, GLenum pname, const GLfixed *params);
508void glMatrixMode(GLenum mode);
509void glMultMatrixf(const GLfloat *m);
510void glMultMatrixx(const GLfixed *m);
511void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
512void glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
513void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
514void glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);
515void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
516void glOrthof( GLfloat left, GLfloat right,
517 GLfloat bottom, GLfloat top,
518 GLfloat zNear, GLfloat zFar);
519void glOrthox( GLfixed left, GLfixed right,
520 GLfixed bottom, GLfixed top,
521 GLfixed zNear, GLfixed zFar);
522void glPixelStorei(GLenum pname, GLint param);
523void glPointSize(GLfloat size);
524void glPointSizex(GLfixed size);
525void glPolygonOffset(GLfloat factor, GLfloat units);
526void glPolygonOffsetx(GLfixed factor, GLfixed units);
527void glPopMatrix(void);
528void glPushMatrix(void);
529void glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
530 GLenum format, GLenum type, GLvoid *pixels);
531void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
532void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
533void glSampleCoverage(GLclampf value, GLboolean invert);
534void glSampleCoveragex(GLclampx value, GLboolean invert);
535void glScalef(GLfloat x, GLfloat y, GLfloat z);
536void glScalex(GLfixed x, GLfixed y, GLfixed z);
537void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
538void glShadeModel(GLenum mode);
539void glStencilFunc(GLenum func, GLint ref, GLuint mask);
540void glStencilMask(GLuint mask);
541void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
542void glTexCoordPointer( GLint size, GLenum type,
543 GLsizei stride, const GLvoid *pointer);
544void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
545void glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params);
546void glTexEnvx(GLenum target, GLenum pname, GLfixed param);
547void glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params);
548void glTexImage2D( GLenum target, GLint level, GLenum internalformat,
549 GLsizei width, GLsizei height, GLint border, GLenum format,
550 GLenum type, const GLvoid *pixels);
551void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
552void glTexParameterx(GLenum target, GLenum pname, GLfixed param);
553void glTexSubImage2D( GLenum target, GLint level, GLint xoffset,
554 GLint yoffset, GLsizei width, GLsizei height,
555 GLenum format, GLenum type, const GLvoid *pixels);
556void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
557void glTranslatex(GLfixed x, GLfixed y, GLfixed z);
558void glVertexPointer( GLint size, GLenum type,
559 GLsizei stride, const GLvoid *pointer);
560void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
561
562/*****************************************************************************/
563/* OpenGL ES 1.1 functions */
564
565void glClipPlanef(GLenum plane, const GLfloat* equation);
566void glClipPlanex(GLenum plane, const GLfixed* equation);
567
568void glBindBuffer(GLenum target, GLuint buffer);
569void glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
570void glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
571void glDeleteBuffers(GLsizei n, const GLuint* buffers);
572void glGenBuffers(GLsizei n, GLuint* buffers);
573
574void glGetBooleanv(GLenum pname, GLboolean *params);
575void glGetFixedv(GLenum pname, GLfixed *params);
576void glGetFloatv(GLenum pname, GLfloat *params);
577void glGetPointerv(GLenum pname, void **params);
578void glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params);
579void glGetClipPlanef(GLenum pname, GLfloat eqn[4]);
580void glGetClipPlanex(GLenum pname, GLfixed eqn[4]);
581void glGetLightxv(GLenum light, GLenum pname, GLfixed *params);
582void glGetLightfv(GLenum light, GLenum pname, GLfloat *params);
583void glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params);
584void glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
585void glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params);
586void glGetTexEnviv(GLenum env, GLenum pname, GLint *params);
587void glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params);
588void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params);
589void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params);
590void glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params);
591GLboolean glIsBuffer(GLuint buffer);
592GLboolean glIsEnabled(GLenum cap);
593GLboolean glIsTexture(GLuint texture);
594void glPointParameterf(GLenum pname, GLfloat param);
595void glPointParameterfv(GLenum pname, const GLfloat *params);
596void glPointParameterx(GLenum pname, GLfixed param);
597void glPointParameterxv(GLenum pname, const GLfixed *params);
598void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
599void glTexEnvi(GLenum target, GLenum pname, GLint param);
600void glTexEnviv(GLenum target, GLenum pname, const GLint *params);
601void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params);
602void glTexParameteriv(GLenum target, GLenum pname, const GLint *params);
603void glTexParameteri(GLenum target, GLenum pname, GLint param);
604void glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params);
605
606/*****************************************************************************/
607/* Required extensions functions */
608
609void glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer);
610
611
612/*****************************************************************************/
613/* Extensions functions */
614
615void glDrawTexsOES(GLshort x , GLshort y, GLshort z, GLshort w, GLshort h);
616void glDrawTexiOES(GLint x, GLint y, GLint z, GLint w, GLint h);
617void glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat w, GLfloat h);
618void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed w, GLfixed h);
619void glDrawTexsvOES(const GLshort* coords);
620void glDrawTexivOES(const GLint* coords);
621void glDrawTexfvOES(const GLfloat* coords);
622void glDrawTexxvOES(const GLfixed* coords);
623GLbitfield glQueryMatrixxOES(GLfixed* mantissa, GLint* exponent);
624
625/* called by dalvik */
626void glColorPointerBounds(GLint size, GLenum type, GLsizei stride,
627 const GLvoid *ptr, GLsizei count);
628void glNormalPointerBounds(GLenum type, GLsizei stride,
629 const GLvoid *pointer, GLsizei count);
630void glTexCoordPointerBounds(GLint size, GLenum type,
631 GLsizei stride, const GLvoid *pointer, GLsizei count);
632void glVertexPointerBounds(GLint size, GLenum type,
633 GLsizei stride, const GLvoid *pointer, GLsizei count);
634
635#ifdef __cplusplus
636}
637#endif
638
639#endif /* __gl_h_ */