mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 04:50:06 +00:00 
			
		
		
		
	GL color buffer should be cleared at the start of the frame
This commit is contained in:
		
							parent
							
								
									8bd6838438
								
							
						
					
					
						commit
						37a850a778
					
				
					 4 changed files with 20 additions and 0 deletions
				
			
		|  | @ -136,6 +136,14 @@ void GlContext::Initialize() | |||
|    p->InitializeGL(); | ||||
| } | ||||
| 
 | ||||
| void GlContext::StartFrame() | ||||
| { | ||||
|    auto& gl = p->gl_; | ||||
| 
 | ||||
|    gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); | ||||
|    gl.glClear(GL_COLOR_BUFFER_BIT); | ||||
| } | ||||
| 
 | ||||
| std::size_t GlContext::Impl::GetShaderKey( | ||||
|    std::initializer_list<std::pair<GLenum, std::string>> shaders) | ||||
| { | ||||
|  |  | |||
|  | @ -38,6 +38,7 @@ public: | |||
|    GLuint GetTextureAtlas(); | ||||
| 
 | ||||
|    void Initialize(); | ||||
|    void StartFrame(); | ||||
| 
 | ||||
| private: | ||||
|    class Impl; | ||||
|  |  | |||
|  | @ -1406,6 +1406,8 @@ void MapWidget::paintGL() | |||
| 
 | ||||
|    p->frameDraws_++; | ||||
| 
 | ||||
|    p->context_->StartFrame(); | ||||
| 
 | ||||
|    // Handle hotkey updates
 | ||||
|    p->HandleHotkeyUpdates(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| #include <scwx/qt/ui/imgui_debug_widget.hpp> | ||||
| #include <scwx/qt/gl/gl.hpp> | ||||
| #include <scwx/qt/manager/font_manager.hpp> | ||||
| #include <scwx/qt/model/imgui_context_model.hpp> | ||||
| 
 | ||||
|  | @ -59,6 +60,8 @@ public: | |||
| 
 | ||||
|    ImGuiContext* currentContext_; | ||||
| 
 | ||||
|    gl::OpenGLFunctions gl_; | ||||
| 
 | ||||
|    std::set<ImGuiContext*> renderedSet_ {}; | ||||
|    bool                    imGuiRendererInitialized_ {false}; | ||||
|    std::uint64_t           imGuiFontsBuildCount_ {}; | ||||
|  | @ -103,6 +106,9 @@ void ImGuiDebugWidget::initializeGL() | |||
| { | ||||
|    makeCurrent(); | ||||
| 
 | ||||
|    // Initialize OpenGL Functions
 | ||||
|    p->gl_.initializeOpenGLFunctions(); | ||||
| 
 | ||||
|    // Initialize ImGui OpenGL3 backend
 | ||||
|    ImGui::SetCurrentContext(p->context_); | ||||
|    ImGui_ImplOpenGL3_Init(); | ||||
|  | @ -113,6 +119,9 @@ void ImGuiDebugWidget::initializeGL() | |||
| 
 | ||||
| void ImGuiDebugWidget::paintGL() | ||||
| { | ||||
|    p->gl_.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); | ||||
|    p->gl_.glClear(GL_COLOR_BUFFER_BIT); | ||||
| 
 | ||||
|    ImGui::SetCurrentContext(p->currentContext_); | ||||
| 
 | ||||
|    // Lock ImGui font atlas prior to new ImGui frame
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat