Los Angeles (CA) - A consortium of the world's leading embedded systems manufacturers and developers, meeting at SIGGRAPH 2005, today announced OpenGL ES 2.0, an improved derivative of OpenGL for use in cellphones, embedded systems, including Sony's Playstation 3.
The Khronos Group, chaired by nVidia vice president for embedded content Neil Trevett, announced the ratification of the new standard API for programmable embedded devices this morning. The new version promises to be leaner and more versatile than its predecessors, by reducing or eliminating some of the older, so-called "fixed function" libraries that characterized the original OpenGL. As Trevett told Tom's Hardware Guide, this will also reduce the API's footprint while concentrating on more modern, adaptable techniques such as programmable vertex shading libraries.
"We basically did two main things to cut down the size of the implementation," said Trevett. "One was to remove high-end functionality that isn't needed in the embedded markets; but [the other], more importantly, [was to] remove redundancy."
The broader OpenGL standard has been used in desktop computer platforms and operating systems since 1992; today, it's a prominent library for Linux platforms, as well as the fallback standard for Microsoft Windows, whose developers prefer the proprietary DirectX API. As small hardware becomes more capable, and demand for more eye-catching applications among wireless service providers has skyrocketed in just the last few years, independent software developers (ISVs) have signaled a need for a single graphics platform, where the framework for applications that can be ported to multiple brands and implementations, can be developed.
Due to the need for the broader OpenGL desktop API to be downwardly compatible, Trevett stated, there's four ways for a program to draw a polygon. "In OpenGL ES," he explained, "we just chose the most modern and up-to-date way of drawing polygons. That redundancy elimination saves a lot of implementation costs, without losing any functionality."
Porting OpenGL to a smaller platform means - ironically - downgrading the precision of graphics functions originally designed for 32-bit CPUs, to run reliably in 16-bit and even 8-bit environments. "The major change to the shading language is that we added some language qualifiers to enable ISVs to express shader programs using lower-precision than they were able to using the desktop shading language," Trevett told Tom's Hardware Guide. "So for example, we can do some color calculations or low-precision geometry calculations in less than 32 bits." Enabling functions which were originally designed for high-performance to scale down to a lower-performance device without changing their names or their input parameters enables small hardware to conserve power consumption and increase perceived speed, while sacrificing very little performance that could not be measured on a low-resolution screen anyway.
How the Khronos Group is refining the OpenGL ES profile may give us a glimpse of how future versions of the broader desktop standard may develop, as fewer desktop hardware manufacturers (one of which just happens to be Trevett's full-time employer) require the old fixed libraries. "Fixed functionality is what traditional graphics APIs have done for many years," he told us. "There's a fixed menu of lighting modes, of pixel and texture modes, and you can choose those through the API, but the ISV can't add new modes if they have a good idea [for] something that's not already defined in that fixed palette. Once you enable the application developer to write a vertex or fragment shader program, they are, in essence, adding new functionality to the graphics pipeline itself, either in the geometry stage or the pixel processing stage. So they can do new lighting types, for example. Once an API has that power to express any type of lighting in a pretty small and simple shader program, you don't need to have the shader program way of doing it and the fixed function way of doing it."
"An API is really a contract between the hardware community and the software community," Trevett continued. "Both communities gain if everyone can standardize on an open standard. Without an open standard, the software developers have a real problem because every hardware gadget that wants to have good graphics would expose its own proprietary API. That makes it almost impossible for an ISV to economically port across multiple different platforms, and so it's very difficult for an ISV to get return on investment."
Trevett predicts that as many as 800 million cell phones worldwide may be shipped before the end of this year with an increasing percentage with built-in OpenGL ES graphics capability, rising to a rate of one billion per year thereafter. But although it's this multitude of small devices which is trimming the profile of the world's most common geometric graphics library, it will be Sony's PlayStation 3 that will test the high-performance value of this leaner, meaner profile. If the new OpenGL succeeds on the console level, one wonders whether a future "baked-in" implementation of the API could be made feasible for graphics hardware on the desktop level.
The first public demonstrations of the new API will be shown by representatives of Khronos, Nokia, MIT, and Finnish wireless applications provider Hybrid Graphics, Ltd., tomorrow afternoon at the SIGGRAPH 2005 convention in Los Angeles.