颜色混合渐变
10 / 15
📝 练习目标
通过 mix() 函数在红蓝两色之间实现水平渐变,帮助理解线性插值。
💡 💡 教程内容
通过 mix() 函数在红蓝两色之间实现水平渐变,帮助理解线性插值。
概览
- 使用 UV 作为因子实现水平渐变。
学习目标
- 深入理解
mix(colorA, colorB, factor)函数如何根据因子在两种颜色之间进行插值。 - 学习使用UV坐标的x分量作为
mix函数的插值因子。 - 掌握创建从一种指定颜色平滑过渡到另一种指定颜色的渐变效果。
- 能够调整插值因子来改变渐变的过渡方式。
前置知识
- basic-color-blend
- uv-coordinates
关键概念
- 水平渐变使用 0-1 因子(通常来自 UV)来混合颜色。
float t = vUv.x;
vec3 color = mix(colorA, colorB, t);
- 把因子限制在
[0,1]。
t = clamp(t, 0.0, 1.0);
如何实现(步骤)
- 定义 colorA 为红色
- 定义 colorB 为蓝色
- 使用 vUv.x 作为混合因子
- 使用 mix 函数进行颜色插值
- 输出最终颜色
自检
- 是否能无错误编译?
- 输出是否符合目标?
- 关键数值是否在
[0,1]?
常见坑
- 必要时把
t用 clamp 限制到[0,1]。