GLSL 中的平滑过渡
Smooth transition in GLSL
关于在片段着色器中实现慢速过渡效果,我需要你的帮助。例如,我有由鼠标控制的 DOF 效果。 x,y 位置的变化吸引变量深度的变化。
depth = linearize(texture(dofTexture,vec2 mouse).x)
如何在鼠标瞬间变化时减慢深度的变化?换句话说,如何使状态之间的过渡平滑到片段着色器中?我需要穿校服吗?
您可以在您确定的 "keyframes" 之间使用线性插值。您只需要自上一个关键帧(0 到 1 之间)以来的时间及其关联的纹理(时间和纹理因此是额外的制服)。
然后你的片段的颜色会像mix(keyframe_color, actual_color, elapsed_time)
(线性插值只是c = (t - 1) * a + t * b
)
关于在片段着色器中实现慢速过渡效果,我需要你的帮助。例如,我有由鼠标控制的 DOF 效果。 x,y 位置的变化吸引变量深度的变化。
depth = linearize(texture(dofTexture,vec2 mouse).x)
如何在鼠标瞬间变化时减慢深度的变化?换句话说,如何使状态之间的过渡平滑到片段着色器中?我需要穿校服吗?
您可以在您确定的 "keyframes" 之间使用线性插值。您只需要自上一个关键帧(0 到 1 之间)以来的时间及其关联的纹理(时间和纹理因此是额外的制服)。
然后你的片段的颜色会像mix(keyframe_color, actual_color, elapsed_time)
(线性插值只是c = (t - 1) * a + t * b
)