Reflection with Restir GI (NvRTX_Caustics-5.2)


I’ve experimented with Restir GI + Restir Di, and I must say I’m quite impressed!

However, one drawback is the noticeably flat reflections that don’t seem to capture the scene’s light diffusion, compromising realism. While Lumen exhibits significant noise in its reflections, it still aligns well with the scene and doesn’t produce an out-of-place result.

Does anyone know if there are updates or improvements planned for this in version 5.3?

Thank you.

How did you solve the compilation error. I have not been able to compile successfully.

Ue5.3 will decouple lumen’s GI and reflection. At that time, lumen reflection can be used independently with ReSTIR.

Nothing special i just use visual studio 2022.

Yes, but I imagine the reflections will be those of Lumen with all the technical issues inherent to them. I am rather looking for a real-time reflection solution where the global illumination, shadows, etc., in the reflections are very close to those of the real scene.

Indirect shadow improvement is planned for 5.3. :)

Reflection Restir GI only capture the first bounce of reflection, Lumen Reflection fall back to surface cache aka lumen scene radiosity to represent Reflection GI, both solution has limitations.

It’s good to hear that the shadows will be improved.

I believe the absence of ambient occlusion within the reflections results in very “flat” reflections where the entire reflected scene appears uniform without any nuances and to bright. This is especially noticeable in the case of mirrors or highly reflective surfaces.

You are right @Shoonka , as I mentioned in readme docs, the Reflection Restir GI fires a second Restir GI pipeline from surface reflection which means it has additional GI ray cost as well as denoiser cost, we intentionally reduce the AO as well as the GI denoiser complexity in Reflection Restir GI pipeline.

1 Like

Yes, I understand. I’ve tried reflections with restir gi to see if it was better than the Lumen rendering in my game ( DESORDRE - A Puzzle Game Adventure ).

Here’s a test scene: reflet.jpg, and the reflections are really unpleasant in a totally glossy environment. Other than that, restir gi is really good :)

It’s super fast indeed, you can use my blueprint BP_RTX for the graphics scalability reference for your game. We also support translucency in reflection and Lumen reflection code pass:)

Yes, I’ve already tried that, but the rendering in reflections is unfortunately not good.

It’s a mirror effect like in path tracing that I’m looking for :)

The reflection Restir GI is just simplified Diffuse Restir GI version, we’ll consider to add back more details in next release, and then expose some quality parameter to artist. We are trying our best to trade off the quality versus performance.

I think there is another feature that is missing on HW Lumen side, which is GI shadow. Things like colored translucent glass that occlude outside rays can contribute to Diffuse GI, and the cost is very cheap.

Thanks for your feedback.

@Shoonka From your snapshot, I think the Reflection Restir GI seem too bright, you can tweak down that a little bit, the parameter is called Reflection Diffuse Boost in BP_RTX, the cvar is r.RayTracing.GIDenoise.ReflectionDiffuseBoost

Thank you, yes it seems that the reflections are too bright, I will try this command line to see if it helps :)
I will keep you updated on the result :)

It also has the reperate roughness cut off value like RT reflection pass. A lot of tweakable stuffs !

I will try all of this tonight :)

I tried the console command ‘r.RayTracing.GIDenoise.ReflectionDiffuseBoost’ with 0 as the value + bp rtx, and even then, it’s still far too bright.

Here’s an example:

You can easily see that it doesn’t match the scene, unfortunately :)

@Shoonka Since you have reflection restir gi, please untag affact raytracing reflection flag on skylight actor, which overlay reflections without any proper occlusion.

Thank you, I had completely forgotten that it was possible to exclude the skylight from reflections! Now the result is much more convincing. I had found another method by calculating the skylight using ray tracing. Although the result was visually appealing, it was very noisy and didn’t align well with the geometry of the scene. Thanks again for the tip!