This commit is contained in:
Daniel
2026-04-01 20:06:17 +08:00
parent ae3e6f717b
commit afbcd99224
596 changed files with 62930 additions and 13 deletions

51
app.js
View File

@@ -18,6 +18,57 @@ void main() {
}`;
const presetShaders = [
{
name: "Alien Core (Ported)",
code: `vec3 paletteAC(float d) {
return mix(vec3(0.2, 0.7, 0.9), vec3(1.0, 0.0, 1.0), d);
}
vec2 rotateAC(vec2 p, float a) {
float c = cos(a);
float s = sin(a);
return mat2(c, -s, s, c) * p;
}
float mapAC(vec3 p) {
for (int i = 0; i < 8; i++) {
float t = iTime * 0.2;
p.xz = rotateAC(p.xz, t);
p.xy = rotateAC(p.xy, t * 1.89);
p.xz = abs(p.xz) - 0.5;
}
return dot(sign(p), p) / 5.0;
}
vec4 raymarchAC(vec3 ro, vec3 rd) {
float t = 0.0;
vec3 col = vec3(0.0);
float d = 0.0;
for (int i = 0; i < 64; i++) {
vec3 p = ro + rd * t;
d = mapAC(p) * 0.5;
if (d < 0.02 || d > 100.0) break;
col += paletteAC(length(p) * 0.1) / (400.0 * d);
t += d;
}
float alpha = 1.0 / (max(d, 0.0001) * 100.0);
return vec4(col, alpha);
}
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 uv = (fragCoord - 0.5 * iResolution.xy) / iResolution.x;
vec3 ro = vec3(0.0, 0.0, -50.0);
ro.xz = rotateAC(ro.xz, iTime);
vec3 cf = normalize(-ro);
vec3 cs = normalize(cross(cf, vec3(0.0, 1.0, 0.0)));
vec3 cu = normalize(cross(cf, cs));
vec3 uuv = ro + cf * 3.0 + uv.x * cs + uv.y * cu;
vec3 rd = normalize(uuv - ro);
fragColor = raymarchAC(ro, rd);
}`,
},
{
name: "Neon Flow",
code: `void mainImage(out vec4 fragColor, in vec2 fragCoord) {