Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Write your own fragment shader code.
Access uTime, uResolution, uMouse and more.
Primary focus: Write custom GLSL fragment shaders.
| Uniform | Type | Description |
|---|---|---|
uTime | float | Elapsed time in seconds |
uResolution | vec2 | Canvas resolution |
uMouse | vec2 | Mouse position |
uTheme | string | Current theme (light/dark) |
---
layout: home
hero:
background:
type: shader
shader:
fragmentShader: |
precision mediump float;
uniform float uTime;
void main() {
vec2 uv = gl_FragCoord.xy / uResolution;
gl_FragColor = vec4(uv, sin(uTime), 1.0);
}
---precision mediump float;
uniform float uTime;
uniform vec2 uResolution;
void main() {
vec2 uv = gl_FragCoord.xy / uResolution;
vec3 color = mix(
vec3(0.2, 0.1, 0.5),
vec3(0.8, 0.4, 0.2),
uv.y + sin(uTime) * 0.2
);
gl_FragColor = vec4(color, 1.0);
}