My favorite topic of study so far in this course has been ray-tracing. I’m really interested in graphics and so I decided to dig up some more information about the origins of ray-tracing, its development, and its applications.
Ray-tracing was “invented” in 1968 by Arthur Appel, and since then other researchers have adopted and extended its usage. [1] In the last 15 years or so, ray-tracing has attracted a lot of attention in the scientific community. Researchers’ main goal today is to find efficient ray-tracing algorithms to make the scheme feasible for use in real-time applications - perhaps their most intriguing use is in video game graphics generation. Modern video games use complex, detailed, and increasingly realistic graphics in a dynamic visual environment, and so ray-tracing algorithms used in previous decades would of course be much too slow to be put to use in such computationally overwhelming situations.
However, in 2005, Intel published a paper in their quarterly Technology Journal, in which they proposed that ray-tracing “has reached the stage where it is feasible that it will take over from raster graphics in the near future for interactive gaming and other application domains.” [2] In their paper, they discuss how the efficiency of a ray-tracing algorithm depends on three things: the number of rays shot per pixel, the number of pixels per frame, and the number of pixels per second. Simply multiplying these three metrics clearly shows that the larger and the more detailed a visual landscape, the longer it will take to render - this is not surprising. Intel determined that 450M ray segments/second was the threshold at which real-time ray-tracing “becomes interesting.”
Since in the past, ray-tracing was only possible with supercomputers, ray-tracing needs to get efficient enough to be calculable by desktop machines. After calculating the demands on the machine, they ran their algorithm on a 3.2 GHz Pentium 4 processor and were able to achieve a maximum of 100M ray segments/second. We can see that real-time ray tracing isn’t fully optimized yet, but this kind of data (and the assumption that Moore’s Law will continue to hold) indicates that ray-tracing may begin to play a much bigger role in real-time graphic generation within the next decade or so.
While I was researching this topic, I stumbled upon a website advertising a program called “Persistence of Vision Raytracer”, created by an independent company that started work on the project in 2003. [3] It’s available free for download from Persistence of Vision Raytracer Pty. Ltd., and runs on Windows, Mac, and i86 Linux. They even state that the source code is available to those who are interested in making their own ports! Long gone are the days of supercomputers crunching numbers for hours to render one image - now we can all do it from our laptops, and even make our own edits to the program. I guess Intel was right when they said ray-tracing is “[going] mainstream”!
Of course, I had to download the thing and try it out. The program comes with a few sample files that you can try rendering: shown below is “Wooden Box” by Dan Farmer. The code looks a lot like C and allows you to choose the type of shape you’d like to render, what texture you want to apply to it, how to translate it in space so that it’s in exactly the right position and at the right angle, and more options. Certainly a step up from the hundreds of thousands of data points provided for project 1! This image rendered completely for me in a matter of seconds; clearly we still have work to do before personal computers will be able to render many images per second, but this is still notable progress from the level of efficiency of ray-tracing in the past.
So ray-tracing has certainly moved up in the world in the last several years, moving from Appel’s ‘68 supercomputer to my Macbook 40 years later, and it has been much improved in the process. In the next decade or two, ray-tracing could come to replace raster graphics in most of their current applications. Who knows… maybe we’ll even be the ones to do it - it’s nice to know our class is on the cutting edge of technology.
Sources:
[1] Wald, Benthin, & Slusallek. “Distributed Interactive Ray Tracing of Dynamic Scenes.” Computer Graphics Group, Saarland University. October 2003. http://ieeexplore.ieee.org/iel5/8836/27964/01249045.pdf?arnumber=1249045 .
[2] Hurley, Jim. “Ray Tracing Goes Mainsteam.” Intel Technology Journal, Vol. 9, Issue 2. May 19, 2005. http://www.intel.com/technology/itj/2005/volume09issue02/art01_ray_tracing/p01_abstract.htm .
[3] Persistence of Vision Raytracer Pty. Ltd. http://www.povray.org/
.






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.