summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJulian de Bhal <julian.debhal@nokia.com>2011-11-01 13:01:53 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-01 05:15:57 +0100
commit3c8dd5ce107539e8bf45d310b479729977e89ac4 (patch)
tree71d9b639cf6cd2311573cea27343a550d57933c2 /tests
parent850323a6633367dc41c71a321238e8cde1d8c0ea (diff)
Manual lighting test for QTBUG-22414 (currently broken).
Change-Id: I0575d207c16852ddda3ee234405801825d7930ca Reviewed-by: Patrick Burke <patrick.burke@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/manual/lighting/icon-l-qtquick3d.pngbin0 -> 4050 bytes
-rw-r--r--tests/manual/lighting/lighting.pro10
-rw-r--r--tests/manual/lighting/m5-tst_lighting_qml.desktop14
-rw-r--r--tests/manual/lighting/main.cpp63
-rw-r--r--tests/manual/lighting/qml/LightingTestCase.qml132
-rw-r--r--tests/manual/lighting/qml/tst_lighting.qml76
-rw-r--r--tests/manual/lighting/tst_lighting_qml.desktop8
-rw-r--r--tests/manual/manual.pro1
8 files changed, 304 insertions, 0 deletions
diff --git a/tests/manual/lighting/icon-l-qtquick3d.png b/tests/manual/lighting/icon-l-qtquick3d.png
new file mode 100644
index 000000000..8351083ed
--- /dev/null
+++ b/tests/manual/lighting/icon-l-qtquick3d.png
Binary files differ
diff --git a/tests/manual/lighting/lighting.pro b/tests/manual/lighting/lighting.pro
new file mode 100644
index 000000000..2f62efdd0
--- /dev/null
+++ b/tests/manual/lighting/lighting.pro
@@ -0,0 +1,10 @@
+TEMPLATE = app
+TARGET = tst_lighting
+CONFIG += qt warn_on
+
+INSTALL_DIRS = qml
+CONFIG += qt3d_deploy_qml qt3dquick_deploy_pkg
+include(../../../pkg.pri)
+qtcAddDeployment()
+
+SOURCES += main.cpp
diff --git a/tests/manual/lighting/m5-tst_lighting_qml.desktop b/tests/manual/lighting/m5-tst_lighting_qml.desktop
new file mode 100644
index 000000000..6f66063d4
--- /dev/null
+++ b/tests/manual/lighting/m5-tst_lighting_qml.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Name=tst_lighting
+Comment=Qt3D test application for single lighting
+Exec=/usr/bin/tst_lighting -fullscreen
+Icon=icon-l-qtquick3d
+Terminal=false
+Type=Application
+Categories=Development;
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
+X-Text-Domain=qt3d
+
diff --git a/tests/manual/lighting/main.cpp b/tests/manual/lighting/main.cpp
new file mode 100644
index 000000000..8aa665083
--- /dev/null
+++ b/tests/manual/lighting/main.cpp
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 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 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui/QApplication>
+#include "qdeclarativeview3d.h"
+
+#include "../../shared/qmlres.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+
+ QDeclarativeView3D view;
+ QString qml = q_get_qmldir(QLatin1String("qml/tst_lighting.qml"));
+ view.setSource(QUrl::fromLocalFile(qml));
+
+ if (QApplication::arguments().contains(QLatin1String("-maximize")))
+ view.showMaximized();
+ else if (QApplication::arguments().contains(QLatin1String("-fullscreen")))
+ view.showFullScreen();
+ else
+ view.show();
+
+ return app.exec();
+}
diff --git a/tests/manual/lighting/qml/LightingTestCase.qml b/tests/manual/lighting/qml/LightingTestCase.qml
new file mode 100644
index 000000000..35a3ead4e
--- /dev/null
+++ b/tests/manual/lighting/qml/LightingTestCase.qml
@@ -0,0 +1,132 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 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 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt3D 1.0
+import Qt3D.Shapes 1.0
+
+Rectangle {
+ id: container
+ // Parameters for editting and access
+ property string text;
+ property variant camera: defaultCamera
+ property variant light: defaultLight // The actual Light
+ // lightItem contains the defaultLight and a small white sphere at the same
+ // position.
+ property alias lightItem: lightItem
+ // lightSphere is the sphere in lightItem. It's intended use is to be a
+ // visible object at the source of the light, to make it easier to see
+ // where the light should be coming from.
+ property alias lightSphere: lightSphere
+ // The teapotContainer is an item containing the 5 teapots, to make it
+ // easier to move them around if necessary
+ property alias teapotContainer: teapotContainer
+ // view is the viewport that displays the test
+ property alias view: view
+
+ // Default values:
+ property variant defaultCamera: Camera { eye: Qt.vector3d(0,0,15)}
+ property variant defaultLight: Light {}
+ property real defaultWidth: 440
+ property real defaultHeight: 300
+
+ // Utility values
+ property real theta: 0.0
+ SequentialAnimation on theta {
+ running: true
+ loops: Animation.Infinite
+ PropertyAnimation {
+ from: 0.0
+ to: 2.0 * Math.PI
+ duration: 2000
+ }
+ }
+
+ border.width: 2
+ border.color: "black"
+ radius: 5
+ width: defaultWidth
+ height: defaultHeight
+
+ Text {
+ id: textItem
+ wrapMode: "WordWrap"
+ horizontalAlignment: "AlignHCenter"
+ text: container.text
+ anchors.left: parent.left
+ anchors.right: parent.right
+ }
+
+ Rectangle {
+ id: viewportContainer
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.margins: 1
+ anchors.topMargin: 2
+ anchors.top: textItem.bottom
+ anchors.bottom: container.bottom
+ color: "#aaccee"
+
+ Viewport {
+ id: view
+ anchors.fill: parent
+ picking: true
+ camera: container.camera
+ light: container.light
+ Item3D {
+ id:lightItem
+ // This sphere is small enough to be obscured by the center
+ // teapot if it's not manipulated
+ Sphere { id: lightSphere; scale: 0.3;
+ }
+ Light{ id: testLight; }
+ }
+ Item3D {
+ id: teapotContainer
+ Teapot { id: centerTeapot }
+ Teapot { id: topRightTeapot; x:2; y:2 }
+ Teapot { id: topLeftTeapot; x:-2; y:2 }
+ Teapot { id: bottomRightTeapot; x:2; y:-2 }
+ Teapot { id: bottomLeftTeapot; x:-2; y:-2 }
+ }
+ }
+ }
+}
diff --git a/tests/manual/lighting/qml/tst_lighting.qml b/tests/manual/lighting/qml/tst_lighting.qml
new file mode 100644
index 000000000..d5c9c4ee7
--- /dev/null
+++ b/tests/manual/lighting/qml/tst_lighting.qml
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtQuick3D module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 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 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt3D 1.0
+import Qt3D.Shapes 1.0
+
+// QTBUG-17408
+Item {
+ id: screen
+
+ width: aTestCase.defaultWidth * 2
+ height: aTestCase.defaultHeight * 1
+
+ Flow {
+ anchors.fill: parent
+
+ LightingTestCase {
+ id: aTestCase
+ text: "Positional Lighting Direct Position Test. The light should appear to be emanating from the sphere, rotating around the middle teapot and lighting the insides of the other 4 teapots dynamically."
+
+ onThetaChanged: {
+ light.position = Qt.vector3d(1.5 * Math.sin(theta),
+ 1.5 * Math.cos(theta), 0);
+ lightSphere.position = light.position;
+ }
+ }
+
+ LightingTestCase {
+ text: "Directional Lighting Test.
+ Lighting should look the same on all teapots"
+ onThetaChanged: {
+ light.direction = Qt.vector3d(1.5 * Math.sin(theta),
+ 1.5 * Math.cos(theta),0);
+ }
+ }
+ }
+}
diff --git a/tests/manual/lighting/tst_lighting_qml.desktop b/tests/manual/lighting/tst_lighting_qml.desktop
new file mode 100644
index 000000000..86313592e
--- /dev/null
+++ b/tests/manual/lighting/tst_lighting_qml.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=tst_lighting
+Icon=icon-l-qtquick3d
+Exec=/usr/bin/tst_lighting -fullscreen
+OnlyShowIn=X-MeeGo;
+X-MeeGo-Logical-Id=qtn_comm_appname_tst_lighting_qml
+X-MeeGo-Translation-Catalog=essentials
diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro
index e4e3372b0..cdeb40e60 100644
--- a/tests/manual/manual.pro
+++ b/tests/manual/manual.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS += displaymodel \
+ lighting \
model3ds \
navigation1 \
rotation \