//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ // //=============================================================================// #include "render_pch.h" #include "draw.h" #include "decal.h" #include "gl_cvars.h" #include "view.h" #include "screen.h" #include "gl_matsysiface.h" #include "cdll_int.h" #include "materialsystem/imesh.h" #include "materialsystem/imaterial.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" Vector g_CurrentViewOrigin(0, 0, 0), g_CurrentViewForward(1, 0, 0), g_CurrentViewRight(0, -1, 0), g_CurrentViewUp(0, 0, 1); Vector g_MainViewOrigin[ MAX_SPLITSCREEN_CLIENTS ]; Vector g_MainViewForward[ MAX_SPLITSCREEN_CLIENTS ]; Vector g_MainViewRight[ MAX_SPLITSCREEN_CLIENTS ]; Vector g_MainViewUp[ MAX_SPLITSCREEN_CLIENTS ]; class CInitMainView { public: CInitMainView() { for ( int i = 0 ; i < MAX_SPLITSCREEN_CLIENTS; ++i ) { g_MainViewOrigin[ i ] = vec3_origin; g_MainViewForward[ i ] = Vector( 1, 0, 0 ); g_MainViewRight[ i ] = Vector( 0, -1, 0 ); g_MainViewUp[ i ] = Vector( 0, 0, 1 ); } } }; CInitMainView g_InitMainView; //----------------------------------------------------------------------------- // Purpose: // Input : *pMaterial - //----------------------------------------------------------------------------- void GL_UnloadMaterial( IMaterial *pMaterial ) { if ( pMaterial ) { pMaterial->DecrementReferenceCount(); } } //----------------------------------------------------------------------------- // Purpose: // Input : *pName - // Output : IMaterial //----------------------------------------------------------------------------- static IMaterial *GL_LoadMaterialNoRef( const char *pName, const char *pTextureGroupName ) { IMaterial *material = NULL; if ( mat_loadtextures.GetInt() ) { material = materials->FindMaterial( pName, pTextureGroupName ); } else { material = g_materialEmpty; } return material; } //----------------------------------------------------------------------------- // Purpose: // Input : *pName - // Output : IMaterial //----------------------------------------------------------------------------- IMaterial *GL_LoadMaterial( const char *pName, const char *pTextureGroupName, bool bPrecache ) { IMaterial *material; material = GL_LoadMaterialNoRef( pName, pTextureGroupName ); if ( material ) { material->IncrementReferenceCount(); if ( bPrecache ) { // forces the material to finalize its load material->GetMappingWidth(); } } return material; }