feat: ignore some values in auto random

This commit is contained in:
2026-05-21 00:32:03 +02:00
parent bb84350591
commit 7dbce62182
7 changed files with 99 additions and 19 deletions
+20
View File
@@ -272,6 +272,26 @@ GROUP_3_2_X=0
GROUP_3_2_Y=16
GROUP_3_2_Z=11089
# Auto-Random Ignore (ARI) prefixes
ARI_COUNT=17
ARI_1=GROUP_3_1_Y
ARI_2=GROUP_3_2_Z
ARI_3=GROUP_2_1_X_4
ARI_4=GROUP_2_1_Y_4
ARI_5=GROUP_2_1_Z_4
ARI_6=GROUP_2_2_X_4
ARI_7=GROUP_2_2_Y_4
ARI_8=GROUP_2_2_Z_4
ARI_9=GROUP_2_4_X_4
ARI_10=GROUP_2_4_Y_4
ARI_11=GROUP_2_4_Z_4
ARI_12=GROUP_2_6_X_4
ARI_13=GROUP_2_6_Y_4
ARI_14=GROUP_2_6_Z_4
ARI_15=GROUP_2_7_X_4
ARI_16=GROUP_2_7_Y_4
ARI_17=GROUP_2_7_Z_4
# =====
# OTHER
# =====
+1 -5
View File
@@ -16,15 +16,11 @@ uniform sampler2D iTex0;
uniform int iSeed8;
uniform vec3 iGroup2_3[7];
uniform vec3 iGroup3_1[2];
uniform int iDemo;
uniform int iAutoRand;
void main() {
vec4 color = fx_stage(vUV, iTex9, iTex0, iSeed8, iGroup2_3[0], iGroup2_3[1].xy, iGroup2_3[2], iGroup2_3[3].xy, iGroup2_3[4], iGroup2_3[5].xy, iGroup2_3[6]);
if (iDemo < 1 && iAutoRand < 1) {
color = mix(color, vec4(0), iGroup3_1[0].y);
}
color = mix(color, vec4(0), iGroup3_1[0].y);
fragColor = color;
}
+8 -9
View File
@@ -9,21 +9,20 @@ out vec4 fragColor;
#include inc_map.glsl
uniform sampler2D iTex0;
uniform int iAutoRand;
uniform vec3 iGroup2_4[7];
void main() {
bool visible = iAutoRand < 1 && iGroup2_4[0].x > 0;
bool invert = iAutoRand < 1 && iGroup2_4[0].y > 0;
bool rect = iAutoRand < 1 && iGroup2_4[0].z > 0;
bool visible = iGroup2_4[0].x > 0;
bool invert = iGroup2_4[0].y > 0;
float rect = iGroup2_4[0].z;
vec2 uv2 = vUV;
if (visible) {
vec2 p1 = iAutoRand < 1 ? vec2(iGroup2_4[6].xy) : vec2(0);
vec2 p2 = iAutoRand < 1 ? vec2(iGroup2_4[1].xy) : vec2(0);
vec2 p3 = iAutoRand < 1 ? vec2(iGroup2_4[3].xy) : vec2(0);
vec2 p4 = iAutoRand < 1 ? vec2(iGroup2_4[5].xy) : vec2(0);
vec2 p1 = vec2(iGroup2_4[6].xy);
vec2 p2 = vec2(iGroup2_4[1].xy);
vec2 p3 = vec2(iGroup2_4[3].xy);
vec2 p4 = vec2(iGroup2_4[5].xy);
p2.x = 1 - p2.x;
p3.y = 1 - p3.y;
@@ -38,7 +37,7 @@ void main() {
if (visible) {
float mask = step(0, uv2.x) * step(-1, -uv2.x) * step(0, uv2.y) * step(-1, -uv2.y);
color *= mix(mask, 1 - mask, invert ? 1 : 0);
color = mix(color, mix(color, color + mask * vec4(1), step(uv2.x, 0.01) + step(uv2.y, 0.01) + step(1 - uv2.y, 0.01) + step(1 - uv2.x, 0.01)), rect ? 1 : 0);
color = mix(color, color + mask * vec4(1), rect * (step(uv2.x, 0.01) + step(uv2.y, 0.01) + step(1 - uv2.y, 0.01) + step(1 - uv2.x, 0.01)));
}
fragColor = color;