Researchers at Graz University of Technology demonstrated using OpenGL ES to implement an Augmented Reality application for city geospatial asset management visualization on small handheld devices. The application overlays 3D data such as gas and power lines on top of a real city model captured by the built in camera. The goals is that a utility company field worker could point their mobile phone to a particular surface subsection of a road or building. Depending on the device’s position and orientation, the field worker would be shown a real-time visualization of the subsurface network of cables and pipes. The “x-ray vision” merges real world vision with computer graphics generated from GIS data stores. The prototype application was shown at the ISMAR 2006 conference running on three different Windows CE handhelds using software as well as hardware OpenGL ES.
Although OpenGL ES makes 3D graphics programming significantly easier and more portable, developers must still work to tune their applications for the greatest performance possible. This article features tips and tricks gleaned from Qualcomm and other developers at the 2006 Brew Developer Conference in San Diego.
The Java Bindings for the OpenGL ES API (JSR 239) have been released (September 2006). These bindings enable access to the OpenGL ES library through a standard Java interface. The specification defines a Java ME optional package creating a standard Java interface into the OpenGL ES API and the EGL API for window system binding. It requires an underlying OpenGL ES Conformant native engine that must support OpenGL ES 1.0 or 1.1 and EGL and all core extensions. These bindings will be part of the Sun Java Wireless Toolkit 2.5 for CLDC when it is released as 1.0.
Vijay Singh Pro Golf 3D is an OpenGL ES-based simulation hyperrealistic golf game for Sony Ericsson’s UIQ 3 based phones, that allows the player to personify and compete against 8 entirely customizable players, including the great Vijay Singh, and allows them to advance in their careers through practice, golf courses, and later tournaments, featuring golf circuits from all over the globe.
STMicroelectronics has licensed the ARM Cortex-A8 processor to use with its own Nomadik multimedia applications processors for mobile gaming, video calling and location-based mapping services. The Cortex-A8 supports the OpenMAX standard for accelerated image, audio and video processing.
Sony Ericsson is working with Imagination Technologies to support application development for the three UIQ 3 based phones, the M600 messaging device, P990 smartphone and W950 Walkman phone which all support OpenGL ES and feature full PowerVR hardware 3D graphics acceleration. A comprehensive SDK for OpenGL ES including a step-by-step tutorial and a dedicated discussion forum are available for free from Sony Ericsson Developer World.
SimulationMark ES2.0 will allow mobile device chipmakers and manufacturers to test and compare simulated 3D graphics performance in OpenGL ES 2.0 chip designs prior to the fabrication of silicon based hardware implementations. The simulated benchmark is a combination of theoretical and practical shader test workloads based on high level shader and parameter descriptions published by Futuremark.
The new Fujitsu MB86297 graphic display controller is optimized for high-end vehicle multimedia and virtual dashboard applications, including head-end units and fully configurable instrument clusters that require high quality and versatile human-machine interfaces. It supports all 2D functions, 3D functions, and fogging and lighting, to provide dramatic and realistic 3D effects. Because the MB86297 will support OpenGL ES 1.1, it makes software development a relatively hardware-independent task.
The Embedded Systems 3D Game SDK is an Open Source 3D Game Engine / SDK for embedded devices based upon OpenGL ES. The new v0.3 adds support for the OpenGL ES 1.x Common and Common Lite Profile on Win32, WinCE and Symbian phones using the Rasteroid 3.1 OpenGL ES implementation.
MobiX3D is a mobile player for X3D (the successor to VRML) and H-Anim (Humanoid Animation) content. V0.6 addsfull support of opaque and transparent textures (bmp, jpg, png, gif), support of viewpoint animations, mplementation of a basic view frustum culling algorithm based on axis-aligned bounding boxes, and adoption of the recent Hybrid Rasteroid 3.1 implementation of OpenGL ES 1.1.