2016-07-26 123 views
2

我需要您在片段着色器中实现缓慢拖动效果的帮助。例如我有DOF效果,这是由鼠标控制的。变化的x,y位置吸引了变量深度的变化。GLSL中的平滑过渡

depth = linearize(texture(dofTexture,vec2 mouse).x) 

如何减慢鼠标即时变化时的深度变化?换句话说,如何平滑状态到片段着色器之间的转换?我需要使用外部制服吗?

回答

1

您可以在可以决定为“关键帧”之间使用线性插值。你只需要从上一个关键帧(0和1之间)开始的时间以及它的相关纹理(时间和纹理因此是额外的制服)。

然后你的片段的颜色就像mix(keyframe_color, actual_color, elapsed_time)(线性插值只是一个c = (t - 1) * a + t * b