硬边遮罩

8 / 10

📝 练习目标

通过 step() 函数构造一个具有明确边界的遮罩,掌握 GLSL 中的二值化处理。

💡 💡 教程内容

学习目标

你将学会如何使用 step() 函数,在屏幕上实现明确的“左右切割”效果。这是图形遮罩、逻辑判断、硬边 UI 效果的基础。

---

核心概念详解

1. step(edge, x)

这是一个非常有用的二值函数,用来判断某个值是否“超过边界”。

`glsl

float result = step(edge, x);

`

- 如果 x < edge,返回 0.0

- 如果 x >= edge,返回 1.0

---

2. 构造一条垂直分界线

我们使用 vUv.x 表示横向位置:

`glsl

float mask = step(0.5, vUv.x);

`

当像素在左边时(小于 0.5),mask 为 0;右边为 1。

---

3. 基于遮罩混合两种颜色

`glsl

vec3 color = mix(leftColor, rightColor, mask);

`

- 左半区域显示左色

- 右半区域显示右色

即可实现清晰的左右分割视觉。

GLSL 代码编辑器

正确代码预览

当前代码预览