Backup a second ... So what is DirectX?
Wikipedia says DirectX is a collection of APIs for easily handling tasks related to game programming on the Microsoft Windows operating system. It is most widely used in the development of computer games for Microsoft Windows. The DirectX SDK is available free from Microsoft. The DirectX runtime was originally redistributed by computer game developers along with their games, but later it was included in Windows. Game developers still often include an updated version of DirectX that prompts installation automatically after the game installation to ensure proper program functionality.
Not just another version
DirectX’s popularity over the years has been steadily increasing. Classic games like Thief: The Dark Project, Max Payne, Grand Theft Auto III have used various versions of DirectX to support their graphics. In more recent times, we see top class games like Half-Life 2, Battlefield 2, World of Warcraft and Oblivion: The Elder Scrolls IV making use of DirectX 9.0b/c.
Suffice to say that the latest games use the newest available version of DirectX.
But hey, DirectX10 is not just another version of DirectX. This version has been re-built from the ground up to change the way applications think about material management and load balancing between the CPU and GPU. D3D10, as also DirectX10 is called, takes advantage of the improved communication between the CPU and GPU and efficiently manages the data transfer between them.
As a result of your graphics card becoming more powerful, not only do you get more pixels, but you get more materials and objects. The complexity of scenes and environments can increase exponentially without ever increasing CPU overhead. This means that the CPU handles all film-like (advanced) graphics effects, material management and so frees up CPU cycles to concentrate on AI and Physics.
Exclusivity to Windows Vista
DirectX10 is exclusive to Windows Vista and is not slated to be supported by any other platform. This will ensure that the next-gen games will be available on Windows Vista before any other platform.
The new display driver or graphics model in Windows Vista, WDDM (Windows Display Driver Model), is the main reason for DirectX10’s exclusivity to the operating system. It may come as a surprise to know that the graphics driver model hasn’t changed much since Windows NT4 – WDDM is the first major revamp of the system and is designed for scaling high-capability graphics.
DirectX10 depends on these improvements in the graphics model and so, it leverages the virtualization and architectural improvements of WDDM, in both the APIs as well as the underlying infrastructure.
DirectX10 offers a wide variety of benefits to gamers. Let’s dive into the details now:
Picture 1: DirectX9 (Halo: Combat Evolved) Picture 2: DirectX10 (Crysis) You can see the difference for yourself when we compare Picture DX10 adds a new level of realism to games by making characters more life-like. You can see the incredible detail in the screenshot above. The facial expressions, pockmarks on the face, the handle-bar moustache and the glazed looking eyes all add to the realism. In DirectX10, the next generation in graphics has arrived. Picture 3: DirectX9 Picture 4: DirectX10
Picture 1: DirectX9 (Halo: Combat Evolved)
Picture 2: DirectX10 (Crysis)
You can see the difference for yourself when we compare Picture
DX10 adds a new level of realism to games by making characters more life-like. You can see the incredible detail in the screenshot above. The facial expressions, pockmarks on the face, the handle-bar moustache and the glazed looking eyes all add to the realism.
In DirectX10, the next generation in graphics has arrived.
Picture 3: DirectX9 Picture 4: DirectX10
DirectX9 ‘simulates’ detail with techniques like normal mapping while DirectX10 actually increases the amount of detail in game characters and materials. Shown above are two fish, the first, in Picture 3, is rendered using DirectX9 while the second, super-cool looking fella in Picture 4 is rendered in DirectX10. Observe the spikes with respect to the white background (on the silhouette edges), you see that the bumps on the DX10 fish are a lot more pronounced than the ones on the DX9 fish.
DirectX10 also offers more realistic looking shadows. Showcased below, in Picture 5 is a character with its shadow’s volume accentuated. The green light shows just how the shadow is created (depending on the light source) and how the shadow is featured on the ground. On DirectX9, the shadow volume is generated on the CPU, reducing performance for every new shadowed character on-screen whereas in DirectX10, the shadow volume can be generated and rendered entirely on the more-capable GPU.
Picture 5: Shadow Volume (Realistic Shadows)
Richer scenes and complex environments
Picture 6: Windows Vista wallpaper rendered in DirectX9
Picture 7: Windows Vista wallpaper rendered in DirectX10
In Pictures 6 and 7, we see artist conceptions of one certain Windows Vista wallpaper with mountains overlooking a water body. The artist renderings were created using Microsoft Flight Simulator X in DirectX9 and DirectX10 respectively. The dramatic differences are apparent. On first glance, you observe that the water looks a lot more real with foam and waves. DirectX10 makes new ‘volumetric effects’ possible, which in turn make the clouds in Picture 9 look thicker and more prominent while the scattering of light adds a great effect to the dark side of each of the mountain tops. You’ll also notice that the edge of the forest looks a lot more prominent and contains greater detail in Picture 7. Finally, in Picture 7, you see that DirectX10 allows for accurate reflections of the mountain even in choppy water while in Picture 6, DirectX9 provides a more plastic reflection.
Dynamic in-game scenarios
Picture 8 Picture 9
Picture 10 Picture 11
Pictures 8 through 11 show a vines growing on and around a crypt as time passes while in a game. DirectX10 facilitates the game engine to dynamically change the appearance of the crypt with passing time. This enables the in-game levels/scenarios to evolve with time passed inside the game, thus replacing the static environment with a unique one by simulating natural growth.
DirectX9 is not capable of creating new geometry on the GPU. It is also not capable of storing intermediate geometric results, i.e. scenarios between Picture 8 and Picture 11 could not have been GPU-generated using DirectX9.
Picture 12 Picture 13
Seen above in Pictures 12 and 13 are examples of realistic motion blurring, which is made possible by DirectX10. In earlier versions of DirectX, game developers were required to smudge the final image to achieve motion blur. In DirectX10 however, motion blur can be performed in object-space, simulating a camera exposure of an object across multiple sub-frames.
For technical details on the above benefits, please visit: http://msdn.microsoft.com/directx/
In summary, DirectX10 provides the following benefits to gamers:
More life-like materials and characters with:
Animated fur & vegetation
Richer scenes; complex environments
Thicker forests, larger armies!
Dynamic and ever-changing in-game scenarios
Realistic motion blurring
Thicker, more realistic smoke/clouds
Realistic reflections/refractions on water/cars/glass
Reduced load on CPU
Re-routes bulk of graphics processing to GPU
Avoids glitching & system hangs during game play
For technical details on the above benefits, please visit:
Written and Compiled by:
Nishanth Lingamneni, Associate Product Manager Intern, Windows PMG Client Marketing
For questions and feedback, please contact:
Arvind Mishra, Senior Product Manager, Windows PMG Client
Matt Ployhar, Technical Evangelist, DirectX
Kevin Unangst, Director – Games for Windows, X-Box
Sam Glassenberg, Program Manager, DirectX