From 026d855e495f29a91ab36d44839531de399d5ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomi=20Korpip=C3=A4=C3=A4?= Date: Tue, 24 Nov 2015 11:34:25 +0200 Subject: Fixed planets-qml example Earth clouds are in the correct place again. Change-Id: Ic4ca6683d0196a66463d578d6d1587a762156750 Reviewed-by: Sean Harmer --- examples/qt3d/planets-qml/PlanetsMain.qml | 50 +++------ examples/qt3d/planets-qml/SolarSystem.qml | 165 ++++++++++++++++-------------- examples/qt3d/planets-qml/main.cpp | 1 + 3 files changed, 100 insertions(+), 116 deletions(-) (limited to 'examples/qt3d/planets-qml') diff --git a/examples/qt3d/planets-qml/PlanetsMain.qml b/examples/qt3d/planets-qml/PlanetsMain.qml index 58cdd0b59..6505f12d2 100644 --- a/examples/qt3d/planets-qml/PlanetsMain.qml +++ b/examples/qt3d/planets-qml/PlanetsMain.qml @@ -49,26 +49,21 @@ Item { property real textSize: sliderLength / 20 property real planetButtonSize: (height < 2200) ? (height / 11) : 200 - Rectangle { + //! [0] + Scene3D { anchors.fill: parent - color: "black" + aspects: ["render", "logic"] + focus: true - //! [0] - Scene3D { - anchors.fill: parent - anchors.margins: 10 - focus: true - - SolarSystem { id: solarsystem } - } - //! [0] + SolarSystem { id: solarsystem } + } + //! [0] - MouseArea { - anchors.fill: parent - acceptedButtons: Qt.LeftButton - onClicked: - focusedPlanet = 100 - } + MouseArea { + anchors.fill: parent + acceptedButtons: Qt.LeftButton + onClicked: + focusedPlanet = 100 } //! [1] @@ -327,25 +322,4 @@ Item { } onRunningChanged: frames = 0 } - - // Animate solar system with a "beautiful" hack - Rectangle { - id: dummyAnimator - width: 0 - height: 0 - visible: false - onRotationChanged: { - solarsystem.animate(focusedPlanet) - frames++ - } - } - - NumberAnimation { - target: dummyAnimator - property: "rotation" - from: 0 - to: 360 - loops: Animation.Infinite - running: true - } } diff --git a/examples/qt3d/planets-qml/SolarSystem.qml b/examples/qt3d/planets-qml/SolarSystem.qml index 9f627aca2..8512b019e 100644 --- a/examples/qt3d/planets-qml/SolarSystem.qml +++ b/examples/qt3d/planets-qml/SolarSystem.qml @@ -37,6 +37,7 @@ import QtQuick 2.0 as QQ2 import Qt3D.Core 2.0 import Qt3D.Render 2.0 +import Qt3D.Logic 2.0 import "planets.js" as Planets @@ -98,6 +99,14 @@ Entity { property int focusedMinimumScale: 20 property real actualScale + // Animate solar system with LogicComponent + LogicComponent { + onFrameUpdate: { + frames++ + animate(focusedPlanet) + } + } + Light { id: light ratio: width / height @@ -496,12 +505,12 @@ Entity { property Transform transformSun: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(sun.x, sun.y, sun.z)); - m.rotate(sun.tilt, tiltAxis); - m.rotate(sun.roll, rollAxis); - m.scale(sun.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(sun.x, sun.y, sun.z)) + m.rotate(sun.tilt, tiltAxis) + m.rotate(sun.roll, rollAxis) + m.scale(sun.r) + return m } } @@ -533,12 +542,12 @@ Entity { property Transform transformMercury: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(mercury.x, mercury.y, mercury.z)); - m.rotate(mercury.tilt, tiltAxis); - m.rotate(mercury.roll, rollAxis); - m.scale(mercury.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(mercury.x, mercury.y, mercury.z)) + m.rotate(mercury.tilt, tiltAxis) + m.rotate(mercury.roll, rollAxis) + m.scale(mercury.r) + return m } } @@ -566,12 +575,12 @@ Entity { property Transform transformVenus: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(venus.x, venus.y, venus.z)); - m.rotate(venus.tilt, tiltAxis); - m.rotate(venus.roll, rollAxis); - m.scale(venus.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(venus.x, venus.y, venus.z)) + m.rotate(venus.tilt, tiltAxis) + m.rotate(venus.roll, rollAxis) + m.scale(venus.r) + return m } } @@ -600,12 +609,12 @@ Entity { property Transform transformEarth: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(earth.x, earth.y, earth.z)); - m.rotate(earth.tilt, tiltAxis); - m.rotate(earth.roll, rollAxis); - m.scale(earth.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(earth.x, earth.y, earth.z)) + m.rotate(earth.tilt, tiltAxis) + m.rotate(earth.roll, rollAxis) + m.scale(earth.r) + return m } } @@ -634,12 +643,12 @@ Entity { property Transform transformEarthClouds: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(earthClouds.x, earthClouds.y, earthClouds.z)); - m.rotate(earthClouds.tilt, tiltAxis); - m.rotate(earthClouds.roll / 1.2, rollAxis); - m.scale(earthClouds.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(earth.x, earth.y, earth.z)) + m.rotate(earth.tilt, tiltAxis) + m.rotate(earth.roll / 1.2, rollAxis) + m.scale(earthClouds.r) + return m } } @@ -667,12 +676,12 @@ Entity { property Transform transformMoon: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(moon.x, moon.y, moon.z)); - m.rotate(moon.tilt, tiltAxis); - m.rotate(moon.roll, rollAxis); - m.scale(moon.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(moon.x, moon.y, moon.z)) + m.rotate(moon.tilt, tiltAxis) + m.rotate(moon.roll, rollAxis) + m.scale(moon.r) + return m } } @@ -700,12 +709,12 @@ Entity { property Transform transformMars: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(mars.x, mars.y, mars.z)); - m.rotate(mars.tilt, tiltAxis); - m.rotate(mars.roll, rollAxis); - m.scale(mars.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(mars.x, mars.y, mars.z)) + m.rotate(mars.tilt, tiltAxis) + m.rotate(mars.roll, rollAxis) + m.scale(mars.r) + return m } } @@ -732,12 +741,12 @@ Entity { property Transform transformJupiter: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(jupiter.x, jupiter.y, jupiter.z)); - m.rotate(jupiter.tilt, tiltAxis); - m.rotate(jupiter.roll, rollAxis); - m.scale(jupiter.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(jupiter.x, jupiter.y, jupiter.z)) + m.rotate(jupiter.tilt, tiltAxis) + m.rotate(jupiter.roll, rollAxis) + m.scale(jupiter.r) + return m } } @@ -764,12 +773,12 @@ Entity { property Transform transformSaturn: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(saturn.x, saturn.y, saturn.z)); - m.rotate(saturn.tilt, tiltAxis); - m.rotate(saturn.roll, rollAxis); - m.scale(saturn.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(saturn.x, saturn.y, saturn.z)) + m.rotate(saturn.tilt, tiltAxis) + m.rotate(saturn.roll, rollAxis) + m.scale(saturn.r) + return m } } @@ -798,12 +807,12 @@ Entity { property Transform transformSaturnRing: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(saturn.x, saturn.y, saturn.z)); - m.rotate(saturn.tilt, tiltAxis); - m.rotate(saturn.roll / 10, rollAxis); - m.scale((saturnRing.innerRadius + saturnRing.outerRadius) / 1.75); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(saturn.x, saturn.y, saturn.z)) + m.rotate(saturn.tilt, tiltAxis) + m.rotate(saturn.roll / 10, rollAxis) + m.scale((saturnRing.innerRadius + saturnRing.outerRadius) / 1.75) + return m } } @@ -830,12 +839,12 @@ Entity { property Transform transformUranus: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(uranus.x, uranus.y, uranus.z)); - m.rotate(uranus.tilt, tiltAxis); - m.rotate(uranus.roll, rollAxis); - m.scale(uranus.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(uranus.x, uranus.y, uranus.z)) + m.rotate(uranus.tilt, tiltAxis) + m.rotate(uranus.roll, rollAxis) + m.scale(uranus.r) + return m } } @@ -864,12 +873,12 @@ Entity { property Transform transformUranusRing: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(uranus.x, uranus.y, uranus.z)); - m.rotate(uranus.tilt, tiltAxis); - m.rotate(uranus.roll / 10, rollAxis); - m.scale((uranusRing.innerRadius + uranusRing.outerRadius) / 1.75); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(uranus.x, uranus.y, uranus.z)) + m.rotate(uranus.tilt, tiltAxis) + m.rotate(uranus.roll / 10, rollAxis) + m.scale((uranusRing.innerRadius + uranusRing.outerRadius) / 1.75) + return m } } @@ -896,12 +905,12 @@ Entity { property Transform transformNeptune: Transform { matrix: { - var m = Qt.matrix4x4(); - m.translate(Qt.vector3d(neptune.x, neptune.y, neptune.z)); - m.rotate(neptune.tilt, tiltAxis); - m.rotate(neptune.roll, rollAxis); - m.scale(neptune.r); - return m; + var m = Qt.matrix4x4() + m.translate(Qt.vector3d(neptune.x, neptune.y, neptune.z)) + m.rotate(neptune.tilt, tiltAxis) + m.rotate(neptune.roll, rollAxis) + m.scale(neptune.r) + return m } } diff --git a/examples/qt3d/planets-qml/main.cpp b/examples/qt3d/planets-qml/main.cpp index 02c43181f..7345e27f3 100644 --- a/examples/qt3d/planets-qml/main.cpp +++ b/examples/qt3d/planets-qml/main.cpp @@ -54,6 +54,7 @@ int main(int argc, char **argv) view.setFormat(format); view.setResizeMode(QQuickView::SizeRootObjectToView); view.setSource(QUrl("qrc:/PlanetsMain.qml")); + view.setColor("#000000"); view.show(); return app.exec(); -- cgit v1.2.3