
Microsoft is going to release later this year, with Windows Vista, the new version of Direct X called Direct X 10.
This version is not going to be backwards compatible. There will be an emulation software that will replace the backwards capabilities. Direct X 9 is gonna do all the job.
DirectX 9 will be supported side-by-side, through DirectX 9.L (basically, that's DX9 for the Vista driver model). So right there, without using any new features, DX10 should be more efficient and faster.
Overview :
Through one bold move, Microsoft has decided that it will not support, the already too “old†DirectX 9, not to mention DirectX 8 or any of the previous versions. But it appears to be some logic hidden somewhere.
The new DirectX will not be named Windows Graphic Foundation (WGF) as it was planned and will remain at the old name, as in DirectX 10. It will be released with their brand new operating system Vista. This news API will be composed of new and faster dynamic link libraries (DLLs) and will run much faster (so they say).
Microsoft has decided that backward compatibly with DirectX 9,8,7 isn't really necessary as there will probably will be even less compatible with Vista.
Some sort of “compatibility†will be available through a software layer (probably some emulation) which will have its price in system resources, as it will run much slower. The good news is that DirectX 10 will relieve some of the burden on the CPU.
And of course it will have support for the next generation of Pixel Shaders 4.0, although it will probably surface before even Vista's release due to the rapid development of graphic cards.
Shaders & Its Benefits :
Pixel Shaders and Vertex Shaders are gonna become known under a single name. Shaders ! There will also be something new called Geometry Shader. This new "shader" is going to be somewhere between the vertex and the pixel shaders .
"The traditional vertex shader takes in a single vertex, a single point, and it has to output a single vertex. It's impossible for the vertex shader to create or destroy triangles because it always has to output a vertex for each one it takes in. The geometry shader lets the game operate on entire geometry primitives, lines, triangles, and points as well as neighboring adjacent primitives. The geometry shader can also create new primitives, add new triangles, before sending them further down the pipe to the rasterizer and pixel shader.
Even better, the geometry shader can also output results directly into memory, allowing data to go right back into the graphics pipeline without going out to the CPU for setup. The changes will let the GPU accelerate particle effects like smoke and explosions, which are usually done on the CPU. Games can also use the geometry shader in combination with texture arrays to accelerate effects like cube mapping.
Making pixel and vertex shaders work differently than in previous Direct X versions, will not require anymore different pipelines. This explains why ATI X1900 has 48 pipelines and not all of them are pixel pipelines. They are "dynamic" pipelines. That means that the pipeline can become either vertex or pixel pipeline. I'm not so sure about it, but it can be possible. Direct X 10 is also gonna introduce shader model 4.0 .
Why Direct X 10 > Direct X 9 :
Direct X 10 is also supposed to be faster than Direct X 9. Dropping backwards compatibility should do the trick.
"DirectX 10 will increase game performance by as much as six to eight times. Much of that will be accomplished with smarter resource management, improving API and driver efficiencies, and moving more work from the CPU to the GPU. "The entire API and pipeline have been redesigned from the ground-up to maximize performance, and minimize CPU and bandwidth overhead," according to Microsoft.
Furthermore, "The idea behind D3D10 is to maximize what the GPU can do without CPU interaction, and when the CPU is needed it’s a fast, streamlined, pipeline-able operation." Giving the GPU more efficient ways to write and access data will reduce CPU overhead costs by keeping more of the work on the video card."
Perhaps one of the best features of DX10 is the removal of capability bits, or "cap bits." Today, graphics cards don't have to support everything in DirectX 9 to be a "DX9 graphics card." There are lots of optional features, and the drivers have to report to the OS exactly what it can and can't do with a set of cap bits. This has been a huge headache for developers, as different cards all support different features, or perform the same operations in different ways. In DX10, either you meet the spec or you don'tâ€â€no more supporting only these or those texture formats, and this or that shader model but only with this level of precision.
Graphics cards will have to produce results within a very small margin of error to be considered DX10 compliant, so developers shouldn't have to worry about the same operation producing different visuals on different cards. As far as developers are concerned, they should finally be able to simply write to the API and know that any DX10 compliant card will produce the correct result. Naturally, there will still be differences in performance between different graphics cards to consider.
Example :
The new version of Direct X is going to make good use of parallax mapping and other graphic features. The light will be able to get through objects, like a plant's leave.

Check out this picture for instance. It has Direct X 10 features and it was made on the new and improved CRYTEK engine.

Volumetric textures are also going to take another aspect. Check out this volumetric clouds for instance.

Advanced shader language like shader model 4.0 is going to look somewhere near this.

A scene like this should contain somewhere between 400.000 and 300.000 triangles. A character's model is going to have somewhere near, more/less depending on the character, 5000 triangles (in-game mesh) and somewhere near 2,000,000 triangles purely geometric detail mesh. DirectX 10 is going to ease the things up by increasing the rendering speed too.
End User :
DirectX 9 should, when the drivers are well optimized, run faster under the Vista driver model than Windows XP. But DX10 will do more to reduce CPU utilization, increase graphics card power and flexibility, and enforce hardware standards that should make life a lot easier on developers.
Upon release, there will probably be some Windows XP games that will have enhanced DX10 modes when run under Vista (like Crysis and Flight Simulator X), and maybe even a few "gotta have it" Vista-only games that require DX10. Microsoft has already announced Halo 2, but others should follow (and hopefully, they won't be ports of two year old Xbox games).
[break=Intel’s New Graphics Core to Support DirectX 10 Features – Slides]
Intel May Be First with WGF 2.0-Compliant Graphics
Meanwhile ATI Technologies and Nvidia Corp., both leading suppliers of standalone graphics processors, are doing their best to introduce high-performance graphics processing units that are compliant with DirectX 10 next-generation application programming interface, Intel Corp., who is leading supplier of built-in graphics cores, may introduce a cost-effective solution that boasts with at least some DirectX 10 capabilities already this year.
Several slides, which presumably come from a roadmap of Intel Corp., that have been published over HKEPC web-site suggest that Intel’s forthcoming G965 chipset will have a built-in graphics core that not only supports DirectX 9.0 shader model 3.0, but also will have DirectX 10 shader model 4.0 functionality. In case the information is correct, this may be the first time for Intel Corp. to offer the latest multimedia functionality with its integrated graphics cores.
The Intel G965 graphics core will have relatively powerful support for 3D technologies in general: it will have improved early Z technology which reduces the load on memory bandwidth, it will support 16x anisotropic filtering, 32-bit precision floating point precision calculations and so on.
As reported previously, it will also have hardware decoding of WMV9b HD high-definition video streams. In addition, the new integrated graphics core from the world’s largest chipmaker will provide HDMI output. It is unclear whether the new graphics core will support HDCP encryption as well.
Leading 3D functionality support not only means some benefits for Intel Corp., but poses some danger to suppliers of standalone graphics processors for add-in cards or mobile computers, primarily such companies as ATI Technologies, Nvidia Corp. and S3 Graphics.
Usually separate graphics cards cost from $70 to $650, but while built-in cores cannot provide as many benefits and performance of a high-end graphics cards, users who are getting low-end board do not care much about performance, but take into account support for some latest capabilities, such as media playback.
With advanced graphics core that sports forthcoming application programming interface (API) Intel may take some market from entry-level graphics cards, provided that Intel is able to supply its new chipsets in quantities.
Intel did not comment on the news-story.
[break=More details emerge about DirectX 10]
DirectX is an often-misunderstood platform. Introduced in 1995 as a way to convince DOS game developers to move over to Windows, DirectX provided an application programming interface (API) that developers could use to access many different aspects of the graphics, sound, and input hardware, without having to program directly to the "bare metal" of each individual card or chipset. DirectX incorporated many different subsets of these APIs, including DirectSound, DirectInput, and DirectMusic, but the component that received the most changes over the years was Direct3D, which followed the rise of powerful gaming graphics cards for the PC.
Extremetech has an interview up with a couple of Microsoft developers discussing DirectX 10, the very latest in the evolution of the framework, currently scheduled for inclusion with the release of Windows Vista. The article answers many questions and paints a very exciting picture for the future of PC game development.
A few changes have been made to DirectInput in order to support the Xbox 360 controllers and peripherals. Essentially, XInput, the API used for the Xbox, was converted and now works on Windows. Apart from this and minor changes in DirectSound, the biggest changes involve Direct3D. Expanded memory and texture limits (up to 8192x8192 textures, from 2048x2048 in DX9) are just the beginning. The biggest improvements are a unified shader model, which will hopefully free developers from having to write separate code paths for ATI and NVIDIA hardware, and new features such as the Geometry Shader that can add complexity to a scene procedurally. The Geometry Shader is integrated into the drawing pipeline, and allows the programmer to take simple shapes (such as triangles or even points) and generate complex shapes around them.
Microsoft has been a big fan of procedurally-generated graphics, including features on the Xbox 360 to specifically handle these items. However, DirectX 10 goes far beyond these ideas and adds features that, according to the interview, can't easily be done on the next-generation of consoles:
The things that we had mentioned in terms of being able to do much more data generation inside the pipeline is something that can't be done well [on next-gen consoles], even though the consoles sort of have their unique capabilities. And then there are things like the integer instruction set that neither of the two console [graphics] processors have available.
The developers were asked if the fact that DirectX 10 will only be available on Windows Vista was merely a marketing decision. It turns out that there were actually some good technological reasons for this requirement, mostly involving Vista's new driver model, which takes some elements out of kernel mode and into user mode for greater stability. The developers admitted that games requiring DirectX 10 (and therefore Vista) are probably still a few years away, although Microsoft is going to get the ball rolling with their Halo 2 port.
Definitely in the long term there's a vision in how we think the applications and the runtime and the hardware need to work together. What we've done in Vista was to make some major changes to try to improve that. We've got a number of additional things we wanted to do over the next few years to try to make that even better, and it's just hard to say, "oh well we'll just retrofit all that into Windows XP." That kind of put us in this position of saying, do we really want to get all these big improvements, and what do we have to give up in order to do it?
Overall it was an interesting and technically detailed article. If anyone was questioning Microsoft's commitment to the PC gaming platform in the future, these fears should be well put to rest after reading it.