mirror of
https://github.com/FWGS/xash3d-fwgs.git
synced 2026-08-05 03:24:56 +08:00
engine: replace hardcoded pvs radius value by a r_pvs_radius cvar
This commit is contained in:
@@ -19,6 +19,7 @@ CVAR_DEFINE_AUTO( gl_clear, "0", FCVAR_ARCHIVE, "clearing screen after each fram
|
||||
CVAR_DEFINE_AUTO( r_showtree, "0", FCVAR_ARCHIVE, "build the graph of visible BSP tree" );
|
||||
static CVAR_DEFINE_AUTO( r_refdll, "", FCVAR_RENDERINFO, "choose renderer implementation, if supported" );
|
||||
static CVAR_DEFINE_AUTO( r_refdll_loaded, "", FCVAR_READ_ONLY, "currently loaded renderer" );
|
||||
static CVAR_DEFINE_AUTO( r_pvs_radius, "2.0", FCVAR_ARCHIVE, "increase amount of potentially visible leaves by this radius" );
|
||||
|
||||
// there is no need to expose whole host and cl structs into the renderer
|
||||
// but we still need to update timings accurately as possible
|
||||
@@ -690,6 +691,7 @@ qboolean R_Init( void )
|
||||
Cvar_RegisterVariable( &r_showtree );
|
||||
Cvar_RegisterVariable( &r_refdll );
|
||||
Cvar_RegisterVariable( &r_refdll_loaded );
|
||||
Cvar_RegisterVariable( &r_pvs_radius );
|
||||
|
||||
// cvars that are expected to exist
|
||||
Cvar_Get( "r_speeds", "0", FCVAR_ARCHIVE, "shows renderer speeds" );
|
||||
|
||||
@@ -31,7 +31,6 @@ GNU General Public License for more details.
|
||||
#define SETVISBIT( vis, b )( void ) ((b) >= 0 ? (byte)((vis)[(b) >> 3] |= (1 << ((b) & 7))) : (byte)false )
|
||||
#define CLEARVISBIT( vis, b )( void ) ((b) >= 0 ? (byte)((vis)[(b) >> 3] &= ~(1 << ((b) & 7))) : (byte)false )
|
||||
|
||||
#define REFPVS_RADIUS 2.0f // radius for rendering
|
||||
#define FATPVS_RADIUS 8.0f // FatPVS use radius smaller than the FatPHS
|
||||
#define FATPHS_RADIUS 8.0f // see SV_AddToFatPAS in GoldSrc
|
||||
|
||||
|
||||
@@ -701,6 +701,7 @@ typedef int (*REFAPI)( int version, ref_interface_t *pFunctionTable, ref_api_t*
|
||||
ENGINE_SHARED_CVAR( f, r_drawviewmodel ) \
|
||||
ENGINE_SHARED_CVAR( f, r_glowshellfreq ) \
|
||||
ENGINE_SHARED_CVAR( f, host_allow_materials ) \
|
||||
ENGINE_SHARED_CVAR( f, r_pvs_radius ) \
|
||||
|
||||
#define DECLARE_ENGINE_SHARED_CVAR_LIST() \
|
||||
ENGINE_SHARED_CVAR_LIST( DECLARE_ENGINE_SHARED_CVAR )
|
||||
|
||||
@@ -3739,8 +3739,9 @@ void R_MarkLeaves( void )
|
||||
if( r_novis.value || RI.drawOrtho || !RI.viewleaf || !WORLDMODEL->visdata )
|
||||
novis = true;
|
||||
|
||||
gEngfuncs.R_FatPVS( RI.pvsorigin, REFPVS_RADIUS, RI.visbytes, FBitSet( RI.params, RP_OLDVIEWLEAF ), novis );
|
||||
if( force && !novis ) gEngfuncs.R_FatPVS( test, REFPVS_RADIUS, RI.visbytes, true, novis );
|
||||
gEngfuncs.R_FatPVS( RI.pvsorigin, r_pvs_radius->value, RI.visbytes, FBitSet( RI.params, RP_OLDVIEWLEAF ), novis );
|
||||
if( force && !novis )
|
||||
gEngfuncs.R_FatPVS( test, r_pvs_radius->value, RI.visbytes, true, novis );
|
||||
|
||||
for( i = 0; i < WORLDMODEL->numleafs; i++ )
|
||||
{
|
||||
|
||||
@@ -1156,7 +1156,7 @@ static void R_MarkLeaves( void )
|
||||
tr.visframecount++;
|
||||
r_oldviewcluster = r_viewcluster;
|
||||
|
||||
gEngfuncs.R_FatPVS( RI.pvsorigin, REFPVS_RADIUS, RI.visbytes, FBitSet( RI.params, RP_OLDVIEWLEAF ), false );
|
||||
gEngfuncs.R_FatPVS( RI.pvsorigin, r_pvs_radius->value, RI.visbytes, FBitSet( RI.params, RP_OLDVIEWLEAF ), false );
|
||||
vis = RI.visbytes;
|
||||
|
||||
for( i = 0; i < WORLDMODEL->numleafs; i++ )
|
||||
|
||||
Reference in New Issue
Block a user