+void CamWnd::Cam_Clear(){
+ Vector3 clearColour( 0, 0, 0 );
+ if ( m_Camera.draw_mode != cd_lighting ) {
+ clearColour = g_camwindow_globals.color_cameraback;
+ }
+
+ glClearColor( clearColour[0], clearColour[1], clearColour[2], 0 );
+ glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
+}
+
+// g_deferredStartupMap is set in main.cpp
+extern const char* g_deferredStartupMap;
+
+// g_loadedMap and g_deferredStartupShaders are set in map.cpp
+extern bool g_deferredStartupShaders;
+
+void CamWnd::Cam_Init_World(){
+ // Only run and run once when Textures_TriggerRealise() is called before.
+ if ( Textures_TriggeredRealise() )
+ {
+ Textures_Realise();
+ }
+
+ // Only run and run once when GlobalShaderSystem().TriggerRefresh() is called before.
+
+ if ( GlobalShaderSystem().triggeredRefresh() )
+ {
+ GlobalShaderSystem().refresh();
+ }
+
+ if ( g_deferredStartupShaders )
+ {
+ TextureBrowser_ShowStartupShaders( GlobalTextureBrowser() );
+ g_deferredStartupShaders = false;
+ }
+
+ // Load the “to be loaded at startup” map when GL viewport
+ // is cleared and builtin shaders are realised.
+ if ( g_deferredStartupMap != nullptr )
+ {
+ Map_Free();
+ Map_LoadFile( g_deferredStartupMap );
+ g_deferredStartupMap = nullptr;
+ }
+}
+