What Is DirectX?
If you use Windows operating system, then DirectX is likely a name you are familiar with. Especially if you are quite fond of playing games developed for the Windows platform. Yes, you may have an idea about what DirectX is all about. Yet, do you really understand what it is? Furthermore, do you even know how it works at all? No offense, but what most PC users know about DirectX is simply that there are several versions available with version 11 being the latest one.
Well, to start with, DirectX is actually more than just a single element. Instead, it consists of various elements, thus the X is used behind to represent them. DirectX consists of the following elements:
- DirectDraw; for 2D graphics processing
- Direct3D; for 3D graphics processing
- DirectSound; for 2D sound processing
- DirectSound3D; for 3D sound processing
- DirectMusic; for music processing
- DirectPlay; for multiplayer or network processing
- DirectInput; for the processing of input devices
DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing. Comprised of massive DLL’s (Dynamic Link Libraries), it allows software – especially game – developers to gain direct access to the computer hardware. As a result, the developers will be able to produce high quality yet fast graphics, immersive sound and will have no problems programming the input devices among other things. However, in case the necessary hardware is not existent on a particular PC configuration, DirectX will emulate the required functions from the software side instead.
Gaining direct access to computer hardware has always been very important. This could also be seen when DOS (Disk Operating System) was still at its glory. At that time, software developers could usually make everything they dreamt of come true in the computing environment. This was possible because the developers had no problem accessing VGA cards, input devices, sound cards and other interrupts. To make things clearer, the interactions that happened among the computer hardware, DOS and the applications developed are represented in the scheme below:
Communications among DOS, Hardware and Applications
However, as computer manufacturers began developing more and more complicated hardware, it became harder for the developers to write the right codes required to access a specific hardware. It became harder to write codes that will work with XMS/EMM, DMA, IRQ’s and so on. As a result, accessing graphics or sound cards among other things became less lucrative than ever.
Aware of this problem, Microsoft then introduced the Windows 95 OS. Microsoft promised that PC would become simpler than ever to use thanks to the introduction of the new plug-and-play technology. With this technology, all PC users had to do was simply plug any new hardware into their computer and the system would detect it automatically.
Windows 95 also came with easier and more independent device management system. However, still, most software developers at that time could not really see what might possibly interest them to develop applications for the platform. As a result, developers still used the DOS mode in order to run the applications they developed. This required PC users to boot their PC to get into the DOS mode before they would be able to run those applications. Alternatively, developers would have to write their own system similar to DOS.
If you wonder how software developers could communicate with the hardware through Windows 95, you can see the following scheme:
Communications between Hardware and Applications through Win 95
Seeing all the problems, there was then an idea to have computer hardware manufacturers write the codes rather than software developers. Of course, this was a lot more sensible keeping in mind that there would never be any software developers that would know more than the manufacturers about the hardware devices.
This was when device drivers were born. It is drivers that are being used up to the present time. The drivers are used to assure new hardware devices will be compatible with just about any possible combination of PC configurations.
As a result, DirectX becomes very handy. Most computer systems are now capable of running applications that use DirectX and applications that don’t at the same time quite conveniently. In addition to that, software developers can now write their applications for Windows as they would DOS. Have a look at the following scheme to get a better picture of how everything works at the moment.
DirectX in Play
DirectX features a crucial collection of commands and tools that are required by an application or software in order to communicate with the hardware. This is why games using DirectX normally have a very high graphics level that is photorealistic. With DirectX, developers are capable of taking maximum advantage of 3D capable graphics processing units, sound cards and other hardware thanks to the low level language support.
When do you need DirectX?
Most of the time, you will need it when you want to play games designed for Windows 98 or later operating systems. However, you will have to know which version you need as it has been mentioned earlier there are several versions in existence. Fortunately, if the game you want to play requires a version of DirectX that does not exist on your system, you won’t have to worry. The game itself is normally accompanied by the installer for the required DirectX version. Also, make sure that you have the latest drivers installed for your hardware, especially the graphics card and the sound card.
The most widely used DirectX version
As of today, most of the existing modern games use version 9.0c. However, there are also a few very sophisticated games out there that utilize version 10 or even 11 to maximize the in-game graphics and performance. However, most of them will do just fine with version 9.0c as well.
Is DirectX the only API?
Well, as a matter of fact, it is not. There was once Glide that was also known as 3DFX. Besides, there has always been OpenGL. However, both of them are simply graphical API’s meaning they are only needed for graphics. DirectX, in comparison, covers everything rather than the graphics alone. Last but not least, another advantage of DirectX is that it is invisible to PC users.
© 2011 RichBest