Ray Tracing and Gaming

For our first project we have used ray tracing to create images of objects. As a result we were able to get decent images of long extinct water(?) bunnies. However, aside from the root calculation, tracing an object took a long time. It was obvious that once the images became complex, ray tracing would take a much longer time. For many years ray tracing was limited to offline-rendering, since the computations took so much time. Therefore real-time 3D computer graphics had come up with an alternate solution: Rasterization

As the most popular method of rendering 3D images on a computer, rasterization is a method of taking an image described in vector graphics format and converting it to raster graphic images (e.g. SVG to BMP). This meant just converting the 3D geometry into 2D pixels, and lighting/shading had to be taken care of other methods. Because it was simple, rasterization was very fast compared to ray tracing, and thus well suited to the demands of various applications. The development of graphic cards and DirectX, OpenGL allowed rasterization to become the most common method used in image rendering.

However, with the development of OpenRT Ray tracing library (Saarland University), real-time ray tracing was possible. (Well documented in other posts) The author Daniel Pohl re-introduced ray tracing into the well known 3D game Quake 3 & 4 to see its superiority over rasterization. Through his works of various pictures and videos, we can see how rasterzation can create lots of graphic/lighting artifacts, especially noticeable in shadows, while ray tracing technology can achieve outstanding, realistic images through a few simple lines of code.

The possibly biggest advantage that ray tracing brings in the era of multicore/cluster CPU is that it is perfect for parallelization.
Calculations for each ray are independent, and can be done in parallel. As processors are moving toward many small CPUs, ray tracing will be perfect for future computers. His works show that ray-tracing has parallel efficiency of almost 1.

Companies like id Software put in a lot of effort in optimizing rendering engines so that the images look realistic as possible.
However, even with the latest technologies such as megatexture and the id5 tech engine, it is clear in the pictures that ray tracing is superior in rendering 3D images in many ways. Although there are problems yet to be overcome, ray tracing will sooner or later take over as the main method for 3D graphic rendering. It is possible that ray tracing will lead GPUs into multicore to maximize parallelization.

Sources:
Ray Tracing and Gaming - Quake 4: Ray Traced Project
Ray Tracing and Gaming - One Year Later

Posted in Topics: Education, General, Uncategorized

Jump down to leave a comment.

One response to “Ray Tracing and Gaming”

  1. Cornell CS 322 - Intro to Scientific Computing » Blog Archive » Ray Tracing on Mobile Devices Says:

    […] a 1.2 GHz Sony VAIO UX Micro PC, a Quake 4 ray-traced graphics engine (same as the one covered in a previous blog entry) was demonstrated to be capable of running at 25-45 fps. Of course this is only the graphics […]

Leave a Comment

You must be logged in to post a comment.



* You can follow any responses to this entry through the RSS 2.0 feed.