Пример #1
0
    def __init__(self, *args):
        super(OpenGLScene, self).__init__(*args)

        self.renderer = Renderer(self, GL)

        self.initialised = False
        self.image = None

        return
Пример #2
0
class OpenGLScene(QGraphicsScene):
    
    sliders_changed = QtCore.Signal(tuple)
    rotation_changed = QtCore.Signal(tuple)

    def __init__(self, *args):
        super(OpenGLScene, self).__init__(*args)

        self.renderer = Renderer(self, GL)

        self.initialised = False
        self.image = None

        return
    
    def drawBackground(self, painter, rect):
        
        if not (painter.paintEngine().type() == QtGui.QPaintEngine.OpenGL or
            painter.paintEngine().type() == QtGui.QPaintEngine.OpenGL2):
            QtCore.qWarning('OpenGLScene: drawBackground needs a QGLWidget '\
                        +'to be set as viewport on the '\
                        +'graphics view')
            return

        painter.beginNativePainting()
        
        GL.glMatrixMode(GL.GL_PROJECTION)
        GL.glPushMatrix()
        GL.glMatrixMode(GL.GL_MODELVIEW)
        GL.glPushMatrix()
        
        self.renderer.render()
        
        GL.glMatrixMode(GL.GL_MODELVIEW)
        GL.glPopMatrix()
     
        GL.glMatrixMode(GL.GL_PROJECTION)
        GL.glPopMatrix()

        painter.endNativePainting()