GLSL 效果示例

摩尔纹:让两层细线叠出缓慢移动的大条带

只旋转其中一层,观察大条纹方向和周期如何改变。

在线示例

修改右侧代码,左侧预览会实时更新。

观察什么

只旋转其中一层,观察大条纹方向和周期如何改变。

实现原理

两个接近的高频方向相乘,差频形成可见的大条带。过细条纹会混叠,可调低频率检查。

找到控制效果的代码

vec2 q=rot(.01+.12*u_parameter)*p;float a=sin(p.x*180.),b=sin(q.x*180.+u_time*.2);c=vec3(.5+.5*a*b);

动手修改

把 p.x*180. 和 q.x*180. 的两处频率都降到 90.。细线会更容易分辨,在相同旋转角度下,大尺度干涉条带的间距也会增大。

调试与成本

该图案直接相乘两路正弦信号,没有过滤小于像素的细节。把旋转表达式 .01+.12*u_parameter 设为 0. 并暂停时间,去掉角度差后,大尺度斜向拍频条带会消失。

用到的内置函数

一步步学会这个效果