棋盘格图案

1 / 6

📝 练习目标

结合 mod() 函数与 floor(),生成黑白相间的棋盘格纹理。

💡 💡 教程内容

学习目标

你将掌握如何使用 floor()mod() 结合生成棋盘格图案,理解 UV 空间与离散网格的关系。

---

核心概念详解

1. UV 坐标划分为网格

为了生成规律图案,我们先将 vUv 映射为 8×8 网格:

`glsl

float x = floor(vUv.x * 8.0);

float y = floor(vUv.y * 8.0);

`

floor() 将浮点值向下取整,得到每个格子的行列编号。

---

2. 黑白交错规则

我们希望让相邻格子颜色不同:

`glsl

float pattern = mod(x + y, 2.0);

`

- 当 (x + y) 为偶数 → 结果为 0 → 白色

- 为奇数 → 结果为 1 → 黑色

---

3. 输出颜色

根据 pattern 值切换颜色:

`glsl

vec3 color = mix(vec3(1.0), vec3(0.0), pattern);

`

生成一个交错排列的棋盘格纹理。

GLSL 代码编辑器

正确代码预览

当前代码预览