mirror of
https://github.com/nzp-team/fteqw.git
synced 2024-11-29 23:22:01 +00:00
do not assume alpha test works (because it does not in gles2 / core).
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4300 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
1d3f52ac87
commit
20a338b0f6
5 changed files with 19 additions and 5 deletions
|
@ -2383,7 +2383,7 @@ static void BE_SendPassBlendDepthMask(unsigned int sbits)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef GL_ALPHA_TEST //alpha test doesn't exist in gles2
|
#ifdef GL_ALPHA_TEST //alpha test doesn't exist in gles2
|
||||||
if (delta & SBITS_ATEST_BITS)
|
if ((delta & SBITS_ATEST_BITS) && !gl_config.nofixedfunc)
|
||||||
{
|
{
|
||||||
switch (sbits & SBITS_ATEST_BITS)
|
switch (sbits & SBITS_ATEST_BITS)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4383,7 +4383,11 @@ void * RMod_LoadSpriteFrame (void * pin, mspriteframe_t **ppframe, int framenum,
|
||||||
Q_strncatz(name, va("_%i.tga", framenum), sizeof(name));
|
Q_strncatz(name, va("_%i.tga", framenum), sizeof(name));
|
||||||
pspriteframe->shader = R_RegisterShader(name,
|
pspriteframe->shader = R_RegisterShader(name,
|
||||||
"{\n"
|
"{\n"
|
||||||
|
"if gl_blendsprites\n"
|
||||||
"program defaultsprite\n"
|
"program defaultsprite\n"
|
||||||
|
"else\n"
|
||||||
|
"program defaultsprite#MASK=1\n"
|
||||||
|
"endif\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"map $diffuse\n"
|
"map $diffuse\n"
|
||||||
"alphafunc ge128\n"
|
"alphafunc ge128\n"
|
||||||
|
|
|
@ -860,7 +860,12 @@ YOU SHOULD NOT EDIT THIS FILE BY HAND
|
||||||
"uniform vec4 e_colourident;\n"
|
"uniform vec4 e_colourident;\n"
|
||||||
"void main ()\n"
|
"void main ()\n"
|
||||||
"{\n"
|
"{\n"
|
||||||
"gl_FragColor = fog4blend(texture2D(s_t0, tc) * vc * e_colourident);\n"
|
"vec4 col = texture2D(s_t0, tc);\n"
|
||||||
|
"#ifdef MASK\n"
|
||||||
|
"if (col.a < 0.5)\n"
|
||||||
|
"discard;\n"
|
||||||
|
"#endif\n"
|
||||||
|
"gl_FragColor = fog4blend(col * vc * e_colourident);\n"
|
||||||
"}\n"
|
"}\n"
|
||||||
"#endif\n"
|
"#endif\n"
|
||||||
},
|
},
|
||||||
|
|
|
@ -529,7 +529,7 @@ char *PR_ValueString (progfuncs_t *progfuncs, etype_t type, eval_t *val)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ev_field:
|
case ev_field:
|
||||||
fielddef = ED_FieldAtOfs (progfuncs, val->_int );
|
fielddef = ED_FieldAtOfs (progfuncs, val->_int + progfuncs->funcs.fieldadjust);
|
||||||
if (!fielddef)
|
if (!fielddef)
|
||||||
sprintf (line, ".??? (%i)", val->_int);
|
sprintf (line, ".??? (%i)", val->_int);
|
||||||
else
|
else
|
||||||
|
|
|
@ -22,6 +22,11 @@ varying vec4 vc;
|
||||||
uniform vec4 e_colourident;
|
uniform vec4 e_colourident;
|
||||||
void main ()
|
void main ()
|
||||||
{
|
{
|
||||||
gl_FragColor = fog4blend(texture2D(s_t0, tc) * vc * e_colourident);
|
vec4 col = texture2D(s_t0, tc);
|
||||||
|
#ifdef MASK
|
||||||
|
if (col.a < 0.5)
|
||||||
|
discard;
|
||||||
|
#endif
|
||||||
|
gl_FragColor = fog4blend(col * vc * e_colourident);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue