feat: final src

This commit is contained in:
2026-11-10 01:48:28 +01:00
parent c449918b82
commit 72165b27c3
2 changed files with 44 additions and 4 deletions
+43 -3
View File
@@ -299,11 +299,51 @@ vec4 src_9(vec2 vUV, sampler2D self, int seed, vec3 b1, vec2 f1, vec3 b2, vec2 f
return vec4(f);
}
// SRC 10 :
const int dungeon_characters[] = int[11](
0x09, 0x0A, 0x19, 0x1A, 0x1B, 0x0C, 0x21, 0x22, 0x23, 0x08, 0x0B
);
// SRC 10 : SCROLLER
vec4 src_10(vec2 vUV, sampler2D self, int seed, vec3 b1, vec2 f1, vec3 b2, vec2 f2, vec3 b3, vec2 f3)
{
// TODO
return src_1(vUV, self, seed, b1, f1, b2, f2, b3, f3);
// start
vec2 uv0 = vUV.st;
float ratio = iResolution.x / iResolution.y;
vec2 uv1 = (uv0 - 0.5) * vec2(ratio, 1.);
// controls
float zoom = magic(f1, b1, seed + 10.) * 5. + 5.;
float slope = magic(f2, b2, seed + 20.);
float character = magic(f3, b3, seed + 30.) * 10;
// logic
float chances = 0.7;
vec2 uv2 = uv1 * zoom;
uv2 *= rot(slope);
vec2 iuv2 = ivec2(uv2);
vec2 uv3 = uv2 + vec2(iBeats * 4., 0);
vec2 iuv3 = ivec2(uv3);
int code = 0xA9;
bool bridge = mod(iuv3.x, 40) > 30.;
if (iuv3.y < -1) {
code = bridge ? 0xA9 : 0x9F;
} else if (iuv3.y == -1) {
code = bridge ? 0x9A : 0xA0;
}
float f = dungeon(fract(uv3), code) ? 1. : 0.;
f += dungeon_at(uv2, vec2(-0.5, -1 + abs(sin(iBeats * 5.))), dungeon_characters[int(character)]);
return vec4(f);
}
// SRC 11 : isometric grid