Rendering Games with Raytracing Will Revolutionize Graphics
Raytracing speeds up
At the technology showcase at IDF, Intel had an entire section of research projects currently consuming time at Intel.
The benefits of ray tracing are pretty impressive as this banner indicates. Reflections, refractions and shadows can all be recreated to extreme detail that is all dependent on how much processing power you are willing and capable to shove at it. Because the rays reverse-simulate light the details levels can be very impressive, hence ray tracing is the choice of high-end movie makers.
Another interesting point here is the improvement in game development that could occur if ray tracing was accepted. Ray tracing by its nature is very easy to program and is simple to understand from an algorithmic point of view. Adding in new "effects" to the ray tracing engine is also pretty simple and all the complex and elegant coding required to get around rasterization limits could be avoided. This is obviously not a benefit that will be realized for quite some time as rasterization hardware is all that exists in the market now.
Ray tracing is one of these computing tasks that is highly scalable with the addition of new processing cores. With a simulated 16 core computer, the ray tracing team was seeing a 15x or better improvement in performance -- not many applications can come close to that level of scalability.
The team used four different quad-core systems (Kentsfield based) connected via Gigabit Ethernet distribution systems to render in a simulated 16-core system. The results you can see were impressive with a 15.2x improvement in frame rate over the baseline systems. These tests were run at a resolution of 1024x1024 which is obviously not a classic gaming screen size, but pixels are pixels when it comes to rendering through raytracing.
The demo system that was on display at IDF was running a dual-quad core (total 8 cores) system as you can see from the 8-threads being processed in the task manager on screen. The image here is from a map on Quake 4 and is being rendered completely on the Intel CPUs while the GPUs are only taking the final image and sending it to the monitor.
In the upper left corner you can see a frame rate counter for this live test running at a 1280x720p resolution (or slightly smaller since it is in a window form). We have a 99 frames-per-second rate being shown and two additional values that are more complicated to understand. "TPP" is the average number of traversal steps through a tree that the raytracing algorithm goes through per pixel and the "XPP" number is the average number of triangles at the final stepping of the tree that need to be considered for generating the final pixel color.
Just prove that he wasn't fooling us, Daniel zoomed out on the map to show the entire structure is visible and playable.
Here we see Daniel Pohl standing in front of a pre-recorded playback of the raytracing engine. Because the resolution is much higher here, it couldn't run fast enough in real time so the video was recorded at a lower frame rate and then sped up to show how the future power of PCs could make a raytracing engine look.