opengles/openglesinterface/include/glextplatform.h
author Gareth Stockwell <gareth.stockwell@accenture.com>
Fri, 05 Nov 2010 17:31:20 +0000
branchbug235_bringup_0
changeset 215 097e92a68d68
parent 0 5d03bc08d59c
permissions -rw-r--r--
Added GLES 1.x spinning cube-rendering code to eglbringuptest The coordinate, color and index data are uploaded to server-side buffers by the CGLES1Cube::KhrSetup function. CGLES1Cube::KhrPaint just sets the view matrix and issues a draw command. Which demo to display can be selected by passing its name on the command line, e.g. eglbringuptest vgline eglbringuptest gles1cube If no name is provided, the application defaults to vgline.

/*
** Copyright (c) 2007-2009 The Khronos Group Inc.
**
** Permission is hereby granted, free of charge, to any person obtaining a
** copy of this software and/or associated documentation files (the
** "Materials"), to deal in the Materials without restriction, including
** without limitation the rights to use, copy, modify, merge, publish,
** distribute, sublicense, and/or sell copies of the Materials, and to
** permit persons to whom the Materials are furnished to do so, subject to
** the following conditions:
**
** The above copyright notice and this permission notice shall be included
** in all copies or substantial portions of the Materials.
**
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
*/

#ifndef glextplatform_h
#define glextplatform_h

/**
@publishedAll
@released
*/

#ifdef __cplusplus
extern "C" {
#endif

/*
** The following defines were in gl.h in OpenGL ES 1.0.  To keep backwards 
** compatibility they are defined in this file which is always included at
** the end of gl.h. Undefine guard definitions as required to enable 
** OpenGL ES 1.1 glext.h functionality.
**
** We have also added __SOFTFP decorations for call-by-value float functions
*/

/* Renamed for OpenGL ES 1.1 */

#define GL_WRITE_ONLY                               0x88B9
#define GL_BUFFER_ACCESS                            0x88BB


/* Removed for OpenGL ES 1.1 */

/* OpenGL ES core versions */
#define GL_OES_VERSION_1_0                          1
#define GL_OES_VERSION_1_1                          1

/* BeginMode */
#define GL_MAX_ELEMENTS_VERTICES                    0x80E8
#define GL_MAX_ELEMENTS_INDICES                     0x80E9

/* HintTarget */
#define GL_POLYGON_SMOOTH_HINT                      0x0C53


/* Moved from gl.h to glext.h (optional header) for OpenGL ES 1.1 */

/* GL_OES_byte_coordinates */
#define GL_OES_byte_coordinates	                    1

/* GL_OES_draw_texture */
#define GL_OES_draw_texture                         1
#define GL_TEXTURE_CROP_RECT_OES                    0x8B9D
GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) __SOFTFP;
GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);

/* GL_OES_fixed_point */
#define GL_OES_fixed_point	                        1

/* GL_OES_single_precision */
#define GL_OES_single_precision                     1

/* OES_matrix_get */
#define GL_OES_matrix_get	                        1
#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES   0x898D
#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES  0x898E
#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES     0x898F

/* OES_matrix_palette */
#define GL_OES_matrix_palette	                    1
#define GL_MAX_VERTEX_UNITS_OES                     0x86A4
#define GL_MAX_PALETTE_MATRICES_OES                 0x8842
#define GL_MATRIX_PALETTE_OES                       0x8840
#define GL_MATRIX_INDEX_ARRAY_OES                   0x8844
#define GL_WEIGHT_ARRAY_OES                         0x86AD
#define GL_CURRENT_PALETTE_MATRIX_OES               0x8843
#define GL_MATRIX_INDEX_ARRAY_SIZE_OES              0x8846
#define GL_MATRIX_INDEX_ARRAY_TYPE_OES              0x8847
#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES            0x8848
#define GL_MATRIX_INDEX_ARRAY_POINTER_OES           0x8849
#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES    0x8B9E
#define GL_WEIGHT_ARRAY_SIZE_OES                    0x86AB
#define GL_WEIGHT_ARRAY_TYPE_OES                    0x86A9
#define GL_WEIGHT_ARRAY_STRIDE_OES                  0x86AA
#define GL_WEIGHT_ARRAY_POINTER_OES                 0x86AC
#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES          0x889E
GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);


GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]);

#ifdef __cplusplus
}
#endif

#endif /* glextplatform_h */