Intel on Thursday gave a one of the first public demonstrations in Europe of its 3D graphics toolkit for its XScale processor, which paves the way for sophisticated 3D games on PDAs and mobile phones.
The Intel Graphics Performance Primitives (GPP) toolkit was developed to overcome many of the shortcomings that the XScale processor shares in common with other processors designed for palmtop computers and mobile phones. In common with its competition, Intel's XScale processor, which is based on a core from the UK's ARM Holdings, lacks many of the features that help make desktop processors so adept at 3D modelling.
The GPP toolkit gets around many of these limitations -- such as a lack of floating point arithmetic, division, square root and trigonometric functions -- using shortcuts, said Intel senior software engineer Gopi Kolli. Kolli was introducing the toolkit to European developers at the Game Developers Conference in London's Earls Court Exhibition Centre.
As part of the demonstration, Kolli showed an HP iPaq handheld computer rendering on its screen, in real time, a fly-over of a detailed 3D landscape that was of a quality that until recently was only available on desktop PCs.
The GPP is not itself a game engine, but it can be used by games engines. The Intel demonstration included clips generated by two game engines. Software developer Fathammer's X-Forge 3D Game Engine, which is currently in development and is due out this autumn, has been optimised for Xscale, and uses the GPP toolkit. The 3D landscape fly-over was in fact a custom-built X-Forge application called Uphill Island, and another clip shown at the conference was Fathammer's Spaceflight sample -- a 3D, deep space shoot 'em-up.
Santa Clara-based Mobile software developer 3D4W has also built an engine that uses the GPP. The 3d-2go engine was demonstrated rendering a moving 3D figure in real time on the iPaq screen.
Many of the effects used by these game engines -- such as transformations, lighting and clipping -- need high-precision floating point numbers, which the XScale instruction set does not support, said Kolli. "There is no multiplication or division in the instruction set so we have to do it manually," he said. This means working with 64-bit numbers, even though the chip only supports 32-bit numbers natively. If calculations were done in 32-bit space, then with each mathematical function, too much precision would be lost.
The GPP 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. The result, said Kolli, is that developers will be able to focus on 3D features instead of writing assembly code.
Intel's GPP toolkit is available free for download here.
Have your say instantly, and see what others have said. Go to the ZDNet news forum.
Let the editors know what you think in the Mailroom.