fix tiny issue with seasons on DH LODS

This commit is contained in:
Xonk 2024-05-10 14:53:39 -04:00
parent 4e00602b33
commit 23b44f78ca
3 changed files with 13 additions and 15 deletions

View File

@ -90,8 +90,7 @@ void main() {
#if defined Seasons && defined OVERWORLD_SHADER
float blank = 0.0;
YearCycleColor(gcolor.rgb, gl_Color.rgb, blank, dhMaterialId == DH_BLOCK_LEAVES);
YearCycleColor(gcolor.rgb, gl_Color.rgb, dhMaterialId == DH_BLOCK_LEAVES, dh_material_id == DH_BLOCK_GRASS);
#endif
#if DOF_QUALITY == 5

View File

@ -355,8 +355,7 @@ if(heldItemId == ITEM_LIGHT_SOURCES || heldItemId2 == ITEM_LIGHT_SOURCES) HELD_I
#endif
#if defined Seasons && defined WORLD && !defined ENTITIES && !defined BLOCKENTITIES && !defined HAND
float blank = 0.0;
YearCycleColor(color.rgb, gl_Color.rgb, blank, mc_Entity.x == BLOCK_AIR_WAVING);
YearCycleColor(color.rgb, gl_Color.rgb, mc_Entity.x == BLOCK_AIR_WAVING, true);
#endif
#ifdef TAA_UPSCALING

View File

@ -17,9 +17,9 @@
void YearCycleColor (
inout vec3 FinalColor,
vec3 glcolor,
inout float SnowySeason,
bool isLeaves
bool isLeaves,
bool isPlants
){
// colors for things that arent leaves and using the tint index.
vec3 SummerCol = vec3(Summer_R, Summer_G, Summer_B);
@ -65,19 +65,19 @@
vec3 SpringToSummer = mix(WinterToSpring, SummerCol, SpringTime);
// make it so that you only have access to parts of the texture that use the tint index
bool IsTintIndex = floor(dot(glcolor,vec3(0.5))) < 1.0;
bool IsTintIndex = floor(dot(glcolor,vec3(0.5))) < 1.0 && isPlants;
// multiply final color by the final lerped color, because it contains all the other colors.
if(IsTintIndex) FinalColor = SpringToSummer;
#ifdef Snowy_Winter
// this is to make snow only exist in winter
float FallToWinter_snowfall = mix(0.0, 1.0, AutumnTime);
float WinterToSpring_snowfall = mix(FallToWinter_snowfall, 0.0, WinterTime);
SnowySeason = clamp(pow(sin(WinterToSpring_snowfall*SeasonLength)*0.5+0.5,5),0,1) * WinterToSpring_snowfall * noPuddleAreas;
#else
SnowySeason = 0.0;
#endif
// #ifdef Snowy_Winter
// // this is to make snow only exist in winter
// float FallToWinter_snowfall = mix(0.0, 1.0, AutumnTime);
// float WinterToSpring_snowfall = mix(FallToWinter_snowfall, 0.0, WinterTime);
// // SnowySeason = clamp(pow(sin(WinterToSpring_snowfall*SeasonLength)*0.5+0.5,5),0,1) * WinterToSpring_snowfall * noPuddleAreas;
// #else
// // SnowySeason = 0.0;
// #endif
}
#endif
#endif