双色混合渐变
22 / 30
通过线性插值在屏幕上实现从左至右的双色渐变效果,掌握 GLSL 中的混合与 UV 坐标基础。
这是模块一的综合练习。你已经知道 UV 坐标和 mix 函数,现在把它们组合起来,用 vUv.x 驱动两种颜色的水平渐变。
回顾:mix 的用法
t = 0.0→ 完全是 colorAt = 1.0→ 完全是 colorBt用vUv.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 就是从下到上的渐变。