mojira.dev
MC-81654

Water and lava top texture does not get rendered in some cases

The bug

It seems that the top of water doesn't get rendered if there is transparent block (this also includes slabs for example) in a 1 block radius one block higher than the water. This makes water look pretty strange if it is tilted.

How to reproduce (general steps)

  1. Fill a 3 x 4 area of a solid block like stone

  2. Place water or lava below middle block at the edge of a 3 blocks side

  3. Move inside the lava or water block and rotate in the direction of the area you filled

How to reproduce (commands)

Use the following commands without moving

  1. Optional to make sure the water or lava block does not move you

    /gamemode spectator
  2. /tp ~ ~ ~ 0 0
  3. /fill ~-1 ~2 ~ ~1 ~2 ~3 stone
  4. /setblock ~ ~1 ~ water

Attachments

Comments 14

Can confirm for MC 1.12.1.

Confirmed for 1.14.4.

Can this still be reproduced in 1.16-pre3?

Confirmed in 1.15.2, as well in 1.16 Pre-release 5 with graphics set to "Fabulous!"

Can confirm in 20w51a. Here's the updated 4th reproduction steps as flowing_water no longer exists in the latest version.

/setblock ~ ~1 ~ water
4 more comments

Can confirm in 21w11a.

Can confirm in 21w15a.

Can confirm in 1.18.2 and 22w18a.

Can confirm in 1.19.2 and 22w42a.

I've conduced a test, and removing the `FluidState.shouldRenderBackwardUpFace` check makes this issue go away, however it also substantially changes how flooded caves look from the inside and generates twice as much geometry for their water surfaces. To both make sure inside upper water faces are generated for flowing water and flooded caves don't regress, a better heuristic for distinguishing these cases is needed, i.e. this bug is kinda complicated.

I've attached a comparison image.

[media]

 

marcono1234

(Unassigned)

Confirmed

Rendering

lava, texture, transparent, transparent-blocks, water

Minecraft 1.8.7, Minecraft 1.11.1, Minecraft 1.11.2, Minecraft 1.12.1, Minecraft 1.12.2, ..., 1.19.2, 22w42a, 1.19.3, 1.20.1, 1.21

Retrieved