You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When enabling temporal antialiasing, the viewport becomes opaque if it's currently transparent.
This does not occur with FXAA and MSAA, both of which support transparent viewports (with some visible artifacts though).
TAA disabled
TAA enabled
If it's not possible to support TAA on transparent viewports, I suggest making the transparent viewport property take priority (so it disables TAA), and print a warning if both TAA and transparent viewport are enabled.
Steps to reproduce
Enable Display > Window > Size > Transparent, Display > Window > Per Pixel Transparency > Allowed and Rendering > Transparent Background in the advanced Project Settings.
Notice how the editor 3D viewport (and the running project) features transparency.
Enable Use TAA in the Project Settings.
Notice how the editor 3D viewport (and the running project) loses transparency.
From a brief look into it it seems like the TAA resolve step intentionally ignores the alpha component as it resolves the color, tonemapping, history, etc. It seems taking alpha into account would also expand the memory used during execution.
There is no obvious solution as to how to extend this in the shader as it'd need to use a separate path for mixing the alpha (to avoid tonemapping) and would probably need another variant of the shader to not cause a performance impact when transparent output isn't necessary (which is the more common use case).
Adding a warning and disabling TAA for this use case might be the more reasonable approach here.
Also seems to happen with FSR 2 enabled. FSR 1 works properly
Calinou
changed the title
Vulkan Clustered: TAA on a transparent viewport causes the viewport to turn opaque
Vulkan Clustered: TAA or FSR2 on a transparent viewport causes the viewport to turn opaque
Jul 14, 2024
Godot version
4.0.beta7
System information
Fedora 36, Vulkan Forward Plus, AMD Radeon RX 6900 XT
Issue description
When enabling temporal antialiasing, the viewport becomes opaque if it's currently transparent.
This does not occur with FXAA and MSAA, both of which support transparent viewports (with some visible artifacts though).
If it's not possible to support TAA on transparent viewports, I suggest making the transparent viewport property take priority (so it disables TAA), and print a warning if both TAA and transparent viewport are enabled.
Steps to reproduce
Minimal reproduction project
test_taa_transparent_viewport.zip
The text was updated successfully, but these errors were encountered: