mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-29 06:07: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 )
|
if ( diff & GLS_ATEST_BITS )
|
||||||
{
|
{
|
||||||
switch ( stateBits & GLS_ATEST_BITS )
|
switch (stateBits & GLS_ATEST_BITS)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
qglDisable( GL_ALPHA_TEST );
|
qglDisable(GL_ALPHA_TEST);
|
||||||
break;
|
break;
|
||||||
case GLS_ATEST_GT_0:
|
case GLS_ATEST_GT_0:
|
||||||
qglEnable( GL_ALPHA_TEST );
|
qglEnable(GL_ALPHA_TEST);
|
||||||
qglAlphaFunc( GL_GREATER, 0.0f );
|
qglAlphaFunc(GL_GREATER, 0.05f);
|
||||||
break;
|
break;
|
||||||
case GLS_ATEST_LT_80:
|
case GLS_ATEST_LT_80:
|
||||||
qglEnable( GL_ALPHA_TEST );
|
qglEnable(GL_ALPHA_TEST);
|
||||||
qglAlphaFunc( GL_LESS, 0.5f );
|
qglAlphaFunc(GL_LESS, 0.5f);
|
||||||
break;
|
break;
|
||||||
case GLS_ATEST_GE_80:
|
case GLS_ATEST_GE_80:
|
||||||
qglEnable( GL_ALPHA_TEST );
|
qglEnable(GL_ALPHA_TEST);
|
||||||
qglAlphaFunc( GL_GEQUAL, 0.5f );
|
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;
|
break;
|
||||||
default:
|
default:
|
||||||
assert( 0 );
|
assert(0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (diff & GLS_CLAMP_EDGE)
|
if (diff & GLS_CLAMP_EDGE)
|
||||||
{
|
{
|
||||||
float clampValue;
|
float clampValue;
|
||||||
|
|
|
@ -1690,8 +1690,12 @@ void GL_Cull( int cullType );
|
||||||
|
|
||||||
#define GLS_ATEST_GT_0 0x10000000
|
#define GLS_ATEST_GT_0 0x10000000
|
||||||
#define GLS_ATEST_LT_80 0x20000000
|
#define GLS_ATEST_LT_80 0x20000000
|
||||||
#define GLS_ATEST_GE_80 0x40000000
|
#define GLS_ATEST_GE_80 0x30000000
|
||||||
#define GLS_ATEST_BITS 0x70000000
|
#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
|
#define GLS_DEFAULT GLS_DEPTHMASK_TRUE
|
||||||
|
|
||||||
|
|
|
@ -200,6 +200,22 @@ static unsigned NameToAFunc( const char *funcname )
|
||||||
{
|
{
|
||||||
return GLS_ATEST_GE_80;
|
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 );
|
ri.Printf( PRINT_WARNING, "WARNING: invalid alphaFunc name '%s' in shader '%s'\n", funcname, shader.name );
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue