mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
Added foliage AFunc
This commit is contained in:
parent
5e8b54be7e
commit
194d53569f
3 changed files with 48 additions and 14 deletions
|
@ -402,31 +402,45 @@ void GL_State( unsigned long stateBits )
|
|||
//
|
||||
if ( diff & GLS_ATEST_BITS )
|
||||
{
|
||||
switch ( stateBits & GLS_ATEST_BITS )
|
||||
switch (stateBits & GLS_ATEST_BITS)
|
||||
{
|
||||
case 0:
|
||||
qglDisable( GL_ALPHA_TEST );
|
||||
qglDisable(GL_ALPHA_TEST);
|
||||
break;
|
||||
case GLS_ATEST_GT_0:
|
||||
qglEnable( GL_ALPHA_TEST );
|
||||
qglAlphaFunc( GL_GREATER, 0.0f );
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_GREATER, 0.05f);
|
||||
break;
|
||||
case GLS_ATEST_LT_80:
|
||||
qglEnable( GL_ALPHA_TEST );
|
||||
qglAlphaFunc( GL_LESS, 0.5f );
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_LESS, 0.5f);
|
||||
break;
|
||||
case GLS_ATEST_GE_80:
|
||||
qglEnable( GL_ALPHA_TEST );
|
||||
qglAlphaFunc( GL_GEQUAL, 0.5f );
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_GEQUAL, 0.5f);
|
||||
break;
|
||||
case GLS_ATEST_LT_FOLIAGE1:
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_LESS, r_alpha_foliage1->value);
|
||||
break;
|
||||
case GLS_ATEST_GE_FOLIAGE1:
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_GEQUAL, r_alpha_foliage1->value);
|
||||
break;
|
||||
case GLS_ATEST_LT_FOLIAGE2:
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_LESS, r_alpha_foliage2->value);
|
||||
break;
|
||||
case GLS_ATEST_GE_FOLIAGE2:
|
||||
qglEnable(GL_ALPHA_TEST);
|
||||
qglAlphaFunc(GL_GEQUAL, r_alpha_foliage2->value);
|
||||
break;
|
||||
default:
|
||||
assert( 0 );
|
||||
assert(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (diff & GLS_CLAMP_EDGE)
|
||||
{
|
||||
float clampValue;
|
||||
|
@ -471,7 +485,7 @@ void GL_State( unsigned long stateBits )
|
|||
qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, clampValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (diff & GLS_FOG)
|
||||
{
|
||||
if (glState.externalSetState & GLS_FOG)
|
||||
|
|
|
@ -1690,8 +1690,12 @@ void GL_Cull( int cullType );
|
|||
|
||||
#define GLS_ATEST_GT_0 0x10000000
|
||||
#define GLS_ATEST_LT_80 0x20000000
|
||||
#define GLS_ATEST_GE_80 0x40000000
|
||||
#define GLS_ATEST_BITS 0x70000000
|
||||
#define GLS_ATEST_GE_80 0x30000000
|
||||
#define GLS_ATEST_LT_FOLIAGE1 0x40000000
|
||||
#define GLS_ATEST_GE_FOLIAGE1 0x50000000
|
||||
#define GLS_ATEST_LT_FOLIAGE2 0x60000000
|
||||
#define GLS_ATEST_GE_FOLIAGE2 0x70000000
|
||||
#define GLS_ATEST_BITS 0x70000000
|
||||
|
||||
#define GLS_DEFAULT GLS_DEPTHMASK_TRUE
|
||||
|
||||
|
|
|
@ -200,6 +200,22 @@ static unsigned NameToAFunc( const char *funcname )
|
|||
{
|
||||
return GLS_ATEST_GE_80;
|
||||
}
|
||||
else if ( !Q_stricmp( funcname, "LT_FOLIAGE1" ) )
|
||||
{
|
||||
return GLS_ATEST_LT_FOLIAGE1;
|
||||
}
|
||||
else if ( !Q_stricmp( funcname, "GE_FOLIAGE1" ) )
|
||||
{
|
||||
return GLS_ATEST_GE_FOLIAGE1;
|
||||
}
|
||||
else if ( !Q_stricmp( funcname, "LT_FOLIAGE2" ) )
|
||||
{
|
||||
return GLS_ATEST_LT_FOLIAGE2;
|
||||
}
|
||||
else if ( !Q_stricmp( funcname, "GE_FOLIAGE2" ) )
|
||||
{
|
||||
return GLS_ATEST_GE_FOLIAGE2;
|
||||
}
|
||||
|
||||
ri.Printf( PRINT_WARNING, "WARNING: invalid alphaFunc name '%s' in shader '%s'\n", funcname, shader.name );
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue