//----------------------------------------------------------------------------- // Purpose: Called by the engine in material system init and shutdown. // Clients should override this in their inherited version, but the base // is to init all standard render targets for use. // Input : pMaterialSystem - the engine's material system (our singleton is not yet inited at the time this is called) // pHardwareConfig - the user hardware config, useful for conditional render target setup //----------------------------------------------------------------------------- void CBaseClientRenderTargets::SetupClientRenderTargets( IMaterialSystem* pMaterialSystem, IMaterialSystemHardwareConfig* pHardwareConfig, int iWaterTextureSize, int iCameraTextureSize ) { IMaterialSystem *pSave = materials; // Make sure our config is loaded before we try to init rendertargets ConfigureCurrentSystemLevel(); // Water effects materials = pMaterialSystem; // in case not initted yet for mat system util g_pMaterialSystem = pMaterialSystem; g_pMaterialSystemHardwareConfig = pHardwareConfig; if ( iWaterTextureSize && !cl_disable_water_render_targets.GetBool() ) { m_WaterReflectionTexture.Init( CreateWaterReflectionTexture( pMaterialSystem, iWaterTextureSize ) ); m_WaterRefractionTexture.Init( CreateWaterRefractionTexture( pMaterialSystem, iWaterTextureSize ) ); } // Monitors if ( iCameraTextureSize ) m_CameraTexture.Init( CreateCameraTexture( pMaterialSystem, iCameraTextureSize ) ); ITexture *pGlintTexture = pMaterialSystem->CreateNamedRenderTargetTextureEx2( "_rt_eyeglint", 32, 32, RT_SIZE_NO_CHANGE, IMAGE_FORMAT_BGRA8888, MATERIAL_RT_DEPTH_NONE ); pGlintTexture->IncrementReferenceCount(); g_pClientShadowMgr->InitRenderTargets(); #ifdef GAMEUI_UISYSTEM2_ENABLED g_pGameUIGameSystem->InitRenderTargets(); #endif materials = pSave; }
//----------------------------------------------------------------------------- // Purpose: Called by the engine in material system init and shutdown. // Clients should override this in their inherited version, but the base // is to init all standard render targets for use. // Input : pMaterialSystem - the engine's material system (our singleton is not yet inited at the time this is called) // pHardwareConfig - the user hardware config, useful for conditional render target setup //----------------------------------------------------------------------------- void CBaseClientRenderTargets::InitClientRenderTargets( IMaterialSystem* pMaterialSystem, IMaterialSystemHardwareConfig* pHardwareConfig ) { // Water effects m_WaterReflectionTexture.Init( CreateWaterReflectionTexture( pMaterialSystem ) ); m_WaterRefractionTexture.Init ( CreateWaterRefractionTexture( pMaterialSystem ) ); // Monitors m_CameraTexture.Init ( CreateCameraTexture( pMaterialSystem ) ); }