双色矩形分割
6 / 15
📝 练习目标
利用 if 条件将屏幕区域分为左右两色,掌握片元判断逻辑。
💡 💡 教程内容
利用 if 条件将屏幕区域分为左右两色,掌握片元判断逻辑。
概览
- 使用 UV 作为因子实现水平渐变。
学习目标
- 理解如何在GLSL中使用
if条件语句。 - 学习根据UV坐标的x值分割屏幕。
- 掌握为不同区域分配不同颜色的方法。
前置知识
- uv-coordinates
- solid-color
关键概念
- 水平渐变使用 0-1 因子(通常来自 UV)来混合颜色。
float t = vUv.x;
vec3 color = vec3(t);
- 把因子限制在
[0,1]。
t = clamp(t, 0.0, 1.0);
如何实现(步骤)
- 判断 vUv.x 是否小于 0.5
- 如果是,赋值左侧颜色;否则赋值右侧颜色
- 输出最终颜色
自检
- 是否能无错误编译?
- 输出是否符合目标?
- 关键数值是否在
[0,1]?
常见坑
- 如果画面全黑,检查遮罩/因子是否一直为 0。