DirectX is a package of Application Program Interfaces from Microsoft that are intended to allow programmers to interface to hardware in a uniform fashion without regard to the actual versions of the hardware installed. Thus, programmers using DirectX can interface to a set of generic graphics, sound, etc functions. DirectX provides the interface to the actual hardware and/or vendor hardware drivers. For the most part, DirectX will use hardware capabilities if they exist, and will emulate the hardware capabilities if the hardware does not provide them. Emulation is not provided if the performance would be excessively poor. There are many versions of DirectX. In general, later versions are backward compatible with older versions. DirectX 9.0 is compatible with all Windows OSes except Windows 95 and Windows NT. Windows 95 is compatible with DirectX8.0 and earlier. Windows NT4.0 is compatible only with DirectX3.0a.

DirectX is only available for Windows, but is a free add on, not a formal Windows component. From the user point of view, it is a downloadable/installable package of drivers and DLLs. Programmers see additional components not required by end users.

DirectX is an alternative to Graphic Display Interface (GDI) and Multimedia APIs built into Windows. In general, it offers more capability and better performance. The downside is that every Windows PC supports GDI and Multimedia whereas DirectX must be explicitly installed on Windows 95 PCs. Windows 98 ships with DirectX installed, but there are many versions of DirectX, and a given program may require that DirectX be upgraded before it will work properly.

There is a competing technology known as OpenGL that is multiplatform. In general, OpenGL has been used for CAD and business applications as well as multiplatform programs. DirectX has been used for Windows games. There is considerable overlap between OpenGL and DirectX. Relationship to Windows GDI and Multimedia APIs

Return To Index Copyright 1994-2008 by Donald Kenney.