feat: final src
This commit is contained in:
+1
-1
Submodule forge-steel updated: 1c6cadd4c6...ba13569696
+43
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user