diff options
Diffstat (limited to 'examples/qt3d/gltf')
-rw-r--r-- | examples/qt3d/gltf/Wine.qml | 77 | ||||
-rw-r--r-- | examples/qt3d/gltf/basic.frag | 12 | ||||
-rw-r--r-- | examples/qt3d/gltf/basic.vert | 18 | ||||
-rw-r--r-- | examples/qt3d/gltf/gltf.pro | 4 | ||||
-rw-r--r-- | examples/qt3d/gltf/gltf_example.qrc | 3 | ||||
-rw-r--r-- | examples/qt3d/gltf/main.qml | 164 |
6 files changed, 109 insertions, 169 deletions
diff --git a/examples/qt3d/gltf/Wine.qml b/examples/qt3d/gltf/Wine.qml new file mode 100644 index 000000000..4a61c6584 --- /dev/null +++ b/examples/qt3d/gltf/Wine.qml @@ -0,0 +1,77 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt3D module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL3$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPLv3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or later as published by the Free +** Software Foundation and appearing in the file LICENSE.GPL included in +** the packaging of this file. Please review the following information to +** ensure the GNU General Public License version 2.0 requirements will be +** met: http://www.gnu.org/licenses/gpl-2.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import Qt3D 2.0 +import Qt3D.Renderer 2.0 + +Entity { + id: root + + property alias x: wineTranslate.dx + property alias y: wineTranslate.dy + property alias z: wineTranslate.dz + property alias angleX: rotateX.angle + property alias angleY: rotateY.angle + property alias angleZ: rotateZ.angle + property alias scale: wineScale.scale + + components: [ + Transform { + Rotate { + id: rotateX + axis: Qt.vector3d(1, 0, 0) + } + Rotate { + id: rotateY + axis: Qt.vector3d(0, 1, 0) + } + Rotate { + id: rotateZ + axis: Qt.vector3d(0, 0, 1) + } + Translate { + id: wineTranslate + } + Scale { + id: wineScale + } + }, + SceneLoader + { + source: "qrc:/assets/gltf/wine/wine.gltf" + } + ] +} diff --git a/examples/qt3d/gltf/basic.frag b/examples/qt3d/gltf/basic.frag deleted file mode 100644 index 6f83f6b90..000000000 --- a/examples/qt3d/gltf/basic.frag +++ /dev/null @@ -1,12 +0,0 @@ -#version 330 - -in vec3 color; - -out vec4 fragColor; - -void main() -{ - // The color variable is interpolated to this fragment's position - // for us by OpenGL. - fragColor = vec4( color, 1.0 ); -} diff --git a/examples/qt3d/gltf/basic.vert b/examples/qt3d/gltf/basic.vert deleted file mode 100644 index 0e35affd5..000000000 --- a/examples/qt3d/gltf/basic.vert +++ /dev/null @@ -1,18 +0,0 @@ -#version 330 - -in vec3 vertexPosition; -in vec3 vertexColor; - -uniform mat4 u_projection; -uniform mat4 u_model; - -out vec3 color; - -void main() -{ - // Pass through the color to the fragment shader - color = vertexColor; - - // Calculate the vertex position - gl_Position = u_projection * u_model * vec4( vertexPosition, 1.0 ); -} diff --git a/examples/qt3d/gltf/gltf.pro b/examples/qt3d/gltf/gltf.pro index 5b75283ae..7f65358d5 100644 --- a/examples/qt3d/gltf/gltf.pro +++ b/examples/qt3d/gltf/gltf.pro @@ -10,9 +10,9 @@ SOURCES += \ main.cpp OTHER_FILES += \ - main.qml + main.qml \ + Wine.qml RESOURCES += \ gltf_example.qrc \ ../exampleresources/gltf.qrc \ - ../exampleresources/obj.qrc diff --git a/examples/qt3d/gltf/gltf_example.qrc b/examples/qt3d/gltf/gltf_example.qrc index c24519313..0da7ea21f 100644 --- a/examples/qt3d/gltf/gltf_example.qrc +++ b/examples/qt3d/gltf/gltf_example.qrc @@ -1,7 +1,6 @@ <RCC> <qresource prefix="/"> <file>main.qml</file> - <file>basic.frag</file> - <file>basic.vert</file> + <file>Wine.qml</file> </qresource> </RCC> diff --git a/examples/qt3d/gltf/main.qml b/examples/qt3d/gltf/main.qml index acce5d7ac..c58aaf5d4 100644 --- a/examples/qt3d/gltf/main.qml +++ b/examples/qt3d/gltf/main.qml @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2014 Klaralvdalens Datakonsult AB (KDAB). +** Copyright (C) 2015 The Qt Company Ltd and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the Qt3D module of the Qt Toolkit. @@ -36,150 +37,43 @@ import Qt3D 2.0 import Qt3D.Renderer 2.0 -import QtQuick 2.1 as QQ2 Entity { - id: root - objectName: "root" - - Scene { - id: wineScene - source: ":/assets/gltf/wine/wine.json" - - Entity { - transforms: [ - Translate { - dx: 100 - dy: 0 - dz: -100 - } - - ] - - property Mesh myMesh: ballmesh - } - - Entity { - property Mesh myMesh: ballmesh - - transforms: [ - Translate { - dx: 0 - dy: 100 - } - - ] - - property Material mat: greenMaterial - } - - Entity { - property Shape myShape: sphere1 - - transforms: [ - Translate { - dx: 50 - dy: 50 - } - - ] - - property Material mat: greenMaterial - - Shape { - id: sphere1 - radius: 25 - rings: 32 - slices: 32 - } - } - - Entity { - property Shape myShape: torus1 - - transforms: [ - Translate { - dx: 50 - dy: 120 - } - - ] - - property Material mat: blueMaterial - - Shape { - id: torus1 - radius: 40 - minorRadius: 15 - type: Shape.ShapeTorus - } - } - - - Entity { - property Mesh myMesh: ballmesh - - transforms: [ - Rotate { - angle: 45 - axis: Qt.vector3d(0, 1, 0) - }, - - Translate { - dx: 40 - dy: 100 - } - ] - - property Material mat: blueMaterial - } + id: sceneRoot + + Camera { + id: camera + projectionType: CameraLens.PerspectiveProjection + fieldOfView: 45 + aspectRatio: 16/9 + nearPlane : 0.1 + farPlane : 1000.0 + position: Qt.vector3d( 0.0, 20.0, -120.0 ) + upVector: Qt.vector3d( 0.0, 1.0, 0.0 ) + viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 ) } - Mesh { - id: ballmesh - source: ":/assets/obj/ball.obj" + Configuration { + controlledCamera: camera } - Material { - id: greenMaterial - - parameters: [ - /* - Tag { - name: "kd" - value: Qt.green - } - */ - - Tag { - name: "kd" - value: Qt.vector3d( 0.2, 1.0, 0.1 ) - - QQ2.Vector3dAnimation on value { - from: Qt.vector3d(0.0, 1.0, 0.1) - to: Qt.vector3d(1.0, 1.0, 0.1) - duration: 1000 - loops: QQ2.Animation.Infinite - } - }, - - Tag { - name: "diffuse" - value: brick - } - ] + FrameGraph { + id : external_forward_renderer + activeFrameGraph : ForwardRenderer { + camera: camera + clearColor: "black" + } } - Material { - id: blueMaterial + components: [external_forward_renderer] - parameters: [ - Tag { name: "kd"; value: Qt.vector3d(0.2, 0.2, 1.0) } - ] + Wine { + id: wineRack + scale: 1 + x: -60.0 + y: -20.0 + z: 0.0 + angleX: 180 } - Texture { - id: brick - source: "/Users/jmt/KDAB/Qt3D/qt3d-ng/assets/textures/brick1.jpg" - } } |