编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
编写自己的片段着色器代码。
访问 uTime、uResolution、uMouse 等变量。
主要关注点:编写自定义 GLSL 片段着色器。
| Uniform | 类型 | 说明 |
|---|---|---|
uTime | float | 已用时间(秒) |
uResolution | vec2 | 画布分辨率 |
uMouse | vec2 | 鼠标位置 |
uTheme | string | 当前主题(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);
}