Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan: Alpha Antialiasing renders into depth prepass when it shouldn't, resulting in unexpected black pixels #82637

Closed
Calinou opened this issue Oct 1, 2023 · 1 comment · Fixed by #84211

Comments

@Calinou
Copy link
Member

Calinou commented Oct 1, 2023

Godot version

4.2.dev2, 4.2.dev fe8a58b - Does not occur in 4.2.dev1 and prior

System information

Fedora 38, GeForce RTX 4090 (NVIDIA 535.104.05)

Issue description

Alpha Antialiasing renders into depth prepass when it shouldn't, resulting in unexpected black pixels:

Screenshot_20231001_202649

Expected appearance, which is what you get with 4.2.dev1 and prior, or when disabling depth prepass in the Project Settings:

Screenshot_20231001_202633

Antialiasing still renders correctly on the alpha scissor material's edges in this case.

For context, I'm looking to address #24069 for once and all 🙂

Steps to reproduce

Note: this can be reproduced regardless of whether MSAA is active in the Project Settings. With MSAA disabled, alpha antialiasing still helps a little, but not as much as with MSAA enabled.

  • Create a MeshInsatnce with a material that uses the Alpha Scissor transparency mode.
  • Set the alpha antialiasing mode to to Alpha Edge Blend or Alpha Edge Clip.
  • Play around with the Alpha Antialiasing Edge value.

Minimal reproduction project

test_alpha_antialiasing.zip

@Calinou
Copy link
Member Author

Calinou commented Oct 1, 2023

I bisected the regression to 7c812cd. cc @clayjohn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants