Last week, Imagination Technologies announced that its GR6500 ray tracing GPU taped out on a test chip, a major milestone on its way into a mobile product. The GR6500 is unique, as this is Imagination’s first ray tracing GPU based on its latest PowerVR Wizard architecture. A series of articles released this week explain exactly what’s behind this technology, so let’s delve into the key points.
Ray tracing, for those unfamiliar with the term, is a method of modelling lighting in a virtual 3D space, which aims to closely mimic the actual physics of light. The method is in the name, the technique “traces” the path of light rays through the 3D space to simulate the effects of its encounters with virtual objects and collects this data for the pixels displayed on screen. It can produce highly realistic looking lighting, shadows, reflection and refraction effects, and is sometimes used in 3D animated movies.
As you can probably imagine, there can be a ton of different light sources to calculate using this method, and figuring them all about is extremely computationally and memory expensive, so games developers opt for cheaper simulations like rasterized rendering. However, you can severely cut down on ray tracing processing time by using dedicated hardware, which is what Imagination Technologies has done with its PowerVR Wizard GPU.
The GR6500 features a dedicated Ray Tracing Unit (RTU), which calculates and keeps track of all the data. As for what the RTU actually does, it first creates a database representation of the 3D space and tracks where the rays intersect with the geometry.
“We approached the problem differently. While others in the industry were focused on solving ray tracing using GPU compute, we came up with a new approach leveraging on our prior expertise in rasterized graphics”– Luke Peterson, Imagination’s director of research for PowerVR Ray Tracing
When running the shader for each pixel, the RTU searches the databased to find the closest intersecting triangle in order to figure out the color of the pixel. This process can also cast additional rays to simulate reflective properties, which in turn will affect the color of other pixels. Keeping track of the secondary rays is hugely important too and it’s all kept in the RTU to improve performance.
Ok, so what does this actually mean in terms of performance, graphics and games?
Ultimately, reaching closer to photorealistic graphics is the aim of the game, but this can take a number of forms, from accurate reflections to lighting and shadows. Compared with GPU compute or software based ray tracing approaches, the use of dedicated hardware makes the GR6500 up to 100 times more efficient. Hence why traditional GPUs depend on different approaches. This huge reduction in processing costs opens up new avenues for optimized ray tracing based graphics effects in mobile titles.
Imagination Technologies gives an example comparison of ray traced vs traditional cascaded shadow maps. You can read all about the technical details in the official blog post, but the short of it is that the ray tracing and penumbra simulation method produces much more accurate shadows than the rougher approximation technique of cascaded shadow maps. This is essentially because of the way ray tracing simulates light passages accurately regardless of the distance, while shadow mapping is limited to a more finite resolution and distance scaling to maintain performance.
Furthermore, using the hardware based technique reduces memory traffic compared with cascaded shadows. In one test, a single scene used up 233MB of memory for cascaded shadows compared with 164MB for ray tracing. Subtract the “G Buffer” setup cost of the scene and ray tracing can result in a 50 percent reduction in memory traffic. Given that memory bandwidth is a limiting factor in mobile GPUs, especially when compared with desktop GPUs, this reduction can give quite a nice boost to performance as well.
In terms of frame time, Imagination Technologies’ example shows an average reduction of close to 50 percent. So not only do ray traced shadows look better, but they can also be implemented with a higher frame rate than cascaded shadows, thanks to the use of dedicated hardware.
There is one point worth noting though and that is that it’s up to developers to implement these type of effects in their games. With only a small selection of compatible hardware heading to the market any time soon, we probably won’t see the benefits for a while yet.
However, someone has to take the first step, and Imagination Technologies GR6500 GPU may be the starting point for some much more visually impressive mobile graphics a little way down the line.