12 从画面到配方
五层配方:从画面到代码
几乎所有 2D shader 都能拆成五层:坐标、形状、边缘、着色、时间。每一层换一个选项,看画面怎样变。
习题调参数
看目标图,逐层判断:坐标怎么变了?什么形状?实心还是描边?颜色按什么变?
每个像素运行一次拖动数字,或直接改代码
JS 这一侧
gl.uniform2f(uResolution, …, …)看图时依次问五个问题:① 坐标怎样变换?② 到形状的距离是什么?③ 距离怎样变成明暗?④ 颜色从哪来?⑤ 什么在动?每个回答都只是一两行代码。
试一试
- 每次只换一层,说出画面上哪里变了
- 打开像素调试,在“画面显示”里选 d:形状层算出的只是一张距离图
- 把坐标换成“重复”,再换形状:坐标层和形状层互不影响