SSGI with APV viability status in HDRP

Hi,

I’ve posted about this before.
SSGI can work with APV already.

The issue is in viability, In particular with grass/foliage.
SSGI has serious issues with grass, there’s a lot of flickering, noise, etc.

Especially when you use “performance”, it only gets worse. It treats grass like a bigger object than it really is, so it ends up with a ton of occlusion and noise.

APV can be greatly enhanced with SSGI, but SSGI needs improvement to be a real viable solution in general projects. I’m wondering if there are any plans for that?

Hi,
We have no specific plans for SSGI improvements at the moment, but dynamic global illumination and time of day support is a key topic for the team, so we will definitely look at this again if any improvement is possible.
Could you share the link where you share issues with grass/foliage? Could it be because of lack of motion vector support on some grass/foliage?

1 Like

Hi, we are working on an asset for Unity called “Erebus”, that is similar to Lumen, we first ship the shadows and AO part and add GI and reflection later. The asset will be online in a few days!
It is based on SDFs and covers most of the GI needs. Our SSGI will be also included and might solve your issues with flickering.

1 Like

I’ll add that given you talk about “performance” mode, you are probably talking about RayTraced GI, and Raytracing does not support detail mesh on terrain (like grass and foliage) so it’s expected that it doesn’t really work correctly (if all I’m assuming on your use case is true)

1 Like

There are others but they’re quite old and would take time to find them.
Even when the grass is placed as a gameobject and so it retains all motion vectors, it’s still a problem.

I believe it’s radius/thickness related as mentioned in the linked post

Actually, I still meant SSGI but by performance i meant tweaking the settings towards better performance at the cost of quality. I can see how you got confused considering that’s a mode for raytracing :smile:

1 Like

I had a quick look but details objects moving with wind (whether they from terrain or not) won’t have object motion vectors since their transform doesn’t move, it’s at the vertex stage that they are moving, this is probably why, it’s not behaving correctly with TAA and SSGI.
You can check if motion vectors are being written in the Motion Vectors debug mode (Window > Analysis > Rendering Debugger Rendering > Full Screen Debug mode ) in play mode.

I still logged something to make 100% sure but to me it’s more a limitation of those effects needing motion vectors rather than a bug.

If you still think I misunderstood something, please send me a repro with instructions and I’ll have a second look.

Also, SSGI should already fallback on APV baked lighting.

Hihi,

Yeah, actually I did this a long time ago, used the motion vectors debugger. Grass works as expected when placed as a gameobject as long as it’s setup correctly, write correct motion vectors, maybe it’s due to the foliage/wind shader i’m using that it works because i can see object motion vectors with the wind and they look to be working correctly.

The SSGI issue as far as I remember was always there for small foliage for indirect lighting, even with correct motion vectors.
The bigger the AO paramater is (forgot the exact name), the worse it becomes.
Grass gets far too much AO as if it’s a bigger object, and there’s some noise. Especially if you disable full res, and when I did this i was using APV as well with SSGI, not standalone SSGI

Hopefully I’ll open unity soon and test it again and come back to you with more conclusive results and a project. Been a long time since I last did it.

2 Likes