fteqw/engine/shaders/glsl/default2danim.glsl

37 lines
754 B
GLSL

!!ver 300-450
!!samps anim:2DArray=0
#include "sys/defs.h"
//this shader is present for support for gles/gl3core contexts
//it is single-texture-with-vertex-colours, and doesn't do anything special.
//beware that a few things use this, including apparently fonts and bloom rescaling.
//its really not meant to do anything special.
varying vec2 tc;
varying vec4 vc;
#ifdef VERTEX_SHADER
void main ()
{
tc = v_texcoord;
vc = v_colour;
gl_Position = ftetransform();
}
#endif
#ifdef FRAGMENT_SHADER
void main ()
{
//figure out which frame to use.
ivec3 sz = textureSize(s_anim, 0);
float layer = mod(e_time*10, sz.z-1);
vec4 f = vc;
#ifdef PREMUL
f.rgb *= f.a;
#endif
f *= texture(s_anim, vec3(tc, layer));
gl_FragColor = f;
}
#endif