godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.8k stars 20.91k forks source link

Missing texture on a single Decal causes clustering artifacts to appear on other decals #89467

Open novalis opened 6 months ago

novalis commented 6 months ago

Tested versions

4.3dev4

System information

Godot v4.3.dev4 - Debian GNU/Linux trixie/sid trixie - Wayland - Vulkan (Forward+) - dedicated AMD Radeon RX 5600 XT (RADV NAVI10) () - AMD Ryzen 5 2600X Six-Core Processor (12 Threads)

Issue description

When a decal has a missing texture, other decals affecting the same mesh (or maybe all other decals? -- I only have one mesh so I haven't tested thoroughly) flicker. Sometimes they are rendered correctly. Other times, they are only partly rendered.

I'm using the forward_plus rendered -- this does not seem to be a result of the 7-decal limit for the mobile renderer, and it works fine when I replace the missing texture.

Steps to reproduce

I noticed this when I forgot to create one of my decal textures, and suddenly the rendering was wrong. Screenshot from 2024-03-13 23-15-38

In the MRP, you can use the mouse to spin the shape. When you do, you'll notice that the decals flicker.

If you replace temp-26.png (just copy any of the other ones), the flicker goes away entirely.

Minimal reproduction project (MRP)

flicker.zip

Calinou commented 4 months ago