Search Unity

AMD Radeon Rays Integrated into Unity’s GPU Progressive Lightmapper

March 29, 2018 in Engine & platform | 3 min. read
Share

Is this article helpful for you?

Thank you for your feedback!

As developer marketing manager at AMD, my mission is to enable developers to create ground-breaking experiences. That's why I am so passionate about GPUOpen -- AMD's open-source initiative to supply game and professional graphics developers with powerful tools to design better GPU-powered applications. In the blog below, I'll dive into AMD's Radeon Rays integration with Unity and how you can learn more on GPUOpen.

Revolutionizing render times and workflows for realistic light effects has been one of the dominant themes at GDC 2018. The announcement of AMD’s Radeon Rays integration in Unity’s GPU Progressive Lightmapper is particularly exciting to game developers looking to boost the visual fidelity of their games assisted by an interactive baking workflow.

Powering the GPU Progressive Lightmapper is a full integration with AMD’s Radeon Rays – a fully open source high performance GPU-accelerated ray tracing engine for low level engine developers and supporting OpenCL, Vulkan and C++ backends. Radeon Rays can be used as an important building block of a renderer supporting global illumination rendering, sound rendering (through True Audio Next) and AI.

Radeon Rays can be used for lightmap baking and light probe calculation using ray tracing and is being integrated by a number of developers to improve the lighting effects in their games. For a deeper dive into how Radeon Rays are used in a gaming rendering workflow, check out this presentation from GDC 2017.

Previous lightmapping solutions would take hours to compute even moderate sized scenes. Expansive outdoor environments could take days.

Rendering Times: CPU vs GPU

Unity’s previous light mapping solutions were entirely CPU-based and could require several hours to compute for a moderate sized scene. Expansive outdoor environments could take days to lightmap. Using Radeon Rays GPU acceleration sped up the process of tuning lights and baking up to 10x the speed of CPU based baking, giving instant feedback to the artist. The new Lightmapper also adds an interactive baking mode which allows lighting artists to navigate the scene to see the baking process in real time. It also allows them to change lighting and material and immediately see how it affects their bakes.

An example of a lightmapped scene with complex shadow interactions.
Another example of a lightmapped scene with multiple light sources and shadows.

More Rays, Less rendering time

Just how much does GPU hardware accelerate the Lightmapping process compared to previous CPU based methods? In benchmark tests comparing lightmapping hardware performance across models commonly used for benchmark (the simple cornell box, moderate sponza) and a production model (the complex blacksmith) the difference was substantial. GPU-based lightmapping generated close to 200  Million Rays/Sec, around 10X more than the level of CPU- based approaches.

With the new GPU-based progressive lightmapper, Unity users can achieve up to 10x faster bakes on a Radeon Vega in their system. The tool will also enable a faster workflow for artists to design while they bake. This means that when designers make any changes to lighting, materials, and textures, they can immediately see how that affects their baked global illumination quality. Because of the simple elegant API of Radeon Rays, developers can focus on the actual algorithm of the lightmapper instead of spending time on the integration. This means more efficient use of system resources, faster workflows and an overall better experience for Unity users as they create better quality assets.

The Real-time Ray Tracing with GPU Progressive Lightmapper is expected to be released later this year. To learn more about Radeon Rays visit GPUOpen.com and subscribe to AMD Developer News to stay up to date.

March 29, 2018 in Engine & platform | 3 min. read

Is this article helpful for you?

Thank you for your feedback!