用 pow() 调整对比度

4 / 30
对渐变值使用 pow() 改变曲线,调整对比度。

渐变因子 t 默认是线性的,pow(t, n) 可以弯曲这条曲线,让渐变变快或变慢。


pow 怎么改变曲线

pow(t, n) 对 0~1 的值做指数运算:

  • n = 1.0:原样,线性渐变
  • n = 2.0:开头慢,结尾快(更多深色)
  • n = 0.5:开头快,结尾慢(更多亮色)

vUv.x 是线性的 0→1,pow(vUv.x, 2.0) 让同样的距离里,浅色部分更少,深色更多。


试着改一改

改变指数 n,感受曲线的变化:

n效果
0.5渐变偏亮
1.0线性(默认)
2.0渐变偏暗
4.0明暗对比更强

练习

练习代码里 t = 0.0(全黑)。用 pow(vUv.x, 2.0) 计算 t,看渐变曲线和线性有什么不同。

答案解析

pow(vUv.x, 2.0) = vUv.x * vUv.x,把线性 0→1 压成二次曲线。视觉上,渐变的起始段颜色变化很慢,接近 1 的地方变化很快。

把指数从 2.0 改成 0.5(等于 sqrt(vUv.x)),曲线反过来,起始变化快,结尾变化慢。

GLSL 代码编辑器

正确代码预览

当前代码预览