From e062c9d70b5560beccb696aa13d8d44e5a2332f8 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 22 Nov 2021 08:18:14 +0100 Subject: Brush up the openglunderqml example - Use suffix-less RHI constants (see 23dbe3d6e0d3338812ad9f614028a6fdc5a54090). - Remove unneeded assignments - Add slot decorator - Streamline code Amends b31f0c37bdc78e939db2dfe3bd876eba47137a5c. Pick-to: 6.2 Fixes: PYSIDE-1716 Task-number: PYSIDE-1034 Change-Id: Ib34be3642d3c2b5f3582889bdc5f0d8d7cebe007 Reviewed-by: Christian Tismer --- examples/declarative/openglunderqml/main.py | 2 +- examples/declarative/openglunderqml/squircle.py | 10 ++++++---- examples/declarative/openglunderqml/squirclerenderer.py | 7 +------ 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/examples/declarative/openglunderqml/main.py b/examples/declarative/openglunderqml/main.py index 26e059f93..44ee10834 100644 --- a/examples/declarative/openglunderqml/main.py +++ b/examples/declarative/openglunderqml/main.py @@ -51,7 +51,7 @@ from squircle import Squircle if __name__ == "__main__": app = QGuiApplication(sys.argv) - QQuickWindow.setGraphicsApi(QSGRendererInterface.OpenGLRhi) + QQuickWindow.setGraphicsApi(QSGRendererInterface.OpenGL) qmlRegisterType(Squircle, "OpenGLUnderQML", 1, 0, "Squircle") view = QQuickView() diff --git a/examples/declarative/openglunderqml/squircle.py b/examples/declarative/openglunderqml/squircle.py index 8d2cbca84..3e600121b 100644 --- a/examples/declarative/openglunderqml/squircle.py +++ b/examples/declarative/openglunderqml/squircle.py @@ -82,21 +82,23 @@ class Squircle(QQuickItem): win.setColor(Qt.black) self.sync() + @Slot() def cleanup(self): del self._renderer self._renderer = None @Slot() def sync(self): + window = self.window() if not self._renderer: self._renderer = SquircleRenderer() - self.window().beforeRendering.connect(self._renderer.init, Qt.DirectConnection) - self.window().beforeRenderPassRecording.connect( + window.beforeRendering.connect(self._renderer.init, Qt.DirectConnection) + window.beforeRenderPassRecording.connect( self._renderer.paint, Qt.DirectConnection ) - self._renderer.setViewportSize(self.window().size() * self.window().devicePixelRatio()) + self._renderer.setViewportSize(window.size() * window.devicePixelRatio()) self._renderer.setT(self._t) - self._renderer.setWindow(self.window()) + self._renderer.setWindow(window) def releaseResources(self): self.window().scheduleRenderJob( diff --git a/examples/declarative/openglunderqml/squirclerenderer.py b/examples/declarative/openglunderqml/squirclerenderer.py index 12cd93bb8..9f857f55f 100644 --- a/examples/declarative/openglunderqml/squirclerenderer.py +++ b/examples/declarative/openglunderqml/squirclerenderer.py @@ -80,8 +80,6 @@ class SquircleRenderer(QOpenGLFunctions): self._t = 0.0 self._program = None self._window = QQuickWindow() - self.profile = QOpenGLVersionProfile() - self.gl = None def setT(self, t): self._t = t @@ -96,10 +94,7 @@ class SquircleRenderer(QOpenGLFunctions): def init(self): if not self._program: rif = self._window.rendererInterface() - assert ( - rif.graphicsApi() == QSGRendererInterface.OpenGL - or rif.graphicsApi() == QSGRendererInterface.OpenGLRhy - ) + assert (rif.graphicsApi() == QSGRendererInterface.OpenGL) self.initializeOpenGLFunctions() self._program = QOpenGLShaderProgram() self._program.addCacheableShaderFromSourceCode(QOpenGLShader.Vertex, VERTEX_SHADER) -- cgit v1.2.3