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

Transparency artifacts occur when multiple translucent surfaces are observed through one another #94

Open
japsuu opened this issue Jan 22, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@japsuu
Copy link
Owner

japsuu commented Jan 22, 2024

Describe the bug
The current Weighted Blended Order Independent Transparency implementation introduces visual artifacts when multiple translucent surfaces are viewed through one another.
The artifacts look like some kind of shader alpha overflow, causing black pixels to form where the combined alpha of seen textures goes above a certain threshold.

To Reproduce
Steps to reproduce the behavior:

  1. Place a 32x1x1 row of translucent blocks.
    1.1. Note: the blocks cannot be of the same type, because the mesher will otherwise combine the faces producing only a single front and back face. Instead, use an alternating pattern of different translucent blocks.
  2. View the row of blocks from either end and pay attention to the "most opaque" pixels that intersect with the most faces.
  3. Some pixels overflow (?) and turn completely black.

Expected behavior
There should be no black pixels visible.
The color of the pixels should smoothly fade to the average color of the intersecting faces.

Screenshots

Test setup:
wboit_test_setup

Overflow example:
wboit_overflow_0
wboit_overflow_1

wboit_overflow.mp4

Runtime info (please complete the following information):

Additional context
BWOIT is known for issues like this, and we might need to switch to something else at some point.
As far as I'm concerned, it's good enough for now. Still would like to get this fixed.

@japsuu japsuu added the bug Something isn't working label Jan 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant