Introduction

Microsoft just released Windows Vista Service Pack 1 but that doesn't mean they are resting on their laurels. Amongst other things, Windows Vista Service Pack 1 includes support for DirectX 10.1, something ATI would be profoundly happy to mention time and time again as only their graphics cards at the moment support DirectX 10.1.

Isn't it odd that NVIDIA has yet to include support for DirectX 10.1 even in their latest releases, the GeForce 9600 GT and the GeForce 9800 GX2? In fact, they have virtually thumbed their noses at that "insignificant" update. Well, they have their reasons. Six years ago at SIGGRAPH 02, NVIDIA's chief scientist, David Kirk, was already talking about ray tracing :

“I’ll be interested in discussing a bigger question, though: ‘When will hardware graphics pipelines become sufficiently programmable to efficiently implement ray tracing and other global illumination techniques?’. I believe that the answer is now, and more so from now on! As GPUs become increasingly programmable, the variety of algorithms that can be mapped onto the computing substrate of a GPU becomes ever broader. As part of this quest, I routinely ask artists and programmers at movie and special effects studios what features and flexibility they will need to do their rendering on GPUs, and they say that they could never render on hardware! What do they use now: crayons? Actually, they use hardware now, in the form of programmable general-purpose CPUs. I believe that the future convergence of realistic and real-time rendering lies in highly programmable special-purpose GPUs.”

Since then, NVIDIA has taken quiet but real steps in moving towards ray tracing as the future of real-time 3D rendering for games. The G80 and subsequent G92/94 architectures, for example, have been designed for general purpose programming. NVIDIA has even created a hybrid CPU/GPU ray tracing renderer called Gelato to make use of the new GPGPUs (General Purpose GPUs).

Even ATI has not been sitting still. Their bluster about the advantages of DirectX 10.1 over DirectX 10 aside, the guys in ATI are not stupid. They have seen the writing on the wall. This is one of the reasons why ATI chose to merge with AMD.

Needless to say, Intel has been actively working on ray tracing. It is to their advantage if ray tracing takes off, because unlike rasterization, ray-tracing works best on multi-core processors. It also obviates the need for the GPU which has stolen much of the limelight in recent years.

In October, 2007, Jeffrey Howard wrote two [email protected] articles (first article, second article) about Intel's ray-tracing work. The first quoted Daniel Pohl's work in which he was about to modify Quake IV to work with the Intel ray-tracing engine. Just using an 8-core Intel processor, Daniel was able to achieve almost 100 fps at the resolution of 1024x1024.

With further optimizations and even faster processors, it's not unthinkable that even the latest crop of games would be able to run at incredible frame rates without the help of any GPU. The best thing about ray-tracing, according to Jeffrey, is that it's extremely scalable. That means if you replace the 8-core processor with a 16-core processor, you will get twice the frame rate, and so on.

That leads us to Microsoft. Even they know that the release of DirectX 10.1 is not going to make Windows Vista any more attractive to gamers. Numerous articles have been written about the image quality differences between DirectX 10 and DirectX 9 and they all tell the same story - it just isn't all that significant.

Now, ray-tracing would certainly be something else altogether. Take a look at the example on the right (from Intel). See the rendering difference between a rasterized image and a ray-traced image? Notice the more realistic reflections and shadows in the ray-traced image. Would you switch to Windows Vista if doing so allows your games to look THAT realistic? Hell, yeah!

That brings us to the crux of the matter - DirectX 11...