22nd May 2003, 8:23 PM
I remember when Rare said that. It was the first time I ever heard of ray tracing too. But I later heard it wasn't real ray-tracing, and there is no way it could be. I just took it on faith at the time, but now I know a lot more about it. Even on modern SGI super graphics machines you can't do real time ray tracing for lighting and shadows. See, Rare probably had one or two lasers that they had reflecting off surfaces, and they called that ray tracing, which I guess it is. I never played PD, but is that something like what they did?
Real ray tracing is where they fire a "ray" from the viewpoint of the camera through the "screen" and track where that ray goes. When it hits an object, it may split or redirect or do whatever sort of function it is emulating (say, light reflecting off mirrors). Then it has to track all the rays that come out of that collision and see where they go, and if you have a lot of objects you can see this is going to get extremely large very fast. And that is just for one pixel. Finding intersections is not an easy process either. My book gives the example of a 1024 by 1024 image of 100 polygons (obviously an incredibly small amount of polygons). This would require 100 million intersection calculations. Now imagine if you are doing this on a 12 million polygon image, like GameCube or XBox can supposedly do! Of course the screen resolution is going to be smaller, but it's not going to make a real noticeable difference in the number of calculations- the number of polys is the big problem, not the number of pixels.
It uses all this data to find how light is reflecting from light sources off the objects and make realistic shadows, and the effect is amazing! It's just really, really slow. They use it for prerendered movies and stuff like that. According to my professor just about every PHD dissertation from the 80s was about ray tracing, including his. They were all trying to find techniques to speed the process up by reducing the number of intersection calculations, and they found some rela good ones. But it's still not enough yet.
Real ray tracing is where they fire a "ray" from the viewpoint of the camera through the "screen" and track where that ray goes. When it hits an object, it may split or redirect or do whatever sort of function it is emulating (say, light reflecting off mirrors). Then it has to track all the rays that come out of that collision and see where they go, and if you have a lot of objects you can see this is going to get extremely large very fast. And that is just for one pixel. Finding intersections is not an easy process either. My book gives the example of a 1024 by 1024 image of 100 polygons (obviously an incredibly small amount of polygons). This would require 100 million intersection calculations. Now imagine if you are doing this on a 12 million polygon image, like GameCube or XBox can supposedly do! Of course the screen resolution is going to be smaller, but it's not going to make a real noticeable difference in the number of calculations- the number of polys is the big problem, not the number of pixels.
It uses all this data to find how light is reflecting from light sources off the objects and make realistic shadows, and the effect is amazing! It's just really, really slow. They use it for prerendered movies and stuff like that. According to my professor just about every PHD dissertation from the 80s was about ray tracing, including his. They were all trying to find techniques to speed the process up by reducing the number of intersection calculations, and they found some rela good ones. But it's still not enough yet.