What is it?
Microsoft DirectX and Open GL are two of the most popular sets of application programming interfaces (APIs) for developing three-dimensional graphics for computer games. They enable developers to concentrate on the game rather than developing custom interfaces and drivers for many different pieces of hardware.
As well as supporting graphics, DirectX supports sound and control of input devices, such as mice, keyboards and joysticks.
DirectX changes quite radically between major operating system releases. Microsoft says the latest versions, DirectX 10 and 9Ex, can only be used with Windows Vista, but an increasing number of hackers are proving it wrong. The runtime and software development kit (SDK) can be downloaded free.
OpenGL is a cross-platform API set from a consortium of suppliers. There is a version for embedded devices, OpenGL ES, and a free, open source implementation, Mesa 3D.
DirectX and OpenGL are also used in other sectors requiring high-quality graphics, including engineering, aircraft pilot training and medical simulations.
Where did it originate?
Direct X, originally called the Windows Games SDK, was introduced with Windows 95. DirectX provided the basis for the Xbox console API, and by some accounts is the origin of the console's name, shortened from DirectXbox.
OpenGL originated from Silicon Graphics' Iris GL API. In 1992, Silicon Graphics created the Open GL Architecture Review Board, which over the years came to include all the manufacturers of high-end graphics workstations, including Sun Microsystems, IBM and Hewlett-Packard. Microsoft, which joined the scheme early on, left the board in 2003.
In 2006, control of OpenGL was handed over to the independent Khronos Group, which includes representatives from AMD, Intel, Nvidia, Sony, Sun and Texas Instruments.
What's it for?
DirectX also includes APIs for two-dimensional graphics, networked games, sound and music, animation, video acceleration and web interactivity.
Some designers combine OpenGL with the non-graphics APIs of DirectX. Others use the OpenGL Utility Toolkit to handle keyboard, mouse and other input-device interactions and SDL (Simple Direct Media Layer) for multimedia processes.
What makes it special?
OpenGL enables developers to write code that will run on any platform that supports the standard, without having to make changes for different pieces of hardware or operating systems.
How difficult is it to master?
As a low-level procedural API, OpenGL requires a good understanding of computer graphics. Intensive bootcamps that aim to get students to a professional level in a week are available. DirectX courses for Microsoft developers take three to five days.
What systems does it run on?
OpenGL is supported by Mac OS X, Windows, Linux, many Unix implementations and PlayStation 3. DirectX is supported only on Microsoft platforms.
What's coming up?
The latest DirectX SDK was made available for download in June. Two revisions of OpenGL are set for release this year, codenamed Longs Peak, which is a major change to the OpenGL object model, and Mt Evans, which introduces DirectX 10-style functionality.
The best introduction to OpenGL is the OpenGL Programming Guide, or Red Book, now in its fifth edition, from Addison Wesley. Earlier editions can be downloaded free of charge.
Rates of pay
C++ games or graphical application developers with OpenGL or DirectX can earn from £25,000 to £35,000.