在opengl中,当我们需要某种动画时,序列帧动画无疑是最简单的
这段shader虽然简单,但还是分享出来
vert
uniform int offset;
uniform int wcount;
uniform int hcount;
uniform int allcount;
void main()
{
gl_Position = ftransform();
int index = offset;
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_TexCoord[0].x = mod(index, wcount) * 1.0 / wcount + gl_TexCoord[0].x / wcount;
gl_TexCoord[0].y = (hcount - 1 - index/wcount) * 1.0 / hcount + gl_TexCoord[0].y / hcount;
} \n";
frag
uniform sampler2D baseTexture;
void main()
{ \n"
vec4 color = texture2D(baseTexture, gl_TexCoord[0].xy);
gl_FragColor = color;
}
这里我们只修改了纹理坐标
我们需要的图片类似这样