1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Responsible for drawing the scene
//
// $NoKeywords: $
//=============================================================================
#include "cbase.h"
#include "iviewrender.h"
#include "view_shared.h"
#include "tf_viewrender.h"
#include "viewpostprocess.h"
#include <game/client/iviewport.h>
#include "clienteffectprecachesystem.h"
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
CLIENTEFFECT_REGISTER_BEGIN( PrecachePostProcessingGlowEffects )
CLIENTEFFECT_MATERIAL( "dev/glow_blur_x" )
CLIENTEFFECT_MATERIAL( "dev/glow_blur_y" )
CLIENTEFFECT_MATERIAL( "dev/glow_color" )
CLIENTEFFECT_MATERIAL( "dev/glow_downsample" )
CLIENTEFFECT_MATERIAL( "dev/halo_add_to_screen" )
CLIENTEFFECT_REGISTER_END()
static CTFViewRender g_ViewRender;
CTFViewRender::CTFViewRender()
{
view = ( IViewRender * )this;
}
struct ConVarFlags
{
const char *name;
int flags;
const char *optional_default;
};
ConVarFlags s_flaggedConVars[] =
{
{ "r_screenfademinsize", FCVAR_CHEAT, "0" },
{ "r_screenfademaxsize", FCVAR_CHEAT, "0" },
{ "mat_dxlevel", FCVAR_SPONLY, NULL },
};
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
void CTFViewRender::Init()
{
for ( int i=0; i<ARRAYSIZE( s_flaggedConVars ); ++i )
{
ConVar *flaggedConVar = cvar->FindVar( s_flaggedConVars[i].name );
if ( flaggedConVar )
{
flaggedConVar->AddFlags( s_flaggedConVars[i].flags );
if ( s_flaggedConVars[i].optional_default )
{
flaggedConVar->SetDefault( s_flaggedConVars[i].optional_default );
flaggedConVar->Revert();
}
}
}
BaseClass::Init();
}
//-----------------------------------------------------------------------------
// Purpose: Renders extra 2D effects in derived classes while the 2D view is on the stack
//-----------------------------------------------------------------------------
void CTFViewRender::Render2DEffectsPostHUD( const CViewSetup &viewTF )
{
BaseClass::Render2DEffectsPostHUD( viewTF );
#if defined( _X360 )
// if we're in the intro menus
if ( gViewPortInterface->GetActivePanel() != NULL )
{
DoEnginePostProcessing( viewTF.x, viewTF.y, viewTF.width, viewTF.height, false, true );
}
#endif //_X360
}
|