OIT & Normal-less vertex data

Hi all,

For my application I don’t really need normals on vertex data, as I need to generate a whole lot of meshes and this greatly speeds up the generation process. The rendering is what I expect without those normals.
However I also need the depth peeling renderer (OIT) to work.
Those two are incompatible as of today it seems, please take a look at the PG: https://playground.babylonjs.com/#YGWH0X#1

It looks very much like a bug to me, I hope it is not a hard limitation :slight_smile:

Adding @Evgeni_Popov who can help with OIT.

I must say I don’t know why calculating the normal ourselves in the shader produces artifacts…

Let’s ask @CraigFeldspar in case he would know.

To ease debugging, I simplified the PG:

(commenting line 30 makes it work)

1 Like

On my machine the PG seems to work, what artifacts do you have ? can you share a screenshot of @Evgeni_Popov’s PG ?

As you said it’s working for you @CraigFeldspar, I tested using “OpenGL” as the ANGLE backend and it did work!

So, it seems it’s a driver problem (I have a GTX 3080Ti)… and it now rings a bell. It’s the same problem that I already reported:

https://bugs.chromium.org/p/chromium/issues/detail?id=1374333&can=1&q=reporter%3Agoogle%40evpopov.com

And just to complete, what I see:

2 Likes

Ok I see, for the record I have a RTX 4070 Laptop.
I’ve read through your bug report, isn’t that strange that it involves OIT twice? When I’ve have the time I’ll dig into the shader code to see if I can pinpoint something. Until this, I will generate the vertex normals as a workaround.