Ray Tracing Overview - Unreal Engine 4.22 Preview

@nilsonlim DLSS is just a realtime tree lookup of a neural network index for upscaling. It doesn’t use all 9 Tflops of the Tensor cores to run the DLSS lookup, and plenty of things Tensor cores are good at run almost as well in CUDA. The only requirement is that the source frame resolution matches the training data, which up until now has been 1440p as the reference and possibly up to 16k as the training data.

You could conceivably train some high res RTX results against some low res RTX results with a particular feature set to get 4k RTX gaming on a 1080, just not with a source of 1440p. So all the data would need to be retrained. Maybe they could target just the RTX combined results in low res + DLSS and combine it with a high res diffuse scanline layer. Maybe 720p. I’m sure there’s a balance that would let you target 60fps.

Unfortunately with the high cost of training DLSS at the moment we’d need NVidia’s cloud DLSS training service available to try it. But I’m sure it’s possible and we could even do it in Unreal Engine. The other neat thing about only training your RTX combined buffers is the single set of result might be usable on *any *game using that method.

It’s worth noting that the AI denoiser is also an implementation of the tech behind DLSS, and you’ve seen how much that can clean up your image.

@Antidamage one thing at a time, I am already glad with shadows and reflections, can’t be more happy with all the rest, too many new things at once I guess. Hopefully we will get an even clear view in the next months!

For Prview 6, the shader must be compiled in DX11 before it can run normally in DX12 mode.

Moreover, RTAO has a problem in this version. The maximum distance of light in RTAO seems to be very small. Only part of AO can be seen in some detail areas, and this distance is not affected by RTGI. Perhaps it is for independent AO and GI to split part of their content, and then forget to add tracking distance for RTAO? In short, the tracking distance of RTAO becomes very small, even close to SSAO, almost invalid.

It would be great if RTAO and RTGI could be separated independently. After all, RTAO is more cost-effective than GI in some scenarios.

It seems that Prview 6 has solved many problems, including the disappearance of translucency and the flicker of Msak material. Looking forward to seeing HISM and Folaige in 4.22, or hybrid rendering solutions (such as CSM + RTShadow complete HISM, Folaige, Mesh, etc.), that’s great!

Hello,

After enabling Ray Tracing + Skincache for a project, I cannot open that project back up again; the editor crashes when trying to launch it.

My Specs

  • Windows 10 (Version 1809, Build 17763.379)
  • 2080 Ti (Driver 418.91)

The Error

This is a known issue on Preview 6. The fix is to disable launching the editor in dx12 so that it reverts to dx11, and then letting the editor compile shaders with dx11. Then, afterwards, you can restart the editor in dx12 again.

This issue has been fixed for the next release.

Hi!

Nice thread.

Didnt check everything written here, so i dont know if it is already mentioned, but i cant confirm this information: is raytracing supporting terrains in this release?

Thanks!

Raytracing does not support Landscapes currently

Hello, I find that ray tracing has become very bad since Priview 5; by Priview 6, RT AO is almost invalid, even close to SSAO, and it is totally impossible to calculate scene AO correctly; but it seems that in Priview 7, there is still no effective way to fix this problem. Will it be fixed in the next preview or official version?

Another question is, since Ladnscape and Foliage are not supported in 4.22, how can we get a hybrid rendering scheme? For example, open both RT Shadow and CSM Shadow to illuminate the scene, while CSM Shadow to illuminate Landscape and Foliage; if not, it means that RT Shadow can hardly be applied to outdoor or large-scale scenes in version 4.22.

For RT AO, have you tried increasing the radius of the RT AO in a postprocess volume? The default value for it is quite small.

Thank you very much for your reminder that the scope of RTAO has been enhanced by adjusting the scope options that originally belonged to SSAO; I always thought this was a Bug of RTAO, but I don’t know why the option of SSAO can control RTAO, instead of listing the scope attributes independently in the post-processing scroll of RTAO;

Hey everyone, here are answers to some of the questions on this thread that have come up.

  • Masked Materials support

  • Planned for 4.23, or if possible it may end up in a hotfix but that depends on what changes need to be made and if they are allowed during a hotfix. We have rules for what we can change and what we cannot.

  • Landscape, Foliage, HISM

  • Not for 4.22. These should be part of 4.23.

  • Can AO be used separately from GI.

  • Yes. you can use AO without GI enabled. Use CVars to enable/disable these features independently

  • **Denoisers will see improvements over the coming releases. No additional details at this time. **

  • How to set up AO in the scene.

  • AO is enabled by default for RT. Use a Post Process Volume and use the Ambient Occlusion properties for Intensity and Radius to control its shape and strength. You can use the Level Editor View Mode dropdown to select Buffer Visualization > Ambient Occlusion to see AO for adjustment.

  • **VR support **

  • Not planned for 4.22. There is demand for support in VR and we’ll likely investigate for 4.23 or later to see if we can support feasible features here, such as Shadows.

  • Using Ray Tracing in a Packaged project.

  • You’ll need to create a shortcut and launch the packaged project with the ‘-dx12’ command line argument; the same as when you create a shortcut of the Engine binary to launch the editor in DX12 mode.

  • Launching a Standalone game from the Editor with DX12 for Ray Tracing Support

  • Go to the Editor Preferences and under Level Editor > Play, use the Additional Launch Parameters to input ‘-dx12’ into the text field. Then when you launch a Standalone game from the Editor, you’ll have RT capabilities.

  • **Adjusting RT Settings **

  • The majority of artist-friendly settings for Ray Tracing features can be found in the Post Process Volume now. Add one to your scene and set to Unbound or make the volume large enough. From here, you’ll be able to adjust RTAO, RTGI, RT Reflections, RT Translucency settings.

  • For Translucency and Reflections, you can use a dropdown to set whether they should use Raster (our traditional features) or Ray Traced ones. For Reflections, they will fall back to screen space reflections and reflection captures.

  • Multi-GPU support - A future release.

  • Progressive Lightmapping - A future release.

  • **Translucency and GI support **

  • These features should be considered experimental for 4.22. They are both disabled by default and Translucency is missing some features to make it closer to production-ready. For example, shadows for translucent objects are treated as opaque currently.

  • Emissive Materials as light sources

  • These do not currently emit light or cast shadows.

I hope this helps in some way. We have documentation with more detailed supported and partially supported features coming with 4.22’s release soon!

Thank you very much for TIM’s answer. Although some of the options are somewhat weird (such as the scope of RTAO), most of the functions are already available.

It is hoped that there is an option to enable ray tracing in materials, so that many things can be customized switches, such as vegetation or Mask does not support RT, which can be solved by material options; or it can be defined in each actor to use RT Shadow or CSM Shadow, otherwise many things are really very difficult to handle; such as Foliage, HISM, objects with Mask material, Landscape, etc.

this is very basic feature of raytracing !!!:frowning:

can we speak with [USER=“1224082”]Juan Canada[/USER] or @tim Hobson

about interactive gpu light baking and (or) Progressive Lightmapping ??

a little information about this Technic and is it depend on lightmap ? or not ?

it’s planned for sometime this year hopefully. There’s no specific ETA at the moment. Right now we’re focused on making 4.22 the best it can be.

AFAIK right now, you do still need to set up a lightmap for each object that requires baked lighting.

Thanks for the pdf it really helped out. Just starting to test the sample content and seeing what I can do. Epic stuff… :slight_smile:

With 4.22’s release we also have official docs here too:

Real-Time Ray Tracing
Path Tracer
Ray Tracing Feature Settings

Crashing when I try to load my map. Deleting landscapes fixed it.

So I’m still able to load a project that I created during the preview that has some static meshes, a character, lights, etc, but no foliage or landscape, no problem. It looks all shiny and everything.

I’m trying to load my main project which has, you know, everything but the kitchen sink in it, and it’s crashing whenever I try to load my main map in game, or in the editor. The main menu loads fine, however. I can even turn on/off the different RayTracing options, and I can run the project just fine in DX11, but it crashes even with RayTracing and Skin Cache Off in DX12.

So I tried making a copy of my map and deleted the landscapes/foliage.

Now I can play with RTX in my main project… guess I gotta wait til 4.23 to do it for real, tho… :smiley:

@iamisandisnt Did it work in 4.22 with DX11? There was an issue previously which required you to open an old project with 4.22 with DX11 and let all shaders compile before trying to run it in DX12. Not sure if that was not supposed to happen in the release thou. Worth a try if you didn’t

Try to edit the DefaultEngine.ini and clear the setting EditorStartupMap= and open the project again, then try open your map.

I’m seeing pretty heavy aliasing in reflections. Especially with normal maps applied. Any suggestions of how to mitigate this? Or is this just the way they are for performance reasons?

The following examples are using a simple material with a roughness of 0 and no normal map.

The closer I get to the sphere, the worse the aliasing.