From e18634e72c70d939f5f16e5750d9f7ccab80d2a3 Mon Sep 17 00:00:00 2001 From: Xonk Date: Sun, 28 Jun 2026 21:54:14 -0400 Subject: [PATCH] instantly transition scene controller values if shader freshly loaded or window resizes --- shaders/dimensions/deferred.fsh | 6 ++++-- shaders/shaders.properties | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/shaders/dimensions/deferred.fsh b/shaders/dimensions/deferred.fsh index cae3dc4..f812d5a 100644 --- a/shaders/dimensions/deferred.fsh +++ b/shaders/dimensions/deferred.fsh @@ -61,7 +61,7 @@ uniform int isEyeInWater; uniform float dayChangeSmooth; uniform bool worldTimeChangeCheck; - +uniform bool windowResizeCheck; uniform int hideGUI; uniform float near; @@ -204,7 +204,9 @@ float HG_phase(float x, float g){ } vec3 doPixelTimer(in vec3 targetValue, in vec3 prevFrameValue){ - + // do not transition if the shader has just loaded or if the window resized. + if(frameCounter < 2 || windowResizeCheck) return targetValue; + // if the value is below the target value, add time. if the value is above the target value, subtract time. // this polarity variable determines what direction on the numberline to go. vec3 polarity = floor(clamp((targetValue - prevFrameValue)*65000.0,-1.0,1.0)); diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 0b12148..dfb44d1 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -573,9 +573,12 @@ uniform.vec3.lightningEffect = vec3(lightningFlash, lightningFlash, lightningFla ############################ # force LUT accumulation to have a high blend factor after a certain amount of time uniform.float.dayChangeSmooth = smooth(if(abs(smooth(worldDay, 0.05, 0.05) - worldDay) > 0.01, 0.0, 1.0), 300.0, 0.0) - uniform.bool.worldTimeChangeCheck = abs(smooth(sunAngle, 1.0, 1.0) - sunAngle) > 0.01 +uniform.bool.windowResizeCheck = (abs(smooth(viewWidth, 1.0, 1.0) - viewWidth) > 0.01) || (abs(smooth(viewHeight, 1.0, 1.0) - viewHeight) > 0.01) + +# uniform.int.randomInteger = randomInt() + #if WATER_ON_CAMERA_EFFECT_AMOUNT > 0 variable.float.waterState = smooth(if(isEyeInWater == 1,1.0,0.0),0.1,0.1) variable.float.lerptime = if((waterState < 0.1 || waterState > 0.9), 100000000000000.0, 0.0)