AMD’s Radeon Rays have been integrated into the Unity Engine
AMD’s Radeon Rays have been integrated into the Unity Engine
While this addition will not bring real-time raytracing into games, Unity has announced that they plan to deliver this feature later this year, bringing real-time raytracing to another major game engine.Â
This feature is aimed at developers, enabling them to accelerate their workflow when pre-baking assets and lighting, pre-calculating high-quality lighting effects to create computationally efficient shadows in-game. The basic idea around pre-baked lighting is simple, do all of the calculations before their game ships and load the results of these calculations in-game to have accurate light/shadows with a minimal performance impact. In effect, this is like baking a selection of cakes before a specific event, doing the hard work early to smooth out the process later.
The problem with this method is that it produces static lighting, which doesn’t blend well with games which provide a dynamic time of day system or use massive game worlds where baking every shadow would be incredibly intensive, which has lead developers to make use of more real-time/dynamic lighting systems in recent years.Â
Being an Open Source Solution which is based on OpenCL, Radeon Rays can work on all OpenCL, C+++ and Vulkan compliant devices, which includes CPUs and GPUs from all major manufacturers and all major operating systems and graphical APIs. Contrast this to Microsoft’s DirectX Raytracing (DXR) API, which only works with DirectX 12 and Windows 10.Â
Â
Unity’s previous light mapping systems are based entirely on CPU rendering, which means that some renders can take hours or even days to complete, though, with the help of Radeon Rays GPUs can offer some extreme decreases to render times. When comparing an AMD Threadripper CPU and a Radeon Vega GPU, Unity found that Vega was able to complete the same workloads up to 10x faster.Â
Artists are also able to interact with the lightmapping process in real-time, allowing them to make changes to their bake or view the bake’s progress. The major takeaway here is that GPUs can render a lot more rays than a CPU in any given amount of time, allowing this workload to be accelerated significantly, freeing up more development time for other tasks. This accelerated workflow will enable developers to create higher quality assets at a faster rate.Â
While this addition to the Unity Engine will not bring real-time raytracing to games, it will help developers to make more efficient use of their resources, accelerating game development while also allowing creators to use this saved time to create higher quality assets.Â
Unity has stated that Real-time Raytracing will be coming to their GPU Progressive Lightmapper later this year, though at this time it is unknown exactly how this real-time solution will function.Â
You can join the discussion on AMD’s Radeon Ray getting integrated into the Unity Engine on the OC3D Forums.Â