GLSL 效果示例

等离子流光

经典的等离子效果:把几条正弦波叠加,再用余弦调色板映射成颜色。

在线示例

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

工作原理

每一行 sin(...) 都是一组在屏幕上移动的平行条带:一组横向、一组纵向、一组斜向,还有一组是围绕中心的圆环(length(p))。每组的速度都稍有不同。

把它们加在一起,条带就会互相干涉:波峰重叠的地方值变大,互相抵消的地方值变小。这种干涉就是那种自然流动、打着旋的感觉的来源。除以 4 让总和保持在 -1 到 1 之间。

颜色那一行是余弦调色板。同一个值 v 送进三条余弦波,每个通道一条,各自错开三分之一个周期。v 平滑变化时,颜色就平滑地走过整个色谱。

试着改一改

修改效果
所有 4.0 改成 10.0条带更细更密
删掉 length(p) 那一行没有圆环,变成更直、更像网格的等离子
vec3(0.0, 0.33, 0.67) 改成 vec3(0.0, 0.1, 0.2)红、橙、紫的暖色调色板
u_time * 0.8 改成 u_time * 0.2缓慢、平静的流动

用到的内置函数

一步步学会这个效果