diff --git a/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qrc b/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qrc index cb5346c0795..e71d6875554 100644 --- a/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qrc +++ b/src/plugins/qmldesigner/qtquickplugin/qtquickplugin.qrc @@ -45,6 +45,7 @@ source/textinputv2.qml source/component.qml source/component3d.qml + source/extendedview3D_template.qml images/column-positioner-icon.png images/column-positioner-icon-16px.png images/default-icon.png diff --git a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo index d3fdd6f55f0..e0ea712ebdc 100644 --- a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo +++ b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo @@ -850,4 +850,19 @@ MetaInfo { Property { name: "loadPrefix"; type: "string"; value: "lightmaps"; } } } + + Type { + name: "QtQuick3D.View3D" + icon: ":/qtquickplugin/images/default3d16.png" + + ItemLibraryEntry { + name: "Extended View3D" + category: "Items" + libraryIcon: ":/qtquickplugin/images/default3d.png" + version: "6.5" + requiredImport: "QtQuick3D" + QmlSource { source: ":/qtquickplugin/source/extendedview3D_template.qml" } + toolTip: qsTr("A 2D surface where a 3D scene can be rendered. Includes ExtendedSceneEnvironment.") + } + } } diff --git a/src/plugins/qmldesigner/qtquickplugin/source/extendedview3D_template.qml b/src/plugins/qmldesigner/qtquickplugin/source/extendedview3D_template.qml new file mode 100644 index 00000000000..b0b72c8d55d --- /dev/null +++ b/src/plugins/qmldesigner/qtquickplugin/source/extendedview3D_template.qml @@ -0,0 +1,39 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +import QtQuick +import QtQuick3D +import QtQuick3D.Helpers + +View3D { + width: 400 + height: 400 + environment: sceneEnvironment + + ExtendedSceneEnvironment { + id: sceneEnvironment + antialiasingMode: SceneEnvironment.MSAA + antialiasingQuality: SceneEnvironment.High + } + + Node { + id: scene + + DirectionalLight { + id: directionalLight + } + + PerspectiveCamera { + id: sceneCamera + z: 350 + } + + Model { + id: cubeModel + eulerRotation.x: 30 + eulerRotation.y: 45 + + source: "#Cube" + } + } +}