The State of Real-time Ray Tracing technology in CG industry

Michal Franczak 2019-09-11 13:24 article  > All

It's been almost a year since we heard about a real-time ray tracing. Where are we now? What software does support it? What hardware do we need? Is it really worth it?

Top image - upcoming Archinteriors for Unreal Engine 4 vol. 7 interactive scene rendered with RTX reflections.

Real time (RT) ray tracing introduced last year by Microsoft (as DXR technology included in the latest DirectX 12 libraries) and Nvidia (in RTX graphic cards line) was one of the hugest annoucements for cg industry. Ray tracing is very expensive technique that wasn't possible to be recreated in real time to that time. This is a big step although techbnology is still in its infancy and needs wider adaptation. We are looking at the state of RT Ray tracing today and take a sneak peek into Unreal Engine 4 RTX implementation - probably the only one that is now quite easy to setup for end users.

Entertainment

RT Ray tracing was marketed as a technology that will change computer games. And it probably will in the future. But for now we have only a few AAA games that take advantage of it. In our opinion the best looking RT ray tracing effects can be found in a game that falls below "AAA" marker - "Control".

This game is worth noticing not only because it was made with RT raytracing in mind from the ground up, but also is a wonderful architecture study - just check the lighting and this interesting retro-futuristic brutalist architecture. And now you can build it and present it in real time. What a time to be alive!

There is a couple of games develpers that announced that their new products will have RTX technology enabled, like Atomic Heart, Call of Duty: "Modern Warfare", Cyberpunk 2077 or Doom Eternal - they all should be available for purchase in upcoming months. It's not a long list, because many developers wait for wider availability of RTX hardware. Now only a few percent of gamers can run games that use this technology. So we expect that it will take years for gaming industry to incorporate it as a standard.

CG Industry

Real-time raytracing is exciting not only because it gives us more beautiful games. For people that are rendering on a daily basis, it is a chance to work faster, make more iterations, save countless hours of rendering time and provide more realistic results. We need RTX in DCC software, in rendering engines, game engines. Where are we, after 1,5 year after announcing RT Ray tracing technology? We have some promising soultions that are just behind the corner and a few chances to test RT Raytracing in experimental builds. Expected stable versions will come next year, but even now we can say: the future looks exciting!

Software

Chaos Group is currently working on two implementations of RT Ray Tracing in its products. One will be available in V-Ray Next GPU and one will be available in Project Lavina (we don't know for sure if these two will not work closer together or as a whole at some time).

V-Ray Next: According to this blog entry: currently, the RT Core support in unreleased V-Ray GPU is based on OptiX, and an RT Core-enabled official release of OptiX is not yet available, so release builds of V-Ray GPU with RT Core support are still some time away. Yet, Chaos Group provided some early benchamrks of what we could expect from RTX technology.

 

nr 01923_Untitled

For the three scenes, the RT Cores provide a speedup of 1.78x, 1.53x and 1.47x respectively compared to the pure CUDA version. These results should get better as developers get closer to the official builds in the coming months.

Project Lavina: Chaos Group introduced Project Lavina on August 2018 at Siggraph 2018. Project Lavina that is based on RT technology and it is targeting real time (24-30 fps) rendering. Project Lavina (soon to be in beta) is an upcoming Chaos Group product for exploring and manipulating V-Ray scenes within a 100% ray-traced environment in real-time. Project Lavina is written entirely within DXR, which allows it to run on GPUs while taking advantage of the RT Core within the upcoming NVIDIA “RTX” class of Turing GPUs. Project Lavina can fully ray trace massive 3D scenes without workarounds or raster graphics. Artists simply drag and drop their V-Ray scenes to explore them immediately in real-time. If you have V-Ray Next license, you can sign up for beta testing of this new product.

Blender and Cycles: a month ago Blender developers announced in a blog post that RTX technology will accelerate Blender Cycles rendering. In some cases gain is pretty huge. Below is a graph showing the render times measured for several Cycles benchmark scenes on a CPU, with CUDA and with OptiX (smaller is better):

 

nr 01924_Untitled

If you’d like to try it out, the source code is currently undergoing review before being merged and is available for anyone to download, build and run. Read provided instructions in the linked review. We don't have information about implementing RT Ray Tracing to Blender's Eevee engine.

Unity is working on implementation of RT technology in future versions of the engine, there is a possibility to try this now, but it requires many additional steps like downloading separate experimental render pipeline build and changing settings in configuration files. So it's not easy to set up at this moment. According to Unity site Real-time Ray Tracing will be available in 2019. Developers want to deliver production-focused real-time Ray Tracing with a full Preview coming in HDRP in Fall 2019, including early preview of a full-frame path tracer. For now (2019.3 in beta state) it looks like this will fall back to 2019.4 or later. For now you can test experimental DXR Unity project if you want.

Octane Render - RT technology is available in OctaneRender 2019 RTX (now available as an experimental preview). Support for RT cores is coming as part of Octane 2019.2. https://render.otoy.com/forum/viewtopic.php?f=33&t=72386

Unreal Engine 4 - finally, we have some working example here! RT Ray Tracing is available in engine since version 4.22. And it gets better (more features and faster) in Unreal Engine version 4.23 that was released a couple days ago. It is also very easy to set up. Let's see how RT technology was implemented in the software.

Hardware

Nvidia: For real-time raytracing you need to meet specified hardware requirements. Despite the fact that real time ray tracing technology was released more than a year ago, we still can use it only with selected Nvidia cards from Turing line (all models starting from 20xx and new Quadro models). Nvidia is also providing drivers for earlier Pascal cards (10xx) that can emulate RT cores, but without real cores the rendering speed is really low in the most cases.

AMD is still in development process of new graphic cards and there is no card with RT technology available currently on the market. When Next Gen RDNA (the company’s official name for its new graphics architecture) comes along, “selected lighting effects for real time gaming” will be used which means that we will not get RT Ray tracing from AMD before 2020.

Unreal Engine 4

To use UE4 in RT mode you need to have Nvidia RTX card (preferably 2080 Ti), Windows 10 (build 1809 at least) and Unreal Engine 4.22 or later, I suggest using at least Unreal Engine 4.23 - RT technology is more polished and stable in this one. Just launch new UE 4 project, search in project settings for "RHI" and change it to "Direct 12". Then search for "Raytracing" and enable it. Now you need to restart the project and you are ready to go.

 

nr 01925_Untitled

 

nr 01925_Untitled

 

Raytracing features are available in two places: each Light settings and Post Processing Stack.

nr 01928_Untitled

 

Unreal Engine 4 - implemented Ray Tracing features

Ray Traced Shadows -  RT technology gives realistic shadows that simulate the soft area lighting effects for objects in the environment. This means that object’s shadow will have sharper shadows near the contact surface than farther away where it softens and widens. No need for time-consuming tweaking, dealing with many shadow types and their resolutions. You just have instant good looking shadows. You control them from your Light details panel - you can enable / disable shadows and control source size / angle to change the softness of shadows.

 

nr 01927_Untitled

Ray traced shadows.

 

chair

Ray traced shadows softening with the distance. All real time, no baking.

 

Ray Traced Reflections - you enable it in Post Processing Stack. There is not much to tweak - you can increase number of samples to get better reflections. In Unreal Engine 4.23 there is improved support for multi-bounce Ray Traced Reflections (RTR) by falling back to Reflection Captures in the scene. This means that intra-reflections (or reflections inside of reflections) that are displaying black, or where you've set a max reflection distance, will fall back to these raster techniques instead of displaying black.

 

nr 01931_Untitled

 

Ray Traced Ambient Occlussion - accurately shadows areas blocking ambient lighting better grounding objects in the environment, such as shadowing the corners and edges where walls meet or adding depth to the crevices and wrinkles in skin.

Ray Traced GI - it is also controlled with Post Processing stack. You can increase the number of samples per pixel and number of bounces. Both settings greatly increase quality of GI, but both are also very expensive and require a lot of processing power. It's not uncommon to crash game engine after. We recommend to use GI with area lights instead of Skylight in interior scenes, because area lights give smoother results with the same sample count. You can use RTGI and area lights with direct light for sunlight simulation. You can also use it along with baked lighting.

 

 
Author: Michal Franczak Editor: Michał Franczak
Tags: nvidia unreal amd nvidia lavina rtx rtx amd lavina
You may also like...
Exterior and interior scenes made in Unreal Engine 4

Exterior and interior scenes made in Unreal Engine 4

A great collection of arch-viz works made by Mabone in Unreal Engine 4.
×

LEAVE A COMMENT

You need to be logged in to leave a comment. Don't have account? Register now.
  • ul. Przedzalniana 8, 15-688 Bialystok, POLAND