The OpenGLES Interface component provides the Symbian platform with an interface to the open-source, cross-platform OpenGL ES APIs defined by the Khronos Group. The component includes the Khronos-released header files, some Symbian-specific header files, LIB, DEF and MMP files and UIDs. It does not provide any implementations of the APIs.
Variant : ScreenPlay and non-ScreenPlay .
The OpenGL ES specifications are defined by the Khronos Group ( http://www.khronos.org/ ). The following table provides links to the relevant specifications.
Specification Version | Location |
---|---|
OpenGL ES 1.1.10 |
http://www.khronos.org/registry/gles/specs/1.1/es_full_spec.1.1.10.pdf |
OpenGL ES 2.0 |
The OpenGLES Interface component includes the Khronos-released header files that conform to these specifications. The header files incorporate some minor changes, such as in-source comments.
These header files are derived from the official Khronos Subversion Repository ( https://cvs.khronos.org/svn/repos/ ) as shown in the following table.
The following OpenGL ES profiles are supported:
OpenGL ES implementations can expose implementation-specific functionality by using the standard extension mechanisms.
The OpenGL ES 1.X extensions, which are defined by Khronos, are located in /epoc32/include/GLES/glext.h .
The OpenGL ES 2.0 extensions, which are defined by Khronos, are located in /epoc32/include/GLES2/gl2ext.h .
Implementers can disable extensions by using glextplatform.h and gl2extplatform.h , respectively.
Implementers edit the Symbian-supplied /epoc32/include/GLES/glextplatform.h by defining an appropriate define guard. For example, defining GL_OES_draw_texture in glextplatform.h prevents definition of GL_TEXTURE_CROP_RECT_OES in glext.h .
Khronos defines the file names and directories for OpenGL ES in the Khronos API Implementers Guide .
For each profile, the OpenGLES Interface component provides a library file as shown in the following table. The library filenames are specified by Khronos.
Library Name | Usage |
---|---|
libGLES_CM.lib |
OpenGL ES 1.1 Common Profile with EGL |
libGLES_CL.lib |
OpenGL ES 1.1 Common-Lite Profile with EGL |
libGLESv1_CM.lib |
OpenGL ES Common Profile without EGL (known as OpenGL ES 1.1 v1) |
libGLESv2.lib |
OpenGL ES 2.0 |
Note : OpenGL ES 1.1 v1 is not another version of OpenGL ES. It is instead another form of packaging for the OpenGL ES 1.1 API.
The following definition ( DEF ) files are delivered by the OpenGLES Interface component in order to ensure binary compatibility.
Name and path | Usage |
---|---|
/epoc32/include/platform/def/<plat>/openglesu.def |
OpenGL ES 1.0 with EGL (CM profile) |
/epoc32/include/platform/def/<plat>/opengles11u.def |
OpenGL ES 1.1 with EGL (CM profile) |
/epoc32/include/platform/def/<plat>/libglesv1_cm11u.def |
OpenGL ES 1.1 without EGL (CM profile) |
/epoc32/include/platform/def/<plat>/libglesv2u.def |
OpenGL ES 2.0 |
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.