fix: small optimizations

This commit is contained in:
2025-11-09 18:40:01 +01:00
parent 700f75f43b
commit 800503bbad
2 changed files with 20 additions and 18 deletions
+2
View File
@@ -26,5 +26,7 @@ void main() {
float k = mean(color_a);
mix_value = mix(mix_value * 0.9 + 0.05, mix_value, iDemo);
fragColor = mix(color_b, color_a, mix_type ? step(mix_value, k) : mix_value);
}
+18 -18
View File
@@ -371,48 +371,48 @@ subroutine(fx_stage_sub) vec4 fx_12(vec2 vUV, sampler2D previous, sampler2D feed
float p = 1 / k1;
uv2 = round(uv2 * k1) / k1;
vec3 c1 = mix(
gauss(previous, (uv2 + vec2(0.5, 0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(0.5, 0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(0.5, 0.5) * p).xyz,
reframe(feedback, uv2 + vec2(0.5, 0.5) * p).xyz,
fb
);
vec3 c2 = mix(
gauss(previous, (uv2 + vec2(1.5, 0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(1.5, 0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(1.5, 0.5) * p).xyz,
reframe(feedback, uv2 + vec2(1.5, 0.5) * p).xyz,
fb
);
vec3 c3 = mix(
gauss(previous, (uv2 + vec2(1.5, 1.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(1.5, 1.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(1.5, 1.5) * p).xyz,
reframe(feedback, uv2 + vec2(1.5, 1.5) * p).xyz,
fb
);
vec3 c4 = mix(
gauss(previous, (uv2 + vec2(0.5, 1.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(0.5, 1.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(0.5, 1.5) * p).xyz,
reframe(feedback, uv2 + vec2(0.5, 1.5) * p).xyz,
fb
);
vec3 c5 = mix(
gauss(previous, (uv2 + vec2(-0.5, 1.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(-0.5, 1.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(-0.5, 1.5) * p).xyz,
reframe(feedback, uv2 + vec2(-0.5, 1.5) * p).xyz,
fb
);
vec3 c6 = mix(
gauss(previous, (uv2 + vec2(-0.5, 0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(-0.5, 0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(-0.5, 0.5) * p).xyz,
reframe(feedback, uv2 + vec2(-0.5, 0.5) * p).xyz,
fb
);
vec3 c7 = mix(
gauss(previous, (uv2 + vec2(-0.5, -0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(-0.5, -0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(-0.5, -0.5) * p).xyz,
reframe(feedback, uv2 + vec2(-0.5, -0.5) * p).xyz,
fb
);
vec3 c8 = mix(
gauss(previous, (uv2 + vec2(0.5, -0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(0.5, -0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(0.5, -0.5) * p).xyz,
reframe(feedback, uv2 + vec2(0.5, -0.5) * p).xyz,
fb
);
vec3 c9 = mix(
gauss(previous, (uv2 + vec2(-0.5, -0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
gauss(feedback, (uv2 + vec2(-0.5, -0.5) * p) * vec2(1 / ratio, 1) + .5, 1, 0.1).xyz,
reframe(previous, uv2 + vec2(-0.5, -0.5) * p).xyz,
reframe(feedback, uv2 + vec2(-0.5, -0.5) * p).xyz,
fb
);
bool alive = mean(c1) >= threshold;