fix
This commit is contained in:
51
app.js
51
app.js
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user