Flickering Overlaps in Alpha Blended Materials

Even when having a very simple geometry with overlaps and an Alpha Blended Material the overlapping faces are strongly flickering. This is the case for Alpha Blend Material and Material.

It must be a render order or alpha sorting issue, but I can’t find the option to stop this when the scene is playing.

I include a very simple scene for 0.9.23.103 BASE / Win10 / current NVIDIA 2070 RTX drivers.

Just press play. Hope you can help, thanks a lot!

flickering-overlap-alphas.dfx (48.1 KB)

Hey there,

This is a limitation of alpha blending, because it doesn’t have depth you will get issues where some areas render in front of others. There aren’t any perfect solutions (this is an inherent issue with rendering transparent 3D geometry and not something specific to Notch), but I find setting the blend mode to additive helps in most cases.

Thanks,

Ryan

1 Like

Thanks Ryan, good to know, but still it is quite flickery… any chance that a new transparency Material would solve this (via G-Buffer or similar)?

I’m curious of the flickering your seeing now - mind posting a dfx?

Otherwise not really, at that point you basically have to invoke ray traced glass or sub surface scattering, which isn’t always real-time.

Thanks.

Ryan

Hi Ryan, my original post included a DFX already… let me know what you think!

Thanks, Rob

@ryan.notch Since it is really a very simple scene, could you please check if you get the same result?

ah yes, i missed that.

I couldnt see any flickering here when set to additive - just turned down the alpha and it looked fine.


flickering-overlap-alphas_b.dfx (33.6 KB)

Thanks,

Ryan

Hi Ryan, thanks so much for testing! Good to know…

But do you get these strange flickering stripes (like in my image) when using Linear or Solid? What’s the reason for that?

Thanks, Rob

Hey Rob,

Yes, I do get the flickering in linear / solid. As I said before, its a common issue due to transparency screwing up the depth information in a scene, so things get rendered incorrectly. If you really want to dig into the transparency / zbuffer rabbit hole, I found an article here which explains the issue in depth here : https://research.ncl.ac.uk/game/mastersdegree/graphicsforgames/transparencyanddepth/Tutorial%204%20-%20Transparency%20and%20Depth.pdf

Thanks,

Ryan

Wow, thanks a lot Ryan, that’s a helpful PDF… Best, Robert