Even though fast mode leaves don't support transparency, their sides aren't actually culled by being next to other leaves or even opaque blocks, meaning their loss of transparency serves almostno benefit whatsoever.
This can be seen using spectator mode.
This is likely a regression caused by "fixing" another bug where leaves were transparent but caused culling.
EDIT: As it turns out, leaves DO cause fully opaque blocks (like logs) to be culled, but the internal faces of leaves are still being rendered (and opaque blocks don't seem to cull leaves). This means that somewhere (like jungles or huge forests) with lots of leaves does not really benefit from fast mode.
An easier test to show this is to use an ender pearl to teleport under a tree with a 1-block gap under it. As the attached image shows, you can see a culled log and into the void, but you can see internal leaf faces.
Related issues
Attachments
Comments


Do they show some sort of an "x-ray" effect?

No. They just won't offer any performance benefit whatsoever since they are still being rendered, so there is no point in disabling the transparency.

@[insomniac_lemon], please use preview feature. Every single change is sent to watchers.

Grum, can I get some explanation behind the WAI?
I feel like this could be a misunderstanding behind one of my screenshots. To be clear, what I recommend changing:
in fast mode, all internal leaf faces are culled (by other opaque blocks and themselves)
leaves no longer cause opaque blocks to be culled (not the issue at hand, but this gives minimal performance benefit while having an X-ray effect... so not really needed)
This is basically the opposite of what fast leaves do now. However, in vanilla SSP, most situations with leaves probably have more internal faces with leaves than opaque blocks (tree trunks, grass, etc.) especially in large jungles/forests. So you should get better performance not rendering the leaf internal faces than not rendering internal opaque blocks.
I'll take a look if the culling is trivial to change with the hack already in place. It doesn't actually matter a whole lot performance wise.

I forgot to post it here, but I discovered that you if you add culling to models it works in fast mode. The issues with it are:
a)It does not allow for models to use culling in fancy mode
b)It requires culling to be explicitly set, although this was not previously needed
c)Since default does not set it, most users are rendering unnecessary leaf faces unless they have a resource pack that explicitly tries to solve this
So you should remove your hack that makes leaves treated as a opaque block. The only time where leaves culling opaque blocks is more beneficial than leaves culling itself if when a single leaves block is touching the ground, in any other case there are more faces inside a cluster of leaves blocks (such as on trees) and the amount of opaque faces culled is minimal in comparison. So the hack isn't even really needed.
There is also a good behavior to go about this that's friendly to resource packs: only override the culling if it's unspecified. That way certain parts of leaves can have culling in fancy or they can be in fast mode without culling.
Predicates could also be used as a non-hacky way to specify another model to be used in fast mode. If this were a global override, that'd be a great way to allow resource pack makers to make lower-detail models for any block/item for those having poor performance. Or, if variables (similar to how textures are used) could be used on cullface and predicates without models could be used to only override culling and possibly textures, that'd be a good solution as well.
Although if opaque blocks are not culled by leaves in fast mode, there is little reason to not allow them to have transparency. It might be a bit odd to see them looking so hollow, but they could benefit from 'leafy' particles on the inside especially considering particles now have less performance impact, in fact it might even be visually better than how fancy leaves are now and perform better since there are less faces being rendered and because particles can easily be scaled to lower numbers. It could even use areaEffectCloud.
Could this be helpful @unknown? https://redd.it/42glrg