37 lines
754 B
Text
37 lines
754 B
Text
|
!!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
|