Games Developers Conference, San Francisco -- Imagination Technologies has launched its long-awaited hardware design for ray tracing graphics in mobile applications.
The Wizard block integrates a multicore ray tracing unit with 128 arithmetic units alongside texture and rendering blocks for tile-based graphics. This lets developers add real-time ray tracing effects to their games and applications for elements such as more complex and realistic shadows. The games engine developer Unity is working with Imagination to integrate the technology.
"PowerVR Wizard continues to use tile-based deferred rendering like any PowerVR core, but the core supports both ray tracing and rasterization simultaneously," James McCombe, director of research for PowerVR Ray Tracing at Imagination, told us. "This means that ray tracing could be used to create some of the effects, while the engine developer can continue to use the majority of their code unmodified. For the end game developer using a game engine, these details should be transparent."
The first member of the Wizard family, the PowerVR GR6500, is based on a latest-generation, quad-cluster PowerVR Rogue design, with four unified shading clusters delivering 150 GFlop (FP32) or 300 GFlop (FP16) at 600 MHz. The core can handle up to 300 million rays per second, 24 billion node tests per second, and 100 million dynamic triangles per second at 600 MHz for resolutions up to UltraHD, four times today's Full HD.
The PowerVR GR6500, the first graphics processor in the PowerVR Wizard GPU family, combines ray tracing with tile rendering.
"Assuming the same image quality, then the ray tracing compute requirements would grow linearly with number of display pixels," McCombe said. "However, it is possible to implement the hybrid ray tracing effects at a reduced sampling rate, allowing higher-resolution displays to be supported with reduced ray tracing compute requirements and only slight degradation in the image quality of certain more subtle lighting effects. In the future, we will have cores with different configurations targeting different applications."
Realistic ray tracing typically results in noncoherent processing because of the way light behaves in the real world. Because light scatters everywhere, it is very difficult to maintain coherency between threads performing ray tracing, and ray tracing is not a good match for traditional GPU architectures. The GR6500 includes additional ray tracing-specific hardware that provides full hardware acceleration of the entire ray tracing flow, including model building and traversal with a dedicated ray tracing data master that feeds ray intersection data to the main scheduler, in preparation for shaders to run, which evaluate the ultimate data contribution from the ray.
A specialized Ray Tracing Unit uses fixed-function math to perform ray tracing intersection queries, in addition to gathering ray coherency in order to reduce power and bandwidth consumption, and a scene hierarchy generator speeds up dynamic object updates. A frame accumulator cache provides write-combining scattered access to the frame buffer.
"PowerVR Ray Tracing, with all of the technologies targeted at maximizing efficiency, will consume about two orders of magnitude less power than ray tracing the same scene using GPU compute, as it is 100 times more efficient," said McCombe. "The comparison of ray tracing and raster, in efficiency terms, depends on the scene being rendered. Ray tracing pulls out ahead in scenes with many shadows casting lights, or when high fidelity shadows are required."
The GR6500 supports a range of APIs such as OpenGL ES 3.1/2.0/1.1, OpenGL 3.x, Direct3D 11 Level 10_0, OpenCL 1.2, and OpenRL 1.x. McCombe said:
We are working with both IP licensees and game developers on making the most of this technology. We aren't making any announcements beyond that today. We are actively pursuing the production of a hardware development kit to put in the hands of game developers as soon as possible. In the meantime, if they want to take advantage of the ray tracing technology directly, we have made the development API available in software for developers to download from Imagination's PowerVR Insider Development Community.