Back in the '90s the PC gaming world was shook up by the arrival of 3Dfx's Voodoo Graphics. A 3D add-on card that rendered every PC, including the fastest available, that wasn’t equipped with it to a relic from the stone age. GLQuake became the standard in PC gaming graphics and software rendering quickly became a thing of the past as 3D acceleration gained momentum. In the years to follow many companies stepped up to the plate, but Nvidia and ATI really pushed 3D technology forward as they kept nipping at each other's heels with ever more powerful graphic accelerators.
Today we might be at the dawn of a new age. Rasterization as is commonly used by modern graphic accelerators to render a 3D scene might soon go the way of software rendering as well. That is right, advances in technology might finally bring Hollywood quality 3D rendering to our desktop. In a way this heralds the return of software rendering as the bulk of the workload is no longer being handled by the graphics accelerator, but by the main processor that resides in our PCs.
Rasterization as is used today essentially builds all geometric structures using triangles. By combining large amounts of triangles you can construct blocks, spheres, cylinders and just about any other structure you desire. With the aid of 3D tools available to game developers today rasterization is used to build very detailed objects. The triangles in the raster pipeline go through a large number of steps where each individual triangle is analyzed and receives the proper color, lighting, texture and shading and finally is displayed on the screen. The end result is a highly detailed 3D scene which is the driving force behind today's video games. The majority of computational work (color, lighting, texture, shading) ends up being offloaded to a graphics accelerator.
There is another way of modeling a scene, one that until recently was only used by Hollywood to make special effects for films and in-game movies. Hollywood uses a concept known as ray-tracing to render these movie scenes but the process can literally take days to compute a short movie sequence by modeling a 3D scene by tracing the rays of light that originate from each pixel into the eye of the viewer. For any given scene the computational effort required to calculate all of the objects in it, plus their colors, reflections and myriad of other subtle visual details makes for a significant workload on the processor. So up until now processors were not capable of real-time ray-tracing. However, with the advent of multi-core processors ray-tracing is quickly becoming a realistic possibility even for today's video games.
So what does ray-tracing offer that rasterization cannot? The simple answer is that ray-tracing enables certain kinds of special effects that cannot be implemented with rasterization because they are either too complex or too time consuming due to the computational workload. This is because ray-tracing generates a physically correct scene instead of approximation from pixel, vertex and texture properties as is common with rasterization. Especially reflections, refractions and shadows are hard to do realistically in rasterization due to the computational workload required. With ray-tracing these are essentially free as they are a part of the scene being rendered. Ray-tracing will also allow for many effects that are hard, if not impossible, to do with rasterization such as glossy reflections, matte reflections, shadows that soften as they are cast further away from the object, perspective corrections, properly blurred objects when viewed through semi-transparent items and many other complex visual effects.
So what is around the corner that will bring ray-tracing to the desktop? Multicore processors are common-place today, but processors sporting 8, 16 or even more cores will be available soon (Intel's Larrabee for example). Due to that fact that ray-tracing scales almost linearly with computational power, every processor core added ups the performance and efficiency. Work and research done by game-developers such as Daniel Pohl and Intel to allow for real-time ray-tracing on future processors paints a rosy picture for ray-tracing's future. Ray-tracing could well be the next killer-app that provides the next quantum leap in PC gaming realism, just like the 3Dfx Voodoo Graphics accelerator did in the '90s.