Some shrubs from some mods don't work with transparency resulting in black spots.
Screenshots courtesy of @dreamhack who found this on latest version using mod "Project: Vibrant Journeys"
I personally seen this with "Terrafirmacraft" back when SSAO was just added, but the issue appears to be the same.
DH will take a shrub, decide that it's semi-transpatent like glass, water, or ice, and then apply that transparency to a grass block underneath, which causes a dirt/stone blocks deeper to be visible, and since they don't have any skylight, they appear as black spots on the hills.
27 Replies
the problem with Project: Vibrant Journeys is short grass
what's interesting is that it's dependant on the position. some blocks X,Z coordinates are gonna have more trnasparency than others
(the whiter the square the more transparent it is, there is only void below)
I also found a vanilla case of this bug, tinted glass
left is just tinted glass (which as a mechanic blocks all light)
right is short grass causing the grass block under it to go transparent
interestingly below cave culling height, it looks like this
so 2 problems:
- light on continous vertical strip while adjacent to semi transparent block
- some grass additions on top will make the brass block transparent if they have semitransparent pixels
this is explained by the fact there are 7 short grass textures
not to dive into the code
here you decide how the transparent block behaves, and includes part on translucent blocks
GitLab
common/src/main/java/com/seibel/distanthorizons/common/wrappers/blo...
This is a mod that adds a Level Of Detail (LOD) system to Minecraft. This implementation renders simplified chunks outside of the normal render distance allowing for an...
either later on it's not interpretted correfctly, or blocks like tinted glass and other blocks like it is set to fully transparent
some of those use almost invisible pixels
normal vs gamma 5
however on this gamma 2 example you can see that pixels are or are not transparent, there is no try.
behavior seems to be the same across vanilla, Sodium, and Optifine
it seems that the one pixel that is visible in the last example has alpha=32, all others are hidden
and the more I dig the more I find
from left: tinted glass, stained glass, ice, glass
stained glass is fully opaque from top, while normal glass is fully opaque from all directions
EDIT: stained glass only appears fully opaque from top, but that's only the case in daylight with white variant
never realised that stained and tinted glass gad semi transtapert border, as obviusly normal glass is only made of fully opaque pixels which casuses the issue where it's opaque
both stained and tinted glass have their own textures (stained one is per color even), and the workaround with treating pixels that are >32 alpha as solid won't work as those glass have most pixels at around 100
here it seems that block is never asked what opacity mode it is, resulting in transparent grass and opaque glass as it's still set to ignore transparent pixels completely, while preserving semitransparent ones
GitLab
common/src/main/java/com/seibel/distanthorizons/common/wrappers/blo...
This is a mod that adds a Level Of Detail (LOD) system to Minecraft. This implementation renders simplified chunks outside of the normal render distance allowing for an...
I use faithful as base textures, so vanilla might not be as clear in the end.
both have background set to alpha=2, left one uses one of the colors from border, the other is just black
and when block is actually transparent, shader recognises it properly and gives it reflections
another case with this issue
most columns of ice are broken up before they reach the surface, some are not
this makes it look absolutely terrible form large distance when they are merged and there are more of them
Is there a fix for this?
No? Thats why It's in #bug-report and I am retired dev?
Yeah I'm aware of this issue, it's been around as long as we've had transparency support.
It's just been a very low priority issue to fix.
the problem is that it would require to split the block or quad to give it seperate light values which might be hard
Exactly, yup