Commanders, in the upcoming “Scorching Rays” major update, you’ll be able to push your game’s graphics to new heights with ray tracing. In this devblog, we’ll explain in detail how these new graphics settings work and show you how they improve the visuals.
Ray traced scene
For ray tracing effects to work, we need to build a scene to trace. To avoid iterating over all instances in the scene, this is through an accelerator structure called bounding volume hierarchy, or BVH for short. Each mesh loaded makes one bottom level acceleration structure (BLAS), and these meshes get instantiated in a top level acceleration structure (TLAS), to be traced by the ray tracing hardware inside the GPU.
In Enlisted we added almost everything into the BVH scene at a close to rasterized quality, for physically accurate rendering. This way our ray tracing can calculate ray traced effects on the entire map, such as seeing trees in reflections as far as they are rendered in the frame too.
This scene gets updated on each frame, since it contains animated objects too, and that step is done on many CPU threads to keep the frame rate high, and as such a relatively modern CPU is recommended.
Ray Traced Shadow Map (RTSM)
Ray traced shadow replaces the shadow maps from the Sun. How this works is that we shoot a ray from the pixels visible on the screen towards the Sun’s surface in a stochastic manner, to temporally sample how much of the surface is visible from the point. Then we pass it through a denoiser to get the final soft shadows.
As a result, shadows become much more realistic and smooth depending on the distance of the object that casts them. Just like in life.
No RTSM:
With RTSM:
On higher end GPUs you can also enable ray traced dynamic lights, which will trace pixel perfect hard shadows on any light source that has shadows currently enabled.
No RTSM:
RTSM dynamic highlights:
Ray Traced Ambient Occlusion (RTAO)
Ambient occlusion is meant to simulate objects blocking ambient light coming from the sky.
No RTAO:
With RTAO:
In the rasterized pipeline this is a screen space effect, meaning it can only take samples of what’s visible. This can lead to false occlusions, where light can pass through, or disappearing occlusion at the edge of the screen, as there the occluding object basically stops existing as far as the screen space implementation is concerned.
RTAO circumvents that by doing it in the ray traced scene, having access to all information it needs to calculate it correctly.
Ray Traced Reflection (RTR)
The most iconic effect of ray tracing is reflections. Normally we use a screen space reflection alongside reflection probes, and on high quality tracing the GI scene to get an approximate color of what’s there. With ray tracing however we can sample the reflections in a Monte Carlo manner, calculate the exact color of what was hit, and then denoise it for physically correct reflections.
SDF specular + SSR:
RTR:
In Enlisted we use variable length rays to optimize reflections on rough surfaces. A shorter ray means the tracing is faster, and since the reflection is less important for the lighting of those surfaces, we don’t lose perceived quality!
No RTR:
With RTR:
The BVH scene also allows us to trace transparent effects, such as smoke and fire, that were previously missing from all reflection implementations, so for example a flamethrower can light up the surrounding area, and distant smoke stacks are visible in puddles.
On this screenshot you can also observe how the rough ceiling doesn’t form an image due to the reflection rays being shot in a wide lobe, but some details of the fire can be observed on the much smoother, though not mirror-like, walls.
Light sources are also used to light up the BVH scene, so in the reflection you can see lamps that are not visible on the screen.
One further technique we used is using the previous frame as a lighting cache. Essentially if the ray hit something that was present on the previous frame, we don’t need to calculate the lighting from scratch for that surface, we can just read the cache. This is not only slightly faster, but it improves the quality of the lighting, since the previous frame was also lit by ray tracing, so it approximates the effect we’d get by shooting rays recursively, but much faster. On this screenshot the walls directly reflect the sky, but the floor only reflects the walls, and yet the indirect reflection of the sky is still present.
Ray Traced Transparent Reflections (RTTR)
No RTRR:
With RTRR:
We also have a separate option for ray traced transparent reflections. This setting adds reflections to all transparent glass surfaces in the game. As glass is smooth, they have mirror-like reflections, and since glass is a rather rare material in the game, it’s a relatively cheap effect that makes a large impact.
Scopes with Cubemap:
Scopes with RTRR:
Now you can also see what’s behind you in the scope of your sniper rifle.
Ray Traced Water (RTW)
SDF and SSR:
RTW:
And finally, there is an option for ray traced water. This option enables ray traced reflections on the water surface, with a custom temporal accumulation algorithm with minimal ghosting. This setting also enables soft ray traced shadows from the Sun on Water.
Performance
Ray tracing is intended for high end PCs, but we tried our best to make it more accessible.
The options can be enabled and disabled independently to allow for scaling the performance overhead based on your GPU. However do note that all RT effects require maintaining the BVH, which is a shared cost among all effects.
Depending on your GPU and display resolution, using a bit of upscaling is recommended from the many resolution scaling algorithms that Enlisted supports (Temporal Hyper Resolution, DLSS, FSR, XeSS).
Please note that due to technical reasons dynamic resolution is currently not supported with ray tracing enabled.
In the upcoming “Scorching Rays” update, we are only adding support for NVIDIA and AMD graphics cards, but we are committed to delivering it to Intel too, and hoping to deliver further improvements and features in upcoming patches.
Recommended hardware
We recommend the following hardware for Ultra preset with all ray tracing effects enabled:
- 1080p 60fps: NVIDIA GeForce RTX 4060 / AMD Radeon RX 9060 XT
- 1440p 60fps: NVIDIA GeForce RTX 4070 Ti / AMD Radeon RX 9070 XT
- 2160p 60fps: NVIDIA GeForce RTX 5080
These technologies greatly improve the visuals of the game by making the lighting and the reflections more realistic. So be sure to check out the beauty of Enlisted using them once the major update is live, and share your experiences with us!