instantly transition scene controller values if shader freshly loaded or window resizes

This commit is contained in:
Xonk
2026-06-28 21:54:14 -04:00
parent 363ffc1034
commit e18634e72c
2 changed files with 8 additions and 3 deletions
+4 -2
View File
@@ -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));
+4 -1
View File
@@ -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)