diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-22 08:18:14 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-11-22 13:21:38 +0100 |
commit | e062c9d70b5560beccb696aa13d8d44e5a2332f8 (patch) | |
tree | 15cda3cca52294ddea010be06f23fe058566e2d7 | |
parent | a77c08a6512b079175d08ae1732b9f65c79b687f (diff) |
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 <tismer@stackless.com>
-rw-r--r-- | examples/declarative/openglunderqml/main.py | 2 | ||||
-rw-r--r-- | examples/declarative/openglunderqml/squircle.py | 10 | ||||
-rw-r--r-- | 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) |