GLSL 着色器中的非循环动画

问题描述 投票:0回答:1

在 GLSL 中为looping值设置动画相当简单。

uniform float u_time;
out vec4 fragColor;

void main(){
  float val = sin(u_time);
  fragColor = vec4(val);
}

随着时间的推移,

val
的值的图表如下所示:

但是如果我们只想将动画制作一次、两次或三次怎么办?或者任意触发一些动画,例如,当用户单击屏幕时?

这样我们的

val
图表将如下所示:

[f

glsl
1个回答
0
投票

类似:

uniform float u_time;
out vec4 fragColor;

void main(){

  float val = sin(u_time);
  fragColor = vec4(val);
}
© www.soinside.com 2019 - 2024. All rights reserved.