第 40 课:Sprite Animation
我的解:唯一区别是 float y = mod(floor(frame / 2.0), 4.0);他多做了个mod4。
我的解
uniform vec2 iResolution;
uniform float iTime;
uniform sampler2D iChannel0;
void main() {
// Normalized pixel coordinates (from 0 to 1)
vec2 uv = gl_FragCoord.xy / iResolution.xy;
vec2 ratio = vec2(iResolution.x/iResolution.y, 1.0);
vec2 cr = vec2(2.0,4.0);
float framerate = 10.0;
float t = mod(iTime*framerate,8.0);
vec4 color = texture(iChannel0,(uv+vec2(int(mod(t,2.0)), int(floor(t / 2.0))))/cr);
gl_FragColor = color;
}
复盘笔记
- 唯一区别是 float y = mod(floor(frame / 2.0), 4.0);他多做了个mod4。
- 总帧数是 8,防止越界
- ==记录时间: 5月23日 2025, 04:35 凌晨==