GLSL中的平滑过渡

时间:2016-07-26 21:26:36

标签: opengl glsl shader fragment-shader

我需要你在片段着色器中实现慢速传输效果的帮助。例如,我的DOF效果由鼠标控制。 x,y位置的变化吸引变量深度的变化。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

相关问题