Shader Learn

02 用数学画形状

fwidth:任何缩放都清晰的边

左边用固定宽度,右边用 fwidth。放大坐标,比较两边。

固定宽度fwidth
160
0.0010.1

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

JS 这一侧gl.uniform2f(uResolution, …, …)

fwidth(d) 是相邻像素之间 d 的变化量;用它当 smoothstep 的宽度,任何缩放下边缘都是 1 像素柔和。

试一试

  • 把缩放拉到 40,比较左右两半
  • 把左边的固定宽度调大,远处变糊;调小,近处出锯齿