Shader Learn

12 从画面到配方

五层配方:从画面到代码

几乎所有 2D shader 都能拆成五层:坐标、形状、边缘、着色、时间。每一层换一个选项,看画面怎样变。

习题调参数0%

看目标图,逐层判断:坐标怎么变了?什么形状?实心还是描边?颜色按什么变?

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

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

看图时依次问五个问题:① 坐标怎样变换?② 到形状的距离是什么?③ 距离怎样变成明暗?④ 颜色从哪来?⑤ 什么在动?每个回答都只是一两行代码。

试一试

  • 每次只换一层,说出画面上哪里变了
  • 打开像素调试,在“画面显示”里选 d:形状层算出的只是一张距离图
  • 把坐标换成“重复”,再换形状:坐标层和形状层互不影响