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 | 缓慢、平静的流动 |