//----------------------------------------------------------------------------------------------- void CommandConsole::Render() const { Renderer* renderer = Renderer::GetRenderer(); renderer->EnableFeature( Renderer::SHAPE_RESTART_INDEXING ); renderer->EnableArrayType( Renderer::VERTEX_ARRAYS ); renderer->EnableArrayType( Renderer::COLOR_ARRAYS ); const ShaderProgram* activeShader = renderer->GetActiveShaderProgram(); unsigned int shaderTextureToggleID = renderer->GetUniformVariableLocation( activeShader, "u_texturesEnabled" ); renderer->SetUniformVariable( shaderTextureToggleID, 0 ); RenderBackgroundPanes(); renderer->SetUniformVariable( shaderTextureToggleID, 1 ); RenderConsoleText(); renderer->SetUniformVariable( shaderTextureToggleID, 0 ); renderer->EnableArrayType( Renderer::VERTEX_ARRAYS ); renderer->EnableArrayType( Renderer::COLOR_ARRAYS ); RenderBorders(); if( m_prompt.cursorIsShowing ) RenderTextCursor(); renderer->SetUniformVariable( shaderTextureToggleID, 1 ); renderer->DisableArrayType( Renderer::COLOR_ARRAYS ); renderer->DisableArrayType( Renderer::VERTEX_ARRAYS ); renderer->DisableFeature( Renderer::SHAPE_RESTART_INDEXING ); }
//----------------------------------------------------------------------------------------------- void Game::Render() const { static const double NEAR_CLIPPING_PLANE_DISTANCE = 0.1; static const double FAR_CLIPPING_PLANE_DISTANCE = 1000.0; Renderer* renderer = Renderer::GetRenderer(); renderer->PushMatrix(); renderer->SetPerpectiveProjection( m_horizontalFOVDegrees, m_aspectRatio, NEAR_CLIPPING_PLANE_DISTANCE, FAR_CLIPPING_PLANE_DISTANCE ); RenderGame(); Debug::RenderDrawings(); renderer->PopMatrix(); renderer->PushMatrix(); renderer->SetOrthographicProjection( 0.0, static_cast< double >( m_screenWidth ), 0.0, static_cast< double >( m_screenHeight ), 0.0, FAR_CLIPPING_PLANE_DISTANCE ); renderer->DisableFeature( Renderer::DEPTH_TESTING ); renderer->DisableDepthBufferWriting(); RenderUI(); if( m_consoleVisible ) m_console->Render(); renderer->EnableDepthBufferWriting(); renderer->EnableFeature( Renderer::DEPTH_TESTING ); renderer->PopMatrix(); }