/* =============== RE_Shutdown =============== */ void RE_Shutdown( qboolean destroyWindow ) { //ri.Printf( PRINT_ALL, "RE_Shutdown( %i )\n", destroyWindow ); Com_VPrintf( "RE_Shutdown( %i )\n", destroyWindow ); ri.Cmd_RemoveCommand( "modelList" ); ri.Cmd_RemoveCommand( "screenShotJPEG" ); ri.Cmd_RemoveCommand( "screenShot" ); ri.Cmd_RemoveCommand( "imageList" ); ri.Cmd_RemoveCommand( "shaderList" ); ri.Cmd_RemoveCommand( "skinList" ); ri.Cmd_RemoveCommand( "gfxInfo" ); ri.Cmd_RemoveCommand( "minimize" ); ri.Cmd_RemoveCommand( "modeList" ); if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); #ifdef USE_RENDERER_GLSLFBO R_DeleteGlslShadersAndPrograms(); R_DeleteFramebufferObject(); #endif //USE_RENDERER_GLSLFBO R_DeleteTextures(); } R_DoneFreeType(); // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); } tr.registered = qfalse; }
/* =============== RE_Shutdown =============== */ void RE_Shutdown( qboolean destroyWindow ) { ri.Printf( PRINT_ALL, "RE_Shutdown( %i )\n", destroyWindow ); ri.Cmd_RemoveCommand ("modellist"); ri.Cmd_RemoveCommand ("screenshotJPEG"); ri.Cmd_RemoveCommand ("screenshot"); ri.Cmd_RemoveCommand ("imagelist"); ri.Cmd_RemoveCommand ("shaderlist"); ri.Cmd_RemoveCommand ("skinlist"); ri.Cmd_RemoveCommand ("gfxinfo"); ri.Cmd_RemoveCommand("minimize"); ri.Cmd_RemoveCommand( "modelist" ); ri.Cmd_RemoveCommand( "shaderstate" ); if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); R_DeleteTextures(); } R_DoneFreeType(); // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); } tr.registered = qfalse; }
void RE_Shutdown( qboolean destroyWindow ) { ri.Printf( PRINT_ALL, "RE_Shutdown( %i )\n", destroyWindow ); ri.Cmd_RemoveCommand ("imagelist"); ri.Cmd_RemoveCommand ("shaderlist"); ri.Cmd_RemoveCommand ("skinlist"); ri.Cmd_RemoveCommand ("modellist"); ri.Cmd_RemoveCommand ("modelist" ); ri.Cmd_RemoveCommand ("screenshot"); ri.Cmd_RemoveCommand ("screenshot_tga"); ri.Cmd_RemoveCommand ("gfxinfo"); ri.Cmd_RemoveCommand ("r_fogDistance"); ri.Cmd_RemoveCommand ("r_fogColor"); ri.Cmd_RemoveCommand ("modelcacheinfo"); ri.Cmd_RemoveCommand ("imagecacheinfo"); R_ShutdownWorldEffects(); R_ShutdownFonts(); if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); if (destroyWindow) { R_DeleteTextures(); // only do this for vid_restart now, not during things like map load } } // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); } tr.registered = qfalse; }
/* =============== RE_Shutdown =============== */ void RE_Shutdown( qboolean destroyWindow ) { ri.Printf( PRINT_ALL, "RE_Shutdown( %i )\n", destroyWindow ); ri.Cmd_RemoveCommand ("modellist"); ri.Cmd_RemoveCommand ("screenshotJPEG"); ri.Cmd_RemoveCommand ("screenshot"); ri.Cmd_RemoveCommand ("imagelist"); ri.Cmd_RemoveCommand ("shaderlist"); ri.Cmd_RemoveCommand ("skinlist"); ri.Cmd_RemoveCommand ("gfxinfo"); ri.Cmd_RemoveCommand ("modelist"); ri.Cmd_RemoveCommand ("shaderstate"); ri.Cmd_RemoveCommand ("r_we"); ri.Cmd_RemoveCommand ("modelcacheinfo"); ri.Cmd_RemoveCommand ("imagecacheinfo"); #ifndef DEDICATED R_ShutdownFonts(); if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); if (destroyWindow) { R_DeleteTextures(); // only do this for vid_restart now, not during things like map load } } // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); } #endif //!DEDICATED tr.registered = qfalse; #ifdef G2_COLLISION_ENABLED if (G2VertSpaceServer) { delete G2VertSpaceServer; G2VertSpaceServer = 0; } #endif }
/* =============== RE_Shutdown =============== */ void RE_Shutdown( qboolean destroyWindow ) { // Com_Printf ("RE_Shutdown( %i )\n", destroyWindow ); Cmd_RemoveCommand ("imagelist"); Cmd_RemoveCommand ("shaderlist"); Cmd_RemoveCommand ("skinlist"); Cmd_RemoveCommand ("fontlist"); Cmd_RemoveCommand ("screenshot"); Cmd_RemoveCommand ("screenshot_tga"); Cmd_RemoveCommand ("gfxinfo"); Cmd_RemoveCommand ("r_atihack"); Cmd_RemoveCommand ("r_we"); Cmd_RemoveCommand ("imagecacheinfo"); Cmd_RemoveCommand ("modellist"); Cmd_RemoveCommand ("modelist"); Cmd_RemoveCommand ("modelcacheinfo"); #ifndef DEDICATED if ( r_DynamicGlow && r_DynamicGlow->integer ) { // Release the Glow Vertex Shader. if ( tr.glowVShader ) { qglDeleteProgramsARB( 1, &tr.glowVShader ); } // Release Pixel Shader. if ( tr.glowPShader ) { if ( qglCombinerParameteriNV ) { // Release the Glow Regcom call list. qglDeleteLists( tr.glowPShader, 1 ); } else if ( qglGenProgramsARB ) { // Release the Glow Fragment Shader. qglDeleteProgramsARB( 1, &tr.glowPShader ); } } // Release the scene glow texture. qglDeleteTextures( 1, &tr.screenGlow ); // Release the scene texture. qglDeleteTextures( 1, &tr.sceneImage ); // Release the blur texture. qglDeleteTextures( 1, &tr.blurImage ); } R_TerrainShutdown(); //rwwRMG - added R_ShutdownFonts(); if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); if (destroyWindow) { R_DeleteTextures(); // only do this for vid_restart now, not during things like map load } } // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); } #endif //!DEDICATED tr.registered = qfalse; }
/* =============== RE_Shutdown =============== */ void RE_Shutdown( qboolean destroyWindow ) { ri.Printf( PRINT_DEVELOPER, "RE_Shutdown( %i )\n", destroyWindow ); ri.Cmd_RemoveCommand( "modellist" ); ri.Cmd_RemoveCommand( "screenshotPNG" ); ri.Cmd_RemoveCommand( "screenshotJPEG" ); ri.Cmd_RemoveCommand( "screenshot" ); ri.Cmd_RemoveCommand( "imagelist" ); ri.Cmd_RemoveCommand( "shaderlist" ); ri.Cmd_RemoveCommand( "skinlist" ); ri.Cmd_RemoveCommand( "gfxinfo" ); ri.Cmd_RemoveCommand( "modelist" ); ri.Cmd_RemoveCommand( "shaderstate" ); ri.Cmd_RemoveCommand( "taginfo" ); // Ridah ri.Cmd_RemoveCommand( "cropimages" ); // done. R_ShutdownCommandBuffers(); // Ridah, keep a backup of the current images if possible // clean out any remaining unused media from the last backup R_PurgeCache(); if ( r_cache->integer ) { if ( tr.registered ) { if ( destroyWindow ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); R_DeleteTextures(); } else { // backup the current media R_ShutdownCommandBuffers(); R_BackupModels(); R_BackupShaders(); R_BackupImages(); } } } else if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); R_DeleteTextures(); } R_DoneFreeType(); // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); // Ridah, release the virtual memory R_Hunk_End(); R_FreeImageBuffer(); ri.Tag_Free(); // wipe all render alloc'd zone memory } tr.registered = qfalse; }
/* =============== RE_Shutdown =============== */ void RE_Shutdown( qboolean destroyWindow ) { ri.Printf( PRINT_ALL, "RE_Shutdown( %i )\n", destroyWindow ); ri.Cmd_RemoveCommand ("modellist"); ri.Cmd_RemoveCommand ("screenshotJPEG"); ri.Cmd_RemoveCommand ("screenshot"); ri.Cmd_RemoveCommand ("imagelist"); ri.Cmd_RemoveCommand ("shaderlist"); ri.Cmd_RemoveCommand ("skinlist"); ri.Cmd_RemoveCommand ("gfxinfo"); ri.Cmd_RemoveCommand ("modelist"); ri.Cmd_RemoveCommand ("shaderstate"); ri.Cmd_RemoveCommand ("r_we"); ri.Cmd_RemoveCommand ("modelcacheinfo"); ri.Cmd_RemoveCommand ("imagecacheinfo"); #ifndef DEDICATED if ( r_DynamicGlow && r_DynamicGlow->integer ) { // Release the Glow Vertex Shader. if ( tr.glowVShader ) { qglDeleteProgramsARB( 1, &tr.glowVShader ); } // Release Pixel Shader. if ( tr.glowPShader ) { if ( qglCombinerParameteriNV ) { // Release the Glow Regcom call list. qglDeleteLists( tr.glowPShader, 1 ); } else if ( qglGenProgramsARB ) { // Release the Glow Fragment Shader. qglDeleteProgramsARB( 1, &tr.glowPShader ); } } // Release the scene glow texture. qglDeleteTextures( 1, &tr.screenGlow ); // Release the scene texture. qglDeleteTextures( 1, &tr.sceneImage ); // Release the blur texture. qglDeleteTextures( 1, &tr.blurImage ); } // gamma correction if (tr.gammaPixelShader) { qglDeleteProgramsARB(1, &tr.gammaPixelShader); } if (tr.gammaVertexShader) { qglDeleteProgramsARB(1, &tr.gammaVertexShader); } if (tr.gammaLUTImage) { qglDeleteTextures(1, &tr.gammaLUTImage); } // -------- R_ShutdownFonts(); if ( tr.registered ) { R_SyncRenderThread(); R_ShutdownCommandBuffers(); if (destroyWindow) { R_DeleteTextures(); // only do this for vid_restart now, not during things like map load } } // shut down platform specific OpenGL stuff if ( destroyWindow ) { GLimp_Shutdown(); } #endif //!DEDICATED tr.registered = qfalse; #ifdef G2_COLLISION_ENABLED if (G2VertSpaceServer) { delete G2VertSpaceServer; G2VertSpaceServer = 0; } #endif }