理解着色器中的UV坐标系统,掌握如何使用UV坐标进行图形绘制和效果创建。
- UV坐标是二维纹理坐标系统
- U轴对应水平方向(0.0到1.0,从左到右)
- V轴对应垂直方向(0.0到1.0,从下到上)
`
glsl
vec2 uv = gl_FragCoord.xy / u_resolution.xy;
`
- gl_FragCoord.xy
是当前像素的屏幕坐标
- u_resolution.xy
是画布的像素尺寸
- 归一化后的坐标范围为 (0.0, 1.0)
- 居中坐标: uv - 0.5
将坐标原点移到中心
- 对称坐标: abs(uv - 0.5)
创建对称效果
- 重复坐标: fract(uv * scale)
创建重复图案
- 创建渐变效果
- 绘制几何图形
- 纹理映射
- 图案生成
1. 尝试使用UV坐标绘制简单图形(圆形、矩形)
2. 实验不同的坐标变换
3. 创建重复的图案效果
4. 结合时间变量制作动画
- fract(x)
: 返回x的小数部分
- abs(x)
: 绝对值函数
- step(edge, x)
: 阶跃函数
- smoothstep(edge0, edge1, x)
: 平滑阶跃函数