GLSL 效果示例
残影拖尾:让运动光点留下会衰减的轨迹
停止运动后旧轨迹继续衰减;上一帧决定下一帧。
在线示例
修改右侧代码,左侧预览会实时更新。
观察什么
停止运动后旧轨迹继续衰减;上一帧决定下一帧。
实现原理
每帧读取上一张轨迹图、衰减后加入新亮点,再交换读写目标。暂停会冻结状态,重置代码会清空历史。
找到控制效果的代码
c=texture2D(u_trail,uv).rgb;
u_trail 标签同时负责历史衰减与新亮点,Fragment 只显示累积的 RGB。把 u_trail 的光源颜色 vec3(.2,.65,1.) 改为 vec3(1.,.2,.1),即可从重新创建的状态生成暖色拖尾。
动手修改
把效果参数从 0 调到 1,保留比例 .92+.06*u_parameter 会从 0.92 变成 0.98。较高值会让运动光点留下维持更久的拖尾。
调试与成本
u_trail 读取一次前一目标,加上当前亮点后交换目标;每帧对应一次衰减。把亮点衰减系数 180. 改为 90.,注入点和拖尾都会变宽,不增加历史采样次数。