Yes, we know next-gen consoles are coming and are confirmed to have Raytracing capabilities and what is common between them? AMD. Kicking the competition to the next level, AMD has demoed raytracing capabilities using the next version of DirectX called DirectX 12 Ultimate on their next iteration of GPU which will have RDNA 2.0.
What is Raytracing and how does it work?
Well we have explained this number of times buts lets do this with DXR in mind. In real life, lights come from the light source, strikes the object and reflect back into the eyes. this way we are able to see an object, its color, and texture.
Emulating this in CG is time consuming process and thus a reverse approach is taken. The rays are traced from the camera, to object and then to the light source. This results in very shadows, other light properties like refraction, direct and indirect lighting, etc very accurate. Unlike rasterization used in games where everything has to faked by using screenspace information rather than light rays. However, even with this short cut, there have to be many rays that need to be traced which may or may not hit the object. This results in noisy image which may require more rays to clear things up or use some sort of denoising tool which cleans things up from adjacent data.
All this information will come in handy about how DXR is working.
The Demo and the Hardware
AMD as per Xbox Series X GPU specification uses specials set of hardware, independent of GPU compute units which calculates ray intersection i.e. rays hitting the object.
AMD has developed its own demo called “Future City”. The demo incorporates DXR 1.0 and 1.1 features. However, the demo harkens back to the times of GPU benchmarks and demo of the game engines from 2000s.
The demo is also not subtle too, it shows reflection on almost every surface which although bodes well for AMD’s capability on running raytracing on their RDNA 2 GPU, but from an art perspective, it is not that elegant.
Just to add, the demo was not running in realtime and was just a recording. Though we do believe that the capability is there.
Now, this is running using the latest DXR 1.1 standard that is different from the older DXR 1.0 standard. The DXR 1.1 completes the raytracing in multiple passes. The DXR 1.0 would do all the heavy lifting in a single pass.
For the first pass, which uses GPU compute for variance analysis, ray dispatch and shading and the first level of noise reduction (or denoising)
Then it does the temporal accumulation. A temporal perspective recognizes that in an environmental system exposed to continuous or repeated inputs (rays), the interval between each input may be insufficient for system recovery before the next input occurs, resulting in temporal accumulation.
After this, it does a second pass of denoising.
Vulkan which is the open graphics API alternative to DXR has also announced raytracing capability which we are certain will also be supported by AMD once the hardware is in the market. As of now, only Nvidia has the support baked in.
This demo has reflectins, shading, Ambient Occlusion (light coming from all directions and shadows produced by them) and reflections. Let’s see what AMD has in store to fight off Next-gen Nvidia Hardware which will have the second interaction of raytracing hardware.