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 |
---|---|
| OpenGL ES 1.0 with EGL (CM profile) |
| OpenGL ES 1.1 with EGL (CM profile) |
| OpenGL ES 1.1 without EGL (CM profile) |
| OpenGL ES 2.0 |