diff options
author | Julian de Bhal <julian.debhal@nokia.com> | 2011-11-01 13:01:53 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-01 05:15:57 +0100 |
commit | 3c8dd5ce107539e8bf45d310b479729977e89ac4 (patch) | |
tree | 71d9b639cf6cd2311573cea27343a550d57933c2 /tests | |
parent | 850323a6633367dc41c71a321238e8cde1d8c0ea (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.png | bin | 0 -> 4050 bytes | |||
-rw-r--r-- | tests/manual/lighting/lighting.pro | 10 | ||||
-rw-r--r-- | tests/manual/lighting/m5-tst_lighting_qml.desktop | 14 | ||||
-rw-r--r-- | tests/manual/lighting/main.cpp | 63 | ||||
-rw-r--r-- | tests/manual/lighting/qml/LightingTestCase.qml | 132 | ||||
-rw-r--r-- | tests/manual/lighting/qml/tst_lighting.qml | 76 | ||||
-rw-r--r-- | tests/manual/lighting/tst_lighting_qml.desktop | 8 | ||||
-rw-r--r-- | tests/manual/manual.pro | 1 |
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 Binary files differnew file mode 100644 index 000000000..8351083ed --- /dev/null +++ b/tests/manual/lighting/icon-l-qtquick3d.png 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 \ |