Add a preview for 2d array textures. Bind gl textures according to texture type rather than hardcoded assumptions, making it more consistent with the other rendering APIs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5839 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
ff4b88dd45
commit
2538e37e28
12 changed files with 113 additions and 107 deletions
|
@ -17,6 +17,7 @@ char shaders[][64] =
|
|||
"crepuscular_sky",
|
||||
"depthonly",
|
||||
"default2d",
|
||||
"default2danim",
|
||||
"defaultadditivesprite",
|
||||
"defaultskin",
|
||||
"defaultsky",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
!!ver 100-450
|
||||
!!samps 1
|
||||
!!samps img=0
|
||||
|
||||
//this shader is present for support for gles/gl3core contexts
|
||||
//it is single-texture-with-vertex-colours, and doesn't do anything special.
|
||||
|
@ -26,7 +26,7 @@ void main ()
|
|||
#ifdef PREMUL
|
||||
f.rgb *= f.a;
|
||||
#endif
|
||||
f *= texture2D(s_t0, tc);
|
||||
f *= texture2D(s_img, tc);
|
||||
gl_FragColor = f;
|
||||
}
|
||||
#endif
|
||||
|
|
36
engine/shaders/glsl/default2danim.glsl
Normal file
36
engine/shaders/glsl/default2danim.glsl
Normal file
|
@ -0,0 +1,36 @@
|
|||
!!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
|
Loading…
Add table
Add a link
Reference in a new issue