summaryrefslogtreecommitdiffstats
path: root/doc/src/acceptance/qt3d-acceptance.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/acceptance/qt3d-acceptance.qdoc')
-rw-r--r--doc/src/acceptance/qt3d-acceptance.qdoc239
1 files changed, 0 insertions, 239 deletions
diff --git a/doc/src/acceptance/qt3d-acceptance.qdoc b/doc/src/acceptance/qt3d-acceptance.qdoc
deleted file mode 100644
index a60c6dfa..00000000
--- a/doc/src/acceptance/qt3d-acceptance.qdoc
+++ /dev/null
@@ -1,239 +0,0 @@
-/****************************************************************************
-**
-** 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 documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** GNU Free Documentation License
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file.
-**
-** 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$
-**
-****************************************************************************/
-
-/*!
- \page qt3d-acceptance.html
- \title Acceptance tests for Qt3D
- \keyword Acceptance
-
- As described in the \l{index.html}{Introduction} Qt3D is the C++ framework
- that underlies QtQuick3D.
-
- This section of the documentation contains some recommended
- acceptance tests for use when verifying that Qt3D has been
- successfully ported to a new platform or device, and to
- determine if the major features of Qt3D work correctly prior
- to a release. The list of tests is not intended to be exhaustive.
-
- When \l{Contributing to Qt3D}{reporting bugs}, please include
- as much information as possible about your platform and particularly
- its OpenGL implementation. The \c{qglinfo} program in the Qt3D
- source tree can be used to collect up information about the OpenGL
- version, features, and extensions. On X11 systems, usually
- \c{glxinfo} can be run to obtain similar information.
-
- \section1 Packaging Verification
-
- Where Qt Quick 3D has been packaged into a new packaging format, follow
- these steps to confirm that the newly installed package has validly set
- up a correct Qt Quick 3D environment.
-
- 1) Launch Qt Creator
-
- 2) Choose "File" > "New File or Project..."
-
- 3) Choose "Qt Quick Project" > "Qt Quick UI", press "Choose..."
-
- 4) Name the project "acceptance" and leave the default location
-
- 5) A template with QML code is generated. Edit the code so that it
- appears as follows:
-
- \code
- import QtQuick 1.0
- import Qt3D 1.0
-
- Viewport { width: 400; height: 400 }
- \endcode
-
- 6) Choose "File" > "Save"
-
- 7) Select the "Projects" tab, and set the "Qt Version:" to be the
- path of the qmake binary for the Qt where the newly installed
- Qt Quick 3D is located. Use the "Manage" button to add this Qt
- to the list if necessary.
-
- 8) If the package is correctly installed the code above should be
- clear of any error-underlining (a red wavy line indicating a problem).
-
- 9) Choose "Build" > "Run", ensuring the "acceptance" project is
- selected.
-
- 10) A 400 x 400 black viewport should be displayed.
-
-
- \section1 Basic bring-up
-
- A pre-requisite for the acceptance tests is that Qt and Qt3D have
- been built and installed in accordance with the
- \l{Building QtQuick3D}{build instructions}. In particular, Qt must
- be configured with OpenGL support and QGLWidget must be working.
-
- First, run all unit tests on the platform or device and verify that
- they all pass (\l{Contributing to Qt3D}{report bugs} for those that
- do not pass). The "make check" rule can be used to run the
- unit tests if you are not cross-compiling. For cross-compile
- environments, copy all of the \c{tst_*} binaries under \c{tests/auto}
- to the device and run them.
-
- Next, run the \l{Teapot Example} and verify that it looks similar
- to the following picture:
-
- \image teapot-screenshot.png
-
- Verify that there is no horizontal or vertical distortion,
- as shown in the following pictures:
-
- \raw HTML
- <center><table><tr><td>
- \endraw
- \image teapot-distortion.png
- \raw HTML
- </td><td>
- \endraw
- \image teapot-distortion2.png
- \raw HTML
- </td></tr></table></center>
- \endraw
-
- Resize the window if possible. The teapot should change scale but
- keep its relative horizontal and vertical size without distortion.
- Next, verify that the teapot can be rotated using either the mouse
- or the cursor keys:
-
- \image teapot-rotated.png
-
- If the teapot does not appear at all, then check stdout for any
- error and warning messages from the GLSL shader compiler.
-
- \section1 Animations
-
- Run the \l{Basket Example} and verify that the basket spins on
- its vertical axis, and continues to do so as the window is
- resized or the orientiation is changed with the mouse or keyboard.
- The model should also be textured with a basket weave pattern:
-
- \image basket-screenshot.png
-
- Running the basket example with the environment variable
- \c{QT3D_LOG_EVENTS} set to 1 should produce some qDebug()
- output that indicates the number of milliseconds per frame,
- and hence the frame rate:
-
- \code
- $ QT3D_LOG_EVENTS=1 ./basket
- ...
- LOG[0:00:01.681]: ENTER: QGLView::paintGL (16 ms since last enter)
- LOG[0:00:01.681]: LEAVE: QGLView::paintGL (0 ms elapsed)
- LOG[0:00:01.696]: ENTER: QGLView::paintGL (15 ms since last enter)
- LOG[0:00:01.696]: LEAVE: QGLView::paintGL (0 ms elapsed)
- LOG[0:00:01.713]: ENTER: QGLView::paintGL (17 ms since last enter)
- ...
- \endcode
-
- If the basket does not spin, then try to determine if
- \c{BasketView::paintGL()} is being called every frame or not.
- If it is being called over and over, then the problem
- may be in Qt3D. But if it is not being called repeatedly, then
- it could be a problem in Qt's animation framework or QGLWidget
- update processing.
-
- \section1 Rendering into a framebuffer object
-
- Run the \l{qt3d/nesting}{Nesting} example to test if rendering into a
- framebuffer object works:
-
- \image nesting-screenshot.png
-
- The teapot on the side of the blue cube is the part of the scene
- that uses a framebuffer object. The teapot should be spinning.
-
- This test also checks that alpha blending works in the underlying
- OpenGL implementation.
-
- \section1 Model loading
-
- Run the \l{Loading a 3DS model with Qt3D}{Penguin} example
- to check that 3DS model loading basically works:
-
- \image penguin-screenshot.png
-
- If the model fails to appear, it is possible that the 3DS
- plug-in has not been installed correctly or it could not
- be located at runtime. It is recommended that you set the
- \c{QT_DEBUG_PLUGINS} environment variable to 1 to get extra
- information about why the plug-in could not be loaded.
-
- \section1 QtQuick3D Verification
-
- Run the QtQuick3D version of the bouncing
- \l{Teapot Example in QtQuick3D}{Teapot Example} using
- "qmlviewer -opengl teapot-bounce.qml". The teapot should have a
- shiny appearence (compared to the grey teapot above) and bounce
- up and down:
-
- \image teapot-china-screenshot.png
-
- It should be possible to rotate the teapot using the mouse
- and keyboard.
-
- Note that when running QtQuick3D examples on a device that both the
- QML files and the model files must be copied to the device (the model
- file is "teapot.bez" in the case of the bouncing teapot example).
-
- \section1 Object picking
-
- Run the QtQuick3D \l{Tea Service Demo in QML}{Tea Service} demo
- with "qmlviewer -opengl teaservice.qml". Click on the teapot, teacups,
- and teaspoons to make them jump up, and click on the teapot
- spout and handle for other effects. This example tests object
- picking and QML animations.
-
- \image teaservice-qml-screenshot.png
-
- Note: It may be necessary to adjust the width and height properties
- in teaservice.qml to match the device's screen size.
-
- \section1 Build tests
-
- The Qt3D code base contains a number of \c{#ifdef} statements
- that may cause the build to fail in non-default Qt configurations
- or when strict API options are enabled. It is recommended that
- these configurations be verified periodically, particularly
- prior to a release.
-
- \code
- qmake opengl.pro \
- DEFINES+=QT_NO_DEBUG_STREAM \
- DEFINES+=QT_NO_DATASTREAM \
- DEFINES+=QT_NO_CAST_FROM_BYTEARRAY \
- DEFINES+=QT_NO_CAST_TO_ASCII \
- DEFINES+=QT_NO_CAST_FROM_ASCII
- \endcode
-
- \l{index.html}{Return to the main Qt3D page}.
-*/