Crytek discusses Ray Tracing within CryEngine – Works on an RX Vega 56

Crytek discusses Ray Tracing within CryEngine - Works on an RX Vega 56

Crytek discusses Ray Tracing within CryEngine – Works on an RX Vega 56

Earlier this year, Crytek revealed their “Neon Noir” tech demo, which showcased real-time ray tracing on non-RTX hardware, showing the company’s API/Hardware agnostic solution for real-time raytraced reflections.  

To say that this demo was impressive is an understatement, utilising an AMD RX Vega 56 graphics card to deliver ray-traced graphics within CryEngine, without the need for specialised ray tracing components, such as the Nvidia RTX series. 

Crytek has now shed some light on their pre-GDC tech demo, confirming that it ran at 1080p 30FPS on AMD’s RX Vega 56 when reflections ran at their full resolution. When reflections are running in half resolution mode, the demo runs at 40 FPS at 1440p on the same graphics card, and this is without the benefits that could be offered by Vulkan or DirectX 12. 

Moving forward, Crytek wants to implement their solution for Ray Traced reflections within CryEngine’s mainstream releases before the end of this year, while also working to optimise the feature when using modern APIs and graphics hardware. 

With Nvidia’s RTX series graphics cards, Crytek hopes that they will be able to utilise their raytraced reflections at their full resolution at 4K, while also enabling them to show more dynamic objects within their reflections. With specialised ray tracing hardware, Crytek plans to accelerate their ray tracing features, which means that CryEngine’s Ray Traced Reflections will work with non-RTX components when the function is fully implemented. 

To allow their raytraced reflections to run efficiently, Crytek has created a method which allows them to dynamically switch between mesh tracing and voxel tracing without any loss in quality, enabling them to reduce the performance cost of raytraced reflections dramatically. This builds upon Crytek’s development of SVOGI, which has enabled Crytek to develop its cost-effective (performance-wise) solution for raytraced reflections quickly. 

Crytek’s Ron Frolich has stated that the company’s raytracing implementation has improved a lot since the release of their demo, adding multiple light bounces, refractions and a number of other performance and quality improvements. These improvements remove many of the flaws that were found in their “Neon Noir” demo video, which can be viewed below.  
      

    Even while we were working on the demo, the ray tracing implementation improved a lot. Initially, the quality of the reflections wasn’t great and probably wouldn’t have held up considering the scene we created. However, while we built the scene, the team did an amazing job improving the reflections. The lighting in the reflections is now taken from the same cubemaps that light all the non-ray tracing pixels in the scene, lights and particles are working in reflections, and the overall visual quality of the reflections has improved significantly. The quality of the reflections is not yet on par with the renderer’s quality, but we made significant progress towards that during the last couple of weeks. While we worked on the demo, our rendering engineers also managed to add extra features like multiple bounces, and basic ray-traced refractions, which we tried our best to incorporate into the scene.

Performance has been improved throughout the entire process, allowing us to use more triangles for dynamic objects. At this stage, our ray-traced reflections are holding up well enough to present them as an experimental feature.

 

Crytek hopes to add ray-traced reflections to CryEngine before the end of this year, though the studio is also working to add a form of ray-traced ambient occlusion to their engine at a later date, likely in the form of a hybrid voxel traced/mesh raytraced solution. 

More information about Crytek’s real-time Ray Traced Reflections within CryEngine is available here. 

You can join the discussion on Crytek’s discussion on Ray Tracing within CryEngine on AMD’s RX Vega 56 on the OC3D Forums. Â