Section sorting is incorrect
MeeniMc opened this issue ยท 6 comments
Bug Description
In some rare cases, the section sorting is (still) incorrect and will cause a particular section of stained glass to not render.
Bottom right section of the stained-glass wall is missing. See how the missing section boundary does not align with the stained glass block pattern. Screenshot taken with #2016, but can be replicated on commit 17a17ed
The missing section is position/angle dependent. It is not time or reload dependent (f3-a or full reload will determistically show the same missing section at the same place)
The bug is not due to #38, as it does not get fixed by Douira's translucency sorting (#2016)
The bug did not get fixed at the same time as #2234 17a17ed
Reproduction Steps
- gradlew runclient
- create a new world with seed 4957284180073197783
- /execute in minecraft:overworld run tp @s -24.50 77.00 -53.50 117.00 2.40
- /fill -64 63 -44 -64 100 -140 minecraft:white_stained_glass
Log File
Crash Report
Screenshot at 17a17ed
Rotating or moving the camera makes the problem disappear quickly but not immediately.
The boundary where the glass is correctly layered appears to be Z=-128 given the dimensions of the glass block and the fact that there's 12 broken blocks. The lower boundary is Y=64 which also points to this being a region-related issue.
Same world but I found a case where the number of rendered sections does not change:
/execute in minecraft:overworld run tp @s -31.94 77.00 -54.59 106.80 31.95
/execute in minecraft:overworld run tp @s -31.94 77.00 -54.59 106.95 31.80
RD 15, FOV 70 (default). The render resolution (or at least the aspect ratio) 3768x2214 is relevant as it changes the shape of the frustum.
As was discussed in the Discord server, nobody seems to know what's going wrong here. The problem even exists in Sodium 0.4, which uses a completely different implementation of the graph traversal code.
Likely there's something fundamentally wrong about how region sorting is handled, and this will require some significant work to properly fix.
the new linked PR should fix this. Let me know if it works.