LightLayers with Instanced rendering

Hi,

I am writing this post to make some awareness of the issue that emerges when using LightLayers with instanced rendering. I think that there is need for some documentation or extending the graphics api to allow creators use of the Light Layers system in HDRP.

I am using some 3rd party packages such as Vegetation Studio Pro or MicroSplat and I’ve noticed something really weird. When LightLayers option is enabled in pipeline settings it causes issues with rendering materials for terrain (MicroSplat) or objects instantiated by VSPro.

For example when using VSPro - How it looks with normal rendering:

And this is how it looks with instanced rendering:

As I’ve mentioned before the issue with instanced rendering with light layers enabled affects not only VSPro, but also assets that deals with terrain shaders (CTS, MicroSplat - every has similiar issue).

This is how it looks when terrain has “Draw instanced” option enabled.

When it is turned off, there is no visible artifacts.

Disabling any of LightLayers or instanced rendering immediately solves the problem. It leads to tradeoff between graphics and performance right now.

I’ve talked directly to creators of mentioned assets and there is no way currently for them to tackle this issue. There is no documentation or api whatsoever.

So I am asking unity team to shed some light onto that matter :slight_smile:

Note: I tested this since beta of 2019.3 with HDRP 7.0 through latest 2019.3.13f1 with HDRP 7.3.1. The issue still persists.

3 Likes

Yeah, I have the same problem with flicking when i’m using light layers;/ Waiting for any solution, please.

Hey guys. I’m facing a similiar issue right now and I’m using newest version of Vegetation Studio Pro and some other 3rd party plugins. Would be eternally grateful if someone can introduce a valid solution to that matter. Thanks

same here, waiting to see how unity responds

@chap-unity @SebLagarde - could you please take a look?

@jbooth_1 @LennartJohansen - could you guys back me up in here?

I’ve pretty much given up on Unity answering questions about how their shaders work and stuff like this.

2 Likes

This.

1 Like

@chap-unity @SebLagarde - again, could we have a word from you about that?

Time goes by, questions are left unanswered…

Maybe start a large campaign and get everyone to change their icons into a broken light icon…

3 Likes

I am one step away from trying to pull that off :slight_smile:

I’ve submitted a bug report: case 1268590. Maybe this would help somehow.

1 Like

Extra gif demonstrating the issue

Bug report will totally help us, thank you!

1 Like

@Shaunyowns - Almost another month is passing by - could you give us an update regarding?

Hey I had a look I believe you’ve been sent a response?

1 Like

Hello,
we have the same problem after enabling the light layers. Is there any solution or estimation for a solution yet?
Thanks!

Yes, indeed. Many thanks!

I’ve got a response from the QA team with info that the problem is solved in HDRP 10.0.0-preview.27 and above. I can confirm that there is an improvement. Meaning that the artifacts are gone and objects are lit. Sadly the instanced meshes can only receive light from the default light layer. Until the API is extended there is no way to lit instanced meshes using lights from any other Light Layers. The QA team told me that they are currently working on this issue and we could expect a fix in future versions of unity. This being said I doubt that it will land on 2020.2.

1 Like

Thanks for the information.
Sadly I can’t find the commit for the fix in Unity’s Graphics repository. I want to have a look to check if there is any possibility to backport the fix to HDRP 8.2.