If you follow Imagination and what we do, you may have heard about PowerVR Ray Tracing, hybrid rendering and the potential that these technologies have to revolutionize the user experience from mobile and console gaming to virtual and augmented reality.
For the better part of the last eight years, we have been busy developing unique hardware and software technologies to radically lower the cost and dramatically increase the efficiency and performance of ray tracing.
This work culminates at GDC 2014 with the official launch of the PowerVR Wizard GPU family, a range of IP processors that offer high-performance ray tracing, graphics and compute in a power envelope suitable for mobile and embedded use cases. This opens up the potential of highly photorealistic, computer generated imagery to a host of new real-time applications and markets not previously possible.
PowerVR GR6500: ray tracing, graphics and compute coming together in one revolutionary GPU
The first member of the Wizard family is PowerVR GR6500. This ray tracing processor is based on a latest generation, quad-cluster PowerVR Rogue design, with all the bells and whistles of our recently-launched PowerVR Series6XT GPU processors, including:
- Full-blown graphics and compute performance: four Unified Shading Clusters (USCs), with 128 ALU cores delivering more than 150 GFLOPS (FP32) or 300 GFLOPS (FP16) at 600 MHz
- Unmatched real-world ray tracing performance: Up to 300 MRPS (million rays per second), 24 billion node tests per second and 100 million dynamic triangles per second at 600 MHz
- PowerGearing G6XT for advanced power management and dynamic resource allocation
- PVR3C™ triple compression technologies (PVRTC and ASTC for texture compression, PVRIC for frame buffer compression, PVRGC for geometry compression)
- Deep Color support for very high image quality at Ultra HD resolutions and beyond
PowerVR GR6500 is designed to provide leading support for 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.
On top of the features listed above, PowerVR GR6500 includes additional ray tracing-specific hardware that provides full hardware acceleration of the entire ray tracing flow, including model building and traversal:
- 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 (RTU) which uses fixed-function math to perform ray tracing intersection queries, in addition to gathering ray coherency in order to reduce power and bandwidth consumption.
- a scene hierarchy generator to speed up dynamic object updates.
- a frame accumulator cache that provides write-combining scattered access to the frame buffer.
All of these ray tracing-specific elements have been designed to integrate efficiently and communicate perfectly with the rest of the GPU architecture and produce real-time, interactive ray traced graphics that can comfortably scale from mobile and embedded platforms to gaming consoles and mainstream gaming PCs.
More importantly, these blocks do not affect the shading performance of the traditional graphics pipeline because they do not use up shading GFLOPS to perform ray tracing-related tasks. Thus PowerVR GR6500 is able to perform ray tracing tasks 100x more efficiently compared to using GPU compute or other software-only approaches on traditional graphics architectures.
What is ray tracing and where can I use it?
Ray tracing is a technique for rendering 3D graphics with complex and more natural lighting models to achieve cinema-quality images and a level of near photographic realism that is impractical with traditional graphics techniques.
To-date, ray tracing has been used in specialised applications such as special effects and computer animated movies, industrial design, mechanical and architectural modelling to create lifelike and photorealistic imagery.
For example, last month’s 3D World Magazine featured a cover story on Gavin Greenwalt of Straightface Studios using our Visualizer for Maya 1.3 software, powered by PowerVR Ray Tracing. You can view the new TV commercial for Jeweler’s Mutual Insurance Company, titled Crab – Perfect Circle by clicking right here.
Ray tracing is also used today by tools, to create the pre-baked lighting maps that are delivered with most games. The latest generation Unity 5 game engine announced at GDC 2014 embeds our PowerVR Ray Tracing software technology for interactive real-time lightmap previews. Ray tracing offers artists the ability to accurately simulate the behaviour of light and instantaneously visualize the subtle lighting effects of any tweak to their game assets.
The ray tracing approach can provide substantial benefits when used for real-time rendering in game engines too. PowerVR Wizard GPUs allow the coexistence of traditional polygon based rendered objects (e.g. objects created using OpenGL ES) and lifelike ray-traced elements in the same scene.
PowerVR Ray Tracing GPUs offer ultra-realistic shadows, reflections and transparency at no extra cost
This hybrid rendering technique primarily provides high-quality, dynamic lighting and shadow effects but can improve other elements of the game engine as well (more about hybrid rendering in a separate article). Another example is improving game AI; for example, characters in a first-person shooter can start to see and understand the 3D environment around them, using the ray tracing to process spatial understanding opens up a new world for realistic behavior when in-game agents can make decisions based on direct line of sight calculations that model what they are able to see.
By combining the best of both worlds (traditional graphics and ray tracing-based rendering), the new PowerVR GR6500 ray tracing GPU supports all existing game engines and tools while allowing developers to bring a new level of quality and enhanced realism to apps and games using PowerVR Ray Tracing.
Setting the standard for real-world ray tracing performance
The ability of GPUs to claim millions of rays per second is not a new concept. For example a current-generation, desktop-class ray tracer using GPU compute and rendering a very simple scene, resident in a tiny cache, might be able to deliver millions of rays per second in a very simple shading scenario.
However, in 99% of real world cases, those aren’t useful rays; additionally, you would need a power budget upwards of 300W to achieve anything remotely close to the performance that PowerVR Ray Tracing-based hardware achieves.
This is because all GPUs are parallel processing engines: multiple threads all execute the same instruction. This works great for vertex and pixel processing workloads. High coherency between threads is essential for efficiency and non-coherent execution paths (the appearance of divergent branches) results in masked out operations and lost GFLOPS of performance.
Realistic ray tracing typically results in non-coherent 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. This is why ray tracing is not a good match for traditional GPU architectures.
This is where PowerVR GR6500 steps in to save the day: the PowerVR Wizard ray tracing GPU provides a budget of 300 million of rays per second in a mobile power envelope and is designed to comfortably sustain real-world applications with highly incoherent rays, enormous scenes, and shaders that execute hundreds of instructions to resolve each ray (not just technical demos.)
The hybrid rendering concept shown at GDC 2014 is the perfect example of how PowerVR Ray Tracing technology can deliver power-efficient, amazing visuals for mobile and embedded applications. We invite you to come and see it for yourself at our booth (#402) at the GDC Expo and future events.
Make sure you follow us on Twitter (@ImaginationTech, @PowerVRInsider) and keep coming back to the PowerVR blog for more articles on graphics and ray tracing.