Shader Learn

11 常见陷阱与调试

精度:float 不是无限的

先给坐标加一个大数,再取小数部分。数学上结果不变,GPU 上却会变。

07

每个像素运行一次拖动数字,或直接改代码

float 只有约 7 位有效数字:大数加小数,小数部分会丢失。页面开得越久,uTime 越大。

试一试

  • 把数量级拉到 6,锯齿波变成台阶
  • 拉到 7,几乎没有渐变
  • 在手机上,mediump 往往在 3~4 就出问题