Real time GI for Eevee?

I think that some of you have already seen or know the Reshade shader pack. This shader pack is a generic post-processing injector for games and video software developed by crosire. Recently he added real time global illumination.
He uses a form of screen space ray tracing to do this.

Now, while RTX “true ray traying” is to far away for blender right now, would something like this be possible for Eevee?

Pros:

  • looks awesome ( see videos below )
  • works on older hardware, which Blender is aiming for
  • no baking

Cons:

  • it’s screen space so it has limitations
  • quite a performance hit ( but hey, we don’t need 60fps or more like in games )


I don’t get what people are seeing in that shader, it just looks like good ambient occlusion.
TBH since right now Eevee is under feature freeze, I really have no idea what to expect, since we might as well get actual cross-platform raytracing https://www.youtube.com/watch?v=1nqhkDm2_Tw instead of Nvidia-only RTX stuff.
And can’t you get it to work with Blender if you want it so much, since Reshade should work on anything?

I would love to see more DXR real time ray tracing features in EEVEE, but I think it can only be done via Vulkan API(runs on both nvidia and AMD GPU), EEVEE is currently OpenGL.

This was my test of DXR feautre in UE4, frame rate was low 2 fps, but the results are pretty good using GI and other real-time ray tracing feature:

EEVEE already has real-time screen space ray-tracing and GI probes, what’s different about that compared to Reshade?

This kind of screen space raytracing is on a whole other level from EEVEE’s screen space reflections.
EEVEE computes direct glossy reflections using screen space techniques on the depth buffer, but only does so for a single glossy or refractive bounce.
The screen spaced technique mentioned above performs full ray-marched GI calculations using screen space techniques, and only uses the GI probes as a fallback to compensate for the lack of off-screen data.

Eevee’s real-time screen space ray-tracing is at the moment only used for reflections, but not for GI.

Most important difference is that it updates in realtime, no need for baking. The GI probes needs to be baked. And if you decide you want to change something in your scene you need to rebake.

Also moving objects ( like for example a car ) do recive GI from the baked probes, but they don’t “give” GI to other objects as a moving object can’t be baked.

The reshade shader seems very similair to SSRTGI from the Unigine engine:

You already can use Raytracing on Pascal cards, the issue is in performance

Ok, I just found a video of the reshade shader working in the WiiU Cemu Emulator.
So it might also work in Blender.
At the moment the GI ray tracing version of the reshade shader is only available for those who support him on patreon ( but it wil be released later on free for everyone ).

Is there someone who has acces to it and can try it with Eevee?

( It would offcourse be better to hardcode this inside blender but this way It would be possible to see how it looks like. )

If a minecraft shader made for the laggy java edition by a single guy can have pretty good realtime GI, without even using any RTX optimisations, then I don’t see why we should limit ourselves to some colored screen space ambient occlusion shader.
Edit: this video -> https://www.youtube.com/watch?v=k1zxxyjo6gE had too little motion so I added another one.


Let’s aim higher.
1 Like

Don’t forget their other video.

It’s hard to believe Minecraft of all programs could be seen as a next-gen arch-vis tool, but the mods make it only a tessellation shader and a less cubic look away.

Now imagine if this was Eevee’s GI with the full power of a DCC app, add caustics and tessellation and it would revolutionize the ability to make high-quality animation on home hardware. I say animation because Cycles would still be king in terms of producing the best imagery possible.

6 Likes

I thing we will get those Ray tracing features one way or another after the blender 2.8 release :smiley:

Honestly, I don’t particularly care if the GI is actually “real-time” or not, as long as there’s a way to make the GI change throughout an animation render. It’s fine if it has to be manually updated in the viewport, but the inability to do a time of day cycle during the animation is kind of frustrating to be honest.

1 Like

Dynamic Diffuse Global Illumination seems like a good new method!
It’s a bit of an upgrade to the irradiance light probes system.

" * Must be paired with a separate glossy global illumination solution, such as screen-space ray tracing, denoised geometric ray tracing, or environment probes"
:frowning:
I still think something like Voxel GI or whatever extensive filtering Sonic Ether does would be better

1 Like

I’m not expecting this to be implemented any time soon, but I found this cool thing: https://gpuopen.com/deferred-path-tracing-enscape/
Sounds like it works really well for a semi-offline technique, and especially for reflections

2 Likes

@Viktor_smg
I also would love something with voxel cone tracing, maybe like in Godot where they bake it but it still works in realtime.

With DDGI they add extra depth information into the probes to make them more accurate and avoid light leaking.
( This can be seen at 34:14, but the whole video is interesting. )

Maybe this same technique is also usefull for upgrading reflection probes?
So also add depth info to reflection probes this way so the mapping will be better.
( 34:30 to 37:00 is explained how the calculate the depth and keep the memory sizes low. )

2 Likes

Could Marty McFly’s RT Shader be an addon for blender 2.8 eevee?

I don’t know why I’m not getting any good search results on this forum now…

What’s the word on the “official” SSGI implementation for Eevee (I seem the devlopers caving from the demand after that 3rd party add-on got popular)? Is it slated for 3.0 and will it support hardware RTX/DXR?

Vulkan backend is prerequisite to dxr raytrancing.

https://developer.blender.org/T68990

For the time being it is low priority.

4 Likes