From e1e617e4e48f5c23369d98d80971304e4733528a Mon Sep 17 00:00:00 2001 From: bloeys Date: Sun, 23 Jan 2022 07:50:50 +0400 Subject: [PATCH] Reset gl state after drawing UI in drawUI --- engine/engine.go | 1 - main.go | 19 ++++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/engine/engine.go b/engine/engine.go index ddaeb6c..2192238 100755 --- a/engine/engine.go +++ b/engine/engine.go @@ -90,7 +90,6 @@ func initOpenGL() error { } gl.Enable(gl.DEPTH_TEST) - gl.Enable(gl.CULL_FACE) gl.CullFace(gl.BACK) gl.FrontFace(gl.CCW) diff --git a/main.go b/main.go index ea0996f..a24c63d 100755 --- a/main.go +++ b/main.go @@ -355,8 +355,9 @@ func runGameLogic() { func draw() { - simpleMat.Bind() + gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT) + simpleMat.Bind() cubeMesh.BufObj.Bind() tempModelMat := modelMat.Clone() @@ -373,13 +374,8 @@ func draw() { cubeMesh.BufObj.UnBind() drawUI() - window.SDLWin.GLSwap() - //Reset imgui changes before next draw - gl.Disable(gl.SCISSOR_TEST) - gl.Enable(gl.CULL_FACE) - gl.Enable(gl.DEPTH_TEST) - gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT) + window.SDLWin.GLSwap() } func drawUI() { @@ -455,7 +451,6 @@ func drawUI() { } else { gl.BindTexture(gl.TEXTURE_2D, imguiInfo.texID) - // gl.BindTexture(gl.TEXTURE_2D, uint32(cmd.TextureID())) clipRect := cmd.ClipRect() gl.Scissor(int32(clipRect.X), int32(fbHeight)-int32(clipRect.W), int32(clipRect.Z-clipRect.X), int32(clipRect.W-clipRect.Y)) @@ -464,7 +459,9 @@ func drawUI() { } } - gl.BindVertexArray(imguiInfo.vaoID) - gl.BindBuffer(gl.ARRAY_BUFFER, imguiInfo.vboID) - gl.BindBuffer(gl.ELEMENT_ARRAY_BUFFER, imguiInfo.indexBufID) + //Reset gl state + gl.Disable(gl.BLEND) + gl.Disable(gl.SCISSOR_TEST) + gl.Enable(gl.CULL_FACE) + gl.Enable(gl.DEPTH_TEST) }