示例#1
0
 def gl_draw(self):
     if self.schematic.chunkCount > len(self.renderer.chunkRenderers):
         self.gl_draw_thumb()
     else:
         if self.fbo is None:
             w, h = self.fboSize
             self.fbo = FramebufferTexture(w, h, self.gl_draw_tex)
         GL.glMatrixMode(GL.GL_PROJECTION)
         GL.glLoadIdentity()
         GL.glMatrixMode(GL.GL_MODELVIEW)
         GL.glLoadIdentity()
         GL.glEnableClientState(GL.GL_TEXTURE_COORD_ARRAY)
         GL.glColor(1.0, 1.0, 1.0, 1.0)
         GL.glVertexPointer(2, GL.GL_FLOAT, 0, array([-1, -1,
                                                      - 1, 1,
                                                      1, 1,
                                                      1, -1, ], dtype='float32'))
         GL.glTexCoordPointer(2, GL.GL_FLOAT, 0, array([0, 0, 0, 256, 256, 256, 256, 0], dtype='float32'))
         e = (GL.GL_TEXTURE_2D,)
         if not self.drawBackground:
             e += (GL.GL_ALPHA_TEST,)
         with gl.glEnable(*e):
             self.fbo.bind()
             GL.glDrawArrays(GL.GL_QUADS, 0, 4)
         GL.glDisableClientState(GL.GL_TEXTURE_COORD_ARRAY)