Last year we debuted a collection of PowerVR ray tracing demos designed to improve significantly the aesthetics of real-time and offline rendering. One particularly exciting use case is the interactive lightmapping feature embedded inside the soon to be released update to Unity 5. Even though Imagination is primarily known for the hardware GPU IP we license to silicon vendors, we embraced Unity’s write once, run everywhere mantra by enabling the ray tracing technology on the CPU. Even at the comparatively limited performance of a general purpose CPU, interactive ray tracing is the key to bringing unprecedented quality and fast feedback to game artists.
This approach enables developers to accelerate the light baking process as well as seeing interactive feedback on how their lightmaps will look during gameplay.
With the upcoming Unity 5 lightmapping feature that uses PowerVR ray tracing for pre-baked lighting, developers and artists can use our ray tracing technology to get unbiased physically-based global illumination (GI) and interactive feedback on any changes they make to the scene, including materials, geometry or lights.
At the core of Imagination’s PowerVR, ray tracing-based lightmapping system beats the heart of a production renderer developed over more than 18 years. It has been used in the creation of many Hollywood films and the expertise gained from several lifetimes working on the most demanding productions comes through in this feature. Imagination and Unity engineers have spent a lot of time making sure that the workflow is seamless and the quality is perfect.
The PowerVR ray tracing-based lightmapper is integrated just as you would expect it to be, using the UI that will seem very familiar to fans of Unity. And with the selection of a checkbox, the lightmapper runs in the background converging on an ever improving result as you work.
This approach is called progressive refinement. You can think of this like a real camera. A short exposure means image noise, which looks like unevenness or splotches in a light map. Over time, we shoot more and more rays and the lighting looks better and better.
Whenever anything happens that affects a lightmap – for example, changes to geometry placement, material or light settings, etc. that lightmap needs to be reset and baking begins afresh with the new settings. Global illumination is tricky like that; anything in the scene can affect the lighting on everything else. In other words, it’s impossible to know where light will bounce and off of what until you’ve traced the rays to figure it out.
Above is the same scene, but the viewport is showing only the baked lightmaps using a small number of samples (rays) and no material shading. Even at this early stage, the developers is able to see how the lighting in the scene will look so any mistakes can be spotted quickly.
This is the same scene as before with more samples. The developer can continue to work on the scene as the lightmap continues to be refined in the background.
This is the scene with enough samples to eliminate all perceptible noise.
The video below shows you the tool in action.
The ray tracing behind this feature is entirely running on the CPU and the results are already groundbreaking. We could accelerate this process even further if we were using a PowerVR Wizard GPU, which traces rays with hundreds of times more efficiency than any CPU or GPU currently available, measured by rays per watt with simple shaders.
This screenshot is from a game called Project Wight, presented by The Outsiders. The results demonstrate how the Progressive Lightmapper offers the ideal workflow for real-life production environments.
This screenshot demonstrates how it is possible to use the technology for different type of art styles.
Fast ray tracing is a game changer for the types of techniques game developers can use to push the limits of in-game realism and interactivity. The partnership between Imagination and Unity has given both companies the opportunity to work together on some amazing research related to using PowerVR ray tracing, both inside Unity 5 and also directly within the gameplay experience.
In a series of future articles, we will dive into some serious technical depth and show what is possible with lightmaps baked in-game at 30 or 60 fps, to create perfect fully interactive global illumination during gameplay.
Are you looking forward to using this lightmap preview feature in Unity 5? Are you excited about the new PowerVR ray tracing IP? Leave us a comment in the box below.
This post is written by Luke Peterson, Director of Research & Strategy, PVR Research, Imagination, San Francisco and Travis Hopkins, Software Design Engineer, PowerVR Ray Tracing, Imagination, San Francisco
Luke Peterson is the Director of R&D for PowerVR Ray Tracing at Imagination Technologies. Luke has been working for over 10 years to bring ray tracing to mainstream interactive graphics, first as co-founder of Caustic Graphics, and then at Imagination following the acquisition of Caustic. This work culminates in the PowerVR Wizard architecture, a full-featured GPU with specialised hardware to accelerate ray tracing. Luke and his team continue to work on next- generation GPU architectures as well as developing and demonstrating use cases for ray tracing in consumer applications and games.
Travis Hopkins has spent more than 12 years in game development and has worked with over seven shipped AAA titles at major studios, including 2K Games and EA. He is currently a senior graphics engineer on the PowerVR ray tracing team, at Imagination Technologies.