void CBitmapUi::DrawCurrentScreenState() const { EScreenState currentScreenState = GetScreenState(); switch(currentScreenState) { case eSS_InGameScreen: DrawCrosshair(); break; case eSS_LoadingScreen: DrawFullscreenQuad(m_iTexLoadingScreen); break; case eSS_StartScreen: DrawFullscreenQuad(m_iTexStartScreen); break; case eSS_PausedScreen: DrawFullscreenQuad(m_iTexPauseScreen); break; default: assert(false); break; } }
void R_draw(HDC hDC) { glGetUniformLocation(NULL,NULL); rt_back.Clear(0.2941f, 0.2941f, 0.2941f, 1.0f); rt_scene.Clear(0.3921f, 0.3921f, 0.3921f, 1.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBindFramebuffer(GL_FRAMEBUFFER, rt_scene.fbo); glViewport(0, 0, rt_scene.width, rt_scene.height); camera.setOrthoMatrix(); if(bdrawbglayer01) tilemap_back.draw(&camera); if(bdrawbglayer02) tilemap_front.draw(&camera); if(bdrawbglayer03 && tilemap_back.has_c_Map) DrawCollisionMap(); R_drawWorldDebug(); glViewport(0, 0, client_rect.w, client_rect.h); R_setScreenOrtho(); s_srcRect = ScreenRect(lmenuw/client_rect.w,0,1.0 - ((lmenuw + rmenuw)/client_rect.w),1); s_dstRect = ScreenRect(lmenuw, 0, client_rect.w - (lmenuw + rmenuw), client_rect.h); DrawQuadDS(rt_back, rt_scene,&s_dstRect,&s_srcRect, NULL); glViewport(0, 0, client_rect.w, client_rect.h); glBindFramebuffer(GL_FRAMEBUFFER, debug_rendertarget.fbo); glClearColor( 0.0f, 0.0f, 0.0f, 0.0f ); glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); R_setScreenOrtho(); DrawLeftPanel(); DrawRightPanel(); DrawClientBorder(); R_setPostProcessingOrtho(); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); DrawFullscreenQuad(rt_back, debug_rendertarget, NULL); glFlush(); bdoublebuffer ? SwapBuffers( hDC ) : glDrawBuffer(GL_FRONT); }
static void DrawFullscreenQuad(Context &context, const Texture2D &texture) { DrawFullscreenQuad(context, &texture); }