DirectX has long been associated with gaming. Way back when Windows 95 was
launched, game developers were a worried lot. Microsoft's new operating system
was quite unfriendly, in the sense that it restricted access to video cards,
sound cards and other peripherals used for gaming. Therefore, Direct X was
conceived. A collection of APIs (Application Programming Interface), Direct X
allowed game developers much more freedom.
Over the years, there have been several developments and several new
versions, the most recent being DirectX 9. However, they're all incremental
advancements as compared to the new Direct X 10 or DX 10. Currently, DX 10 will
only be available to users of Windows Vista. So as a user of Windows XP, you can
do one of two things; wait to see if it is released for XP or upgrade to Vista.
Before being finalized as DX 10, a lot of names were doing the rounds. It was
rumored as Direct Next and Windows Graphics Foundation before the current name
was fixed. The name is a logical progression from DX 9, but the API itself isn't.
You see, unlike in the past, DX 10 will not incorporate all older versions of
Direct X. Straight out of the box, this means greater efficiency. DirectX 9 will
still be supported by Vista however, through Direct X 9.0L
|
Cinematic realism
In a game or animated scene rendered in real-time, you sometimes need a lot of
objects to emulate real life. Trees, clouds, blades of grass, stones, water are
all objects. Traditionally, the number of unique objects drawn has always been
limited. So if you have a field of grass, just one blade of grass is created and
copied to make the entire field. If you have one tree, it's copied to make
several other trees in the scene. With DX 10, you'll be able to show hundreds
of unique objects in a scene, making it much closer to real life than ever
before.
On the left is an image rendered with DX9, and on the right, the same image rendered with DX 10. Notice the enhanced level of realism, especially in the clouds and the water surface |
Facial imperfections & expressions enhance realism, as shown by this screenshot from Crysis |
Geometry shaders
Let's talk shaders — those little pieces of code that define how textures,
objects and lighting finally looks. With real-time graphics rendering, you
usually have two types of shaders; vertex and pixel shaders. With DX 10 there is
now a geometry shader stage. What it does is create displacement mapping and
therefore makes objects look more lifelike by adding the dimension of height.
Geometry shaders can also add more triangles into a scene and make them grow —
making real-time growing effects and morphing possible.
Other advantages
DX 10 will take some load off the CPU and transfer it to the GPU instead. Makes
sense because GPUs are getting bigger, better and beefier. The CPU can then take
those free cycles and use them for other, more mundane tasks like checking your
email, downloading a few files or processing image files in the background. With
more efficient load distribution between the powerful CPUs and GPUs, the whole
computer will also run faster and more efficiently.
Developers rejoice
If you're in the market for a graphics card, you can buy a card that is
DirectX 9 compatible. The card doesn't need to support all the features of DX
9 to be considered compatible. But with DX 10, the card is either compatible or
it isn't. If the card is DX 10 compatible, it supports everything; unified
vertex and pixel shaders as well as geometry shaders. For a game developer, this
is good news. They've always been worried about the same set of instructions
producing different visuals on different machines.
A screenshot from Microsoft Flight Simulator X. You could be forgiven for mistaking it for an actual photograph |
It's not just the games that benefit We know that everyone's not a gamer
— and so does Microsoft. So why bring out a completely new API, re-written
from ground up? The obvious answer is that they want everyone to switch to Vista
as fast as possible. But other programs that use lots of video and 3D rendering
will benefit from DX 10 too. Ultimately, to enjoy the full benefits of DX 10,
you'll need Windows Vista, DX 10 compatible hardware and games coded with DX
10.
So what does it all mean?
There are several games that have been confirmed to use DX 10; Crysis, Alan
Wake, Unreal Tournament 2007, Flight Simulator X, Eve Online, Hellgate: London,
Age of Conan, Company of Heroes and Supreme Commander. This is in no way an
exhaustive list — more are being made as we speak. Overall, as an end user,
your primary concerns are probably performance without the hassles. Keeping this
in mind, combine the benefits of DX 10 with the benefits of Vista, and you might
have a compelling reason to upgrade.