// *** Render void UserInput::Render() { START_PROFILE(g_app->m_profiler, "Render UserInput"); // // Render 2D overlays g_editorFont.BeginText2D(); // // Eclipse glEnable ( GL_BLEND ); glDisable ( GL_CULL_FACE ); glDisable ( GL_DEPTH_TEST ); glDepthMask ( false ); EclRender(); glDepthMask ( true ); glEnable ( GL_DEPTH_TEST ); glEnable ( GL_CULL_FACE ); glDisable ( GL_BLEND ); g_editorFont.EndText2D(); // // Render 3d mouse history // glEnable ( GL_BLEND ); // glEnable ( GL_LINE_SMOOTH ); // glDisable ( GL_DEPTH_TEST ); // glLineWidth ( 5.0f ); // glBegin ( GL_LINE_STRIP ); // for( int i = 0; i < m_mousePosHistory.Size(); ++i ) // { // float alpha = 1.0f - ((float) i / (float) m_mousePosHistory.Size()); // alpha *= 0.5f; // glColor4f( 1.0f, 1.0f, 0.0f, alpha ); // Vector3 *thisPos = m_mousePosHistory[i]; // glVertex3fv( thisPos->GetData() ); // } // glEnd (); // glEnable ( GL_DEPTH_TEST ); // glDisable ( GL_LINE_SMOOTH ); // glDisable ( GL_BLEND ); END_PROFILE(g_app->m_profiler, "Render UserInput"); }
void App::Render() { START_PROFILE("Render"); g_renderer->ClearScreen( true, false ); g_renderer->BeginScene(); // // World map // Don't render anything if we are resyncing bool connectionScrewed = EclGetWindow("Connection Status"); if( m_gameRunning && !connectionScrewed ) { bool render = true; #ifdef TESTBED render = g_keys[KEY_M]; #endif if( render ) { GetMapRenderer()->Update(); GetMapRenderer()->Render(); } } // // Lobby graphics if( !m_gameRunning ) { GetLobbyRenderer()->Render(); } g_renderer->Reset2DViewport(); g_renderer->BeginScene(); // // Eclipse buttons and windows GetInterface()->Render(); START_PROFILE( "Eclipse GUI" ); g_renderer->SetBlendMode( Renderer::BlendModeNormal ); EclRender(); END_PROFILE( "Eclipse GUI" ); // // Mouse GetInterface()->RenderMouse(); #ifdef SHOW_OWNER RenderOwner(); #endif // // Flip START_PROFILE( "GL Flip" ); g_windowManager->Flip(); END_PROFILE( "GL Flip" ); END_PROFILE( "Render" ); }