The chipmaker on Thursday gave one of the first public demonstrations in Europe of its 3D graphics toolkit for its XScale chip, paving the way for sophisticated 3D games on handhelds and cell phones. The Graphics Performance Primitives (GPP) software went through its paces at the Game Developers Conference here at the Earls Court Exhibition Centre.
Intel's GPP developer toolkit was developed to overcome many of the shortcomings that the XScale processor--which is based on a core from U.K. chip designer ARM Holdings--shares with other chips tailored to handheld computers and mobile phones. These shortcomings include a lack of floating-point arithmetic, as well as division, square-root and trigonometric functions--all of which preventand its rivals from being as adept at 3D modeling as desktop processors.
The downloadable, free GPP toolkit gets around many of these using shortcuts, said Gopi Kolli, a senior software engineer at Intel. Kolli showed developers at Earls Court a Hewlett-Packard iPaq handheld rendering, in real time, a flyover of a detailed 3D landscape. The graphics quality was of a standard that until recently was only available on desktop PCs.
The flyover graphics came from "Uphill Island," one of two clips from software developer Fathammer that demonstrated how the GPP can be used by games engines. Fathammer's X-Forge 3D Game Engine, which is currently in development and is due out this fall, has been optimized for XScale and uses the GPP toolkit. Santa Clara, Calif.-based mobile software developer 3D4W has also built a GPP-enabled engine, named 3d-2go.
Many of the effects used by these game engines--such as transformations, lighting and clipping--need high-precision floating point numbers, which the XScale toolkit does not support, said Kolli. "There is no multiplication or division in the instruction set, so we have to do it manually," he said.
To get around this, the GPP works with 64-bit numbers, even though the chip only supports 32-bit numbers natively. If the effects calculations were done with 32-bit numbers, then with each mathematical function, there could be a loss of precision.
In addition, the software uses tricks to approximate functions such as division and square roots, which would otherwise be very computationally expensive, said Kolli. "We found we can get up to a 23-times performance gain on these functions," he said, adding that this allows developers to focus on 3D features instead of writing assembly code.
ZDNet UK's Matt Loney reported from London.