diff --git a/src/gl/renderer/gl_2ddrawer.cpp b/src/gl/renderer/gl_2ddrawer.cpp index ac7d35397..e0f67c713 100644 --- a/src/gl/renderer/gl_2ddrawer.cpp +++ b/src/gl/renderer/gl_2ddrawer.cpp @@ -378,7 +378,7 @@ void F2DDrawer::AddPixel(int x1, int y1, int palcolor, uint32 color) // //========================================================================== -void F2DDrawer::Flush() +void F2DDrawer::Draw() { F2DDrawer::EDrawType lasttype = DrawTypeTexture; @@ -490,10 +490,12 @@ void F2DDrawer::Flush() } i += dg->mLen; } - mVertices.Clear(); - mData.Clear(); gl_RenderState.SetVertexBuffer(GLRenderer->mVBO); glset.lightmode = savedlightmode; } - +void F2DDrawer::Clear() +{ + mVertices.Clear(); + mData.Clear(); +} diff --git a/src/gl/renderer/gl_2ddrawer.h b/src/gl/renderer/gl_2ddrawer.h index 32d2ad1f5..8c27f13d8 100644 --- a/src/gl/renderer/gl_2ddrawer.h +++ b/src/gl/renderer/gl_2ddrawer.h @@ -66,7 +66,8 @@ public: void AddLine(int x1, int y1, int x2, int y2, int palcolor, uint32 color); void AddPixel(int x1, int y1, int palcolor, uint32 color); - void Flush(); + void Draw(); + void Clear(); }; diff --git a/src/gl/renderer/gl_postprocess.cpp b/src/gl/renderer/gl_postprocess.cpp index 243a73a38..4bacf54d4 100644 --- a/src/gl/renderer/gl_postprocess.cpp +++ b/src/gl/renderer/gl_postprocess.cpp @@ -397,9 +397,10 @@ void FGLRenderer::Flush() { FGLDebug::PushGroup("Eye2D"); mBuffers->BindEyeFB(eye_ix); - m2DDrawer->Flush(); // Draw the 2D + m2DDrawer->Draw(); FGLDebug::PopGroup(); } + m2DDrawer->Clear(); FGLPostProcessState savedState; FGLDebug::PushGroup("PresentEyes"); @@ -416,7 +417,9 @@ void FGLRenderer::Flush() void FGLRenderer::CopyToBackbuffer(const GL_IRECT *bounds, bool applyGamma) { - m2DDrawer->Flush(); // draw all pending 2D stuff before copying the buffer + m2DDrawer->Draw(); // draw all pending 2D stuff before copying the buffer + m2DDrawer->Clear(); + FGLDebug::PushGroup("CopyToBackbuffer"); if (FGLRenderBuffers::IsEnabled()) { diff --git a/src/gl/system/gl_wipe.cpp b/src/gl/system/gl_wipe.cpp index 05d63f65d..577bc12db 100644 --- a/src/gl/system/gl_wipe.cpp +++ b/src/gl/system/gl_wipe.cpp @@ -189,7 +189,8 @@ bool OpenGLFrameBuffer::WipeStartScreen(int type) void OpenGLFrameBuffer::WipeEndScreen() { - GLRenderer->m2DDrawer->Flush(); + GLRenderer->m2DDrawer->Draw(); + GLRenderer->m2DDrawer->Clear(); const auto &viewport = GLRenderer->mScreenViewport; wipeendscreen = new FHardwareTexture(viewport.width, viewport.height, true);