X0nk / Bliss-Shader

A minecraft shader which is an edit of chocapic v9
Other
516 stars 29 forks source link

Volumetric clouds not showing on certain worlds #145

Open ASaull opened 3 months ago

ASaull commented 3 months ago

Using the latest git version, but this issue is not present in Bliss 2.0.4

Some worlds in my multiverse server do not show the volumetric clouds.

Things I've noticed

tr7zw commented 3 months ago

I thought I had some config or mod issue, messing with settings for 10 mins... On the server, there are just no clouds for some reason. So can confirm this still happens on the current git version.

AconexOfficial commented 3 months ago

Yep, same problem for me. No clouds on my SMP world, but clouds on other some singleplayer worlds. Other people on that SMP world do have clouds showing with the shader though. So it seems to be player specific.

X0nk commented 3 months ago

this is extremely weird. could anyone provided specific details? like mod setups / pc setups

AconexOfficial commented 3 months ago

this is extremely weird. could anyone provided specific details? like mod setups / pc setups

I'm on 1.20.1 I have tried removing my clientside mods, but this also happens when I only use these 5 mods: QuiltAPI 7.5.0 Sodium 0.5.8 Lithium 0.11.2 Indium 1.0.30 Iris 1.7.0 also running on Quilt Loader 0.25.0

I sent my friends the exact same modpack I use so I think it is unlikely to be a mod combination problem. I haven't tested different mod versions of those though. All I know is that I downloaded this shader on may 22nd and that version still has clouds on that SMP world, while the current one aswell as a version from may 30th (or earlier, idk) does not.

PC is Windows 11, RTX 4070, i7-12700F

PC of a friend where I know that they have clouds on the SMP world uses RX7600, R5 7600X

ASaull commented 3 months ago

I just tested a clean Minecraft 1.20.4 profile with just Sodium 0.5.8 and Iris 1.7.0 installed, and I still have the issue.

I'm on Windows 11, RTX 3070, Ryzen 5600X

ASaull commented 4 days ago

OK, I looked at this again, and figured out the issue. The worldDay integer seems to be hitting its maximum value of 65535 whenever the DayTime value in level.dat reaches 65535 * 24000 = 1572840000.

This only happened on my worlds because before the doDaylightCycle gamerule was added I had them continuously resetting their time to noon, which actually jumps DayTime forward by 24000. For a normal world, hitting this limit would take 2.5 years of continuous running, which I imagine could happen on a server.

In Bliss 2.0.4 worldDay is only used for seasons, and I can confirm that seasons do also break on 2.0.4 on these worlds.

I'm not super familiar with GLSL, but my proposed solution is to just take only the first 16 bits of worldDay by replacing every instance of worldDay with worldDay & 0xFFFF. This seems to work for me.