☰
✎ Julia Set
bearbeiten
Bereit
Vertex Shader
Kopieren
attribute vec2 a_position; void main() { gl_Position = vec4(a_position, 0.0, 1.0); }
Fragment Shader
Kopieren
precision mediump float; uniform float u_time; uniform vec2 u_resolution; uniform vec2 u_mouseNorm; uniform float u_zoom; vec2 csqr(vec2 z) { return vec2(z.x*z.x - z.y*z.y, 2.0*z.x*z.y); } void main() { vec2 uv = (gl_FragCoord.xy - 0.5*u_resolution.xy) / u_resolution.y; float zoom = 1.5 / u_zoom; vec2 z = uv * zoom; vec2 c = vec2(-0.8 + 0.2*cos(u_time*0.3), 0.156 + 0.2*sin(u_time*0.3)); c += (u_mouseNorm - 0.5) * 0.4; float iter = 0.0; for (int i = 0; i < 100; i++) { z = csqr(z) + c; if (dot(z, z) > 4.0) break; iter++; } float col = iter / 100.0; vec3 color = vec3(0.5 + 0.5*cos(6.2831*col + vec3(0.0, 0.5, 1.0))); color = mix(vec3(0.02, 0.0, 0.05), color, smoothstep(0.0, 0.1, col)); gl_FragColor = vec4(color, 1.0); }
💾 Speichern
⬇ Export JSON
← Zurück
Live-Vorschau
FPS: --
↻ Neu laden
⏸ Pause