Index: game.py
===================================================================
--- game.py	(revision 1af0f6dbd7484b6f41c521670db104eff5e0c493)
+++ game.py	(revision c8cc13f38ce36071151a94a26dc9848dd0f65b94)
@@ -8,7 +8,5 @@
 [w, h] = [0, 0]
 
-def render(surface, overlay, font, state):
-   #surface.fill((0, 0, 0))
-
+def render(surface, overlay, font, showOverlay):
    #glEnable (GL_BLEND); glBlendFunc (GL_ONE, GL_ONE);
 
@@ -16,12 +14,13 @@
    # break the 3d rendering and reset those back instead of resetting
    # all attributes
-   if state:
+   glPushAttrib(GL_ALL_ATTRIB_BITS)
+   render3d(surface)
+   glPopAttrib(GL_ALL_ATTRIB_BITS)
+
+   if showOverlay:
       renderOverlay(overlay, font)
+
       glPushAttrib(GL_ALL_ATTRIB_BITS)
       projectOverlay(surface, overlay)
-      glPopAttrib(GL_ALL_ATTRIB_BITS)
-   else:
-      glPushAttrib(GL_ALL_ATTRIB_BITS)
-      render3d(surface)
       glPopAttrib(GL_ALL_ATTRIB_BITS)
 
@@ -31,4 +30,5 @@
    #pygame.draw.circle(overlay, (255, 0, 0), (int(w/2), int(h/2)), 540)
    #overlay.set_colorkey((255,0,0))
+   overlay.fill((0, 0, 0, 255))
 
    text = font.render("2D drawing", True, (0, 128, 0))
@@ -52,7 +52,5 @@
 
    glBindTexture(GL_TEXTURE_2D, glGenTextures(1))
-   # maybe use GL_RGBA here instead
-   #glPixelStorei(GL_UNPACK_ALIGNMENT,1)
-   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData)
+   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData)
 
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT)
@@ -156,5 +154,6 @@
    gameDisplay = pygame.display.set_mode((w, h), pygame.FULLSCREEN|pygame.DOUBLEBUF|pygame.OPENGL)
 
-overlay = pygame.Surface((w, h))
+# Look into pygame.HWSURFACE for hardware-accelerated surfaces
+overlay = pygame.Surface((w, h), pygame.SRCALPHA)
 
 pygame.display.set_caption('Space Game')
@@ -165,5 +164,5 @@
 
 running = True
-state = False
+showOverlay = False
 
 zNear = 1.0/math.tan(math.radians(45.0/2))
@@ -185,9 +184,7 @@
             running = False
          elif event.key == pygame.K_SPACE:
-            state = not state
+            showOverlay = not showOverlay
 
-      #print(event)
-
-   render(gameDisplay, overlay, font, state)
+   render(gameDisplay, overlay, font, showOverlay)
 
    pygame.display.flip()
