Home · All Namespaces · All Classes · Main Classes · Grouped Classes · Modules · Functions

Windows CE OpenGL ES

Introduction

OpenGL is an industry standard API for 2D/3D graphics. It provides a powerful, low-level interface between software and acceleration hardware, and it is operating system and window system independent.

OpenGL ES is a subset of the OpenGL standard. It is meant for use in embedded systems. Hence, it has a smaller, more constrained API.

Qt for Windows CE uses EGL 1.1 to embed OpenGL ES windows within the Windows CE window manager.

To use OpenGL ES enabled widgets in a Qt for Windows CE application, you only need to subclass QGLWidget and draw on instances of the subclass with OpenGL ES functions.

OpenGL ES includes profiles for floating-point and fixed-point arithmetic. The floating point profile is called OpenGL ES CM (Common) and the fixed-point profile is called OpenGL ES CL (Common Lite).

You can run configure with the -opengl-es-cm option for the Common profile or -opengl-es-cl for the Common Lite profile. In both cases, ensure that the lib and includes paths include the OpenGL ES headers and libararies from your SDK. The OpenGL ES lib should be called either libGLES_CM.lib for the Common profile or libGLES_CL.lib for the Common Lite profile.

To configure Qt for Windows Mobile 5.0 and OpenGL ES Common Lite support you can run configure like this:


The distinction between the Common and Common Lite profiles is important, because the Common Lite profile has less functionality and only supports a fixed-point vertex format.

To start programming with Qt and OpenGL ES on Windows CE, you can start with the Hello GL ES Example. This example shows how to use QGLWidget and QGLPainter with OpenGL ES. It also provides some hints on how to port OpenGL code to OpenGL ES.

Using OpenGL to Accelerate Normal 2D Painting

Qt provides QOpenGLPaintEngine, a subclass of QPaintEngine that translates QPainter operations into OpenGL calls. This is especially convenient for drawing text or QImage objects in an OpenGL ES context. For further details, refer to the Hello GL ES Example.


Copyright © 2008 Nokia Trademarks
Qt 4.4.3