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

Waving liquid render bug if solid block is above liquid #3075

Open
ghost opened this issue Aug 17, 2015 · 13 comments
Open

Waving liquid render bug if solid block is above liquid #3075

ghost opened this issue Aug 17, 2015 · 13 comments
Labels
Bug Issues that were confirmed to be a bug @ Client / Audiovisuals Shaders

Comments

@ghost
Copy link

ghost commented Aug 17, 2015

HV0zjrmtZF_IND

(EDIT by paramat: Screenshot by Wuzzy2)

@est31
Copy link
Contributor

est31 commented Aug 18, 2015

Possible dupe of #1404.

@PilzAdam
Copy link
Contributor

@est31 no it's not.

Usually the top tile of the water is not visible when a solid node is above it, so it's not added to the mesh. This needs to be changed when the waving shader is enabled (there was a similar thing with new_style_water a while ago).

@est31
Copy link
Contributor

est31 commented Aug 18, 2015

I see, that makes sense.

@RobertZenz
Copy link
Contributor

@PilzAdam Uh, I've been seeing the exact opposite, the top tile of water is visible when a solid node is above it (which is especially visible in underwater caves for example). Doesn't matter if new_style or not.

@est31 est31 added Bug Issues that were confirmed to be a bug @ Client / Audiovisuals labels Aug 19, 2015
@ghost ghost changed the title Interruption of water by waving water shader [Bug] Interruption of water by waving water shader Aug 24, 2015
@PilzAdam
Copy link
Contributor

@Rui914 yes, probably; the if should contain or wavingShaderEnabled or something like that.

@paramat
Copy link
Contributor

paramat commented Feb 19, 2016

Waving water will probably be removed soon due to its problems.

@C1ffisme
Copy link

@paramat Erm... Or we could just try and fix it, maybe? I think it's worth a look into the rendering code...

I imagine that to save extra rendering, Minetest doesn't render the top water face, because normally it would be squashed against the stone on top. But this is what I think, and I might be very wrong.

@est31
Copy link
Contributor

est31 commented Feb 19, 2016

Now even I think that it should be removed. its far too buggy.

@ghost ghost closed this as completed Nov 4, 2016
@ghost ghost changed the title [Bug] Interruption of water by waving water shader [DELETED] Nov 11, 2016
@ghost ghost changed the title [DELETED] Dec 26, 2016
@paramat paramat changed the title Interruption of water by waving water shaderㅤ Oct 21, 2019
@paramat
Copy link
Contributor

paramat commented Oct 21, 2019

The title should not have been removed and this should not have been closed.
See closed PR #3109 for further discussion.

@paramat paramat reopened this Oct 21, 2019
@paramat paramat changed the title Interruption of water by waving water shaderㅤ Waving liquid render bug if solid block is above liquid Oct 21, 2019
@Wuzzy2
Copy link
Contributor

Wuzzy2 commented Oct 23, 2019

To anyone who has no clue what this bug is about:

Summary

If a solid block is directly above a waving liquid, and waving liquids are enabled, there's a render bug. The area below the solid block has no visible liquid, thus creating an odd “hole” in the liquid. See screenshot in 1st post.

Steps to reproduce

  1. Enable waving liquids
  2. Start MTG
  3. Take any solid block like dirt
  4. Place the block so that it is directly above water or lava
  5. Look at the dirt and the area below

rexim added a commit to tsoding/minetest that referenced this issue Oct 26, 2019
Resolves minetest#3075

1. Extract the code that determines the tile index by the face
direction so it can be reused in other places. Specifically in the
`face_contents` function which determines which face of the adjacent
nodes to hide based on their real and visual solidness.

2. Extend `face_contents` to accept tile index which determines the
direction of the face and force showing the top liquid face when the
waving water is enabled and the face has a more solid block on top of
it.

Not the best solution but it kinda works. Please let me know what you
think about it. Also any ideas on how to improve the solution are
really appreciated.
rexim added a commit to tsoding/minetest that referenced this issue Nov 12, 2019
Resolves minetest#3075

1. Extract the code that determines the tile index by the face
direction so it can be reused in other places. Specifically in the
`face_contents` function which determines which face of the adjacent
nodes to hide based on their real and visual solidness.

2. Extend `face_contents` to accept tile index which determines the
direction of the face and force showing the top liquid face when the
waving water is enabled and the face has a more solid block on top of
it.

Not the best solution but it kinda works. Please let me know what you
think about it. Also any ideas on how to improve the solution are
really appreciated.
rexim added a commit to tsoding/minetest that referenced this issue Nov 12, 2019
rexim added a commit to tsoding/minetest that referenced this issue Nov 12, 2019
@Wuzzy2
Copy link
Contributor

Wuzzy2 commented Sep 18, 2022

This bug is at least "medium priority" imho (not "low priority") because it is quite visible to players and not rare at all. All you need to do is enable waving liquids and then you can see it happen wherever water is below a solid block. This is common in caves and at cliffs, which you an also see in the screenshot.

@nininik0

This comment was marked as duplicate.

@sfence
Copy link
Contributor

sfence commented Jan 27, 2024

screenshot_20240127_071142
Is it acceptable to have waving water on the roof of sunken caves also?

Like here:
screenshot_20240127_071718

It probably can not be fixed without this side effect or big area checking to find if it is the roof under water or on the water's surface.

With node box node on the roof:
screenshot_20240127_075216

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Issues that were confirmed to be a bug @ Client / Audiovisuals Shaders
Projects
None yet
8 participants