make seasons work on distant horizons LODS

This commit is contained in:
Xonk 2024-05-10 14:47:56 -04:00
parent 4c081608ba
commit 4e00602b33
3 changed files with 13 additions and 3 deletions

View File

@ -45,6 +45,8 @@ vec4 toClipSpace3(vec3 viewSpacePosition) {
}
*/
#define SEASONS_VSH
#include "/lib/climate_settings.glsl"
void main() {
gl_Position = ftransform();
@ -86,6 +88,12 @@ void main() {
normals_and_materials = vec4(normalize(gl_NormalMatrix * gl_Normal), MATERIALS);
dh_material_id = dhMaterialId;
#if defined Seasons && defined OVERWORLD_SHADER
float blank = 0.0;
YearCycleColor(gcolor.rgb, gl_Color.rgb, blank, dhMaterialId == DH_BLOCK_LEAVES);
#endif
#if DOF_QUALITY == 5
vec2 jitter = clamp(jitter_offsets[frameCounter % 64], -1.0, 1.0);
jitter = rotate(radians(float(frameCounter))) * jitter;

View File

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

View File

@ -17,7 +17,9 @@
void YearCycleColor (
inout vec3 FinalColor,
vec3 glcolor,
inout float SnowySeason
inout float SnowySeason,
bool isLeaves
){
// colors for things that arent leaves and using the tint index.
vec3 SummerCol = vec3(Summer_R, Summer_G, Summer_B);
@ -32,7 +34,7 @@
SpringCol *= glcolor;
// do leaf colors different because thats cool and i like it
if(mc_Entity.x == BLOCK_AIR_WAVING){
if(isLeaves){
SummerCol = vec3(Summer_Leaf_R, Summer_Leaf_G, Summer_Leaf_B);
AutumnCol = vec3(Fall_Leaf_R, Fall_Leaf_G, Fall_Leaf_B);
WinterCol = vec3(Winter_Leaf_R, Winter_Leaf_G, Winter_Leaf_B);