]> Pileus Git - grits/blobdiff - src/grits-opengl.c
Fix depth buffer glitches
[grits] / src / grits-opengl.c
index 1aec412131f6e30d938963a2ff9901ba25adcafe..a2dce843fd2049a1460aa341580ebf2479533393 100644 (file)
@@ -307,11 +307,9 @@ static void _draw_level(gpointer _level, gpointer _opengl)
                /* Enable depth and alpha for world levels */
                glEnable(GL_ALPHA_TEST);
                glAlphaFunc(GL_GREATER, 0.1);
                /* Enable depth and alpha for world levels */
                glEnable(GL_ALPHA_TEST);
                glAlphaFunc(GL_GREATER, 0.1);
-               glDepthMask(TRUE);
        } else {
                /* Disable depth for Overlay/HUD levels */
        } else {
                /* Disable depth for Overlay/HUD levels */
-               // This causes rendering glitches not sure why..
-               //glDepthMask(FALSE);
+               glDepthMask(FALSE);
        }
 
        /* Start ortho */
        }
 
        /* Start ortho */
@@ -341,6 +339,9 @@ static void _draw_level(gpointer _level, gpointer _opengl)
                glMatrixMode(GL_MODELVIEW);  glPopMatrix();
        }
 
                glMatrixMode(GL_MODELVIEW);  glPopMatrix();
        }
 
+       /* Leave depth buffer write enabled */
+       glDepthMask(TRUE);
+
        /* TODO: Prune empty levels */
 
        g_debug("GritsOpenGL: _draw_level - drew %d,%d objects",
        /* TODO: Prune empty levels */
 
        g_debug("GritsOpenGL: _draw_level - drew %d,%d objects",