Raytracing was merged into Dev-Rendering!

Performance with direct shadows sounds very promising. I suppose it’s due to the rays being very coherent, and the hit shaders being super simple and devoid of texture reads.

Will ray traced shadows function on any older cards (with reduced quality) or are all of these features specifically restricted to nVidia’s RTX cards?

Your mention of better performance has my interest piqued!! I don’t really care for our existing shadowing methods.

This implementation is DXR, not RTX. Using DXR it is a DirectX 12 feature, so any DX12 card can do it, just without the raytracing cores it will be slower. If your purpose is to render images, then it should probably still be usable, but it’s probably not something you can use in a game where it needs a higher framerate.

Ok, that clears things up. I’ve been so busy lately I feel like I’ve had my head in the sand about all this.

Thank you!

I’m just sad SDF tracing was paused for this, now they overlap. They need to be merged! SDF == speeeeeeed! While triangle tracing is easier to make dynamic.

Ah well, good to see something merged anyway.

Oh hells no, proper GI is the most expensive thing you can do with raytracing (other than caustics, but there’s no way that’s being anything but faked for like a decade). It always seems inexpensive, then as soon as you actually need to use it to really light a level the expense become nigh exponential. Otherwise light bounces like, two meters and whole thing ends up looking like Doom 3 again.

Would love to see the previous VPL/“many lights” code be updated though. You can make it glossy and so support reflections, it’s all coherent from the light’s perspective and so can be relatively cheap, and even better can be cached on static stuff/updated slowly and progressively over successive frames for directional light, combined with heightfield tracing for distant bounce light you could at least get a single lightbounce in realtime, and only trace dynamic stuff for occlusion.

It’s probably going to be slower on cards without raytracing hardware. If you could simply compute shader your way to raytraced shadows at good framerates, games would have been on it years ago.

are you sure ?
some dev say it only working with rtx cards !!!

DXR functionality is currently limited to DX12 cards that have RT capability. There is no DXR support for legacy GPUs at this time. While there are fallback implementations, they are not DXR main.


Indeed. We tried the same build of the engine with a Titan XP and a RTX6000. No other changes other than the card itself and the drivers (due to it being a Quadro). It went from no raytracing to being able to raytrace. :slight_smile:

Btw there’s also a denoiser available but just for reflections. the flag is r.reflection.denoiser

Also, be aware that raytraced AO is being drawn on top of everything, including emissive materials. If you run into emissive materials that look black, but you can see them in the reflections, try turning raytraced AO off.

any word on being able to use dxr for lightmap baking?

Ok! When I’m looking for the r.D3D12, I find nothing. I have the RTX 2080 TI with the last driver, directx 12 installed with the last windows update. Somebody can help me ? I think, I do all the steps in the good way.

Hello, there is no R. d3d12 command. What you need to do is to create a shortcut for the built engine body and add - d3d12 to the target bar of the shortcut.

Yeah, so basically, create a shortcut to UE4, and write something like this on the properties:
X:\UnrealEngine\Engine\Binaries\Win64\UE4Editor.exe X:\ue4_project\MyProject.uproject -dx12 -raytracing -log

You don’t really need to run -log, but it will help you troubleshoot and see what’s happening

Remember to turn on skin cache and raytracing in the project settings, and restart the engine using JUST the shortcut you created with the correct flags.

So could the raytracing tech be used to accelerate something like the distance field shadowing stuff that’s currently in use already? Maybe even allow us to run it at full res instead of half?

Thanks for your respond!

I’ve already use the -dx12 -ratytracing inside my shortcut. If you you look my screen capture it’s what I have in my reflection! That’s why I think I do not have the right result!

Hi, does anyone know how to make a “infinite mirror” effect like its possible with Path Tracing? And also, is there a way to reflect the AO aswell?



I think you need to limit your expectations. Right now, all the first gen GPUs can handle with borderline reasonable framerates is just a few rays per pixel with single bounce. That’s all there is budget for. Ray goes from the camera, hits the surface, bounces off of it, travels, and returns the rasterized result of the thing it hits. Reflecting AO rays doesn’t mean reflecting the AO you’ve already calculated. That’s not how path tracing works. It’d actually mean spawning new AO rays on that location ray has hit, and calculating it for the reflection. So let’s say you want to reflect AO: You bounce a ray off your mirror surface, hit the object, and spawn 16 more rays there to calculate occlusion. Suddenly, the reflection mirror surface is no longer 1 ray per pixel, but 17 rays instead :slight_smile:

Epic is known to always prefer implementations that are feasible for actual shipped games rather than something between offline and realtime VFX. UE4 is a game engine first, enterprise tool second. So I would not expect this to change anytime soon. Although perhaps we will see some options to crank it up just for the sake of quality at the expense of playable framerates. That could still be useful for enterprise use.

Yeah, but it would be nice if we could get a console command to increase the number of bounces (i.e.… ). Also since the path-tracer is also available, hopefully they will enable an option to export it from sequencer with a specified number of samples per frame.

EDIT: There is a property in RayTracingReflections.usf

uint MaxBounces = 1; //#dxr-todo: only works with 1 bounce until hit shaders are supported

which when decreased to 0 disables the RT reflections, but increasing it to more than 1 doesn’t do anything (yet), hopefully this will be exposed to a console command once it’s ready for release.


NOT ONLY TURING GPUs :(:(:frowning:

This is last chance epic. Waiting 2015 thats enough. Dynamic gi cant support engine is be history