Quake 3: Ray traced
In 2004 I started working on one of the first raytracing computer games as my student research project. As a base for this project the content from ‘Quake 3’ was used. It was amazing how easy it was to program special effects that would have taken much longer using the conventional graphic technology called ‘rasterization’ used by common graphic cards. For example dynamic, per-pixel real-time shadows are calculated with about ten lines of code as described in the introduction figure about ray tracing.
(Shadows in Quake 3: Ray traced (2004))
Generating shadows without disturbing artifacts is still a problem in many games, though some games have done it right. Here some of the bad examples from games, all released in 2006:
(‘Gothic 3’ (2006) Shadows
(‘The Lord of the Rings: The Battle for Middle-earth II’ from 2006)
(‘Call of Juarez’ from 2006)
Another advantage of ray tracing is that you can use many more polygons to render a scene without a dramatic performance impact compared to the rasterization approach. So I ‘pimped up’ some of the walls and floors in Quake 3 to see how well it performs. Instead of two triangles for a wall I used 5,000.
(Using 5,000 triangles instead of 2.)
(The replaced walls in game. The real geometric displacement can be seen from any perspective.)
The result was: while the geometry complexity of the Quake 3 Level was six times higher, the frame rate dropped only to about ¾ of its original value.
Other special effects in Quake 3: Ray traced (http://www.q3rt.de/) are glass, mirrors in mirrors, camera portals and ground fog.
To see Quake 3: Ray traced in action you can look at these two videos: