What is DirectX?
DirectX is a set of multimedia Application Programming Interfaces (API's) written by Microsoft. It is a collection of Dynamic Link Libraries (DLLs) that contain functions useful to a wide range of multimedia programmers, but are all almost entirely platform independent. This allows programmers access to fast graphics, sound, and input functions while not needing their apps to test for the capabilities of the computer on which their program is running. DirectX will evaluate these capabilities and if they are not present, DirectX may attempt (in many cases) to emulate the functions in software instead of hardware.
Back in the height of DOS, people like game developers had direct access to the hardware for which they were developing. With complete access to interrupts, sound cards, input devices, and the VGA controller, the developers could usually make the hardware do anything they could dream up. The release of Windows 3.1 did not tempt developers because of the massive overhead that came along with it for game development. However, DOS had its own problems.
Hardware device support in DOS became a complicated nightmare. As the desktop computer became more and more popular with the average household, more hardware competition developed, giving rise to hundreds of different posible PC configurations. With the skyrocketing number of configurations to code for, more development time was being spent programming support for the hardware, which left less and less time in the project plans for programming the games themselves!! Fortunately, that was about to change.
[Ed. Note - How many gamers remember how difficult it was to get things like soundcards working in DOS games? Fooling around with IRQ's and DMA channels was an exercise in frustration. Or how about memory allocation? Working with EMM/XMS could be equally frustrating.]
With the usual promises of something new, different and better, Microsoft unleashed Windows 95 into the world. Windows 95 had many new things to offer over and above its DOS-based predecessor. “Plug and Play” was introduced in an attempt to make it simple for the average PC user to install the latest hardware. The resource-handling system was completely revamped to make device management easier and device independence more of an actual reality. Unfortunately, Windows 95 lacked the necessary performance enhancements to sway developers interest in the Windows 95 Platform. Consequently, many games ran in a DOS mode or required a reboot of the PC so that they could start up their own DOS-like system. DirectX set out to change all this.
The seemingly simple goal of making Microsoft Windows a desirable platform for multimedia development turned out to be a much greater undertaking than MS probably first thought. It was quickly determined that in order to provide the performance needed, DirectX would need to operate through fast, low-level libraries that allowed the developer to maintain creative freedom over their code.
The next item on the DirectX developers list was to shift the burden of hardware support from the multimedia developer to the hardware manufacturers. This makes much more sense, as hardware manufacturers are more qualified to write the drivers for their products than any application developer. This approach also helped to unify the standard for technology drivers, keeping the essential compatibility aspects in the forefront for all kinds of additional PC components.
Another feature of DirectX is the capability of DirectX applications to run side by side with non DirectX applications without causing any system problems. Lastly, DirectX would have the performance that was capable in DOS while meeting all the other specifications.
What does DirectX do.
DirectX provides a key set of tools and commands to enhance games and other multimedia applications allowing the hardware and the software to "talk" to each other with much greater ease. The API gives multimedia applications greater access to the advanced features of high-performance hardware such as three-dimensional (3D) graphics acceleration chips and uber sound cards. They also control many other lower-level functions; this includes two-dimensional (2D) graphics acceleration; support for the wide range of input devices such as joysticks/joy-pads, keyboards, mice, controls sound mixing and sound output on a vast range of audio hardware, controls networking and multiplayer gaming, and control over various multimedia streaming formats. With each new revision, more feature support is added for emerging technology so that developers can begin to use that new technology as soon as possible, and hopefully, bringing the technology to us sooner.
Major Components
The following are the major components (with their related function) that make up DirectX:
* DirectDraw - 2D Graphics
* Direct3D - 3D Graphics
* DirectSound - 2D Sound
* DirectSound3D - 3D Sound
* DirectMusic - Music
* DirectPlay - Network/Multiplayer
* DirectInput - Input Devices
Bookmarks