☰
✎ Uniform Showcase
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 float u_deltaTime; uniform int u_frame; uniform float u_fps; uniform vec2 u_resolution; uniform float u_aspectRatio; uniform float u_pixelRatio; uniform vec2 u_mouse; uniform vec2 u_mouseNorm; uniform vec4 u_mouseClick; uniform vec2 u_mouseVel; uniform vec4 u_date; uniform float u_random; uniform vec2 u_random2; uniform vec3 u_random3; uniform vec3 u_cameraPos; uniform vec3 u_cameraDir; uniform vec3 u_cameraUp; uniform float u_cameraFov; uniform float u_audioLow; uniform float u_audioMid; uniform float u_audioHigh; uniform float u_audioVolume; uniform vec2 u_scroll; uniform float u_zoom; void main() { vec2 uv = gl_FragCoord.xy / u_resolution.xy; vec3 col = vec3(0.05); vec2 grid = fract(uv * 20.0); col += vec3(0.08) * (step(0.95, grid.x) + step(0.95, grid.y)); float t = u_time; col += 0.5 + 0.5 * cos(t + uv.xyx + vec3(0,2,4)) * 0.2; float mouseDist = length(uv - u_mouseNorm); col += vec3(1.0, 0.5, 0.2) * smoothstep(0.2, 0.0, mouseDist); if (u_mouseClick.z > 0.5) { col += vec3(0.0, 1.0, 0.0) * smoothstep(0.3, 0.0, mouseDist) * 0.5; } if (uv.y > 0.92 && uv.x < 0.25) { col = mix(col, vec3(0.0), 0.8); if (uv.y > 0.95 && uv.x < 0.05) col = vec3(0.0, u_fps/60.0, 0.0); } float barH = 0.08; if (uv.y < barH) { float bar = uv.x; if (bar < 0.25) col = mix(col, vec3(1.0, 0.2, 0.2), u_audioLow * step(bar, 0.25)); else if (bar < 0.5) col = mix(col, vec3(0.2, 1.0, 0.2), u_audioMid * step(bar, 0.5)); else if (bar < 0.75) col = mix(col, vec3(0.2, 0.2, 1.0), u_audioHigh * step(bar, 0.75)); else col = mix(col, vec3(1.0, 1.0, 0.2), u_audioVolume * step(bar, 1.0)); } col += u_random * 0.02; gl_FragColor = vec4(col, 1.0); }
💾 Speichern
⬇ Export JSON
← Zurück
Live-Vorschau
FPS: --
↻ Neu laden
⏸ Pause