mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-17 02:11:35 +00:00
55e53b796d
The plan is to do interpolated sprites based on a discussion I had with LordHavoc about them: blending between the two sprite frames. He didn't mention it, but it looks like blending between the sprite frames' verts is necessary too.
25 lines
556 B
GLSL
25 lines
556 B
GLSL
uniform sampler2D spritea;
|
|
uniform sampler2D spriteb;
|
|
uniform sampler2D palette;
|
|
varying float blend;
|
|
varying vec4 colora, colorb;
|
|
varying vec2 sta, stb;
|
|
|
|
void
|
|
main (void)
|
|
{
|
|
float pixa, pixb;
|
|
vec4 cola, colb;
|
|
vec4 col;
|
|
|
|
pixa = texture2D (spritea, sta).r;
|
|
pixb = texture2D (spriteb, stb).r;
|
|
if (pixa == 1.0 && pixb == 1.0)
|
|
discard;
|
|
cola = texture2D (palette, vec2 (pixa, 0.5)) * colora;
|
|
colb = texture2D (palette, vec2 (pixb, 0.5)) * colorb;
|
|
col = mix (cola, colb, blend);
|
|
if (col.a == 0.0)
|
|
discard;
|
|
gl_FragColor = col;
|
|
}
|