From 5bf4f93fcb8ff16aeadf55644be351c9989ab5b2 Mon Sep 17 00:00:00 2001 From: Mike Krus Date: Tue, 11 Feb 2020 14:14:30 +0000 Subject: Make default geometries views In Extras, make QTorusMesh and others a QGeometryView rather than a QGeometryRenderer. Requires changes to scene graphs here and there but going forward there simple shapes could be used as proxies for picking or collision detection, etc. Change-Id: Id488e064080dfd303e448aba11e6b242236b81d4 Reviewed-by: Paul Lemire --- examples/qt3d/3d-text/main.cpp | 6 +- examples/qt3d/anaglyph-rendering/main.qml | 24 ++++--- examples/qt3d/audio-visualizer-qml/Visualizer.qml | 18 +++--- examples/qt3d/basicshapes-cpp/scenemodifier.cpp | 73 ++++++++++++++-------- examples/qt3d/lights/PlaneEntity.qml | 15 +++-- examples/qt3d/lights/main.qml | 18 ++++-- examples/qt3d/phong-cubes/CubeEntity.qml | 10 +-- examples/qt3d/planets-qml/Planet.qml | 12 ++-- examples/qt3d/qardboard/main.qml | 24 ++++--- examples/qt3d/scene2d/doc/src/scene2d.qdoc | 10 +-- examples/qt3d/scene2d/main.qml | 3 +- examples/qt3d/scene3d/AnimatedEntity.qml | 18 +++--- examples/qt3d/scene3dview/AnimatedEntity.qml | 18 +++--- examples/qt3d/shadow-map-qml/GroundPlane.qml | 10 +-- examples/qt3d/simple-cpp/main.cpp | 11 +++- examples/qt3d/simple-qml/main.qml | 19 +++--- examples/qt3d/simplecustommaterial/PlaneModel.qml | 10 +-- examples/qt3d/wave/Wave.qml | 10 +-- src/extras/defaults/qskyboxentity.cpp | 5 +- src/extras/geometries/qconemesh.cpp | 4 +- src/extras/geometries/qconemesh.h | 4 +- src/extras/geometries/qcuboidmesh.cpp | 4 +- src/extras/geometries/qcuboidmesh.h | 4 +- src/extras/geometries/qcylindermesh.cpp | 5 +- src/extras/geometries/qcylindermesh.h | 4 +- src/extras/geometries/qplanemesh.cpp | 4 +- src/extras/geometries/qplanemesh.h | 4 +- src/extras/geometries/qspheremesh.cpp | 4 +- src/extras/geometries/qspheremesh.h | 4 +- src/extras/geometries/qtorusmesh.cpp | 4 +- src/extras/geometries/qtorusmesh.h | 4 +- src/plugins/sceneparsers/gltf/gltfimporter.cpp | 38 +++++++---- .../sceneparsers/gltfexport/gltfexporter.cpp | 13 ++-- src/render/framegraph/qrenderstateset.cpp | 2 +- src/render/frontend/qlevelofdetail.cpp | 9 +-- .../tst_aspects_startup_shutdown.cpp | 10 ++- tests/auto/render/boundingsphere/cube.qml | 2 +- tests/auto/render/boundingsphere/sphere.qml | 2 +- .../render/boundingsphere/tst_boundingsphere.cpp | 6 -- tests/auto/render/gltfplugins/tst_gltfplugins.cpp | 67 +++++++++++++------- .../testscene_cameraposition.qml | 2 +- .../testscene_childentity.qml | 2 +- .../testscene_dragdisabled.qml | 2 +- .../testscene_dragenabled.qml | 2 +- .../testscene_dragenabledhoverenabled.qml | 2 +- .../testscene_dragenabledoverlapping.qml | 2 +- .../testscene_improperframegraph.qml | 2 +- .../pickboundingvolumejob/testscene_nopicking.qml | 2 +- .../testscene_parententity.qml | 10 +-- .../testscene_pickersdisabled.qml | 2 +- .../testscene_priorityoverlapping.qml | 2 +- .../pickboundingvolumejob/testscene_viewports.qml | 2 +- tests/auto/render/picking/tst_picking.cpp | 6 +- .../raycastingjob/testscene_screenraycasting.qml | 12 ++-- .../raycastingjob/testscene_worldraycasting.qml | 12 ++-- .../testscene_worldraycastingalllayers.qml | 12 ++-- .../testscene_worldraycastinglayer.qml | 12 ++-- .../testscene_worldraycastingparentlayer.qml | 12 ++-- .../updatemeshtrianglelistjob/test_scene.qml | 2 +- tests/benchmarks/render/jobs/tst_bench_jobs.cpp | 6 +- tests/manual/animation-keyframe-blendtree/main.qml | 3 +- .../animation-keyframe-programmatic/main.qml | 3 +- tests/manual/animation-keyframe-simple/main.qml | 3 +- tests/manual/bigmodel-qml/MyEntity.qml | 2 +- tests/manual/bigscene-cpp/entity.cpp | 1 - tests/manual/bigscene-cpp/main.cpp | 6 +- tests/manual/bigscene-instanced-qml/main.qml | 19 +++--- tests/manual/blitframebuffer-qml/main.qml | 18 +++--- tests/manual/clip-planes-qml/ClipPlaneEntity.qml | 10 +-- tests/manual/clip-planes-qml/ClippingPlanes.qml | 10 +-- tests/manual/component-changes/main.cpp | 9 ++- tests/manual/compressed_textures/main.qml | 2 +- tests/manual/cylinder-cpp/main.cpp | 5 +- tests/manual/cylinder-parent-test/main.cpp | 12 ++-- tests/manual/cylinder-qml/main.qml | 12 ++-- tests/manual/deferred-renderer-cpp/main.cpp | 2 - tests/manual/deferred-renderer-cpp/sceneentity.cpp | 9 ++- .../deferred-renderer-cpp/screenquadentity.cpp | 6 +- .../deferred-renderer-qml/GBufferDebugger.qml | 10 +-- tests/manual/deferred-renderer-qml/SceneEntity.qml | 8 ++- .../deferred-renderer-qml/ScreenQuadEntity.qml | 10 +-- tests/manual/dragging/main.qml | 20 +++--- .../dynamic-model-loader-qml/CuboidEntity.qml | 10 +-- .../dynamic-model-loader-qml/SphereEntity.qml | 6 +- tests/manual/dynamic-model-loader-qml/main.qml | 15 +++-- tests/manual/dynamicscene-cpp/boxentity.cpp | 6 +- tests/manual/enabled-qml/main.qml | 14 +++-- tests/manual/keyboardinput-qml/SphereEntity.qml | 2 +- tests/manual/layerfilter-qml/main.qml | 16 +++-- tests/manual/loader-qml/CuboidEntity.qml | 10 +-- tests/manual/loader-qml/SphereEntity.qml | 6 +- tests/manual/loader-qml/main.qml | 12 ++-- tests/manual/lod/ConeEntity.qml | 10 +-- tests/manual/lod/CuboidEntity.qml | 10 +-- tests/manual/lod/CylinderEntity.qml | 8 ++- tests/manual/lod/SphereEntity.qml | 6 +- tests/manual/lod/main.qml | 16 ++--- tests/manual/manual-renderloop/main.cpp | 4 +- tests/manual/mesh-morphing/main.cpp | 12 +++- tests/manual/mouseinput-qml/main.qml | 6 +- tests/manual/multiplewindows-qml/Scene.qml | 18 +++--- tests/manual/paintedtexture-cpp/scene.cpp | 6 +- tests/manual/picking-qml/main.qml | 2 +- tests/manual/plasma/main.qml | 10 +-- tests/manual/proximityfilter/main.qml | 5 +- tests/manual/qtbug-72236/main.cpp | 5 +- tests/manual/qtbug-76766/PostProcess.qml | 10 +-- tests/manual/qtbug-76766/SceneRoot.qml | 12 ++-- tests/manual/raster-cpp/main.cpp | 5 +- tests/manual/raster-qml/main.qml | 12 ++-- tests/manual/raycasting-qml/CylinderEntity.qml | 12 ++-- tests/manual/render-qml-to-texture-qml/main.qml | 10 +-- tests/manual/render-qml-to-texture/main.cpp | 5 +- tests/manual/rendercapture-cpp/main.cpp | 10 ++- .../manual/rendercapture-qml-fbo/CaptureScene.qml | 18 +++--- tests/manual/rendercapture-qml/CaptureScene.qml | 18 +++--- tests/manual/scene3d-in-sync/main.qml | 10 +-- tests/manual/scene3d-loader/AnimatedEntity.qml | 18 +++--- tests/manual/scene3d-loader/Scene2.qml | 14 +++-- tests/manual/scene3d-visibility/main.qml | 18 +++--- tests/manual/shader-image-qml/main.qml | 5 +- tests/manual/shared_texture_image/main.qml | 2 +- tests/manual/sharedtexture/main.cpp | 6 +- tests/manual/sharedtextureqml/main.qml | 2 +- tests/manual/simple-shaders-qml/main.qml | 12 ++-- tests/manual/skybox/Skybox.qml | 10 +-- tests/manual/skybox/main.qml | 2 +- tests/manual/subtree-enabler-qml/main.qml | 2 +- tests/manual/texture-updates-cpp/scene.cpp | 6 +- tests/manual/texture_property_updates/main.qml | 2 +- tests/manual/transparency-qml-scene3d/Scene.qml | 18 +++--- tests/manual/transparency-qml/main.qml | 18 +++--- tests/manual/video-texture-qml/main.qml | 3 +- 133 files changed, 788 insertions(+), 485 deletions(-) diff --git a/examples/qt3d/3d-text/main.cpp b/examples/qt3d/3d-text/main.cpp index f480f8a2e..e7da8af45 100644 --- a/examples/qt3d/3d-text/main.cpp +++ b/examples/qt3d/3d-text/main.cpp @@ -50,6 +50,7 @@ #include #include +#include #include #include @@ -71,8 +72,11 @@ int main(int argc, char *argv[]) planeTransform->setTranslation(QVector3D(0, 0, 0)); planeMaterial->setDiffuse(QColor(150, 150, 150)); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(planeMesh); + plane->addComponent(planeMaterial); - plane->addComponent(planeMesh); + plane->addComponent(renderer); plane->addComponent(planeTransform); } diff --git a/examples/qt3d/anaglyph-rendering/main.qml b/examples/qt3d/anaglyph-rendering/main.qml index 89e5c3664..1301a510a 100644 --- a/examples/qt3d/anaglyph-rendering/main.qml +++ b/examples/qt3d/anaglyph-rendering/main.qml @@ -92,11 +92,13 @@ Entity { // Cylinder Entity { - property CylinderMesh cylinder: CylinderMesh { - radius: 1 - length: 3 - rings: 100 - slices: 20 + property GeometryRenderer cylinder: GeometryRenderer { + view: CylinderMesh { + radius: 1 + length: 3 + rings: 100 + slices: 20 + } } property Transform transform: Transform { id: cylinderTransform @@ -196,11 +198,13 @@ Entity { readonly property real det: 1.0 / model delegate: Entity { components: [ - TorusMesh { - radius: 35 - minorRadius: 5 - rings: 100 - slices: 20 + GeometryRenderer { + view: TorusMesh { + radius: 35 + minorRadius: 5 + rings: 100 + slices: 20 + } }, Transform { id: transform diff --git a/examples/qt3d/audio-visualizer-qml/Visualizer.qml b/examples/qt3d/audio-visualizer-qml/Visualizer.qml index 42373f950..e6ba6891b 100644 --- a/examples/qt3d/audio-visualizer-qml/Visualizer.qml +++ b/examples/qt3d/audio-visualizer-qml/Visualizer.qml @@ -157,11 +157,13 @@ Entity { //![1] // Bars - CuboidMesh { + GeometryRenderer { id: barMesh - xExtent: 0.1 - yExtent: 0.1 - zExtent: 0.1 + view: CuboidMesh { + xExtent: 0.1 + yExtent: 0.1 + zExtent: 0.1 + } } NodeInstantiator { @@ -189,10 +191,12 @@ Entity { Entity { id: titlePlane - PlaneMesh { + GeometryRenderer { id: titlePlaneMesh - width: 550 - height: 100 + view: PlaneMesh { + width: 550 + height: 100 + } } Transform { diff --git a/examples/qt3d/basicshapes-cpp/scenemodifier.cpp b/examples/qt3d/basicshapes-cpp/scenemodifier.cpp index d89b7f2fb..fa268afa6 100644 --- a/examples/qt3d/basicshapes-cpp/scenemodifier.cpp +++ b/examples/qt3d/basicshapes-cpp/scenemodifier.cpp @@ -49,7 +49,7 @@ ****************************************************************************/ #include "scenemodifier.h" - +#include #include SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) @@ -78,13 +78,17 @@ SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) torusMaterial->setDiffuse(QColor(QRgb(0xbeb32b))); //! [2] - // Torus - //! [3] - m_torusEntity = new Qt3DCore::QEntity(m_rootEntity); - m_torusEntity->addComponent(m_torus); - m_torusEntity->addComponent(torusMaterial); - m_torusEntity->addComponent(torusTransform); - //! [3] + { + // Torus + //! [3] + m_torusEntity = new Qt3DCore::QEntity(m_rootEntity); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(m_torus); + m_torusEntity->addComponent(renderer); + m_torusEntity->addComponent(torusMaterial); + m_torusEntity->addComponent(torusTransform); + //! [3] + } // Cone shape data Qt3DExtras::QConeMesh *cone = new Qt3DExtras::QConeMesh(); @@ -104,10 +108,14 @@ SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) coneMaterial->setDiffuse(QColor(QRgb(0x928327))); // Cone - m_coneEntity = new Qt3DCore::QEntity(m_rootEntity); - m_coneEntity->addComponent(cone); - m_coneEntity->addComponent(coneMaterial); - m_coneEntity->addComponent(coneTransform); + { + m_coneEntity = new Qt3DCore::QEntity(m_rootEntity); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(cone); + m_coneEntity->addComponent(renderer); + m_coneEntity->addComponent(coneMaterial); + m_coneEntity->addComponent(coneTransform); + } // Cylinder shape data Qt3DExtras::QCylinderMesh *cylinder = new Qt3DExtras::QCylinderMesh(); @@ -126,10 +134,14 @@ SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) cylinderMaterial->setDiffuse(QColor(QRgb(0x928327))); // Cylinder - m_cylinderEntity = new Qt3DCore::QEntity(m_rootEntity); - m_cylinderEntity->addComponent(cylinder); - m_cylinderEntity->addComponent(cylinderMaterial); - m_cylinderEntity->addComponent(cylinderTransform); + { + m_cylinderEntity = new Qt3DCore::QEntity(m_rootEntity); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(cylinder); + m_cylinderEntity->addComponent(renderer); + m_cylinderEntity->addComponent(cylinderMaterial); + m_cylinderEntity->addComponent(cylinderTransform); + } // Cuboid shape data Qt3DExtras::QCuboidMesh *cuboid = new Qt3DExtras::QCuboidMesh(); @@ -143,10 +155,14 @@ SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) cuboidMaterial->setDiffuse(QColor(QRgb(0x665423))); //Cuboid - m_cuboidEntity = new Qt3DCore::QEntity(m_rootEntity); - m_cuboidEntity->addComponent(cuboid); - m_cuboidEntity->addComponent(cuboidMaterial); - m_cuboidEntity->addComponent(cuboidTransform); + { + m_cuboidEntity = new Qt3DCore::QEntity(m_rootEntity); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(cuboid); + m_cuboidEntity->addComponent(renderer); + m_cuboidEntity->addComponent(cuboidMaterial); + m_cuboidEntity->addComponent(cuboidTransform); + } // Plane shape data Qt3DExtras::QPlaneMesh *planeMesh = new Qt3DExtras::QPlaneMesh(); @@ -163,10 +179,14 @@ SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) planeMaterial->setDiffuse(QColor(QRgb(0xa69929))); // Plane - m_planeEntity = new Qt3DCore::QEntity(m_rootEntity); - m_planeEntity->addComponent(planeMesh); - m_planeEntity->addComponent(planeMaterial); - m_planeEntity->addComponent(planeTransform); + { + m_planeEntity = new Qt3DCore::QEntity(m_rootEntity); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(planeMesh); + m_planeEntity->addComponent(renderer); + m_planeEntity->addComponent(planeMaterial); + m_planeEntity->addComponent(planeTransform); + } // Sphere shape data Qt3DExtras::QSphereMesh *sphereMesh = new Qt3DExtras::QSphereMesh(); @@ -183,9 +203,12 @@ SceneModifier::SceneModifier(Qt3DCore::QEntity *rootEntity) Qt3DExtras::QPhongMaterial *sphereMaterial = new Qt3DExtras::QPhongMaterial(); sphereMaterial->setDiffuse(QColor(QRgb(0xa69929))); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(sphereMesh); + // Sphere m_sphereEntity = new Qt3DCore::QEntity(m_rootEntity); - m_sphereEntity->addComponent(sphereMesh); + m_sphereEntity->addComponent(renderer); m_sphereEntity->addComponent(sphereMaterial); m_sphereEntity->addComponent(sphereTransform); } diff --git a/examples/qt3d/lights/PlaneEntity.qml b/examples/qt3d/lights/PlaneEntity.qml index 268c59add..1e84543f6 100644 --- a/examples/qt3d/lights/PlaneEntity.qml +++ b/examples/qt3d/lights/PlaneEntity.qml @@ -61,14 +61,17 @@ Entity { property alias resolution: mesh.meshResolution property Material material - components: [ transform, mesh, root.material ] + components: [ transform, renderer, root.material ] Transform { id: transform } - PlaneMesh { - id: mesh - width: 1.0 - height: 1.0 - meshResolution: Qt.size(2, 2) + GeometryRenderer { + id: renderer + view: PlaneMesh { + id: mesh + width: 1.0 + height: 1.0 + meshResolution: Qt.size(2, 2) + } } } diff --git a/examples/qt3d/lights/main.qml b/examples/qt3d/lights/main.qml index 38a283d37..c647788fe 100644 --- a/examples/qt3d/lights/main.qml +++ b/examples/qt3d/lights/main.qml @@ -95,8 +95,10 @@ Entity Entity { id: redLight components: [ - SphereMesh { - radius: 2 + GeometryRenderer { + view: SphereMesh { + radius: 2 + } }, Transform { translation: Qt.vector3d(2.0, 8.0, -2.0) @@ -118,8 +120,10 @@ Entity Entity { id: greenLight components: [ - SphereMesh { - radius: 2 + GeometryRenderer { + view: SphereMesh { + radius: 2 + } }, Transform { translation: Qt.vector3d(0.0, 3.0, 4.0) @@ -141,8 +145,10 @@ Entity Entity { id: spotLight components: [ - SphereMesh { - radius: 1 + GeometryRenderer { + view: SphereMesh { + radius: 2 + } }, Transform { translation: Qt.vector3d(-20.0, 40.0, 0.0) diff --git a/examples/qt3d/phong-cubes/CubeEntity.qml b/examples/qt3d/phong-cubes/CubeEntity.qml index 558f53327..2c3939662 100644 --- a/examples/qt3d/phong-cubes/CubeEntity.qml +++ b/examples/qt3d/phong-cubes/CubeEntity.qml @@ -60,11 +60,13 @@ Entity { components: [mesh, material, transform] - CuboidMesh { + GeometryRenderer { id: mesh - xExtent: 0.5 - yExtent: xExtent - zExtent: xExtent + view: CuboidMesh { + xExtent: 0.5 + yExtent: xExtent + zExtent: xExtent + } } Transform { diff --git a/examples/qt3d/planets-qml/Planet.qml b/examples/qt3d/planets-qml/Planet.qml index 231cd7bac..bbec74444 100644 --- a/examples/qt3d/planets-qml/Planet.qml +++ b/examples/qt3d/planets-qml/Planet.qml @@ -51,7 +51,7 @@ import Qt3D.Render 2.0 import Qt3D.Extras 2.0 -SphereMesh { +GeometryRenderer { property real r: 0 property real x: 0 property real y: 0 @@ -59,8 +59,10 @@ SphereMesh { property real roll: 0 property real tilt: 0 - radius: 1.0 - generateTangents: true - rings: 64 - slices: 64 + view: SphereMesh { + radius: 1.0 + generateTangents: true + rings: 64 + slices: 64 + } } diff --git a/examples/qt3d/qardboard/main.qml b/examples/qt3d/qardboard/main.qml index b273c0f57..906b43232 100644 --- a/examples/qt3d/qardboard/main.qml +++ b/examples/qt3d/qardboard/main.qml @@ -122,11 +122,13 @@ QardboardRootEntity { // Cylinder Entity { - property CylinderMesh cylinder: CylinderMesh { - radius: 1 - length: 3 - rings: 100 - slices: 20 + property GeometryRenderer cylinder: GeometryRenderer { + view: CylinderMesh { + radius: 1 + length: 3 + rings: 100 + slices: 20 + } } property Transform transform: Transform { id: cylinderTransform @@ -180,11 +182,13 @@ QardboardRootEntity { readonly property real det: 1.0 / model delegate: Entity { components: [ - TorusMesh { - radius: 35 - minorRadius: 5 - rings: 100 - slices: 20 + GeometryRenderer { + view: TorusMesh { + radius: 35 + minorRadius: 5 + rings: 100 + slices: 20 + } }, Transform { id: transform diff --git a/examples/qt3d/scene2d/doc/src/scene2d.qdoc b/examples/qt3d/scene2d/doc/src/scene2d.qdoc index fd8a5b825..aad80053e 100644 --- a/examples/qt3d/scene2d/doc/src/scene2d.qdoc +++ b/examples/qt3d/scene2d/doc/src/scene2d.qdoc @@ -74,11 +74,11 @@ \section1 Rendering Qt Quick into a Texture We begin by declaring the Entity that will become our control panel. It consists of - a CuboidMesh onto which we will place the texture containing a rendering of the Qt Quick - scene. In this case we are using a simple cube for the geometry, but we could use - any valid 3D geometry as long as it has texture coordinates. The texture coordinates - are used for projecting the texture onto the 3D surface, and also for calculating the - coordinates of mouse events to be passed to the originating Qt Quick scene. + a GeometryRenderer with a CuboidMesh view onto which we will place the texture containing + a rendering of the Qt Quick scene. In this case we are using a simple cube for the + geometry, but we could use any valid 3D geometry as long as it has texture coordinates. + The texture coordinates are used for projecting the texture onto the 3D surface, and also + for calculating the coordinates of mouse events to be passed to the originating Qt Quick scene. \skipto Entity { \printto Behavior diff --git a/examples/qt3d/scene2d/main.qml b/examples/qt3d/scene2d/main.qml index ceaac3b34..671ab3990 100644 --- a/examples/qt3d/scene2d/main.qml +++ b/examples/qt3d/scene2d/main.qml @@ -137,8 +137,9 @@ Entity { rotation: fromAxisAndAngle(Qt.vector3d(0,1,0), cube.rotationAngle) } - CuboidMesh { + GeometryRenderer { id: cubeMesh + view: CuboidMesh { } } ObjectPicker { diff --git a/examples/qt3d/scene3d/AnimatedEntity.qml b/examples/qt3d/scene3d/AnimatedEntity.qml index 77cc15aa3..3e24dc785 100644 --- a/examples/qt3d/scene3d/AnimatedEntity.qml +++ b/examples/qt3d/scene3d/AnimatedEntity.qml @@ -89,12 +89,14 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -108,9 +110,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/examples/qt3d/scene3dview/AnimatedEntity.qml b/examples/qt3d/scene3dview/AnimatedEntity.qml index db27f3584..774928f74 100644 --- a/examples/qt3d/scene3dview/AnimatedEntity.qml +++ b/examples/qt3d/scene3dview/AnimatedEntity.qml @@ -90,12 +90,14 @@ Entity { diffuse: sceneColor } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -109,9 +111,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/examples/qt3d/shadow-map-qml/GroundPlane.qml b/examples/qt3d/shadow-map-qml/GroundPlane.qml index d78f5b07a..072e3663a 100644 --- a/examples/qt3d/shadow-map-qml/GroundPlane.qml +++ b/examples/qt3d/shadow-map-qml/GroundPlane.qml @@ -56,11 +56,13 @@ Entity { id: root property Material material - PlaneMesh { + GeometryRenderer { id: groundMesh - width: 50 - height: width - meshResolution: Qt.size(2, 2) + view: PlaneMesh { + width: 50 + height: width + meshResolution: Qt.size(2, 2) + } } Transform { diff --git a/examples/qt3d/simple-cpp/main.cpp b/examples/qt3d/simple-cpp/main.cpp index 32f19c194..6b45dd1d0 100644 --- a/examples/qt3d/simple-cpp/main.cpp +++ b/examples/qt3d/simple-cpp/main.cpp @@ -59,9 +59,9 @@ #include #include +#include #include #include -#include #include #include @@ -91,7 +91,9 @@ Qt3DCore::QEntity *createScene() torusTransform->setScale3D(QVector3D(1.5, 1, 0.5)); torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1, 0, 0), 45.0f)); - torusEntity->addComponent(torusMesh); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(torusMesh); + torusEntity->addComponent(renderer); torusEntity->addComponent(torusTransform); torusEntity->addComponent(material); @@ -114,7 +116,10 @@ Qt3DCore::QEntity *createScene() sphereRotateTransformAnimation->setLoopCount(-1); sphereRotateTransformAnimation->start(); - sphereEntity->addComponent(sphereMesh); + renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(sphereMesh); + + sphereEntity->addComponent(renderer); sphereEntity->addComponent(sphereTransform); sphereEntity->addComponent(material); diff --git a/examples/qt3d/simple-qml/main.qml b/examples/qt3d/simple-qml/main.qml index 9f4149202..60b9a0990 100644 --- a/examples/qt3d/simple-qml/main.qml +++ b/examples/qt3d/simple-qml/main.qml @@ -89,14 +89,17 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } + Transform { id: torusTransform scale3D: Qt.vector3d(1.5, 1, 0.5) @@ -108,9 +111,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/examples/qt3d/simplecustommaterial/PlaneModel.qml b/examples/qt3d/simplecustommaterial/PlaneModel.qml index b5271fe0c..bc95f8600 100644 --- a/examples/qt3d/simplecustommaterial/PlaneModel.qml +++ b/examples/qt3d/simplecustommaterial/PlaneModel.qml @@ -67,10 +67,12 @@ Entity { rotationX: 45 } - PlaneMesh { + GeometryRenderer { id: mesh - width: 1.0 - height: 1.0 - meshResolution: Qt.size(2, 2) + view: PlaneMesh { + width: 1.0 + height: 1.0 + meshResolution: Qt.size(2, 2) + } } } diff --git a/examples/qt3d/wave/Wave.qml b/examples/qt3d/wave/Wave.qml index 107502897..428ca8e56 100644 --- a/examples/qt3d/wave/Wave.qml +++ b/examples/qt3d/wave/Wave.qml @@ -81,10 +81,12 @@ Entity { diffuse: Qt.rgba( root.intensity, root.intensity, root.intensity, 1.0 ) // Set how bright the wave is } - PlaneMesh { + GeometryView { id: mesh - width: 25.0 - height: 5.0 - meshResolution: Qt.size( 125, 50 ) + view: PlaneMesh { + width: 25.0 + height: 5.0 + meshResolution: Qt.size( 125, 50 ) + } } } diff --git a/src/extras/defaults/qskyboxentity.cpp b/src/extras/defaults/qskyboxentity.cpp index 8d01e8d82..b12c0b304 100644 --- a/src/extras/defaults/qskyboxentity.cpp +++ b/src/extras/defaults/qskyboxentity.cpp @@ -54,6 +54,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE @@ -184,7 +185,9 @@ void QSkyboxEntityPrivate::init() m_skyboxTexture->addTextureImage(m_negYImage); m_skyboxTexture->addTextureImage(m_negZImage); - q_func()->addComponent(m_mesh); + QGeometryRenderer *renderer = new QGeometryRenderer; + renderer->setView(m_mesh); + q_func()->addComponent(renderer); q_func()->addComponent(m_material); } diff --git a/src/extras/geometries/qconemesh.cpp b/src/extras/geometries/qconemesh.cpp index 508e7cfd3..4a8ab05c8 100644 --- a/src/extras/geometries/qconemesh.cpp +++ b/src/extras/geometries/qconemesh.cpp @@ -115,7 +115,7 @@ namespace Qt3DExtras { */ QConeMesh::QConeMesh(QNode *parent) - : QGeometryRenderer(parent) + : Qt3DCore::QGeometryView(parent) { QConeGeometry *geometry = new QConeGeometry(this); QObject::connect(geometry, &QConeGeometry::hasTopEndcapChanged, this, &QConeMesh::hasTopEndcapChanged); @@ -126,7 +126,7 @@ QConeMesh::QConeMesh(QNode *parent) QObject::connect(geometry, &QConeGeometry::slicesChanged, this, &QConeMesh::slicesChanged); QObject::connect(geometry, &QConeGeometry::lengthChanged, this, &QConeMesh::lengthChanged); - QGeometryRenderer::setGeometry(geometry); + QGeometryView::setGeometry(geometry); } /*! \internal */ diff --git a/src/extras/geometries/qconemesh.h b/src/extras/geometries/qconemesh.h index 57fe0c0fc..ac7a7bf16 100644 --- a/src/extras/geometries/qconemesh.h +++ b/src/extras/geometries/qconemesh.h @@ -41,13 +41,13 @@ #define QT3DEXTRAS_QCONEMESH_H #include -#include +#include QT_BEGIN_NAMESPACE namespace Qt3DExtras { -class Q_3DEXTRASSHARED_EXPORT QConeMesh : public Qt3DRender::QGeometryRenderer +class Q_3DEXTRASSHARED_EXPORT QConeMesh : public Qt3DCore::QGeometryView { Q_OBJECT Q_PROPERTY(int rings READ rings WRITE setRings NOTIFY ringsChanged) diff --git a/src/extras/geometries/qcuboidmesh.cpp b/src/extras/geometries/qcuboidmesh.cpp index bdad566fc..8637f7a57 100644 --- a/src/extras/geometries/qcuboidmesh.cpp +++ b/src/extras/geometries/qcuboidmesh.cpp @@ -109,7 +109,7 @@ namespace Qt3DExtras { * Constructs a new QCuboidMesh with \a parent. */ QCuboidMesh::QCuboidMesh(QNode *parent) - : QGeometryRenderer(parent) + : Qt3DCore::QGeometryView(parent) { QCuboidGeometry *geometry = new QCuboidGeometry(this); QObject::connect(geometry, &QCuboidGeometry::xExtentChanged, this, &QCuboidMesh::xExtentChanged); @@ -118,7 +118,7 @@ QCuboidMesh::QCuboidMesh(QNode *parent) QObject::connect(geometry, &QCuboidGeometry::xyMeshResolutionChanged, this, &QCuboidMesh::xyMeshResolutionChanged); QObject::connect(geometry, &QCuboidGeometry::xzMeshResolutionChanged, this, &QCuboidMesh::xzMeshResolutionChanged); QObject::connect(geometry, &QCuboidGeometry::yzMeshResolutionChanged, this, &QCuboidMesh::yzMeshResolutionChanged); - QGeometryRenderer::setGeometry(geometry); + QGeometryView::setGeometry(geometry); } /*! \internal */ diff --git a/src/extras/geometries/qcuboidmesh.h b/src/extras/geometries/qcuboidmesh.h index a945dbe2b..480ffaae3 100644 --- a/src/extras/geometries/qcuboidmesh.h +++ b/src/extras/geometries/qcuboidmesh.h @@ -41,14 +41,14 @@ #define QT3DEXTRAS_CUBOIDMESH_H #include -#include +#include #include QT_BEGIN_NAMESPACE namespace Qt3DExtras { -class Q_3DEXTRASSHARED_EXPORT QCuboidMesh : public Qt3DRender::QGeometryRenderer +class Q_3DEXTRASSHARED_EXPORT QCuboidMesh : public Qt3DCore::QGeometryView { Q_OBJECT diff --git a/src/extras/geometries/qcylindermesh.cpp b/src/extras/geometries/qcylindermesh.cpp index 3a495cce2..5aa3b90fd 100644 --- a/src/extras/geometries/qcylindermesh.cpp +++ b/src/extras/geometries/qcylindermesh.cpp @@ -54,7 +54,6 @@ QT_BEGIN_NAMESPACE using namespace Qt3DCore; -using namespace Qt3DRender; namespace Qt3DExtras { @@ -104,7 +103,7 @@ namespace Qt3DExtras { * Constructs a new QCylinderMesh with \a parent. */ QCylinderMesh::QCylinderMesh(QNode *parent) - : QGeometryRenderer(parent) + : Qt3DCore::QGeometryView(parent) { QCylinderGeometry *geometry = new QCylinderGeometry(this); QObject::connect(geometry, &QCylinderGeometry::radiusChanged, this, &QCylinderMesh::radiusChanged); @@ -112,7 +111,7 @@ QCylinderMesh::QCylinderMesh(QNode *parent) QObject::connect(geometry, &QCylinderGeometry::slicesChanged, this, &QCylinderMesh::slicesChanged); QObject::connect(geometry, &QCylinderGeometry::lengthChanged, this, &QCylinderMesh::lengthChanged); - QGeometryRenderer::setGeometry(geometry); + QGeometryView::setGeometry(geometry); } /*! \internal */ diff --git a/src/extras/geometries/qcylindermesh.h b/src/extras/geometries/qcylindermesh.h index f2c8fb01b..0117e5597 100644 --- a/src/extras/geometries/qcylindermesh.h +++ b/src/extras/geometries/qcylindermesh.h @@ -41,14 +41,14 @@ #define QT3DEXTRAS_QCYLINDERMESH_H #include -#include +#include QT_BEGIN_NAMESPACE namespace Qt3DExtras { -class Q_3DEXTRASSHARED_EXPORT QCylinderMesh : public Qt3DRender::QGeometryRenderer +class Q_3DEXTRASSHARED_EXPORT QCylinderMesh : public Qt3DCore::QGeometryView { Q_OBJECT Q_PROPERTY(int rings READ rings WRITE setRings NOTIFY ringsChanged) diff --git a/src/extras/geometries/qplanemesh.cpp b/src/extras/geometries/qplanemesh.cpp index 223e5a628..9dd5f70c5 100644 --- a/src/extras/geometries/qplanemesh.cpp +++ b/src/extras/geometries/qplanemesh.cpp @@ -94,14 +94,14 @@ namespace Qt3DExtras { * Constructs a new QPlaneMesh with \a parent. */ QPlaneMesh::QPlaneMesh(QNode *parent) - : QGeometryRenderer(parent) + : Qt3DCore::QGeometryView(parent) { QPlaneGeometry *geometry = new QPlaneGeometry(this); QObject::connect(geometry, &QPlaneGeometry::widthChanged, this, &QPlaneMesh::widthChanged); QObject::connect(geometry, &QPlaneGeometry::heightChanged, this, &QPlaneMesh::heightChanged); QObject::connect(geometry, &QPlaneGeometry::resolutionChanged, this, &QPlaneMesh::meshResolutionChanged); QObject::connect(geometry, &QPlaneGeometry::mirroredChanged, this, &QPlaneMesh::mirroredChanged); - QGeometryRenderer::setGeometry(geometry); + QGeometryView::setGeometry(geometry); } /*! \internal */ diff --git a/src/extras/geometries/qplanemesh.h b/src/extras/geometries/qplanemesh.h index 923af8897..fc71bd93a 100644 --- a/src/extras/geometries/qplanemesh.h +++ b/src/extras/geometries/qplanemesh.h @@ -41,14 +41,14 @@ #define QT3DEXTRAS_QPLANEMESH_H #include -#include +#include #include QT_BEGIN_NAMESPACE namespace Qt3DExtras { -class Q_3DEXTRASSHARED_EXPORT QPlaneMesh : public Qt3DRender::QGeometryRenderer +class Q_3DEXTRASSHARED_EXPORT QPlaneMesh : public Qt3DCore::QGeometryView { Q_OBJECT Q_PROPERTY(float width READ width WRITE setWidth NOTIFY widthChanged) diff --git a/src/extras/geometries/qspheremesh.cpp b/src/extras/geometries/qspheremesh.cpp index 28854fe29..13b8ecf5e 100644 --- a/src/extras/geometries/qspheremesh.cpp +++ b/src/extras/geometries/qspheremesh.cpp @@ -93,14 +93,14 @@ namespace Qt3DExtras { * Constructs a new QSphereMesh with \a parent. */ QSphereMesh::QSphereMesh(QNode *parent) - : QGeometryRenderer(parent) + : Qt3DCore::QGeometryView(parent) { QSphereGeometry *geometry = new QSphereGeometry(this); QObject::connect(geometry, &QSphereGeometry::radiusChanged, this, &QSphereMesh::radiusChanged); QObject::connect(geometry, &QSphereGeometry::ringsChanged, this, &QSphereMesh::ringsChanged); QObject::connect(geometry, &QSphereGeometry::slicesChanged, this, &QSphereMesh::slicesChanged); QObject::connect(geometry, &QSphereGeometry::generateTangentsChanged, this, &QSphereMesh::generateTangentsChanged); - QGeometryRenderer::setGeometry(geometry); + QGeometryView::setGeometry(geometry); } /*! \internal */ diff --git a/src/extras/geometries/qspheremesh.h b/src/extras/geometries/qspheremesh.h index 998cd7c0e..170f70215 100644 --- a/src/extras/geometries/qspheremesh.h +++ b/src/extras/geometries/qspheremesh.h @@ -41,7 +41,7 @@ #define QT3DEXTRAS_QSPHEREMESH_H #include -#include +#include QT_BEGIN_NAMESPACE @@ -49,7 +49,7 @@ namespace Qt3DExtras { class QSphereMeshPrivate; -class Q_3DEXTRASSHARED_EXPORT QSphereMesh : public Qt3DRender::QGeometryRenderer +class Q_3DEXTRASSHARED_EXPORT QSphereMesh : public Qt3DCore::QGeometryView { Q_OBJECT Q_PROPERTY(int rings READ rings WRITE setRings NOTIFY ringsChanged) diff --git a/src/extras/geometries/qtorusmesh.cpp b/src/extras/geometries/qtorusmesh.cpp index fd10afc1e..b195ef631 100644 --- a/src/extras/geometries/qtorusmesh.cpp +++ b/src/extras/geometries/qtorusmesh.cpp @@ -96,7 +96,7 @@ namespace Qt3DExtras { * Constructs a new QTorusMesh with \a parent. */ QTorusMesh::QTorusMesh(QNode *parent) - : QGeometryRenderer(parent) + : Qt3DCore::QGeometryView(parent) { QTorusGeometry *geometry = new QTorusGeometry(this); QObject::connect(geometry, &QTorusGeometry::radiusChanged, this, &QTorusMesh::radiusChanged); @@ -104,7 +104,7 @@ QTorusMesh::QTorusMesh(QNode *parent) QObject::connect(geometry, &QTorusGeometry::slicesChanged, this, &QTorusMesh::slicesChanged); QObject::connect(geometry, &QTorusGeometry::minorRadiusChanged, this, &QTorusMesh::minorRadiusChanged); - QGeometryRenderer::setGeometry(geometry); + QGeometryView::setGeometry(geometry); } /*! \internal */ diff --git a/src/extras/geometries/qtorusmesh.h b/src/extras/geometries/qtorusmesh.h index 2fd9f0a23..e36d94097 100644 --- a/src/extras/geometries/qtorusmesh.h +++ b/src/extras/geometries/qtorusmesh.h @@ -41,13 +41,13 @@ #define QT3DEXTRAS_QTORUSMESH_H #include -#include +#include QT_BEGIN_NAMESPACE namespace Qt3DExtras { -class Q_3DEXTRASSHARED_EXPORT QTorusMesh : public Qt3DRender::QGeometryRenderer +class Q_3DEXTRASSHARED_EXPORT QTorusMesh : public Qt3DCore::QGeometryView { Q_OBJECT Q_PROPERTY(int rings READ rings WRITE setRings NOTIFY ringsChanged) diff --git a/src/plugins/sceneparsers/gltf/gltfimporter.cpp b/src/plugins/sceneparsers/gltf/gltfimporter.cpp index b141a44a5..05c235977 100644 --- a/src/plugins/sceneparsers/gltf/gltfimporter.cpp +++ b/src/plugins/sceneparsers/gltf/gltfimporter.cpp @@ -1740,6 +1740,7 @@ void GLTFImporter::processJSONMesh(const QString &id, const QJsonObject &json) const QString material = (m_majorVersion > 1) ? QString::number(matValue.toInt()) : matValue.toString(); QGeometryRenderer *geometryRenderer = new QGeometryRenderer; + QGeometryView *geometryView = new QGeometryView; QGeometry *meshGeometry = new QGeometry(geometryRenderer); //Set Primitive Type @@ -1815,7 +1816,8 @@ void GLTFImporter::processJSONMesh(const QString &id, const QJsonObject &json) } } // of has indices - geometryRenderer->setGeometry(meshGeometry); + geometryView->setGeometry(meshGeometry); + geometryRenderer->setView(geometryView); geometryRenderer->setObjectName(meshName); m_meshDict.insert(id, geometryRenderer); @@ -1823,17 +1825,23 @@ void GLTFImporter::processJSONMesh(const QString &id, const QJsonObject &json) } else { QGeometryRenderer *mesh = nullptr; if (meshType == QStringLiteral("cone")) { - mesh = new QConeMesh; + mesh = new QGeometryRenderer; + mesh->setView(new QConeMesh); } else if (meshType == QStringLiteral("cuboid")) { - mesh = new QCuboidMesh; + mesh = new QGeometryRenderer; + mesh->setView(new QCuboidMesh); } else if (meshType == QStringLiteral("cylinder")) { - mesh = new QCylinderMesh; + mesh = new QGeometryRenderer; + mesh->setView(new QCylinderMesh); } else if (meshType == QStringLiteral("plane")) { - mesh = new QPlaneMesh; + mesh = new QGeometryRenderer; + mesh->setView(new QPlaneMesh); } else if (meshType == QStringLiteral("sphere")) { - mesh = new QSphereMesh; + mesh = new QGeometryRenderer; + mesh->setView(new QSphereMesh); } else if (meshType == QStringLiteral("torus")) { - mesh = new QTorusMesh; + mesh = new QGeometryRenderer; + mesh->setView(new QTorusMesh); } else { qCWarning(GLTFImporterLog, "Invalid mesh type: %ls for mesh: %ls", @@ -1844,30 +1852,34 @@ void GLTFImporter::processJSONMesh(const QString &id, const QJsonObject &json) if (mesh) { // Read and set properties const QJsonObject propObj = json.value(KEY_PROPERTIES).toObject(); + QObject *target = mesh; + if (mesh->view()) + target = mesh->view(); for (auto it = propObj.begin(), end = propObj.end(); it != end; ++it) { const QByteArray propName = it.key().toLatin1(); // Basic mesh types only have bool, int, float, and QSize type properties if (it.value().isBool()) { - mesh->setProperty(propName.constData(), QVariant(it.value().toBool())); + target->setProperty(propName.constData(), QVariant(it.value().toBool())); } else if (it.value().isArray()) { const QJsonArray valueArray = it.value().toArray(); if (valueArray.size() == 2) { QSize size; size.setWidth(valueArray.at(0).toInt()); size.setHeight(valueArray.at(1).toInt()); - mesh->setProperty(propName.constData(), QVariant(size)); + target->setProperty(propName.constData(), QVariant(size)); } } else { - const QVariant::Type propType = mesh->property(propName.constData()).type(); + const QVariant::Type propType = target->property(propName.constData()).type(); if (propType == QVariant::Int) { - mesh->setProperty(propName.constData(), QVariant(it.value().toInt())); + target->setProperty(propName.constData(), QVariant(it.value().toInt())); } else { - mesh->setProperty(propName.constData(), - QVariant(float(it.value().toDouble()))); + target->setProperty(propName.constData(), + QVariant(float(it.value().toDouble()))); } } } mesh->setObjectName(meshName); + mesh->view()->setObjectName(meshName); m_meshMaterialDict[mesh] = (m_majorVersion > 1) ? QString::number(json.value(KEY_MATERIAL).toInt()) : json.value(KEY_MATERIAL).toString(); diff --git a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp index 8b4fac1ce..7be8dd43e 100644 --- a/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp +++ b/src/plugins/sceneparsers/gltfexport/gltfexporter.cpp @@ -734,10 +734,13 @@ void GLTFExporter::parseMeshes() int meshCount = 0; for (auto it = m_meshMap.constBegin(); it != m_meshMap.constEnd(); ++it) { Node *node = it.key(); - QGeometryRenderer *mesh = it.value(); + QGeometryRenderer *renderer = it.value(); + QGeometryView *mesh = renderer->view(); + if (!mesh) + continue; MeshInfo meshInfo; - meshInfo.originalName = mesh->objectName(); + meshInfo.originalName = mesh->objectName().isEmpty() ? renderer->objectName() : mesh->objectName(); meshInfo.name = newMeshName(); meshInfo.materialName = m_materialInfo.value(m_materialMap.value(node)).name; @@ -764,7 +767,7 @@ void GLTFExporter::parseMeshes() } if (meshInfo.meshType != TypeNone) { - meshInfo.meshComponent = mesh; + meshInfo.meshComponent = renderer; cacheDefaultProperties(meshInfo.meshType); if (GLTFExporterLog().isDebugEnabled()) { @@ -973,7 +976,7 @@ void GLTFExporter::parseMeshes() } meshCount++; - m_meshInfo.insert(mesh, meshInfo); + m_meshInfo.insert(renderer, meshInfo); } qCDebug(GLTFExporterLog, "Total buffer size: %i", m_buffer.size()); @@ -1249,7 +1252,7 @@ bool GLTFExporter::saveScene() mesh["name"] = meshInfo.originalName; if (meshInfo.meshType != TypeNone) { QJsonObject properties; - exportGenericProperties(properties, meshInfo.meshType, meshInfo.meshComponent); + exportGenericProperties(properties, meshInfo.meshType, meshInfo.meshComponent->view()); mesh["type"] = meshInfo.meshTypeStr; mesh["properties"] = properties; mesh["material"] = meshInfo.materialName; diff --git a/src/render/framegraph/qrenderstateset.cpp b/src/render/framegraph/qrenderstateset.cpp index 2b701e67e..6923e8034 100644 --- a/src/render/framegraph/qrenderstateset.cpp +++ b/src/render/framegraph/qrenderstateset.cpp @@ -145,7 +145,7 @@ QRenderStateSetPrivate::QRenderStateSetPrivate() Entity { id: sphereEntity components: [ - SphereMesh {}, + GeometryRenderer { view: SphereMesh {} }, PhongMaterial {} ] } diff --git a/src/render/frontend/qlevelofdetail.cpp b/src/render/frontend/qlevelofdetail.cpp index fcc826f66..9b54e832e 100644 --- a/src/render/frontend/qlevelofdetail.cpp +++ b/src/render/frontend/qlevelofdetail.cpp @@ -152,11 +152,12 @@ void QLevelOfDetailPrivate::setCurrentIndex(int currentIndex) thresholdType: LevelOfDetail.DistanceToCameraThreshold } - CylinderMesh { + GeometryRenderer { id: mesh - - property var sliceValues: [20, 10, 6, 4] - slices: sliceValues[lod.currentIndex] + view: CylinderMesh { + property var sliceValues: [20, 10, 6, 4] + slices: sliceValues[lod.currentIndex] + } } Entity { diff --git a/tests/auto/global/aspects_startup_shutdown/tst_aspects_startup_shutdown.cpp b/tests/auto/global/aspects_startup_shutdown/tst_aspects_startup_shutdown.cpp index 00e4890c8..c765947ae 100644 --- a/tests/auto/global/aspects_startup_shutdown/tst_aspects_startup_shutdown.cpp +++ b/tests/auto/global/aspects_startup_shutdown/tst_aspects_startup_shutdown.cpp @@ -63,6 +63,7 @@ #include #include #include +#include #include #include @@ -113,7 +114,9 @@ Qt3DCore::QEntity *createScene(QWindow *w) torusTransform->setScale3D(QVector3D(1.5, 1, 0.5)); torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1, 0, 0), 45.0f)); - torusEntity->addComponent(torusMesh); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(torusMesh); + torusEntity->addComponent(renderer); torusEntity->addComponent(torusTransform); torusEntity->addComponent(material); @@ -124,7 +127,10 @@ Qt3DCore::QEntity *createScene(QWindow *w) Qt3DCore::QTransform *sphereTransform = new Qt3DCore::QTransform; - sphereEntity->addComponent(sphereMesh); + renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(sphereMesh); + + sphereEntity->addComponent(renderer); sphereEntity->addComponent(sphereTransform); sphereEntity->addComponent(material); diff --git a/tests/auto/render/boundingsphere/cube.qml b/tests/auto/render/boundingsphere/cube.qml index 11d6d4db1..eb437404a 100644 --- a/tests/auto/render/boundingsphere/cube.qml +++ b/tests/auto/render/boundingsphere/cube.qml @@ -61,7 +61,7 @@ Entity { Entity { components: [ - CuboidMesh { id: testMesh; objectName: "testMesh" }, + GeometryRenderer { id: testMesh; objectName: "testMesh"; view: CuboidMesh { } }, PhongMaterial { id: material } ] } diff --git a/tests/auto/render/boundingsphere/sphere.qml b/tests/auto/render/boundingsphere/sphere.qml index 1f0e2245a..c4b78824d 100644 --- a/tests/auto/render/boundingsphere/sphere.qml +++ b/tests/auto/render/boundingsphere/sphere.qml @@ -61,7 +61,7 @@ Entity { Entity { components: [ - SphereMesh { id: testMesh; objectName: "testMesh" }, + GeometryRenderer { id: testMesh; objectName: "testMesh"; view: SphereMesh { } }, PhongMaterial { id: material } ] } diff --git a/tests/auto/render/boundingsphere/tst_boundingsphere.cpp b/tests/auto/render/boundingsphere/tst_boundingsphere.cpp index c929c5cb5..2e3b498a6 100644 --- a/tests/auto/render/boundingsphere/tst_boundingsphere.cpp +++ b/tests/auto/render/boundingsphere/tst_boundingsphere.cpp @@ -57,12 +57,6 @@ #include #include -#include -#include -#include -#include -#include - #include QT_BEGIN_NAMESPACE diff --git a/tests/auto/render/gltfplugins/tst_gltfplugins.cpp b/tests/auto/render/gltfplugins/tst_gltfplugins.cpp index 26dddf12f..fbf24b22e 100644 --- a/tests/auto/render/gltfplugins/tst_gltfplugins.cpp +++ b/tests/auto/render/gltfplugins/tst_gltfplugins.cpp @@ -67,6 +67,7 @@ #include #include #include +#include #include #include @@ -326,7 +327,9 @@ void tst_gltfPlugins::createTestScene() mesh->setYZMeshResolution(QSize(2, 2)); mesh->setYZMeshResolution(QSize(2, 3)); mesh->setYZMeshResolution(QSize(3, 2)); - createAndAddEntity(QStringLiteral("Cube with DiffuseMap"), mesh, material, transform); + Qt3DRender::QGeometryRenderer *renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + createAndAddEntity(QStringLiteral("Cube with DiffuseMap"), renderer, material, transform); } // Cone with PhongAlpha { @@ -350,7 +353,9 @@ void tst_gltfPlugins::createTestScene() mesh->setTopRadius(0.5f); mesh->setBottomRadius(1.5f); mesh->setLength(0.9f); - createAndAddEntity(QStringLiteral("Cone with PhongAlpha"), mesh, material, transform); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + createAndAddEntity(QStringLiteral("Cone with PhongAlpha"), renderer, material, transform); } // Cylinder with Phong { @@ -367,7 +372,9 @@ void tst_gltfPlugins::createTestScene() mesh->setRings(3); mesh->setLength(1.2f); mesh->setSlices(16); - createAndAddEntity(QStringLiteral("Cylinder with Phong"), mesh, material, transform); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + createAndAddEntity(QStringLiteral("Cylinder with Phong"), renderer, material, transform); } // Plane with DiffuseSpecularMap { @@ -392,8 +399,10 @@ void tst_gltfPlugins::createTestScene() mesh->setMeshResolution(QSize(3, 3)); mesh->setHeight(1.5f); mesh->setWidth(1.2f); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); createAndAddEntity(QStringLiteral("Plane with DiffuseSpecularMap"), - mesh, material, transform); + renderer, material, transform); } // Sphere with NormalDiffuseMap { @@ -421,8 +430,10 @@ void tst_gltfPlugins::createTestScene() mesh->setRings(16); mesh->setSlices(16); mesh->setGenerateTangents(true); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); createAndAddEntity(QStringLiteral("Sphere with NormalDiffuseMap"), - mesh, material, transform); + renderer, material, transform); } // Sphere with NormalDiffuseMapAlpha { @@ -450,8 +461,10 @@ void tst_gltfPlugins::createTestScene() mesh->setRings(16); mesh->setSlices(16); mesh->setGenerateTangents(true); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); createAndAddEntity(QStringLiteral("Sphere with NormalDiffuseMapAlpha"), - mesh, material, transform); + renderer, material, transform); } // Sphere with NormalDiffuseSpecularMap { @@ -482,8 +495,10 @@ void tst_gltfPlugins::createTestScene() mesh->setRings(16); mesh->setSlices(16); mesh->setGenerateTangents(true); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); createAndAddEntity(QStringLiteral("Sphere with NormalDiffuseSpecularMap"), - mesh, material, transform); + renderer, material, transform); } // Torus with Gooch { @@ -505,7 +520,9 @@ void tst_gltfPlugins::createTestScene() mesh->setMinorRadius(0.5f); mesh->setRings(16); mesh->setSlices(16); - createAndAddEntity(QStringLiteral("Torus with Gooch"), mesh, material, transform); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + createAndAddEntity(QStringLiteral("Torus with Gooch"), renderer, material, transform); } // Custom cube with per-vertex colors { @@ -516,7 +533,7 @@ void tst_gltfPlugins::createTestScene() Qt3DRender::QGeometryRenderer *boxMesh = createCustomCube(); Qt3DCore::QBuffer *colorDataBuffer = - new Qt3DCore::QBuffer(boxMesh->geometry()); + new Qt3DCore::QBuffer(boxMesh->view()->geometry()); QByteArray colorBufferData; colorBufferData.resize(8 * 4 * sizeof(float)); @@ -530,7 +547,7 @@ void tst_gltfPlugins::createTestScene() colorDataBuffer->setData(colorBufferData); - addColorAttributeToGeometry(boxMesh->geometry(), colorDataBuffer, 8); + addColorAttributeToGeometry(boxMesh->view()->geometry(), colorDataBuffer, 8); createAndAddEntity(QStringLiteral("Custom cube with per-vertex colors"), boxMesh, material, transform); @@ -551,8 +568,10 @@ void tst_gltfPlugins::createTestScene() mesh->setRings(3); mesh->setLength(1.5f); mesh->setSlices(16); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); createAndAddEntity(QStringLiteral("Child with Phong"), - mesh, material, transform, parentEntity); + renderer, material, transform, parentEntity); } // Cube with custom material { @@ -571,7 +590,7 @@ void tst_gltfPlugins::createTestScene() transform->setRotation(Qt3DCore::QTransform::fromAxisAndAngle(1.0f, 2.0f, 3.0f, 90.0f)); Qt3DRender::QGeometryRenderer *boxMesh = createCustomCube(); Qt3DCore::QBuffer *offsetBuffer = - new Qt3DCore::QBuffer(boxMesh->geometry()); + new Qt3DCore::QBuffer(boxMesh->view()->geometry()); QByteArray offsetBufferData; offsetBufferData.resize(8 * 3 * sizeof(float)); @@ -594,7 +613,7 @@ void tst_gltfPlugins::createTestScene() customAttribute->setCount(8); customAttribute->setName(QStringLiteral("vertexOffset")); - boxMesh->geometry()->addAttribute(customAttribute); + boxMesh->view()->geometry()->addAttribute(customAttribute); createAndAddEntity(QStringLiteral("Custom cube with on-top material"), boxMesh, material, transform); @@ -732,8 +751,8 @@ void tst_gltfPlugins::compareComponents(Qt3DCore::QComponent *c1, Qt3DCore::QCom if (auto mesh1 = qobject_cast(c1)) { auto mesh2 = qobject_cast(c2); QVERIFY(mesh2 != nullptr); - auto geometry1 = mesh1->geometry(); - auto geometry2 = mesh2->geometry(); + auto geometry1 = mesh1->view()->geometry(); + auto geometry2 = mesh2->view()->geometry(); // Check that attributes match. compareAttributes( findAttribute(Qt3DCore::QAttribute::defaultPositionAttributeName(), @@ -961,8 +980,8 @@ QUrl tst_gltfPlugins::getTextureUrl(Qt3DRender::QAbstractTexture *tex) Qt3DRender::QGeometryRenderer *tst_gltfPlugins::createCustomCube() { - Qt3DRender::QGeometryRenderer *boxMesh = new Qt3DRender::QGeometryRenderer; - Qt3DCore::QGeometry *boxGeometry = new Qt3DCore::QGeometry(boxMesh); + Qt3DCore::QGeometryView *boxView = new Qt3DCore::QGeometryView(); + Qt3DCore::QGeometry *boxGeometry = new Qt3DCore::QGeometry(boxView); Qt3DCore::QBuffer *boxDataBuffer = new Qt3DCore::QBuffer(boxGeometry); Qt3DCore::QBuffer *indexDataBuffer = @@ -1005,13 +1024,15 @@ Qt3DRender::QGeometryRenderer *tst_gltfPlugins::createCustomCube() addPositionAttributeToGeometry(boxGeometry, boxDataBuffer, 8); addIndexAttributeToGeometry(boxGeometry, indexDataBuffer, 36); - boxMesh->setInstanceCount(1); - boxMesh->setIndexOffset(0); - boxMesh->setFirstInstance(0); - boxMesh->setVertexCount(36); - boxMesh->setPrimitiveType(Qt3DRender::QGeometryRenderer::Triangles); - boxMesh->setGeometry(boxGeometry); + boxView->setInstanceCount(1); + boxView->setIndexOffset(0); + boxView->setFirstInstance(0); + boxView->setVertexCount(36); + boxView->setPrimitiveType(Qt3DCore::QGeometryView::Triangles); + boxView->setGeometry(boxGeometry); + Qt3DRender::QGeometryRenderer *boxMesh = new Qt3DRender::QGeometryRenderer; + boxMesh->setView(boxView); return boxMesh; } diff --git a/tests/auto/render/pickboundingvolumejob/testscene_cameraposition.qml b/tests/auto/render/pickboundingvolumejob/testscene_cameraposition.qml index 87e7a8aac..9e56d7641 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_cameraposition.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_cameraposition.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } Entity { diff --git a/tests/auto/render/pickboundingvolumejob/testscene_childentity.qml b/tests/auto/render/pickboundingvolumejob/testscene_childentity.qml index 7376b53e5..29094d8e3 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_childentity.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_childentity.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Parent Entity diff --git a/tests/auto/render/pickboundingvolumejob/testscene_dragdisabled.qml b/tests/auto/render/pickboundingvolumejob/testscene_dragdisabled.qml index 9b7f973a9..a2cbd7117 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_dragdisabled.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_dragdisabled.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_dragenabled.qml b/tests/auto/render/pickboundingvolumejob/testscene_dragenabled.qml index 747b7e858..73f1108b4 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_dragenabled.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_dragenabled.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_dragenabledhoverenabled.qml b/tests/auto/render/pickboundingvolumejob/testscene_dragenabledhoverenabled.qml index f80726068..cdacf849d 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_dragenabledhoverenabled.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_dragenabledhoverenabled.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_dragenabledoverlapping.qml b/tests/auto/render/pickboundingvolumejob/testscene_dragenabledoverlapping.qml index 4280b8555..d54470119 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_dragenabledoverlapping.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_dragenabledoverlapping.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_improperframegraph.qml b/tests/auto/render/pickboundingvolumejob/testscene_improperframegraph.qml index f0b88acba..37140494d 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_improperframegraph.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_improperframegraph.qml @@ -79,7 +79,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_nopicking.qml b/tests/auto/render/pickboundingvolumejob/testscene_nopicking.qml index 86471f8b2..bb360c1bc 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_nopicking.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_nopicking.qml @@ -99,7 +99,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_parententity.qml b/tests/auto/render/pickboundingvolumejob/testscene_parententity.qml index 759544bb9..ce171de9e 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_parententity.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_parententity.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Parent Entity @@ -104,9 +104,11 @@ Entity { Entity { components: [ - PlaneMesh { - width: 100 - height: 100 + GeometryRenderer { + view: PlaneMesh { + width: 100 + height: 100 + } }, PhongMaterial { } diff --git a/tests/auto/render/pickboundingvolumejob/testscene_pickersdisabled.qml b/tests/auto/render/pickboundingvolumejob/testscene_pickersdisabled.qml index a24289835..860fc2400 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_pickersdisabled.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_pickersdisabled.qml @@ -96,7 +96,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_priorityoverlapping.qml b/tests/auto/render/pickboundingvolumejob/testscene_priorityoverlapping.qml index 7cacb3d2d..be83fc75f 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_priorityoverlapping.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_priorityoverlapping.qml @@ -100,7 +100,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PhongMaterial { id: material } // Entity 1 diff --git a/tests/auto/render/pickboundingvolumejob/testscene_viewports.qml b/tests/auto/render/pickboundingvolumejob/testscene_viewports.qml index daafc0edd..0b9c20a94 100644 --- a/tests/auto/render/pickboundingvolumejob/testscene_viewports.qml +++ b/tests/auto/render/pickboundingvolumejob/testscene_viewports.qml @@ -127,7 +127,7 @@ Entity { } ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } Entity { readonly property ObjectPicker objectPicker: ObjectPicker { diff --git a/tests/auto/render/picking/tst_picking.cpp b/tests/auto/render/picking/tst_picking.cpp index b38aa3695..20a1b0323 100644 --- a/tests/auto/render/picking/tst_picking.cpp +++ b/tests/auto/render/picking/tst_picking.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -76,8 +77,11 @@ public: transform->setTranslation(position); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + addComponent(picker); - addComponent(mesh); + addComponent(renderer); addComponent(transform); QObject::connect(picker, &QObjectPicker::pressed, this, &PickableEntity::onPressed); diff --git a/tests/auto/render/raycastingjob/testscene_screenraycasting.qml b/tests/auto/render/raycastingjob/testscene_screenraycasting.qml index 47221aec8..198148560 100644 --- a/tests/auto/render/raycastingjob/testscene_screenraycasting.qml +++ b/tests/auto/render/raycastingjob/testscene_screenraycasting.qml @@ -112,12 +112,14 @@ Entity { onReleased: { caster.trigger(Qt.point(mouse.x, mouse.y)); } } - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 100 - slices: 20 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 100 + slices: 20 + } } PhongMaterial { id: material } diff --git a/tests/auto/render/raycastingjob/testscene_worldraycasting.qml b/tests/auto/render/raycastingjob/testscene_worldraycasting.qml index cdb6b9234..aea697fba 100644 --- a/tests/auto/render/raycastingjob/testscene_worldraycasting.qml +++ b/tests/auto/render/raycastingjob/testscene_worldraycasting.qml @@ -105,12 +105,14 @@ Entity { } ] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 10 - slices: 10 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 10 + slices: 10 + } } PhongMaterial { id: material } diff --git a/tests/auto/render/raycastingjob/testscene_worldraycastingalllayers.qml b/tests/auto/render/raycastingjob/testscene_worldraycastingalllayers.qml index efcc31e8f..a8db4e5c0 100644 --- a/tests/auto/render/raycastingjob/testscene_worldraycastingalllayers.qml +++ b/tests/auto/render/raycastingjob/testscene_worldraycastingalllayers.qml @@ -107,12 +107,14 @@ Entity { } ] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 10 - slices: 10 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 10 + slices: 10 + } } PhongMaterial { id: material } diff --git a/tests/auto/render/raycastingjob/testscene_worldraycastinglayer.qml b/tests/auto/render/raycastingjob/testscene_worldraycastinglayer.qml index 5c6170ae6..ff6c413cb 100644 --- a/tests/auto/render/raycastingjob/testscene_worldraycastinglayer.qml +++ b/tests/auto/render/raycastingjob/testscene_worldraycastinglayer.qml @@ -107,12 +107,14 @@ Entity { } ] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 10 - slices: 10 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 10 + slices: 10 + } } PhongMaterial { id: material } diff --git a/tests/auto/render/raycastingjob/testscene_worldraycastingparentlayer.qml b/tests/auto/render/raycastingjob/testscene_worldraycastingparentlayer.qml index 99ca26d6f..54d2586f7 100644 --- a/tests/auto/render/raycastingjob/testscene_worldraycastingparentlayer.qml +++ b/tests/auto/render/raycastingjob/testscene_worldraycastingparentlayer.qml @@ -107,12 +107,14 @@ Entity { } ] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 10 - slices: 10 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 10 + slices: 10 + } } PhongMaterial { id: material } diff --git a/tests/auto/render/updatemeshtrianglelistjob/test_scene.qml b/tests/auto/render/updatemeshtrianglelistjob/test_scene.qml index ecf41f9c0..35292967c 100644 --- a/tests/auto/render/updatemeshtrianglelistjob/test_scene.qml +++ b/tests/auto/render/updatemeshtrianglelistjob/test_scene.qml @@ -97,6 +97,6 @@ Entity { ] Entity { - components: CuboidMesh { id: cubeMesh } + components: GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } } } diff --git a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp index 85b5e8c89..09192bbf9 100644 --- a/tests/benchmarks/render/jobs/tst_bench_jobs.cpp +++ b/tests/benchmarks/render/jobs/tst_bench_jobs.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -216,8 +217,11 @@ Qt3DCore::QEntity *buildBigScene() m.rotate(45.0f * i, QVector3D(0.0f, 0.0f, 1.0f)); transform->setMatrix(m); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + e->addComponent(transform); - e->addComponent(mesh); + e->addComponent(renderer); e->addComponent(material); e->setParent(root); } diff --git a/tests/manual/animation-keyframe-blendtree/main.qml b/tests/manual/animation-keyframe-blendtree/main.qml index 74413b4e2..b11118cd6 100644 --- a/tests/manual/animation-keyframe-blendtree/main.qml +++ b/tests/manual/animation-keyframe-blendtree/main.qml @@ -75,7 +75,8 @@ DefaultSceneEntity { translation: Qt.vector3d(5, 0, 0) onTranslationChanged: console.log("t = " + translation) }, - CuboidMesh { + GeometryRenderer { + view: CuboidMesh { } }, PhongMaterial { id: cubeMaterial diff --git a/tests/manual/animation-keyframe-programmatic/main.qml b/tests/manual/animation-keyframe-programmatic/main.qml index c34e44d51..8c9d3d3f7 100644 --- a/tests/manual/animation-keyframe-programmatic/main.qml +++ b/tests/manual/animation-keyframe-programmatic/main.qml @@ -66,7 +66,8 @@ DefaultSceneEntity { onTranslationChanged: console.log("t = " + translation) }, - CuboidMesh { + GeometryRenderer { + view: CuboidMesh { } }, PhongMaterial { id: cubeMaterial diff --git a/tests/manual/animation-keyframe-simple/main.qml b/tests/manual/animation-keyframe-simple/main.qml index 9246f2467..247048b2f 100644 --- a/tests/manual/animation-keyframe-simple/main.qml +++ b/tests/manual/animation-keyframe-simple/main.qml @@ -66,7 +66,8 @@ DefaultSceneEntity { onTranslationChanged: console.log("t = " + translation) }, - CuboidMesh { + GeometryRenderer { + view: CuboidMesh { } }, PhongMaterial { id: cubeMaterial diff --git a/tests/manual/bigmodel-qml/MyEntity.qml b/tests/manual/bigmodel-qml/MyEntity.qml index c2c7e5d7c..d340e088f 100644 --- a/tests/manual/bigmodel-qml/MyEntity.qml +++ b/tests/manual/bigmodel-qml/MyEntity.qml @@ -61,7 +61,7 @@ Entity { components: [ Transform { id: transform }, - SphereMesh { radius: 2 }, + GeometryRenderer { view: SphereMesh { radius: 2 } }, PhongMaterial { id: material }, ObjectPicker { onClicked: console.log("Clicked", root.name, pick.distance, pick.triangleIndex) diff --git a/tests/manual/bigscene-cpp/entity.cpp b/tests/manual/bigscene-cpp/entity.cpp index 876a2d171..de77a1faa 100644 --- a/tests/manual/bigscene-cpp/entity.cpp +++ b/tests/manual/bigscene-cpp/entity.cpp @@ -50,7 +50,6 @@ #include "entity.h" -#include #include #include #include diff --git a/tests/manual/bigscene-cpp/main.cpp b/tests/manual/bigscene-cpp/main.cpp index ef296e04d..5e61758db 100644 --- a/tests/manual/bigscene-cpp/main.cpp +++ b/tests/manual/bigscene-cpp/main.cpp @@ -63,6 +63,7 @@ #include #include #include +#include #include #include #include @@ -88,6 +89,9 @@ int main(int ac, char **av) mesh->setRadius(2.5f); mesh->setLength(5.0f); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + // Material auto phongMaterial = new Qt3DExtras::QPhongMaterial(root); auto effect = phongMaterial->effect(); @@ -110,7 +114,7 @@ int main(int ac, char **av) // Scene for (int i = 0; i < max; i++) { Entity *e = new Entity(effect, root); - e->addComponent(mesh); + e->addComponent(renderer); const double angle = M_PI * 2.0 * double(i) * det * 10.; e->setDiffuseColor(QColor(int(qFabs(qCos(angle)) * 255.0), 204, 75)); diff --git a/tests/manual/bigscene-instanced-qml/main.qml b/tests/manual/bigscene-instanced-qml/main.qml index ea804963a..65273b1ab 100644 --- a/tests/manual/bigscene-instanced-qml/main.qml +++ b/tests/manual/bigscene-instanced-qml/main.qml @@ -112,17 +112,20 @@ Entity { parameters: Parameter { name: "instanceCount"; value: cylinderMeshInstanced.instanceCount } } - CylinderMesh { - id: cylinderMeshInstanced - instanceCount: 2000 - rings: 50 - slices: 30 - radius: 2.5 - length: 5.0 + GeometryRenderer { + id: cylinderMeshRenderer + view: CylinderMesh { + id: cylinderMeshInstanced + instanceCount: 2000 + rings: 50 + slices: 30 + radius: 2.5 + length: 5.0 + } } Entity { id: torusEntity - components: [ cylinderMeshInstanced, instancedPhongMaterial ] + components: [ cylinderMeshRenderer, instancedPhongMaterial ] } } diff --git a/tests/manual/blitframebuffer-qml/main.qml b/tests/manual/blitframebuffer-qml/main.qml index 4b3c1915b..4ca7b7e23 100644 --- a/tests/manual/blitframebuffer-qml/main.qml +++ b/tests/manual/blitframebuffer-qml/main.qml @@ -220,12 +220,14 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -239,9 +241,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/clip-planes-qml/ClipPlaneEntity.qml b/tests/manual/clip-planes-qml/ClipPlaneEntity.qml index 4bd2028b6..90dada071 100644 --- a/tests/manual/clip-planes-qml/ClipPlaneEntity.qml +++ b/tests/manual/clip-planes-qml/ClipPlaneEntity.qml @@ -67,11 +67,13 @@ Entity { normal.y * center.y + normal.z * center.z)) - PlaneMesh { + GeometryRenderer { id: mesh - width: 20.0 - height: 20.0 - meshResolution: Qt.size(2, 2) + view: PlaneMesh { + width: 20.0 + height: 20.0 + meshResolution: Qt.size(2, 2) + } } Transform { diff --git a/tests/manual/clip-planes-qml/ClippingPlanes.qml b/tests/manual/clip-planes-qml/ClippingPlanes.qml index 2fed0ce9c..7813dc770 100644 --- a/tests/manual/clip-planes-qml/ClippingPlanes.qml +++ b/tests/manual/clip-planes-qml/ClippingPlanes.qml @@ -83,10 +83,12 @@ Entity { } } - property PlaneMesh mesh: PlaneMesh { - width: 20.0 - height: 20.0 - meshResolution: Qt.size(2, 2) + property GeometryRenderer mesh: GeometryRenderer { + view: PlaneMesh { + width: 20.0 + height: 20.0 + meshResolution: Qt.size(2, 2) + } } components: [cappingMaterial, mesh, root.capsLayer] diff --git a/tests/manual/component-changes/main.cpp b/tests/manual/component-changes/main.cpp index 32f95d7b5..095065ad4 100644 --- a/tests/manual/component-changes/main.cpp +++ b/tests/manual/component-changes/main.cpp @@ -51,6 +51,7 @@ #include #include +#include #include #include #include @@ -127,11 +128,17 @@ int main(int argc, char **argv) cylinderMesh->setRings(5); cylinderMesh->setSlices(40); + auto cylinderRenderer = new Qt3DRender::QGeometryRenderer; + cylinderRenderer->setView(cylinderMesh); + // Sphere mesh data Qt3DExtras::QSphereMesh *sphereMesh = new Qt3DExtras::QSphereMesh(); sphereMesh->setRings(20); sphereMesh->setSlices(40); + auto sphereRenderer = new Qt3DRender::QGeometryRenderer; + sphereRenderer->setView(sphereMesh); + // Transform for cylinder Qt3DCore::QTransform *transform = new Qt3DCore::QTransform; transform->setScale(1.5f); @@ -150,7 +157,7 @@ int main(int argc, char **argv) view.setRootEntity(rootEntity); view.show(); - ComponentSwapper *swapper = new ComponentSwapper(cylinder, cylinderMesh, sphereMesh); + ComponentSwapper *swapper = new ComponentSwapper(cylinder, cylinderRenderer, sphereRenderer); QTimer *timer = new QTimer; QObject::connect(timer, SIGNAL(timeout()), swapper, SLOT(swapComponents())); timer->start(2000); diff --git a/tests/manual/compressed_textures/main.qml b/tests/manual/compressed_textures/main.qml index b5ad0990e..bd83a4836 100644 --- a/tests/manual/compressed_textures/main.qml +++ b/tests/manual/compressed_textures/main.qml @@ -99,7 +99,7 @@ QQ2.Item { ] Entity { - readonly property CuboidMesh mesh: CuboidMesh { } + readonly property GeometryRenderer mesh: GeometryRenderer { view: CuboidMesh { } } readonly property DiffuseMapMaterial material: DiffuseMapMaterial { diffuse: TextureLoader { source: textureSource diff --git a/tests/manual/cylinder-cpp/main.cpp b/tests/manual/cylinder-cpp/main.cpp index 33a85f32b..f80bf2e8b 100644 --- a/tests/manual/cylinder-cpp/main.cpp +++ b/tests/manual/cylinder-cpp/main.cpp @@ -106,9 +106,12 @@ int main(int argc, char **argv) Qt3DExtras::QPhongMaterial *material = new Qt3DExtras::QPhongMaterial(rootEntity); material->setDiffuse(Qt::red); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + // Cylinder Qt3DCore::QEntity *cylinder = new Qt3DCore::QEntity(rootEntity); - cylinder->addComponent(mesh); + cylinder->addComponent(renderer); cylinder->addComponent(transform); cylinder->addComponent(material); diff --git a/tests/manual/cylinder-parent-test/main.cpp b/tests/manual/cylinder-parent-test/main.cpp index 823461a28..09c5f32bb 100644 --- a/tests/manual/cylinder-parent-test/main.cpp +++ b/tests/manual/cylinder-parent-test/main.cpp @@ -83,6 +83,9 @@ int main(int argc, char **argv) // Cylinder shape data Qt3DExtras::QCylinderMesh *mesh = new Qt3DExtras::QCylinderMesh(); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + qDebug() << "Setup complete. Creating cylinders\n"; // simple setParent from nullptr (OK for QTBUG-73905) @@ -103,7 +106,7 @@ int main(int argc, char **argv) parentNode->setObjectName("Green Parent"); leafNode->setObjectName("Green Leaf"); - leafNode->addComponent(mesh); + leafNode->addComponent(renderer); leafNode->addComponent(greenMaterial); parentNode->addComponent(leftTransform); @@ -130,7 +133,7 @@ int main(int argc, char **argv) grandParentNode->setObjectName("Yellow Grandparent"); parentNode->setObjectName("Yellow Parent"); - leafNode->addComponent(mesh); + leafNode->addComponent(renderer); leafNode->addComponent(yellowMaterial); parentNode->addComponent(leftTransform); @@ -169,9 +172,10 @@ int main(int argc, char **argv) Qt3DExtras::QPhongMaterial *redMaterial = new Qt3DExtras::QPhongMaterial(rootEntity); redMaterial->setDiffuse(Qt::red); redMaterial->setObjectName("Red Material"); + Qt3DCore::QEntity *leafNode = new Qt3DCore::QEntity(); leafNode->setObjectName("Red Leaf"); - leafNode->addComponent(mesh); + leafNode->addComponent(renderer); leafNode->addComponent(redMaterial); tree1node2->addComponent(wrongRedTransform); @@ -217,7 +221,7 @@ int main(int argc, char **argv) blueMaterial->setObjectName("Blue Material"); blueMaterial->setDiffuse(Qt::blue); Qt3DCore::QEntity *leafNode = new Qt3DCore::QEntity(rootEntity); - leafNode->addComponent(mesh); + leafNode->addComponent(renderer); leafNode->addComponent(blueMaterial); leafNode->setObjectName("Blue Leaf"); diff --git a/tests/manual/cylinder-qml/main.qml b/tests/manual/cylinder-qml/main.qml index a5df8af44..e821479cb 100644 --- a/tests/manual/cylinder-qml/main.qml +++ b/tests/manual/cylinder-qml/main.qml @@ -83,12 +83,14 @@ Entity { components: [external_forward_renderer, inputSettings] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 100 - slices: 20 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 100 + slices: 20 + } } Transform { diff --git a/tests/manual/deferred-renderer-cpp/main.cpp b/tests/manual/deferred-renderer-cpp/main.cpp index 47425e7ee..a39806e5a 100644 --- a/tests/manual/deferred-renderer-cpp/main.cpp +++ b/tests/manual/deferred-renderer-cpp/main.cpp @@ -51,8 +51,6 @@ #include #include -#include -#include #include #include #include diff --git a/tests/manual/deferred-renderer-cpp/sceneentity.cpp b/tests/manual/deferred-renderer-cpp/sceneentity.cpp index 81b3427e7..98b83402d 100644 --- a/tests/manual/deferred-renderer-cpp/sceneentity.cpp +++ b/tests/manual/deferred-renderer-cpp/sceneentity.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include QT_BEGIN_NAMESPACE @@ -57,6 +58,9 @@ SceneEntity::SceneEntity(Qt3DCore::QNode *parent) sphereMesh->setRings(50); sphereMesh->setSlices(100); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(sphereMesh); + { Qt3DRender::QPointLight *light1 = new Qt3DRender::QPointLight(this); light1->setColor(Qt::white); @@ -81,7 +85,7 @@ SceneEntity::SceneEntity(Qt3DCore::QNode *parent) sphereOne->addComponent(sphereOneTransform); sphereOne->addComponent(sphereOneMaterial); - sphereOne->addComponent(sphereMesh); + sphereOne->addComponent(renderer); sphereOne->addComponent(m_layer); sphereOne->addComponent(light2); } @@ -96,14 +100,13 @@ SceneEntity::SceneEntity(Qt3DCore::QNode *parent) light3->setColor(Qt::blue); light3->setIntensity(0.5f); - sphereTwo->addComponent(sphereMesh); + sphereTwo->addComponent(renderer); sphereTwo->addComponent(m_layer); sphereTwo->addComponent(sphereTwoMaterial); sphereTwo->addComponent(light3); } } - Qt3DRender::QLayer *SceneEntity::layer() const { return m_layer; diff --git a/tests/manual/deferred-renderer-cpp/screenquadentity.cpp b/tests/manual/deferred-renderer-cpp/screenquadentity.cpp index 11c8a9713..507a22588 100644 --- a/tests/manual/deferred-renderer-cpp/screenquadentity.cpp +++ b/tests/manual/deferred-renderer-cpp/screenquadentity.cpp @@ -42,6 +42,7 @@ #include #include #include +#include #include #include @@ -63,10 +64,13 @@ ScreenQuadEntity::ScreenQuadEntity(Qt3DCore::QNode *parent) planeMesh->setWidth(2.0f); planeMesh->setHeight(2.0f); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(planeMesh); + addComponent(m_layer); addComponent(screenPlaneTransform); addComponent(screenQuadMaterial); - addComponent(planeMesh); + addComponent(renderer); } Qt3DRender::QLayer *ScreenQuadEntity::layer() const diff --git a/tests/manual/deferred-renderer-qml/GBufferDebugger.qml b/tests/manual/deferred-renderer-qml/GBufferDebugger.qml index 7f148099e..423f9104d 100644 --- a/tests/manual/deferred-renderer-qml/GBufferDebugger.qml +++ b/tests/manual/deferred-renderer-qml/GBufferDebugger.qml @@ -47,10 +47,12 @@ Entity { components : [ Layer { id: debugLayer }, - PlaneMesh { - width: 2.0 - height: 2.0 - meshResolution: Qt.size(2, 2) + GeometryRenderer { + view: PlaneMesh { + width: 2.0 + height: 2.0 + meshResolution: Qt.size(2, 2) + } }, Transform { // We rotate the plane so that it faces us diff --git a/tests/manual/deferred-renderer-qml/SceneEntity.qml b/tests/manual/deferred-renderer-qml/SceneEntity.qml index 6a34be7fb..03d9c0cb7 100644 --- a/tests/manual/deferred-renderer-qml/SceneEntity.qml +++ b/tests/manual/deferred-renderer-qml/SceneEntity.qml @@ -81,10 +81,12 @@ Entity { viewCenter: Qt.vector3d( 0.0, 0.0, 10.0 ) } - SphereMesh { + GeometryRenderer { id : sphereMesh - rings: 50 - slices: 100 + view: SphereMesh { + rings: 50 + slices: 100 + } } SceneEffect { id : sceneMaterialEffect } diff --git a/tests/manual/deferred-renderer-qml/ScreenQuadEntity.qml b/tests/manual/deferred-renderer-qml/ScreenQuadEntity.qml index 3dae2b79a..af242c970 100644 --- a/tests/manual/deferred-renderer-qml/ScreenQuadEntity.qml +++ b/tests/manual/deferred-renderer-qml/ScreenQuadEntity.qml @@ -118,10 +118,12 @@ Entity { components : [ Layer { id: screenQuadLayer }, - PlaneMesh { - width: 2.0 - height: 2.0 - meshResolution: Qt.size(2, 2) + GeometryRenderer { + view: PlaneMesh { + width: 2.0 + height: 2.0 + meshResolution: Qt.size(2, 2) + } }, Transform { // We rotate the plane so that it faces us diff --git a/tests/manual/dragging/main.qml b/tests/manual/dragging/main.qml index 844b5066d..c02fa594b 100644 --- a/tests/manual/dragging/main.qml +++ b/tests/manual/dragging/main.qml @@ -96,9 +96,11 @@ Entity { id: mainEntity objectName: "mainEntity" - ConeMesh { + GeometryRenderer { id: coneMesh - length: 4 + view: ConeMesh { + length: 4 + } } PhongMaterial { @@ -122,12 +124,14 @@ Entity { objectName: "draggerEntity" property vector3d position: Qt.vector3d(0, 0, 0) - CylinderMesh { + GeometryRenderer { id: mesh - radius: .5 - length: 3 - rings: 2 - slices: 20 + view: CylinderMesh { + radius: .5 + length: 3 + rings: 2 + slices: 20 + } } Transform { @@ -166,7 +170,7 @@ Entity { id: obstructionEntity components: [ - CuboidMesh { }, + GeometryRenderer { view: CuboidMesh { } }, PhongMaterial { diffuse: "blue" }, Transform { scale: 2 diff --git a/tests/manual/dynamic-model-loader-qml/CuboidEntity.qml b/tests/manual/dynamic-model-loader-qml/CuboidEntity.qml index d9b33c511..a21c50237 100644 --- a/tests/manual/dynamic-model-loader-qml/CuboidEntity.qml +++ b/tests/manual/dynamic-model-loader-qml/CuboidEntity.qml @@ -56,11 +56,13 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, phongMaterial, transform ] - CuboidMesh { + GeometryRenderer { id: mesh - yzMeshResolution: Qt.size(2, 2) - xzMeshResolution: Qt.size(2, 2) - xyMeshResolution: Qt.size(2, 2) + view: CuboidMesh { + yzMeshResolution: Qt.size(2, 2) + xzMeshResolution: Qt.size(2, 2) + xyMeshResolution: Qt.size(2, 2) + } } GoochMaterial { diff --git a/tests/manual/dynamic-model-loader-qml/SphereEntity.qml b/tests/manual/dynamic-model-loader-qml/SphereEntity.qml index 8e11de99e..14100f31f 100644 --- a/tests/manual/dynamic-model-loader-qml/SphereEntity.qml +++ b/tests/manual/dynamic-model-loader-qml/SphereEntity.qml @@ -56,9 +56,11 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, material, transform ] - SphereMesh { + GeometryRenderer { id: mesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/dynamic-model-loader-qml/main.qml b/tests/manual/dynamic-model-loader-qml/main.qml index dc6b929cf..a403d2829 100644 --- a/tests/manual/dynamic-model-loader-qml/main.qml +++ b/tests/manual/dynamic-model-loader-qml/main.qml @@ -128,8 +128,9 @@ Entity { QQ2.Component { id: cylEntityCmp Entity { - CylinderMesh { + GeometryRenderer { id: cylMesh + view: CylinderMesh { } } PhongMaterial { id: phong @@ -142,12 +143,14 @@ Entity { QQ2.Component { id: torusEntityCmp Entity { - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { diff --git a/tests/manual/dynamicscene-cpp/boxentity.cpp b/tests/manual/dynamicscene-cpp/boxentity.cpp index a39c9a9dc..56b41c5f0 100644 --- a/tests/manual/dynamicscene-cpp/boxentity.cpp +++ b/tests/manual/dynamicscene-cpp/boxentity.cpp @@ -49,6 +49,7 @@ ****************************************************************************/ #include "boxentity.h" +#include #include @@ -66,8 +67,11 @@ BoxEntity::BoxEntity(QNode *parent) m_material->setSpecular(Qt::white); m_material->setShininess(150.0f); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(m_mesh); + addComponent(m_transform); - addComponent(m_mesh); + addComponent(renderer); addComponent(m_material); } diff --git a/tests/manual/enabled-qml/main.qml b/tests/manual/enabled-qml/main.qml index 8ee933eb6..6191fde1b 100644 --- a/tests/manual/enabled-qml/main.qml +++ b/tests/manual/enabled-qml/main.qml @@ -111,9 +111,11 @@ Entity { // Sphere Entity { - SphereMesh { + GeometryRenderer { id: sphereMesh - enabled: counter !== 0 + view: SphereMesh { + enabled: counter !== 0 + } } PhongMaterial { @@ -184,10 +186,12 @@ Entity { // Floor Entity { - PlaneMesh { + GeometryRenderer { id: planeMesh - width: 25.0 - height: 10 + view: PlaneMesh { + width: 25.0 + height: 10 + } } PhongMaterial { diff --git a/tests/manual/keyboardinput-qml/SphereEntity.qml b/tests/manual/keyboardinput-qml/SphereEntity.qml index 2b7b449d7..91f40230d 100644 --- a/tests/manual/keyboardinput-qml/SphereEntity.qml +++ b/tests/manual/keyboardinput-qml/SphereEntity.qml @@ -62,7 +62,7 @@ Entity { PhongMaterial { id: material } - SphereMesh { id: sphereMesh } + GeometryRenderer { id: sphereMesh; view: SphereMesh { } } Transform { id: transform diff --git a/tests/manual/layerfilter-qml/main.qml b/tests/manual/layerfilter-qml/main.qml index 00b1cffa0..acc4dae08 100644 --- a/tests/manual/layerfilter-qml/main.qml +++ b/tests/manual/layerfilter-qml/main.qml @@ -148,10 +148,12 @@ Entity { components: [external_forward_renderer, inputSettings] - PlaneMesh { + GeometryRenderer { id: backgroundMesh - width: 0.5 - height: 0.5 + view: PlaneMesh { + width: 0.5 + height: 0.5 + } } Transform { @@ -175,10 +177,12 @@ Entity { ambient: "red" } - PlaneMesh { + GeometryRenderer { id: mesh - width: 1 - height: 1 + view: PlaneMesh { + width: 1 + height: 1 + } } Transform { diff --git a/tests/manual/loader-qml/CuboidEntity.qml b/tests/manual/loader-qml/CuboidEntity.qml index d9b33c511..580daa94b 100644 --- a/tests/manual/loader-qml/CuboidEntity.qml +++ b/tests/manual/loader-qml/CuboidEntity.qml @@ -56,11 +56,13 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, phongMaterial, transform ] - CuboidMesh { + GeometryRenderer { id: mesh - yzMeshResolution: Qt.size(2, 2) - xzMeshResolution: Qt.size(2, 2) - xyMeshResolution: Qt.size(2, 2) + view: CuboidMesh { + yzMeshResolution: Qt.size(2, 2) + xzMeshResolution: Qt.size(2, 2) + xyMeshResolution: Qt.size(2, 2) + } } GoochMaterial { diff --git a/tests/manual/loader-qml/SphereEntity.qml b/tests/manual/loader-qml/SphereEntity.qml index 8e11de99e..14100f31f 100644 --- a/tests/manual/loader-qml/SphereEntity.qml +++ b/tests/manual/loader-qml/SphereEntity.qml @@ -56,9 +56,11 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, material, transform ] - SphereMesh { + GeometryRenderer { id: mesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/loader-qml/main.qml b/tests/manual/loader-qml/main.qml index 272331911..276883103 100644 --- a/tests/manual/loader-qml/main.qml +++ b/tests/manual/loader-qml/main.qml @@ -87,12 +87,14 @@ Entity { diffuse: "yellow" } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { diff --git a/tests/manual/lod/ConeEntity.qml b/tests/manual/lod/ConeEntity.qml index bfe6703b6..d80834bcf 100644 --- a/tests/manual/lod/ConeEntity.qml +++ b/tests/manual/lod/ConeEntity.qml @@ -56,10 +56,12 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, phongMaterial, transform ] - ConeMesh { - id: mesh - bottomRadius: 1.5 - length: 3 + GeometryRenderer { + view: ConeMesh { + id: mesh + bottomRadius: 1.5 + length: 3 + } } PhongMaterial { diff --git a/tests/manual/lod/CuboidEntity.qml b/tests/manual/lod/CuboidEntity.qml index 875d98b32..2b8acbabf 100644 --- a/tests/manual/lod/CuboidEntity.qml +++ b/tests/manual/lod/CuboidEntity.qml @@ -56,11 +56,13 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, phongMaterial, transform ] - CuboidMesh { + GeometryRenderer { id: mesh - yzMeshResolution: Qt.size(2, 2) - xzMeshResolution: Qt.size(2, 2) - xyMeshResolution: Qt.size(2, 2) + view: CuboidMesh { + yzMeshResolution: Qt.size(2, 2) + xzMeshResolution: Qt.size(2, 2) + xyMeshResolution: Qt.size(2, 2) + } } PhongMaterial { diff --git a/tests/manual/lod/CylinderEntity.qml b/tests/manual/lod/CylinderEntity.qml index f89bd3eeb..3066f7b75 100644 --- a/tests/manual/lod/CylinderEntity.qml +++ b/tests/manual/lod/CylinderEntity.qml @@ -56,10 +56,12 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, phongMaterial, transform ] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 + view: CylinderMesh { + radius: 1 + length: 3 + } } PhongMaterial { diff --git a/tests/manual/lod/SphereEntity.qml b/tests/manual/lod/SphereEntity.qml index 3671921b8..7e3df2cc3 100644 --- a/tests/manual/lod/SphereEntity.qml +++ b/tests/manual/lod/SphereEntity.qml @@ -56,9 +56,11 @@ import Qt3D.Extras 2.0 Entity { components: [ mesh, material, transform ] - SphereMesh { + GeometryRenderer { id: mesh - radius: 1 + SphereMesh { + radius: 1 + } } PhongMaterial { diff --git a/tests/manual/lod/main.qml b/tests/manual/lod/main.qml index 80547dcff..98cbc7aaa 100644 --- a/tests/manual/lod/main.qml +++ b/tests/manual/lod/main.qml @@ -104,14 +104,16 @@ Entity { Entity { components: [ - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 2 - slices: sliceValues[lod.currentIndex] - - property var sliceValues: [20, 10, 6, 4] + view: CylinderMesh { + radius: 1 + length: 3 + rings: 2 + slices: sliceValues[lod.currentIndex] + + property var sliceValues: [20, 10, 6, 4] + } }, Transform { scale: 1.5 diff --git a/tests/manual/manual-renderloop/main.cpp b/tests/manual/manual-renderloop/main.cpp index f2a49cb86..44d661136 100644 --- a/tests/manual/manual-renderloop/main.cpp +++ b/tests/manual/manual-renderloop/main.cpp @@ -128,7 +128,9 @@ private: torusTransform->setScale3D(QVector3D(1.5, 1, 0.5)); torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1, 0, 0), 45.0f)); - torusEntity->addComponent(torusMesh); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(torusMesh); + torusEntity->addComponent(renderer); torusEntity->addComponent(material); torusEntity->addComponent(torusTransform); diff --git a/tests/manual/mesh-morphing/main.cpp b/tests/manual/mesh-morphing/main.cpp index a2c9dfc17..5534943da 100644 --- a/tests/manual/mesh-morphing/main.cpp +++ b/tests/manual/mesh-morphing/main.cpp @@ -124,8 +124,11 @@ int main(int argc, char **argv) times.push_back(8.0f); times.push_back(12.0f); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + animation->setTargetPositions(times); - animation->setTarget(mesh); + animation->setTarget(renderer); animation->setMorphTargets(morphTargets); // Material @@ -137,7 +140,7 @@ int main(int argc, char **argv) // Cylinder Qt3DCore::QEntity *morphingEntity = new Qt3DCore::QEntity(rootEntity); - morphingEntity->addComponent(mesh); + morphingEntity->addComponent(renderer); morphingEntity->addComponent(transform); morphingEntity->addComponent(material); @@ -158,8 +161,11 @@ int main(int argc, char **argv) cylinderMaterial->setDiffuse(Qt::red); // Cylinder + renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(cylinderMesh); + Qt3DCore::QEntity *cylinder = new Qt3DCore::QEntity(rootEntity); - cylinder->addComponent(cylinderMesh); + cylinder->addComponent(renderer); cylinder->addComponent(cylinderTransform); cylinder->addComponent(cylinderMaterial); diff --git a/tests/manual/mouseinput-qml/main.qml b/tests/manual/mouseinput-qml/main.qml index de7d115c2..e0cc8f73e 100644 --- a/tests/manual/mouseinput-qml/main.qml +++ b/tests/manual/mouseinput-qml/main.qml @@ -81,9 +81,11 @@ Entity { InputSettings {} ] - SphereMesh { + GeometryRenderer{ id: sphereMesh - radius: 3 + SphereMesh { + radius: 3 + } } PhongMaterial { diff --git a/tests/manual/multiplewindows-qml/Scene.qml b/tests/manual/multiplewindows-qml/Scene.qml index 06107667d..89fd2794d 100644 --- a/tests/manual/multiplewindows-qml/Scene.qml +++ b/tests/manual/multiplewindows-qml/Scene.qml @@ -99,12 +99,14 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -118,9 +120,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/paintedtexture-cpp/scene.cpp b/tests/manual/paintedtexture-cpp/scene.cpp index 19bcdbd22..83ba172f7 100644 --- a/tests/manual/paintedtexture-cpp/scene.cpp +++ b/tests/manual/paintedtexture-cpp/scene.cpp @@ -57,6 +57,7 @@ #include #include #include +#include #include #include @@ -122,9 +123,12 @@ Scene::Scene(Qt3DCore::QEntity *rootEntity) mat->setSpecular(QColor(255, 255, 255)); mat->setDiffuse(tex); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(cuboid); + //Cuboid m_cuboidEntity = new Qt3DCore::QEntity(m_rootEntity); - m_cuboidEntity->addComponent(cuboid); + m_cuboidEntity->addComponent(renderer); m_cuboidEntity->addComponent(mat); m_cuboidEntity->addComponent(m_transform); diff --git a/tests/manual/picking-qml/main.qml b/tests/manual/picking-qml/main.qml index 5ca50be0b..40bb8721c 100644 --- a/tests/manual/picking-qml/main.qml +++ b/tests/manual/picking-qml/main.qml @@ -150,7 +150,7 @@ Entity { InputSettings {} ] - CuboidMesh { id: cubeMesh } + GeometryRenderer { id: cubeMesh; view: CuboidMesh { } } PickableEntity { id: cube1 diff --git a/tests/manual/plasma/main.qml b/tests/manual/plasma/main.qml index 0a01f699b..f93970405 100644 --- a/tests/manual/plasma/main.qml +++ b/tests/manual/plasma/main.qml @@ -60,10 +60,12 @@ Entity { Entity { components: [ - PlaneMesh { - width: 2.0 - height: 2.0 - meshResolution: Qt.size(2, 2) + GeometryRenderer { + view: PlaneMesh { + width: 2.0 + height: 2.0 + meshResolution: Qt.size(2, 2) + } }, Transform { // Rotate the plane so that it faces us diff --git a/tests/manual/proximityfilter/main.qml b/tests/manual/proximityfilter/main.qml index 05c2e4415..ec66f8e5d 100644 --- a/tests/manual/proximityfilter/main.qml +++ b/tests/manual/proximityfilter/main.qml @@ -99,8 +99,9 @@ Entity { InputSettings { } ] - SphereMesh { + GeometryRenderer { id: sphereMesh + view: SphereMesh { } } PhongMaterial { @@ -126,7 +127,7 @@ Entity { effect: phongMaterial.effect parameters: Parameter { name: "kd"; value: meshColor } } - readonly property SphereMesh mesh: sphereMesh + readonly property GeometryRenderer mesh: sphereMesh components: [ transform, mesh, material ] } } diff --git a/tests/manual/qtbug-72236/main.cpp b/tests/manual/qtbug-72236/main.cpp index 2bf90c03f..06313c122 100644 --- a/tests/manual/qtbug-72236/main.cpp +++ b/tests/manual/qtbug-72236/main.cpp @@ -114,9 +114,12 @@ int main(int argc, char **argv) Qt3DExtras::QPhongMaterial *material = new Qt3DExtras::QPhongMaterial(rootEntity); material->setDiffuse(Qt::red); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + // Cylinder Qt3DCore::QEntity *cylinder = new Qt3DCore::QEntity(rootEntity); - cylinder->addComponent(mesh); + cylinder->addComponent(renderer); cylinder->addComponent(transform); cylinder->addComponent(material); diff --git a/tests/manual/qtbug-76766/PostProcess.qml b/tests/manual/qtbug-76766/PostProcess.qml index cd4c9c0c6..3e9218451 100644 --- a/tests/manual/qtbug-76766/PostProcess.qml +++ b/tests/manual/qtbug-76766/PostProcess.qml @@ -103,11 +103,13 @@ Entity { effect: materialEffect } - PlaneMesh { + GeometryRenderer { id: planeMesh - width: 2.0 - height: 2.0 - meshResolution: Qt.size(2, 2) + view: PlaneMesh { + width: 2.0 + height: 2.0 + meshResolution: Qt.size(2, 2) + } } components : [ diff --git a/tests/manual/qtbug-76766/SceneRoot.qml b/tests/manual/qtbug-76766/SceneRoot.qml index 6e34633b1..93e96a43d 100644 --- a/tests/manual/qtbug-76766/SceneRoot.qml +++ b/tests/manual/qtbug-76766/SceneRoot.qml @@ -111,8 +111,7 @@ Entity { Material1 { color: "red" }, - SphereMesh { - } + GeometryRenderer { view: SphereMesh { } } ] } @@ -125,8 +124,7 @@ Entity { Material2 { color: "green" }, - SphereMesh { - } + GeometryRenderer { view: SphereMesh { } } ] } } @@ -149,8 +147,7 @@ Entity { loops: Animation.Infinite } }, - SphereMesh { - } + GeometryRenderer { view: SphereMesh { } } ] } @@ -164,8 +161,7 @@ Entity { Material2 { color: "orange" }, - SphereMesh { - } + GeometryRenderer { view: SphereMesh { } } ] } } diff --git a/tests/manual/raster-cpp/main.cpp b/tests/manual/raster-cpp/main.cpp index 2eaeea6ec..4f902cad8 100644 --- a/tests/manual/raster-cpp/main.cpp +++ b/tests/manual/raster-cpp/main.cpp @@ -117,9 +117,12 @@ int main(int argc, char **argv) Qt3DExtras::QPhongMaterial *material = new Qt3DExtras::QPhongMaterial(rootEntity); material->setDiffuse(Qt::red); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(mesh); + // Cylinder Qt3DCore::QEntity *cylinder = new Qt3DCore::QEntity(rootEntity); - cylinder->addComponent(mesh); + cylinder->addComponent(renderer); cylinder->addComponent(transform); cylinder->addComponent(material); diff --git a/tests/manual/raster-qml/main.qml b/tests/manual/raster-qml/main.qml index 91fc288d0..35d414771 100644 --- a/tests/manual/raster-qml/main.qml +++ b/tests/manual/raster-qml/main.qml @@ -90,12 +90,14 @@ Entity { components: [external_forward_renderer, inputSettings] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 100 - slices: 20 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 100 + slices: 20 + } } Transform { diff --git a/tests/manual/raycasting-qml/CylinderEntity.qml b/tests/manual/raycasting-qml/CylinderEntity.qml index 4bae3c207..08fed9434 100644 --- a/tests/manual/raycasting-qml/CylinderEntity.qml +++ b/tests/manual/raycasting-qml/CylinderEntity.qml @@ -61,12 +61,14 @@ Entity { components: [ mesh, material, transform ] - CylinderMesh { + GeometryRenderer { id: mesh - radius: 1 - length: 3 - rings: 100 - slices: 20 + view: CylinderMesh { + radius: 1 + length: 3 + rings: 100 + slices: 20 + } } Transform { diff --git a/tests/manual/render-qml-to-texture-qml/main.qml b/tests/manual/render-qml-to-texture-qml/main.qml index 38a0259ee..047906973 100644 --- a/tests/manual/render-qml-to-texture-qml/main.qml +++ b/tests/manual/render-qml-to-texture-qml/main.qml @@ -116,11 +116,13 @@ QQ2.Item { InputSettings {} ] - PlaneMesh { + GeometryRenderer { id: planeMesh - width: 4 - height: 4 - mirrored: true + view: PlaneMesh { + width: 4 + height: 4 + mirrored: true + } } Entity { diff --git a/tests/manual/render-qml-to-texture/main.cpp b/tests/manual/render-qml-to-texture/main.cpp index 2420c8560..880b1b8cb 100644 --- a/tests/manual/render-qml-to-texture/main.cpp +++ b/tests/manual/render-qml-to-texture/main.cpp @@ -56,6 +56,7 @@ #include #include #include +#include #include "qt3dwindow.h" #include "qfirstpersoncameracontroller.h" @@ -112,7 +113,9 @@ int main(int argc, char *argv[]) Qt3DExtras::QPlaneMesh* planeMesh = new Qt3DExtras::QPlaneMesh(planeEntity); planeMesh->setWidth(4); planeMesh->setHeight(4); - planeEntity->addComponent(planeMesh); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(planeMesh); + planeEntity->addComponent(renderer); PlaneMaterial* material = new PlaneMaterial(offscreenTexture, planeEntity); planeEntity->addComponent(material); diff --git a/tests/manual/rendercapture-cpp/main.cpp b/tests/manual/rendercapture-cpp/main.cpp index 5d0d6fa49..ac8d74787 100644 --- a/tests/manual/rendercapture-cpp/main.cpp +++ b/tests/manual/rendercapture-cpp/main.cpp @@ -62,6 +62,7 @@ #include #include +#include #include #include @@ -94,7 +95,9 @@ Qt3DCore::QEntity *createScene() torusTransform->setScale3D(QVector3D(1.5, 1, 0.5)); torusTransform->setRotation(QQuaternion::fromAxisAndAngle(QVector3D(1, 0, 0), 45.0f)); - torusEntity->addComponent(torusMesh); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(torusMesh); + torusEntity->addComponent(renderer); torusEntity->addComponent(torusTransform); torusEntity->addComponent(material); @@ -117,7 +120,10 @@ Qt3DCore::QEntity *createScene() sphereRotateTransformAnimation->setLoopCount(-1); sphereRotateTransformAnimation->start(); - sphereEntity->addComponent(sphereMesh); + renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(sphereMesh); + + sphereEntity->addComponent(renderer); sphereEntity->addComponent(sphereTransform); sphereEntity->addComponent(material); diff --git a/tests/manual/rendercapture-qml-fbo/CaptureScene.qml b/tests/manual/rendercapture-qml-fbo/CaptureScene.qml index 9c6cb1431..ad1fae793 100644 --- a/tests/manual/rendercapture-qml-fbo/CaptureScene.qml +++ b/tests/manual/rendercapture-qml-fbo/CaptureScene.qml @@ -157,12 +157,14 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -176,9 +178,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/rendercapture-qml/CaptureScene.qml b/tests/manual/rendercapture-qml/CaptureScene.qml index ea355042a..0ebfaf5be 100644 --- a/tests/manual/rendercapture-qml/CaptureScene.qml +++ b/tests/manual/rendercapture-qml/CaptureScene.qml @@ -96,12 +96,14 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -115,9 +117,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/scene3d-in-sync/main.qml b/tests/manual/scene3d-in-sync/main.qml index 31d4096a7..45b68dcb7 100644 --- a/tests/manual/scene3d-in-sync/main.qml +++ b/tests/manual/scene3d-in-sync/main.qml @@ -113,10 +113,12 @@ Item { Entity { id: trackingCube components: [ - CuboidMesh { - xExtent: 100 - yExtent: 100 - zExtent: 2 + GeometryRenderer { + view: CuboidMesh { + xExtent: 100 + yExtent: 100 + zExtent: 2 + } }, PhongMaterial { diff --git a/tests/manual/scene3d-loader/AnimatedEntity.qml b/tests/manual/scene3d-loader/AnimatedEntity.qml index 0f6b7da1a..5c406dbf6 100644 --- a/tests/manual/scene3d-loader/AnimatedEntity.qml +++ b/tests/manual/scene3d-loader/AnimatedEntity.qml @@ -84,12 +84,14 @@ Entity { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { @@ -103,9 +105,11 @@ Entity { components: [ torusMesh, material, torusTransform ] } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/scene3d-loader/Scene2.qml b/tests/manual/scene3d-loader/Scene2.qml index 8dfc61d7f..ee6aabe58 100644 --- a/tests/manual/scene3d-loader/Scene2.qml +++ b/tests/manual/scene3d-loader/Scene2.qml @@ -83,12 +83,14 @@ Scene3D { components: [renderSettings] - TorusMesh { - id: mesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + GeometryRenderer { + id: torusMesh + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Transform { diff --git a/tests/manual/scene3d-visibility/main.qml b/tests/manual/scene3d-visibility/main.qml index ccfa3227f..f7a49a8b3 100644 --- a/tests/manual/scene3d-visibility/main.qml +++ b/tests/manual/scene3d-visibility/main.qml @@ -106,17 +106,21 @@ Item { id: material } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/shader-image-qml/main.qml b/tests/manual/shader-image-qml/main.qml index fb3878503..960b10e0e 100644 --- a/tests/manual/shader-image-qml/main.qml +++ b/tests/manual/shader-image-qml/main.qml @@ -200,7 +200,10 @@ Entity { // Preview Texture Scene Entity { - PlaneMesh { id: planeMesh } + GeometryRenderer { + id: planeMesh + view: PlaneMesh { } + } components: Transform { rotationX: 90 diff --git a/tests/manual/shared_texture_image/main.qml b/tests/manual/shared_texture_image/main.qml index 577649f63..b21a07bb9 100644 --- a/tests/manual/shared_texture_image/main.qml +++ b/tests/manual/shared_texture_image/main.qml @@ -93,7 +93,7 @@ Entity { source: "qrc:/image.png" } - readonly property GeometryRenderer mesh: CuboidMesh {} + readonly property GeometryRenderer mesh: GeometryRenderer { view: CuboidMesh {} } Entity { id: leftCube diff --git a/tests/manual/sharedtexture/main.cpp b/tests/manual/sharedtexture/main.cpp index 6f2ef42f2..c4b0df9ca 100644 --- a/tests/manual/sharedtexture/main.cpp +++ b/tests/manual/sharedtexture/main.cpp @@ -60,6 +60,7 @@ #include #include #include +#include #include @@ -97,7 +98,10 @@ Qt3DCore::QEntity *createScene(Qt3DExtras::Qt3DWindow *view, Qt3DRender::QAbstra cubeRotateTransformAnimation->setLoopCount(-1); cubeRotateTransformAnimation->start(); - sphereEntity->addComponent(cuboidMesh); + auto renderer = new Qt3DRender::QGeometryRenderer; + renderer->setView(cuboidMesh); + + sphereEntity->addComponent(renderer); sphereEntity->addComponent(transform); sphereEntity->addComponent(material); diff --git a/tests/manual/sharedtextureqml/main.qml b/tests/manual/sharedtextureqml/main.qml index fd529e51c..5db5b1ea1 100644 --- a/tests/manual/sharedtextureqml/main.qml +++ b/tests/manual/sharedtextureqml/main.qml @@ -115,7 +115,7 @@ Item { Entity { id: cubeEntity - readonly property CuboidMesh cuboid: CuboidMesh {} + readonly property GeometryRenderer cuboid: GeometryRenderer { view: CuboidMesh {} } readonly property DiffuseMapMaterial material: DiffuseMapMaterial { diffuse: shaderGLTexture } diff --git a/tests/manual/simple-shaders-qml/main.qml b/tests/manual/simple-shaders-qml/main.qml index 38758d500..d45ff4cdb 100644 --- a/tests/manual/simple-shaders-qml/main.qml +++ b/tests/manual/simple-shaders-qml/main.qml @@ -82,12 +82,14 @@ Entity { InputSettings { } ] - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } Entity { diff --git a/tests/manual/skybox/Skybox.qml b/tests/manual/skybox/Skybox.qml index f8a77bd65..e2c9b6b68 100644 --- a/tests/manual/skybox/Skybox.qml +++ b/tests/manual/skybox/Skybox.qml @@ -86,11 +86,13 @@ Entity { fragmentShaderCode: loadSource("qrc:/shaders/es2/skybox.frag") } - CuboidMesh { + GeometryRenderer { id: cuboidMesh - yzMeshResolution: Qt.size(2, 2) - xzMeshResolution: Qt.size(2, 2) - xyMeshResolution: Qt.size(2, 2) + view: CuboidMesh { + yzMeshResolution: Qt.size(2, 2) + xzMeshResolution: Qt.size(2, 2) + xyMeshResolution: Qt.size(2, 2) + } } Transform { diff --git a/tests/manual/skybox/main.qml b/tests/manual/skybox/main.qml index af476a1ca..69c837121 100644 --- a/tests/manual/skybox/main.qml +++ b/tests/manual/skybox/main.qml @@ -91,7 +91,7 @@ Entity { Entity { components: [ - SphereMesh { radius: 5 }, + GeometryRenderer { view: SphereMesh { radius: 5 } }, PhongMaterial { diffuse: "dodgerblue" } ] } diff --git a/tests/manual/subtree-enabler-qml/main.qml b/tests/manual/subtree-enabler-qml/main.qml index c2e530893..03c9beff6 100644 --- a/tests/manual/subtree-enabler-qml/main.qml +++ b/tests/manual/subtree-enabler-qml/main.qml @@ -102,7 +102,7 @@ Entity { Transform { rotation: fromAxisAndAngle(Qt.vector3d(0, 0, 1), -sceneRoot.rotationAngle) }, - CylinderMesh {}, + GeometryRenderer { view: CylinderMesh {} }, MetalRoughMaterial {} ] } diff --git a/tests/manual/texture-updates-cpp/scene.cpp b/tests/manual/texture-updates-cpp/scene.cpp index 274b9422f..65277227c 100644 --- a/tests/manual/texture-updates-cpp/scene.cpp +++ b/tests/manual/texture-updates-cpp/scene.cpp @@ -56,6 +56,7 @@ #include #include +#include #include #include @@ -85,9 +86,12 @@ Scene::Scene(Qt3DCore::QEntity *rootEntity) mat->setSpecular(QColor(255, 255, 255)); mat->setDiffuse(m_texture); + auto renderer = new Qt3DRender::QGeometryRenderer(); + renderer->setView(cuboid); + //Cuboid m_cuboidEntity = new Qt3DCore::QEntity(m_rootEntity); - m_cuboidEntity->addComponent(cuboid); + m_cuboidEntity->addComponent(renderer); m_cuboidEntity->addComponent(mat); m_cuboidEntity->addComponent(m_transform); } diff --git a/tests/manual/texture_property_updates/main.qml b/tests/manual/texture_property_updates/main.qml index 7794dab55..4ea241f63 100644 --- a/tests/manual/texture_property_updates/main.qml +++ b/tests/manual/texture_property_updates/main.qml @@ -131,7 +131,7 @@ QQ2.Item { InputSettings { } ] - CuboidMesh { id: mesh } + GeometryRenderer { id: mesh; view: CuboidMesh { } } NodeInstantiator { id: instantiator diff --git a/tests/manual/transparency-qml-scene3d/Scene.qml b/tests/manual/transparency-qml-scene3d/Scene.qml index 43d49dc54..94801d8ed 100644 --- a/tests/manual/transparency-qml-scene3d/Scene.qml +++ b/tests/manual/transparency-qml-scene3d/Scene.qml @@ -103,17 +103,21 @@ Entity { extension: ".webp" } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/transparency-qml/main.qml b/tests/manual/transparency-qml/main.qml index 6d2b20fe8..3c7d8fd07 100644 --- a/tests/manual/transparency-qml/main.qml +++ b/tests/manual/transparency-qml/main.qml @@ -98,17 +98,21 @@ Entity { components: [transform, light] } - TorusMesh { + GeometryRenderer { id: torusMesh - radius: 5 - minorRadius: 1 - rings: 100 - slices: 20 + view: TorusMesh { + radius: 5 + minorRadius: 1 + rings: 100 + slices: 20 + } } - SphereMesh { + GeometryRenderer { id: sphereMesh - radius: 3 + view: SphereMesh { + radius: 3 + } } Transform { diff --git a/tests/manual/video-texture-qml/main.qml b/tests/manual/video-texture-qml/main.qml index 93110ef2a..1a31dae2f 100644 --- a/tests/manual/video-texture-qml/main.qml +++ b/tests/manual/video-texture-qml/main.qml @@ -109,8 +109,9 @@ Entity { InputSettings {} ] - CuboidMesh { + GeometryRenderer { id: mesh + view: CuboidMesh { } } Entity { -- cgit v1.2.3