双色混合渐变

22 / 30
通过线性插值在屏幕上实现从左至右的双色渐变效果,掌握 GLSL 中的混合与 UV 坐标基础。

这是模块一的综合练习。你已经知道 UV 坐标和 mix 函数,现在把它们组合起来,用 vUv.x 驱动两种颜色的水平渐变。


回顾:mix 的用法

  • t = 0.0 → 完全是 colorA
  • t = 1.0 → 完全是 colorB
  • tvUv.x → 左边是 colorA,右边是 colorB

这个练习用的是 vUv

注意这里不需要自己计算 UV,顶点着色器已经把归一化坐标传进来了:

直接用 vUv.x 就行,不需要 gl_FragCoord / u_resolution


练习

练习代码里 blendedColor 直接被设成了 color1(全红)。把它改成用 mix(color1, color2, vUv.x) 计算,让画面从左边红色渐变到右边绿色

答案解析

vUv.x 从左到右是 0 → 1。mix 在这两个颜色之间按比例插值,左边全是 color1(红),右边全是 color2(绿),中间是过渡色。

这个模式可以扩展到任何两种颜色、任何方向。把 vUv.x 换成 vUv.y 就是从下到上的渐变。

GLSL 代码编辑器

正确代码预览

当前代码预览