summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/acceptance/qt3d-acceptance.qdoc239
-rw-r--r--doc/src/camera-frustum.qdoc240
-rw-r--r--doc/src/classes.qdoc100
-rw-r--r--doc/src/classic.css284
-rw-r--r--doc/src/declarative_scenegraphs.qdoc330
-rw-r--r--doc/src/demos/monkeygod.qdoc38
-rw-r--r--doc/src/demos/pageflip.qdoc39
-rw-r--r--doc/src/demos/shapes.qdoc38
-rw-r--r--doc/src/demos/teaservice-qml.qdoc44
-rw-r--r--doc/src/demos/teaservice.qdoc43
-rw-r--r--doc/src/examples/basket.qdoc80
-rw-r--r--doc/src/examples/nesting.qdoc134
-rw-r--r--doc/src/examples/teapot-qml.qdoc73
-rw-r--r--doc/src/examples/teapot.qdoc101
-rw-r--r--doc/src/images/REAME-ODF5
-rw-r--r--doc/src/images/affine-transform.odfbin4948 -> 0 bytes
-rw-r--r--doc/src/images/affine-transform.pngbin2739 -> 0 bytes
-rw-r--r--doc/src/images/attenuation.odfbin5273 -> 0 bytes
-rw-r--r--doc/src/images/attenuation.pngbin1894 -> 0 bytes
-rw-r--r--doc/src/images/basket-screenshot.pngbin50121 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-1.pngbin176557 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-2.pngbin188352 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-3.pngbin80302 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-4.pngbin196664 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-5.pngbin181923 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-6.pngbin187095 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-7.pngbin142962 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-8.pngbin145519 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-9.pngbin204220 -> 0 bytes
-rw-r--r--doc/src/images/build-qt3d-qtcreator-set-to-release.pngbin21295 -> 0 bytes
-rw-r--r--doc/src/images/cube-screenshot.pngbin19476 -> 0 bytes
-rw-r--r--doc/src/images/cylinder-texture-coords.pngbin26839 -> 0 bytes
-rw-r--r--doc/src/images/faceted-q.pngbin16750 -> 0 bytes
-rw-r--r--doc/src/images/forest-screenshot.pngbin17397 -> 0 bytes
-rw-r--r--doc/src/images/forest-screenshot2.pngbin17598 -> 0 bytes
-rw-r--r--doc/src/images/forest-screenshot3.pngbin13444 -> 0 bytes
-rw-r--r--doc/src/images/gradient.pngbin222 -> 0 bytes
-rw-r--r--doc/src/images/imports-dir.pngbin22251 -> 0 bytes
-rw-r--r--doc/src/images/line-int-1.pngbin4951 -> 0 bytes
-rw-r--r--doc/src/images/line-int-2.pngbin3430 -> 0 bytes
-rw-r--r--doc/src/images/line-intersection.odfbin4699 -> 0 bytes
-rw-r--r--doc/src/images/line-intersection.pdfbin38106 -> 0 bytes
-rw-r--r--doc/src/images/line-intersection2.odfbin4608 -> 0 bytes
-rw-r--r--doc/src/images/line-intersection2.pdfbin34557 -> 0 bytes
-rw-r--r--doc/src/images/monkeygod-screenshot.pngbin63435 -> 0 bytes
-rw-r--r--doc/src/images/moon-screenshot.pngbin25441 -> 0 bytes
-rw-r--r--doc/src/images/mouse3dtest-screenshot.pngbin21487 -> 0 bytes
-rw-r--r--doc/src/images/nesting-screenshot.pngbin30541 -> 0 bytes
-rw-r--r--doc/src/images/normalized.odfbin5384 -> 0 bytes
-rw-r--r--doc/src/images/pageflip-screenshot.pngbin72355 -> 0 bytes
-rw-r--r--doc/src/images/painter-screenshot.pngbin5301 -> 0 bytes
-rw-r--r--doc/src/images/penguin-0-screenshot.pngbin15847 -> 0 bytes
-rw-r--r--doc/src/images/penguin-screenshot.pngbin11862 -> 0 bytes
-rw-r--r--doc/src/images/pvcolor.pngbin84258 -> 0 bytes
-rw-r--r--doc/src/images/pyramid-screenshot.pngbin30058 -> 0 bytes
-rw-r--r--doc/src/images/qray3d-project.pngbin9210 -> 0 bytes
-rw-r--r--doc/src/images/qt-creator-config-3ds.pngbin23690 -> 0 bytes
-rw-r--r--doc/src/images/qt-creator-lib-path.pngbin56119 -> 0 bytes
-rw-r--r--doc/src/images/qt-creator-plugins.pngbin23085 -> 0 bytes
-rw-r--r--doc/src/images/qt-creator-shadow-build.pngbin25272 -> 0 bytes
-rw-r--r--doc/src/images/qt-logo.pngbin5149 -> 0 bytes
-rw-r--r--doc/src/images/qt3d-logo.pngbin41332 -> 0 bytes
-rw-r--r--doc/src/images/quad-extrude.pngbin24814 -> 0 bytes
-rw-r--r--doc/src/images/quad-extrude.xcfbin65613 -> 0 bytes
-rw-r--r--doc/src/images/quads.pngbin16511 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario1.pngbin125864 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario2.pngbin62721 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario3.pngbin124634 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario4.pngbin136722 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario5.pngbin142316 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario6.pngbin158026 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario7.pngbin186241 -> 0 bytes
-rw-r--r--doc/src/images/scenegraph_scenario8.pngbin101143 -> 0 bytes
-rw-r--r--doc/src/images/shapes-screenshot.pngbin15746 -> 0 bytes
-rw-r--r--doc/src/images/soup.pngbin107851 -> 0 bytes
-rw-r--r--doc/src/images/sphere-detail.pngbin62359 -> 0 bytes
-rw-r--r--doc/src/images/spiky-teapot.pngbin332191 -> 0 bytes
-rw-r--r--doc/src/images/stereo-nhd-screenshot.pngbin25718 -> 0 bytes
-rw-r--r--doc/src/images/stereo-screenshot-qml.pngbin131278 -> 0 bytes
-rw-r--r--doc/src/images/stereo-screenshot-qml2.pngbin156885 -> 0 bytes
-rw-r--r--doc/src/images/stereo-screenshot.pngbin20521 -> 0 bytes
-rw-r--r--doc/src/images/stereo-wide-screenshot.pngbin29985 -> 0 bytes
-rw-r--r--doc/src/images/teapot-china-screenshot.pngbin17811 -> 0 bytes
-rw-r--r--doc/src/images/teapot-distortion.pngbin13840 -> 0 bytes
-rw-r--r--doc/src/images/teapot-distortion2.pngbin7852 -> 0 bytes
-rw-r--r--doc/src/images/teapot-logo.pngbin3322 -> 0 bytes
-rw-r--r--doc/src/images/teapot-qml-screenshot.pngbin12028 -> 0 bytes
-rw-r--r--doc/src/images/teapot-qt-screenshot.pngbin37868 -> 0 bytes
-rw-r--r--doc/src/images/teapot-rotated.pngbin14324 -> 0 bytes
-rw-r--r--doc/src/images/teapot-screenshot.pngbin11910 -> 0 bytes
-rw-r--r--doc/src/images/teaservice-qml-screenshot.pngbin37272 -> 0 bytes
-rw-r--r--doc/src/images/teaservice-screenshot.pngbin33040 -> 0 bytes
-rw-r--r--doc/src/images/texture-coords-gen.pngbin97886 -> 0 bytes
-rw-r--r--doc/src/images/texture-coords-gen.xcfbin369331 -> 0 bytes
-rw-r--r--doc/src/images/texture-seam.pngbin61028 -> 0 bytes
-rw-r--r--doc/src/images/triangle3d-center.pngbin14042 -> 0 bytes
-rw-r--r--doc/src/images/triangle3d-dimensions.pngbin23779 -> 0 bytes
-rw-r--r--doc/src/images/triangle3d.xcfbin73394 -> 0 bytes
-rw-r--r--doc/src/images/triangulated-face.pngbin17764 -> 0 bytes
-rw-r--r--doc/src/images/triangulated-face.xcfbin51119 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/converting-screenshot.pngbin1945 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/cube1-screenshot.pngbin3213 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/cube2-screenshot.pngbin3794 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/cube3-screenshot.pngbin4315 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/cube4-screenshot.pngbin13243 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/shader-tutorial-varying.pngbin1174 -> 0 bytes
-rw-r--r--doc/src/images/tutorials/shader-tutorial.pngbin21649 -> 0 bytes
-rw-r--r--doc/src/images/vector-mag.odfbin4453 -> 0 bytes
-rw-r--r--doc/src/images/vector-mag.pngbin1720 -> 0 bytes
-rw-r--r--doc/src/images/vector-normalized.pngbin1111 -> 0 bytes
-rw-r--r--doc/src/images/vector-point.odfbin4453 -> 0 bytes
-rw-r--r--doc/src/images/vector-point.pngbin3369 -> 0 bytes
-rw-r--r--doc/src/index.qdoc117
-rw-r--r--doc/src/qline3d-math.qdoc211
-rw-r--r--doc/src/qt3d-all-classes.qdoc49
-rw-r--r--doc/src/qt3d-all-modules.qdoc57
-rw-r--r--doc/src/qt3d-arrays.qdoc34
-rw-r--r--doc/src/qt3d-building.qdoc275
-rw-r--r--doc/src/qt3d-contrib.qdoc54
-rw-r--r--doc/src/qt3d-examples.qdoc72
-rw-r--r--doc/src/qt3d-geometry.qdoc34
-rw-r--r--doc/src/qt3d-graphicsview.qdoc34
-rw-r--r--doc/src/qt3d-materials.qdoc34
-rw-r--r--doc/src/qt3d-math.qdoc34
-rw-r--r--doc/src/qt3d-painting.qdoc60
-rw-r--r--doc/src/qt3d-qml3d.qdoc55
-rw-r--r--doc/src/qt3d-scene.qdoc34
-rw-r--r--doc/src/qt3d-textures.qdoc34
-rw-r--r--doc/src/qt3d-troubleshooting.qdoc295
-rw-r--r--doc/src/qt3d-viewing.qdoc34
-rw-r--r--doc/src/style/OfflineStyle.css251
-rw-r--r--doc/src/style/narrow.css250
-rw-r--r--doc/src/style/style.css1567
-rw-r--r--doc/src/style/style_ie6.css54
-rw-r--r--doc/src/style/style_ie7.css19
-rw-r--r--doc/src/style/style_ie8.css0
-rw-r--r--doc/src/style/superfish.css51
-rw-r--r--doc/src/style/superfish_skin.css83
-rw-r--r--doc/src/tutorials/penguin.qdoc106
-rw-r--r--doc/src/tutorials/sceneformat.qdoc116
-rw-r--r--doc/src/tutorials/shaders.qdoc388
-rw-r--r--doc/src/tutorials/simpleobject.qdoc106
142 files changed, 0 insertions, 6296 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}.
-*/
diff --git a/doc/src/camera-frustum.qdoc b/doc/src/camera-frustum.qdoc
deleted file mode 100644
index 789f9ad9..00000000
--- a/doc/src/camera-frustum.qdoc
+++ /dev/null
@@ -1,240 +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$
-**
-****************************************************************************/
-
-/*!
- \ingroup qt3d
- \ingroup qt3d::math
- \since 4.8
- \title Camera and View Frustum
- \page qt3d-camera-frustum.html
- \keyword Camera View Frustum
- \brief Basis for the vamera and view frustum culling test.
-
- The QGLCamera class provides useful viewing functionality, such as being able
- to position and orient view point within a scene. In combination with the
- QGLPainter::isCullable() function, basic view frustum culling is available.
- To understand in more depth these concepts, or to verify the implementation
- more details of these are presented here. To simply use the functionality
- read the documentation.
-
- \list
- \o QGLCamera
- \o QGLPainter::isCullable()
- \endlist
-
- \section1 The Default Camera
-
- Qt3D uses the OpenGL co-ordinate system, that is a right-handed system. In
- this system you can think of X as pointing to the right, Y as pointing up and
- Z as pointing toward you. If you hold your right-hand so that the thumb,
- index and middle fingers are all at right angles to each other, then
-
- \list
- \o Thumb - X axis - points to the right
- \o Index - Y axis - points upward
- \o Middle - Z axis - points toward you
- \endlist
-
- When you first create a QGLCamera object, by default it has
- \code
- QGLCamera camera;
- qDebug() camera;
- --
- // displays:
- QGLCamera
- projection: Perspective -- viewsize: 2 x 2
- near-plane: 5 -- far-plane: 1000 -- field-of-view: 0
- rotation: 0 -- motion adjust: QVector3D(0, 0, 1) -- aspect adjust: true
- eye: QVector3D(0, 0, 10) -- center: QVector3D(0, 0, 0) -- up: QVector3D(0, 1, 0)
- \endcode
-
- In the visualisation just mentioned, with positive Z pointing toward you the
- camera is sitting at the tip of your middle finger, looking in the same
- direction you are, that is down toward the negative end of the Z axis.
-
- \section1 Positioning a Custom Camera.
-
- In this image we have a camera positioned with the following settings:
- \code
- camera.setNearPlane(2.2f);
- camera.setFarPlane(14.0f);
- camera.setViewSize(QSizeF(1.257f, 1.257f));
- camera.setEye(QVector3D(0, 0, -8.0f));
- \endcode
-
- This screen capture from a 3D modelling program shows how this camera is
- set up in a scene, where its viewing a cube. The image shows a purple area
- which indicates the \i{view frustum}, which you can think of for
- now as the area captured by the camera. Actually its more correct to think
- of the volume captured by the camera, and imagine that the purple indication
- in the image is the shadow cast by this volume.
-
- \image view-frustum-angle-shot.png
-
- The odd value for view size comes from the far plane size which was set at
- 8 x 8 when creating the diagram: by similar triangles (8 / 14) x 2.2 = 1.257.
- There is no API call for setting the size of the far-plane, same as in OpenGL.
- So to get this 8 x 8 far plane we had to work out the near plane size.
-
- \image view-frustum-origin.png
-
- This plan view shows the parameters of the camera by reference to a grid.
- You can see that the camera is situated - by QGLCamera::setEye() - to a point
- 8 units back along the negative z axis. The far plane is 14 units away from
- the eye - set by QGLCamera::setFarPlane().
-
- Note that here also the camera is sitting down the negative z axis, looking
- back toward us - the opposite of the default. Its near plane and far plane
- are also much closer. The camera is still pointing to the origin - where a
- 3D cube is situated, ready to be viewed by the camera.
-
- \section1 The View Frustum
-
- The camera can only see a \bold part of the scene - not all of it. Anything
- too far to the camera's right or left is out of the range of its view, and
- even though that part of the scene may contain geometry that is sent to the GPU
- for processing, those triangles will not be visible on the screen. The GPU
- will clip them away - but it still has to do work to do this.
-
- The part of the scene which the camera can see, and which will get displayed
- is called the \bold{View Frustum}. A Frustum is a geometric shape, like a
- pyramid with its top cut off. It has sloping sides due to the perspective
- transformation performed by OpenGL, when simulating the effect of the camera
- in the 3D scene.
-
- The cube in this scene has 6 sides, just like the view frustum, so we can
- compare the names of these:
-
- \table
- \header
- \o Cube
- \o View Frustum
- \row
- \o Front
- \o Near Plane
- \row
- \o Back
- \o Far Plane
- \row
- \o Left side
- \o Left side
- \row
- \o Right side
- \o Right side
- \row
- \o Top
- \o Top
- \row
- \o Bottom
- \o Bottom
- \endtable
-
- Like the cube, the frustum is a solid, and can contain things. You can think of
- it as having a set of bounds. Anything inside these bounds is rendered by OpenGL.
-
- \image view-frustum-10-degrees-angle-shot.png
-
- In this image, we see the camera as a black-line wire-frame. The rectangle of the
- front of the camera represents the \bold{aperture}.
-
- The triangular purple colored area on the floor corresponds to the camera's eye
- and spreads out, as determined by the size of the camera's aperture. If you extended
- the lines from the camera's eye to the four corners of its aperture, those lines would
- define the view frustum. That view frustum would be the same size as the purple
- view triangle, except the part behind the camera aperture is sliced off.
-
- Anything that falls inside the black wire-frame of the camera itself \bold{does not
- get displayed}.
-
- Because the scene needs to be projected onto a camera aperture of a non-zero size,
- this means there is this area between the eye of the camera and its aperture which
- cannot be displayed. Notice that the camera aperture and the Near Plane of the view
- frustum are the same thing.
-
- We can also say that anything which falls outside the fiew frustum \bold{does not get
- displayed} including anything in front of the near plane. Poor camera positioning
- in a scene can often result in this near plane culling which can produce odd visual
- effects as geometry appears and disappears when it passes in front and behind of
- the near plane.
-
- \section1 View Frustum Culling
-
- Carefully examine the next 3 screenshots, which show the same plan view of the
- camera, cube and view - except the cube is rotated arount the eye of the camera
- by 10 degrees each time.
-
- \image view-frustum-10-degrees.png
-
- In this image the cube is slightly out of the view frustum. It still must be sent
- to the GPU, but some of its pixels will be clipped off during rendering.
-
- \image view-frustum-20-degrees.png
-
- In this image the cube is mostly out of the view frustum. It still must be sent
- to the GPU, but most of its pixels will be clipped off during rendering.
-
- \image view-frustum-30-degrees.png
-
- In this image the cube is completey out of the view frustum. Performance could be
- improved by not sending the cubes geometry to the GPU at all. This test must
- be made on the CPU side, so therefore it must be very cheap to do in order to beat
- the cost of just sending it anyway and allowing the GPU to clip away all of it.
-
- The optimisation technique where you detect this case is called \bold{View Frustum
- Culling} and it can a simple and valuable performance enhancement. Qt3D implements
- view frustum culling via the QGLPainter::isCullable() function.
-
- \section1 Aspect-Ratio Correction
-
- The default camera has a viewport which is 2 x 2 in size, as discussed above. However
- when the camera is used to display a scene on a QGLAbstractSurface, for example a
- QGLWidgetSurface, the \bold{aspect ratio} of that surface is taken into account in
- the View Frustum. Specifically code in the QGLCamera::projectionMatrix() function
- takes the aspect ratio and expands the default viewport to match. If the surface is
- wider than it is high, the aspect ratio is greater than 1 and the viewport width is
- multiplied by the aspect ratio to make it larger. If the surface is higher than it
- is wide, the aspect ratio is less than 1 and the viewport height is divided by the
- aspect ratio to make it larger. The result is the viewport aspect ratio matches that
- of the surface it is to be displayed on.
-
- \code
- QGLWidget widget; // creates a 640 x 480 widget by default
- QGLPainter painter(&widget) // internally makes a 640 x 480 QGLWidgetSurface
- qreal asp = painter.currentSurface()->aspectRatio();
- // asp == 1.3333 which is (640 / 480)
- QGLCamera camera; // default camera as above
- painter.setCamera(&camera); // applies the aspect ratio to the perspective projection
- QMatrix4x4 p = painter.projectionMatrix().top();
- QMatrix4x4 q;
- q.frustum(-asp, asp, -1, 1, camera.nearPlane(), camera.farPlane());
- qDebug() << q == p; // prints "true"
- \endcode
-
- One result of this is that clipping to the view frustum can only be done with the
- knowledge of the surface because more of the scene is visible to the left and right
- than would be suggested by the default camera settings.
-*/
diff --git a/doc/src/classes.qdoc b/doc/src/classes.qdoc
deleted file mode 100644
index a81d9e5c..00000000
--- a/doc/src/classes.qdoc
+++ /dev/null
@@ -1,100 +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$
-**
-****************************************************************************/
-
-/*!
- \group classlists
- \title Class and Function Documentation
- \brief Lists and Indexes of classes, functions, and types.
-
- Links to indexes and lists for finding class and function
- reference documentation.
-
- \section2 Class Lists
-
- \annotatedlist classlists
-
- \section2 Function Lists
-
- \annotatedlist funclists
-
-*/
-
-/*!
- \page classes.html
- \title All Qt3D Classes
- \ingroup classlists
-
- \brief If you know the name of the class you want, find it here.
-
- This is a list of all Qt3D classes.
-
- \generatelist classes
-
-*/
-
-/*!
- \page annotated.html
- \title Annotated Class List
- \ingroup classlists
-
- \brief If you don't know the name of the class you want, but you
- know what the class should do, you might try looking here.
-
- Qt3D API classes with brief descriptions:
-
- \generatelist annotatedclasses
-*/
-
-
-/*!
- \page hierarchy.html
-
- \title Inheritance Hierarchy
- \ingroup classlists
-
- \brief The C++ class inheritance hierarchy for all classes in the
- Qt3D API.
-
- \generatelist classhierarchy
-*/
-
-
-
-/*!
- \page functions.html
- \title All Functions
- \ingroup funclists
-
- \brief All documented Qt3D functions listed alphabetically with a
- link to where each one is declared.
-
- This is the list of all documented member functions and global
- functions in the Qt3D API. Each function has a link to the class or
- header file where it is declared and documented.
-
- \generatelist functionindex
-*/
diff --git a/doc/src/classic.css b/doc/src/classic.css
deleted file mode 100644
index 59fa9dc3..00000000
--- a/doc/src/classic.css
+++ /dev/null
@@ -1,284 +0,0 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Arial, Geneva, Helvetica, sans-serif;
-}
-H1 {
- text-align: center;
- font-size: 160%;
-}
-H2 {
- font-size: 120%;
-}
-H3 {
- font-size: 100%;
-}
-
-h3.fn,span.fn
-{
- background-color: #eee;
- border-width: 1px;
- border-style: solid;
- border-color: #ddd;
- font-weight: bold;
- padding: 6px 0px 6px 10px;
- margin: 42px 0px 0px 0px;
-}
-
-hr {
- border: 0;
- color: #a0a0a0;
- background-color: #ccc;
- height: 1px;
- width: 100%;
- text-align: left;
- margin: 34px 0px 34px 0px;
-}
-
-table.valuelist {
- border-width: 1px 1px 1px 1px;
- border-style: solid;
- border-color: #dddddd;
- border-collapse: collapse;
- background-color: #f0f0f0;
-}
-
-table.indextable {
- border-width: 1px 1px 1px 1px;
- border-style: solid;
- border-collapse: collapse;
- background-color: #f0f0f0;
- border-color:#555;
- font-size: 100%;
-}
-
-table td.largeindex {
- border-width: 1px 1px 1px 1px;
- border-collapse: collapse;
- background-color: #f0f0f0;
- border-color:#555;
- font-size: 120%;
-}
-
-table.valuelist th {
- border-width: 1px 1px 1px 2px;
- padding: 4px;
- border-style: solid;
- border-color: #666;
- color:white;
- background-color:#666;
-}
-
-th.titleheader {
- border-width: 1px 0px 1px 0px;
- padding: 2px;
- border-style: solid;
- border-color: #666;
- color:white;
- background-color:#555;
- background-image:url('images/gradient.png')};
- background-repeat: repeat-x;
- font-size: 100%;
-}
-
-
-th.largeheader {
- border-width: 1px 0px 1px 0px;
- padding: 4px;
- border-style: solid;
- border-color: #444;
- color:white;
- background-color:#555555;
- font-size: 120%;
-}
-
-p {
-
- margin-left: 4px;
- margin-top: 8px;
- margin-bottom: 8px;
-}
-
-a:link
-{
- color: #0046ad;
- text-decoration: none
-}
-
-a:visited
-{
- color: #672967;
- text-decoration: none
-}
-
-a.obsolete
-{
- color: #661100;
- text-decoration: none
-}
-
-a.compat
-{
- color: #661100;
- text-decoration: none
-}
-
-a.obsolete:visited
-{
- color: #995500;
- text-decoration: none
-}
-
-a.compat:visited
-{
- color: #995500;
- text-decoration: none
-}
-
-body
-{
- background: #ffffff;
- color: black
-}
-
-table.generic, table.annotated
-{
- border-width: 1px;
- border-color:#bbb;
- border-style:solid;
- border-collapse:collapse;
-}
-
-table td.memItemLeft {
- width: 180px;
- padding: 2px 0px 0px 8px;
- margin: 4px;
- border-width: 1px;
- border-color: #E0E0E0;
- border-style: none;
- font-size: 100%;
- white-space: nowrap
-}
-
-table td.memItemRight {
- padding: 2px 8px 0px 8px;
- margin: 4px;
- border-width: 1px;
- border-color: #E0E0E0;
- border-style: none;
- font-size: 100%;
-}
-
-table tr.odd {
- background: #f0f0f0;
- color: black;
-}
-
-table tr.even {
- background: #e4e4e4;
- color: black;
-}
-
-table.annotated th {
- padding: 3px;
- text-align: left
-}
-
-table.annotated td {
- padding: 3px;
-}
-
-table tr pre
-{
- padding-top: 0px;
- padding-bottom: 0px;
- padding-left: 0px;
- padding-right: 0px;
- border: none;
- background: none
-}
-
-tr.qt-style
-{
- background: #96E066;
- color: black
-}
-
-body pre
-{
- padding: 0.2em;
- border: #e7e7e7 1px solid;
- background: #f1f1f1;
- color: black
-}
-
-table tr.qt-code pre
-{
- padding: 0.2em;
- border: #e7e7e7 1px solid;
- background: #f1f1f1;
- color: black
-}
-
-span.preprocessor, span.preprocessor a
-{
- color: darkblue;
-}
-
-span.comment
-{
- color: darkred;
- font-style: italic
-}
-
-span.string,span.char
-{
- color: darkgreen;
-}
-
-.title
-{
- text-align: center
-}
-
-.subtitle
-{
- font-size: 0.8em
-}
-
-.small-subtitle
-{
- font-size: 0.65em
-}
-
-.qmlitem {
- padding: 0;
-}
-
-.qmlname {
- white-space: nowrap;
-}
-
-.qmltype {
- text-align: center;
- font-size: 160%;
-}
-
-.qmlproto {
- background-color: #eee;
- border-width: 1px;
- border-style: solid;
- border-color: #ddd;
- font-weight: bold;
- padding: 6px 10px 6px 10px;
- margin: 42px 0px 0px 0px;
-}
-
-.qmlreadonly {
- float: right;
- color: red
-}
-
-.qmldoc {
-}
-
-*.qmlitem p {
-}
diff --git a/doc/src/declarative_scenegraphs.qdoc b/doc/src/declarative_scenegraphs.qdoc
deleted file mode 100644
index 5acc21d3..00000000
--- a/doc/src/declarative_scenegraphs.qdoc
+++ /dev/null
@@ -1,330 +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$
-**
-****************************************************************************/
-
-/*!
- \ingroup qt3d
- \ingroup qt3d::scene
- \since 4.8
- \title Declarative Scenegraph Creation
- \page qt3d-declarative-scenegraph.html
- \keyword Declarative Scenegraph Scene QML Quick
- \brief Basics of scene construction in Qt Quick 3D (QML)
-
- Qt3D implements a scene-graph to make rendering more efficient in terms of
- both computation and space requirements. Loosely defined, a scene-graph is
- a tree-like structure which is used to represent a graphical scene logically.
-
- The variant of a scene-graph at the core of Qt3D's rendering is based on the
- QGLSceneNode class and breaks the contents of the scene down into nodes.
-
- \section1 Scene Nodes
-
- Nodes can represent several logical constructs used in rendering. A single
- node may include one or more of the following:
-
- \section2 Geometry
-
- Geometry describes the physical structure of an object in 3D space. It does
- this in terms of "vertices" which are joined together to form a triangle mesh.
-
- While many simple 3D objects can be represented by a single scene-node, complex
- objects such as those found in third party asset interchange formats (.obj,
- .3ds, etc) are comprised of multiple geometries stored across a multitude of
- scene-nodes. This allows for sub-sections of geometry to be animated, rendered
- with different materials and effects, and deconstructed as necessary.
-
- \section2 Materials/Effects
-
- Materials and effects describe how the surfaces of the geometry are rendered
- when the scene is drawn. They may describe simple parameters used to describe
- the object, such as color, texture images, alpha-blending, and other options.
-
- Alternatively the material may be described by a specific set of shader
- programmes in the GL shader-language which perform a custom implementation of
- rendering.
-
- Scene nodes can represent one or more materials which are then referenced when
- drawing the geometry of this nodes, or its child nodes.
-
- \section2 Transformations
-
- Transformations in the scene-graph describe rotations around the x,y, or z axes,
- as well as scaling, translation, or other custom transformations in 3D space.
-
- A transformation node contains one or more transformations which are automatically
- applied to the current node, as well as all of its child nodes.
-
- \section2 Additional Parameters
-
- Nodes can also contain additional parameters describing debug information, and
- other miscellaneous functions such as whether the node should be rendered, whether
- blending is enabled, and so on.
-
- Nodes can also represent picking information which is used for selecting 3D items
- with the mouse.
-
- \section1 Scene Graphs in C++
-
- When writing a C++ application the user can create one or more QGLSceneNode based
- scene-graphs which can then be rendered each frame by calling the QGLSceneNode::draw()
- function.
-
- Scene graphs can be constructed manually by the user one node at a time, or by using
- the QGLBuilder to assemble geometries. The Qt3D model loader plug-ins also
- create individual scene-graphs which can then be used separately, or inserted into
- an existing scene-graph.
-
- Model-loader scene-graphs represent all of the geometries, transformations, materials,
- and other elements, which are described in the model interchange file. These nodes can
- be manipulated at the code-level at any time to modify or adjust the model as needed.
-
- When the scenegraph is created, Qt3D optimises the drawing order of the scenegraph
- somewhat so that all materials of the same type are drawn first, and so on. These
- optimisations reduce the amount of context switching required by OpenGL when drawing,
- and can substantially improve performance in complicated scenes.
-
- \section1 Scene Graphs in Qt Quick 3D for Qt 4.x
-
- While C++ allows users to manually construct and manipulate scene-graphs, Qt3D's
- extension into QtQuick does not currently allow the same degree of flexibility.
-
- Qt3D for Qt4.x generally used a single small scene-graph for each Item3D. These would
- only used shared geometry information if multiple Item3D instances referenced a single
- Mesh instance. While sufficient for simple 3D use cases, this method is inherently
- inefficient for drawing large/complex scenes. Without a single scenegraph we cannot
- optimise the entire 3D scene.
-
- Likewise in this implementation we have only a very limited ability to manipulate the
- content of a model file/meh instance. In Qt4.x users are able to specify that an
- Item3D contains a specific sub-node of a mesh's scenegraph. This removes the instance
- from the tree in the graph which owns it, thereby changing the structure of the
- originating model.
-
- This limits our ability to implement specific use-cases.
-
- These problems are addressed in Qt5.
-
- \section1 Scene Graphs in Qt Quick 3D for Qt 5
-
- In Qt5 the Quick 3D implementation of Qt3D substantially improves this situation. Instead
- of creating individual scene-graphs for each Mesh/Item3D, the user now creates a single
- holistic scenegraph for each viewport. Addition of Item3D elements to a scene creates a
- hierarchy of scene-graph branches which are then optimised and drawn in a single call for
- the viewport.
-
- Components of a mesh can now be accessed with specific QDeclarativeMesh functions which are
- exposed to QML.
-
- The sections below describe the various scenarios in which a user may wish to use sub-components
- of a model's scenegraph.
-
-
- \section2 Scenario 1: Simple Single-Model Rendering
-
- This displays the model "as is" with no changes or alterations.
-
- \code
- Mesh {
- id: model
- source: "bike.3ds"
- }
-
- Item3D {
- mesh: model
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_1.png
-
- \section2 Scenario 2: Use a Sub-tree of the Model
-
- This displays a sub-section of the model - in this case the wheel.
-
- \code
- Mesh {
- id: model
- source: "bike.3ds"
- }
-
- Item3D {
- //Get just the subtree starting at wheel1
- mesh: Mesh {scene: model.get(bike.body.wheel1)}
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_2.png
-
- \section2 Scenario 3: Use an Intermediate Set of Model Nodes
-
- This displays an intermediate (sub)section of the graph but excludes specific nodes/
- subtrees.
-
- \code
- Mesh {
- id: model
- source: "bike.3ds"
-
- }
-
- Item3D {
- //get the model but exclude the sub-branch beginning at wheel1.
- mesh: Mesh {model: model.except(bike.body.wheel1)}
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_3.png
-
- \section2 Scenario 4: Transform the Model, and a Sub-tree of the Model, Independently
-
- This displays the original model in one Item3D and a sub-tree of the model in another.
- The second item applies a transform to the item, which leaves the original model unchanged.
-
-
- \code
- Mesh {
- id: model
- source: "bike.3ds"
- }
-
- Item3D {
- mesh: model
- }
-
- Item3D {
- mesh: Mesh{scene: model.get(bike.body.wheel1)}
- x: -5
- z: 5
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_4.png
-
- \section2 Scenario 5: Use a Model, and a set materials on a Sub-tree of the Model, Independently
-
- This displays the original model in one Item3D and a sub-tree of the model in another.
- The second item applies an effect to the item, which leaves the original model unchanged.
-
-
- \code
- Mesh {
- id: model
- source: "bike.3ds"
- }
-
- Item3D {
- mesh: model
- }
-
- Item3D {
- mesh: Mesh{scene: model.get(bike.body.wheel1)}
- effect: Effect {color: #00FF00}
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_5.png
-
- \section2 Scenario 6: Set Model materials, and use a Sub-tree of the Model, Independently
-
- This displays an intermediate (sub)section of the graph to which an effect has been
- applied but excludes specific nodes subtrees. In a second Item3D it displays a sub-node/
- tree which is not affected by the effect on the first item.
-
- \code
- Mesh {
- id: model
- source: "car.3ds"
- }
-
- Item3D {
- mesh: Mesh{scene: model.except(bike.body.wheel1)}
- effect: Effect {color: #FF0000}
- }
-
- Item3D {
- mesh: model.get(bike.body.wheel1)
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_7.png
-
- \section2 Scenario 7: Display Model Section, and Transform a Sub-tree of the Model, Independently
-
- This displays an intermediate (sub)section of the graph but excludes specific nodes/
- subtrees. In a second Item3D it displays a transformed sub-node/tree which does not affect the
- first item.
-
- \code
- Mesh {
- id: model
- source: "car.3ds"
- }
-
- Item3D {
- mesh: Mesh{scene: model.except(bike.body.wheel1)}
- }
-
- Item3D {
- mesh: Mesh{scene: model.get(bike.body.wheel1)}
- y: -2
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_7.png
-
- \section2 Scenario 8: Use Unconnected Sub-nodes of a Tree
-
- This displays disparate subtrees of the model as a single item.
-
- \code
- Mesh {
- id: model
- source: "car.3ds"
- }
-
- Item3D {
- mesh: Mesh{scene: model.get([car.body.wheel1, car.body.wheel2])}
- }
- \endcode
-
- The output for this, as well as the scenegraphs it produces, can be seen below:
-
- \image scenegraph_scenario_8.png
-*/
diff --git a/doc/src/demos/monkeygod.qdoc b/doc/src/demos/monkeygod.qdoc
deleted file mode 100644
index 86973fcb..00000000
--- a/doc/src/demos/monkeygod.qdoc
+++ /dev/null
@@ -1,38 +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$
-**
-****************************************************************************/
-
-/*!
- \example quick3d/monkeygod
- \title Monkey God in QML
-
- The Monkey God demo in QML shows how QML/3D can be used to build
- up complex 3D scenes including materials and animations.
-
- \image monkeygod-screenshot.png
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/demos/pageflip.qdoc b/doc/src/demos/pageflip.qdoc
deleted file mode 100644
index 486ab2f0..00000000
--- a/doc/src/demos/pageflip.qdoc
+++ /dev/null
@@ -1,39 +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$
-**
-****************************************************************************/
-
-/*!
- \example qt3d/pageflip
- \title Page Flip Demo
-
- The Page Flip demo shows how Qt3D can be used to animate
- flipping pages in a book. A shader program is used to combine a
- gradient texture with the page textures to create a curl effect.
-
- \image pageflip-screenshot.png
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/demos/shapes.qdoc b/doc/src/demos/shapes.qdoc
deleted file mode 100644
index 3bba9d93..00000000
--- a/doc/src/demos/shapes.qdoc
+++ /dev/null
@@ -1,38 +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$
-**
-****************************************************************************/
-
-/*!
- \example qt3d/shapes
- \title Shapes Demo
-
- The Shapes demo shows many of the basic shapes that can be
- drawn using Qt3D.
-
- \image shapes-screenshot.png
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/demos/teaservice-qml.qdoc b/doc/src/demos/teaservice-qml.qdoc
deleted file mode 100644
index 77cdf064..00000000
--- a/doc/src/demos/teaservice-qml.qdoc
+++ /dev/null
@@ -1,44 +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$
-**
-****************************************************************************/
-
-/*!
- \example quick3d/tea_service
- \title Tea Service Demo in QML
-
- The Tea Service demo in QML shows how QML/3D can be used to draw a complex
- scene made up of several objects. It also demonstrates object picking,
- animations, states and transitions.
-
- \image teaservice-qml-screenshot.png
-
- There is also a \l{Tea Service Demo}{C++ version} of this demo,
- which is not as visually interesting as the QML/3D version.
- It is much easier to implement interaction models and
- animations in QML than in C++.
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/demos/teaservice.qdoc b/doc/src/demos/teaservice.qdoc
deleted file mode 100644
index 2a067227..00000000
--- a/doc/src/demos/teaservice.qdoc
+++ /dev/null
@@ -1,43 +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$
-**
-****************************************************************************/
-
-/*!
- \example qt3d/teaservice
- \title Tea Service Demo
-
- The Tea Service demo shows how Qt3D can be used to draw a complex
- scene made up of several objects. It also demonstrates object picking.
-
- \image teaservice-screenshot.png
-
- There is also a \l{Tea Service Demo in QML}{QML version} of the
- Tea Service demo which has more advanced object picking, animations,
- states, and transitions. It is much easier to add complex
- interaction models and animations in QML than in C++.
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/examples/basket.qdoc b/doc/src/examples/basket.qdoc
deleted file mode 100644
index 92a429a3..00000000
--- a/doc/src/examples/basket.qdoc
+++ /dev/null
@@ -1,80 +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$
-**
-****************************************************************************/
-
-/*!
- \example quick3d/basket
- \title Basket Example
-
- \section2 Basket in QtQuick3D
-
- The QtQuick3D version of the basket example is very similar in
- structure to the C++ version above, but much simpler.
- We start by defining a viewport with a specific camera position:
-
- \snippet quick3d/basket/qml/basket.qml 1
-
- We then add an \l Item3D object to load the basket model and
- apply the desired texture to it:
-
- \snippet quick3d/basket/qml/basket.qml 2
-
- And then we apply an animation to the rotation component of
- the item's transform property:
-
- \snippet quick3d/basket/qml/basket.qml 3
-
- \section2 Basket in Qt3D
-
- The Basket example shows how Qt3D can be used to draw an animated
- object covered in a texture. The basic application shell is similar
- to the \l{qt3d/teapot}{Hello Teapot} example. In this case, we create
- the basket object and add a texture to it as follows:
-
- \snippet qt3d/basket/basketview.cpp 1
-
- For this animation, we want to spin the basket around its Y axis,
- once every 2 seconds. We first declare an \c angle property in the
- class declaration (calling \c{update()} will force the view to
- redraw whenever the angle changes):
-
- \snippet qt3d/basket/basketview.h 1
-
- Then we create a QPropertyAnimation object that will update
- \c angle every time through the event loop with a new value
- between 0 and 360 degrees:
-
- \snippet qt3d/basket/basketview.cpp 2
-
- Now all we have to do is draw the basket using the \c angle
- property every time \c{paintGL()} is called:
-
- \snippet qt3d/basket/basketview.cpp 3
-
- \image basket-screenshot.png
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/examples/nesting.qdoc b/doc/src/examples/nesting.qdoc
deleted file mode 100644
index b4438bb8..00000000
--- a/doc/src/examples/nesting.qdoc
+++ /dev/null
@@ -1,134 +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$
-**
-****************************************************************************/
-
-/*!
- \example qt3d/nesting
- \title Drawing into framebuffer objects
-
- The Nesting example shows how Qt3D can be used to draw into a
- framebuffer object and then use the associated texture in
- subsequent drawing operations. It is assumed that the reader
- is already familar with the following examples:
-
- \list
- \o \l{Teapot Example}{Hello Teapot} - drawing a basic object in 3D.
- \o \l{Object Effects}{Cube} - applying transformations and materials to objects.
- \endlist
-
- In this example we are going to draw two rotating and transparent
- cubes. One cube will display a simple texture as in the
- \l{Object Effects}{Cube} example,
- and the other cube will display a nested scene containing a
- rotating teapot.
-
- \image nesting-screenshot.png
-
- As with the other examples, we start by creating the geometric objects
- we need in the constructor (we will share the cube geometry between
- the two cubes we will be drawing):
-
- \snippet qt3d/nesting/cubeview.cpp 1
-
- We also need three QPropertyAnimation objects to drive our
- animations; rotation angle for the teapot, rotation angle for
- the cube; orbit angle of the two cubes around each other:
-
- \snippet qt3d/nesting/cubeview.cpp 2
-
- The final step in the constructor is to create a camera for
- the nested scene we will be drawing into the framebuffer object.
- This is in addition to the default QGLView::camera() object that
- provides the camera for the main scene.
-
- \snippet qt3d/nesting/cubeview.cpp 3
-
- To draw the nested scene, we of course need a framebuffer object,
- which we create in the \c{initializeGL()} method:
-
- \snippet qt3d/nesting/cubeview.cpp 4
-
- Note that we also set the framebuffer object on an instance of
- QGLFramebufferObjectSurface. We will use this fact later when
- we render the nested scene.
-
- For the other cube, we need a regular texture. And we'll also
- turn on blending to make our cubes transparent:
-
- \snippet qt3d/nesting/cubeview.cpp 5
-
- Now it is time to paint the scene in \c{paintGL()}. The first
- thing we want to do is draw the teapot into the framebuffer object.
- To do that, we need to establish a nested drawing state:
-
- \snippet qt3d/nesting/cubeview.cpp 6
-
- In the code above, we first push the main scene's modelview and
- projection matrices. And then we push a new drawing surface onto
- the painter's surface stack. Everything we draw from now on will
- be written to \c{fboSurface} and thus the framebuffer object.
- To do that, we set the inner camera position, adjust the painter
- state, clear the framebuffer object, and draw the teapot:
-
- \snippet qt3d/nesting/cubeview.cpp 7
-
- Now that the nested scene has been drawn to the framebuffer object,
- we pop the surface and matrix stacks to return to the main scene:
-
- \snippet qt3d/nesting/cubeview.cpp 8
-
- Because our cubes are transparent, we need to make sure we draw
- the objects in the scene from back to front. Otherwise the result
- will not look correct. To do this, we check which of the cube
- mid-points is furtherest away from the camera and draw that cube first
- (the more negative the z value, the further away it is):
-
- \snippet qt3d/nesting/cubeview.cpp 9
-
- Drawing the first cube with the simple texture is very similar to
- the \l{Object Effects}{Cube} example:
-
- \snippet qt3d/nesting/cubeview.cpp 10
-
- The main interesting wrinkle is that we draw the cube twice,
- once with front faces culled, and the second time with back
- faces culled. This effectively causes the cube to be drawn
- back to front for proper blending.
-
- The second cube is drawn in a similar way except that we bind
- the framebuffer object's texture to the state instead of a static
- texture:
-
- \snippet qt3d/nesting/cubeview.cpp 11
-
- Face culling is a simple way to draw transparent objects, but it
- really only works on non-intersecting convex objects like our cubes.
- For concave objects (like the teapot) or objects that intersect,
- we would need to break the objects up into smaller convex pieces
- and then order the pieces from back to front.
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/examples/teapot-qml.qdoc b/doc/src/examples/teapot-qml.qdoc
deleted file mode 100644
index 5374edb7..00000000
--- a/doc/src/examples/teapot-qml.qdoc
+++ /dev/null
@@ -1,73 +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$
-**
-****************************************************************************/
-
-/*!
- \example quick3d/teapot_qml
- \title Teapot Example in QtQuick3D
-
- This example shows to use QtQuick3D to display a teapot on
- the screen. The QML is fairly simple:
-
- \snippet quick3d/teapot_qml/qml/teapot.qml 1
-
- \image teapot-qml-screenshot.png
-
- The example starts by importing the Qt and Qt3D QML modules:
-
- \snippet quick3d/teapot_qml/qml/teapot.qml 2
-
- Then we create a viewport of size 640x480 to display the teapot:
-
- \snippet quick3d/teapot_qml/qml/teapot.qml 3
-
- And now we create a \l Item3D to display the teapot with a
- default lit material effect:
-
- \snippet quick3d/teapot_qml/qml/teapot.qml 4
-
- The teapot data itself is loaded from \c{teapot.bez}, which contains
- Bezier patch data that describes the geometry of the teapot.
-
- Let's make the teapot a little more interesting by adding a
- material to simulate bone china:
-
- \snippet quick3d/teapot_bounce_qml/qml/teapot-bounce.qml 1
- \snippet quick3d/teapot_bounce_qml/qml/teapot-bounce.qml 2
-
- \image teapot-china-screenshot.png
-
- To make the teapot even more interesting, we can cause it to
- bounce up and down using a QML animation item:
-
- \snippet quick3d/teapot_bounce_qml/qml/teapot-bounce.qml 3
-
- This QML teapot example can be compared with the \l{qt3d/teapot}{C++ version}.
- Using QML is briefer than C++, and easier to modify to adjust
- materials and add new features like animations.
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/examples/teapot.qdoc b/doc/src/examples/teapot.qdoc
deleted file mode 100644
index d85fca48..00000000
--- a/doc/src/examples/teapot.qdoc
+++ /dev/null
@@ -1,101 +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$
-**
-****************************************************************************/
-
-/*!
- \example qt3d/teapot
- \title Teapot Example
-
- The Teapot example shows how Qt3D can be used to draw a simple
- teapot object with a perspective camera view in C++. There is
- also a \l{Teapot Example in QtQuick3D}{QtQuick3D version} of the teapot
- example.
-
- We start by defining a class that inherits from QGLView, which
- provides some basic scene setup logic and 3D camera navigation:
-
- \snippet qt3d/teapot/teapotview.h class-defn
- \dots
- \quotefromfile qt3d/teapot/main.cpp
- \skipuntil [main]
- \printto [main-args]
- \skipuntil [main-args-end]
- \printto [main]
-
- When the application starts up, we set up some scene parameters
- in the \c{initializeGL()} function:
-
- \quotefromfile qt3d/teapot/teapotview.cpp
- \skipuntil [initialize]
- \printto [build-geometry]
-
- The first line of the function selects a standard rendering
- effect that lights material colors with the default OpenGL
- two-sided lighting algorithm and the default light.
-
- The \c{teapot} member variable is an instance of QGLSceneNode,
- which we create using QGLBuilder during \c{initializeGL()}:
-
- \quotefromfile qt3d/teapot/teapotview.cpp
- \skipuntil [build-geometry]
- \printto [initialize]
-
- The QGLTeapot class represents the geometry for the teapot,
- which is added to the builder with the \c{<<} operator.
-
- We then call QGLBuilder::finalizedSceneNode() to finalize the
- object, prepare it to be uploaded to the GL server as a
- vertex buffer, and hand over ownership of the scene node.
-
- We have to take care to clean up our scene after we're done with it
- and here that is done in the destructor:
-
- \snippet qt3d/teapot/teapotview.cpp destructor
-
- Finally, we paint the teapot every time the window is refreshed:
-
- \snippet qt3d/teapot/teapotview.cpp paint
-
- The QGLView class has in-built support for camera navigation
- using the mouse and keyboard. By clicking and dragging the mouse,
- the teapot can be rotated into any position. The image on the
- left shows the view in its startup default position, and the
- image on the right shows the view after rotation using the mouse:
-
- \raw HTML
- <center><table><tr><td>
- \endraw
- \image teapot-screenshot.png
- \raw HTML
- </td><td>
- \endraw
- \image teapot-rotated.png
- \raw HTML
- </td></tr></table></center>
- \endraw
-
- \l{qt3d-examples.html}{Return to Examples}.
-*/
diff --git a/doc/src/images/REAME-ODF b/doc/src/images/REAME-ODF
deleted file mode 100644
index 6d1a820b..00000000
--- a/doc/src/images/REAME-ODF
+++ /dev/null
@@ -1,5 +0,0 @@
-The *.odf files here are OpenOffice formula files.
-
-To edit the formulas shown here as png's, open the corresponding odf file
-with OpenOffices formula editor, edit, save, then export as PDF. The
-PDF can be opened with gimp to create a PNG.
diff --git a/doc/src/images/affine-transform.odf b/doc/src/images/affine-transform.odf
deleted file mode 100644
index 4ead5cca..00000000
--- a/doc/src/images/affine-transform.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/affine-transform.png b/doc/src/images/affine-transform.png
deleted file mode 100644
index c520623f..00000000
--- a/doc/src/images/affine-transform.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/attenuation.odf b/doc/src/images/attenuation.odf
deleted file mode 100644
index a3c35333..00000000
--- a/doc/src/images/attenuation.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/attenuation.png b/doc/src/images/attenuation.png
deleted file mode 100644
index fa64ebed..00000000
--- a/doc/src/images/attenuation.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/basket-screenshot.png b/doc/src/images/basket-screenshot.png
deleted file mode 100644
index 21d72a28..00000000
--- a/doc/src/images/basket-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-1.png b/doc/src/images/build-qt3d-qtcreator-1.png
deleted file mode 100644
index 1e044c5b..00000000
--- a/doc/src/images/build-qt3d-qtcreator-1.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-2.png b/doc/src/images/build-qt3d-qtcreator-2.png
deleted file mode 100644
index 962e1387..00000000
--- a/doc/src/images/build-qt3d-qtcreator-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-3.png b/doc/src/images/build-qt3d-qtcreator-3.png
deleted file mode 100644
index 02b077c0..00000000
--- a/doc/src/images/build-qt3d-qtcreator-3.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-4.png b/doc/src/images/build-qt3d-qtcreator-4.png
deleted file mode 100644
index 171f9837..00000000
--- a/doc/src/images/build-qt3d-qtcreator-4.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-5.png b/doc/src/images/build-qt3d-qtcreator-5.png
deleted file mode 100644
index 89956c83..00000000
--- a/doc/src/images/build-qt3d-qtcreator-5.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-6.png b/doc/src/images/build-qt3d-qtcreator-6.png
deleted file mode 100644
index 23eca778..00000000
--- a/doc/src/images/build-qt3d-qtcreator-6.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-7.png b/doc/src/images/build-qt3d-qtcreator-7.png
deleted file mode 100644
index aa88c4de..00000000
--- a/doc/src/images/build-qt3d-qtcreator-7.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-8.png b/doc/src/images/build-qt3d-qtcreator-8.png
deleted file mode 100644
index c6e6db9f..00000000
--- a/doc/src/images/build-qt3d-qtcreator-8.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-9.png b/doc/src/images/build-qt3d-qtcreator-9.png
deleted file mode 100644
index 8fce56eb..00000000
--- a/doc/src/images/build-qt3d-qtcreator-9.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/build-qt3d-qtcreator-set-to-release.png b/doc/src/images/build-qt3d-qtcreator-set-to-release.png
deleted file mode 100644
index 882a80d8..00000000
--- a/doc/src/images/build-qt3d-qtcreator-set-to-release.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cube-screenshot.png b/doc/src/images/cube-screenshot.png
deleted file mode 100644
index 56464675..00000000
--- a/doc/src/images/cube-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/cylinder-texture-coords.png b/doc/src/images/cylinder-texture-coords.png
deleted file mode 100644
index 8ad69b43..00000000
--- a/doc/src/images/cylinder-texture-coords.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/faceted-q.png b/doc/src/images/faceted-q.png
deleted file mode 100644
index a809976b..00000000
--- a/doc/src/images/faceted-q.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/forest-screenshot.png b/doc/src/images/forest-screenshot.png
deleted file mode 100644
index 9984d0be..00000000
--- a/doc/src/images/forest-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/forest-screenshot2.png b/doc/src/images/forest-screenshot2.png
deleted file mode 100644
index 3de77cfa..00000000
--- a/doc/src/images/forest-screenshot2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/forest-screenshot3.png b/doc/src/images/forest-screenshot3.png
deleted file mode 100644
index 5589e2ad..00000000
--- a/doc/src/images/forest-screenshot3.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/gradient.png b/doc/src/images/gradient.png
deleted file mode 100644
index 2ef36edd..00000000
--- a/doc/src/images/gradient.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/imports-dir.png b/doc/src/images/imports-dir.png
deleted file mode 100644
index 69528e1a..00000000
--- a/doc/src/images/imports-dir.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/line-int-1.png b/doc/src/images/line-int-1.png
deleted file mode 100644
index 74e9be24..00000000
--- a/doc/src/images/line-int-1.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/line-int-2.png b/doc/src/images/line-int-2.png
deleted file mode 100644
index 9ca44374..00000000
--- a/doc/src/images/line-int-2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/line-intersection.odf b/doc/src/images/line-intersection.odf
deleted file mode 100644
index 4e0fe2d4..00000000
--- a/doc/src/images/line-intersection.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/line-intersection.pdf b/doc/src/images/line-intersection.pdf
deleted file mode 100644
index cf9ef0b4..00000000
--- a/doc/src/images/line-intersection.pdf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/line-intersection2.odf b/doc/src/images/line-intersection2.odf
deleted file mode 100644
index 4e959aff..00000000
--- a/doc/src/images/line-intersection2.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/line-intersection2.pdf b/doc/src/images/line-intersection2.pdf
deleted file mode 100644
index bd624790..00000000
--- a/doc/src/images/line-intersection2.pdf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/monkeygod-screenshot.png b/doc/src/images/monkeygod-screenshot.png
deleted file mode 100644
index de8a73d0..00000000
--- a/doc/src/images/monkeygod-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/moon-screenshot.png b/doc/src/images/moon-screenshot.png
deleted file mode 100644
index cafeffff..00000000
--- a/doc/src/images/moon-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/mouse3dtest-screenshot.png b/doc/src/images/mouse3dtest-screenshot.png
deleted file mode 100644
index 518a915e..00000000
--- a/doc/src/images/mouse3dtest-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/nesting-screenshot.png b/doc/src/images/nesting-screenshot.png
deleted file mode 100644
index 9e60ddf1..00000000
--- a/doc/src/images/nesting-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/normalized.odf b/doc/src/images/normalized.odf
deleted file mode 100644
index d75e7044..00000000
--- a/doc/src/images/normalized.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/pageflip-screenshot.png b/doc/src/images/pageflip-screenshot.png
deleted file mode 100644
index 2a081a21..00000000
--- a/doc/src/images/pageflip-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/painter-screenshot.png b/doc/src/images/painter-screenshot.png
deleted file mode 100644
index e11a5a34..00000000
--- a/doc/src/images/painter-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/penguin-0-screenshot.png b/doc/src/images/penguin-0-screenshot.png
deleted file mode 100644
index d65d590f..00000000
--- a/doc/src/images/penguin-0-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/penguin-screenshot.png b/doc/src/images/penguin-screenshot.png
deleted file mode 100644
index eb334980..00000000
--- a/doc/src/images/penguin-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/pvcolor.png b/doc/src/images/pvcolor.png
deleted file mode 100644
index 380a19a3..00000000
--- a/doc/src/images/pvcolor.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/pyramid-screenshot.png b/doc/src/images/pyramid-screenshot.png
deleted file mode 100644
index 6a585a6c..00000000
--- a/doc/src/images/pyramid-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qray3d-project.png b/doc/src/images/qray3d-project.png
deleted file mode 100644
index 1288f204..00000000
--- a/doc/src/images/qray3d-project.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qt-creator-config-3ds.png b/doc/src/images/qt-creator-config-3ds.png
deleted file mode 100644
index 87ac89fd..00000000
--- a/doc/src/images/qt-creator-config-3ds.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qt-creator-lib-path.png b/doc/src/images/qt-creator-lib-path.png
deleted file mode 100644
index 5f988437..00000000
--- a/doc/src/images/qt-creator-lib-path.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qt-creator-plugins.png b/doc/src/images/qt-creator-plugins.png
deleted file mode 100644
index 8b469ab0..00000000
--- a/doc/src/images/qt-creator-plugins.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qt-creator-shadow-build.png b/doc/src/images/qt-creator-shadow-build.png
deleted file mode 100644
index 9b231d5f..00000000
--- a/doc/src/images/qt-creator-shadow-build.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qt-logo.png b/doc/src/images/qt-logo.png
deleted file mode 100644
index 14ddf2a0..00000000
--- a/doc/src/images/qt-logo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/qt3d-logo.png b/doc/src/images/qt3d-logo.png
deleted file mode 100644
index 1196826b..00000000
--- a/doc/src/images/qt3d-logo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/quad-extrude.png b/doc/src/images/quad-extrude.png
deleted file mode 100644
index c4b6ee44..00000000
--- a/doc/src/images/quad-extrude.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/quad-extrude.xcf b/doc/src/images/quad-extrude.xcf
deleted file mode 100644
index 0d1650ac..00000000
--- a/doc/src/images/quad-extrude.xcf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/quads.png b/doc/src/images/quads.png
deleted file mode 100644
index 28a03099..00000000
--- a/doc/src/images/quads.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario1.png b/doc/src/images/scenegraph_scenario1.png
deleted file mode 100644
index c1d3b1a3..00000000
--- a/doc/src/images/scenegraph_scenario1.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario2.png b/doc/src/images/scenegraph_scenario2.png
deleted file mode 100644
index 66216f6f..00000000
--- a/doc/src/images/scenegraph_scenario2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario3.png b/doc/src/images/scenegraph_scenario3.png
deleted file mode 100644
index fe2cdc75..00000000
--- a/doc/src/images/scenegraph_scenario3.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario4.png b/doc/src/images/scenegraph_scenario4.png
deleted file mode 100644
index 81189ac0..00000000
--- a/doc/src/images/scenegraph_scenario4.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario5.png b/doc/src/images/scenegraph_scenario5.png
deleted file mode 100644
index 2803a4ad..00000000
--- a/doc/src/images/scenegraph_scenario5.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario6.png b/doc/src/images/scenegraph_scenario6.png
deleted file mode 100644
index 070eecd1..00000000
--- a/doc/src/images/scenegraph_scenario6.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario7.png b/doc/src/images/scenegraph_scenario7.png
deleted file mode 100644
index 3353d3d1..00000000
--- a/doc/src/images/scenegraph_scenario7.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/scenegraph_scenario8.png b/doc/src/images/scenegraph_scenario8.png
deleted file mode 100644
index 6d3c99fc..00000000
--- a/doc/src/images/scenegraph_scenario8.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/shapes-screenshot.png b/doc/src/images/shapes-screenshot.png
deleted file mode 100644
index ad0a0f43..00000000
--- a/doc/src/images/shapes-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/soup.png b/doc/src/images/soup.png
deleted file mode 100644
index c84c0729..00000000
--- a/doc/src/images/soup.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/sphere-detail.png b/doc/src/images/sphere-detail.png
deleted file mode 100644
index 90e40fb4..00000000
--- a/doc/src/images/sphere-detail.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/spiky-teapot.png b/doc/src/images/spiky-teapot.png
deleted file mode 100644
index 2871d83e..00000000
--- a/doc/src/images/spiky-teapot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/stereo-nhd-screenshot.png b/doc/src/images/stereo-nhd-screenshot.png
deleted file mode 100644
index 74df719e..00000000
--- a/doc/src/images/stereo-nhd-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/stereo-screenshot-qml.png b/doc/src/images/stereo-screenshot-qml.png
deleted file mode 100644
index d7e8f7a3..00000000
--- a/doc/src/images/stereo-screenshot-qml.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/stereo-screenshot-qml2.png b/doc/src/images/stereo-screenshot-qml2.png
deleted file mode 100644
index d91f959f..00000000
--- a/doc/src/images/stereo-screenshot-qml2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/stereo-screenshot.png b/doc/src/images/stereo-screenshot.png
deleted file mode 100644
index 020fcb68..00000000
--- a/doc/src/images/stereo-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/stereo-wide-screenshot.png b/doc/src/images/stereo-wide-screenshot.png
deleted file mode 100644
index f9e165a6..00000000
--- a/doc/src/images/stereo-wide-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-china-screenshot.png b/doc/src/images/teapot-china-screenshot.png
deleted file mode 100644
index d38602fc..00000000
--- a/doc/src/images/teapot-china-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-distortion.png b/doc/src/images/teapot-distortion.png
deleted file mode 100644
index 76b4a3db..00000000
--- a/doc/src/images/teapot-distortion.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-distortion2.png b/doc/src/images/teapot-distortion2.png
deleted file mode 100644
index 573503bd..00000000
--- a/doc/src/images/teapot-distortion2.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-logo.png b/doc/src/images/teapot-logo.png
deleted file mode 100644
index a82c33c1..00000000
--- a/doc/src/images/teapot-logo.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-qml-screenshot.png b/doc/src/images/teapot-qml-screenshot.png
deleted file mode 100644
index cb9dea91..00000000
--- a/doc/src/images/teapot-qml-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-qt-screenshot.png b/doc/src/images/teapot-qt-screenshot.png
deleted file mode 100644
index 2a5c2ead..00000000
--- a/doc/src/images/teapot-qt-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-rotated.png b/doc/src/images/teapot-rotated.png
deleted file mode 100644
index f66a93ef..00000000
--- a/doc/src/images/teapot-rotated.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teapot-screenshot.png b/doc/src/images/teapot-screenshot.png
deleted file mode 100644
index 07922e9e..00000000
--- a/doc/src/images/teapot-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teaservice-qml-screenshot.png b/doc/src/images/teaservice-qml-screenshot.png
deleted file mode 100644
index ee2b935a..00000000
--- a/doc/src/images/teaservice-qml-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/teaservice-screenshot.png b/doc/src/images/teaservice-screenshot.png
deleted file mode 100644
index 35e6fc8e..00000000
--- a/doc/src/images/teaservice-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/texture-coords-gen.png b/doc/src/images/texture-coords-gen.png
deleted file mode 100644
index 5f155b1a..00000000
--- a/doc/src/images/texture-coords-gen.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/texture-coords-gen.xcf b/doc/src/images/texture-coords-gen.xcf
deleted file mode 100644
index b6540bb4..00000000
--- a/doc/src/images/texture-coords-gen.xcf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/texture-seam.png b/doc/src/images/texture-seam.png
deleted file mode 100644
index 2cd97233..00000000
--- a/doc/src/images/texture-seam.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/triangle3d-center.png b/doc/src/images/triangle3d-center.png
deleted file mode 100644
index da6fabb0..00000000
--- a/doc/src/images/triangle3d-center.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/triangle3d-dimensions.png b/doc/src/images/triangle3d-dimensions.png
deleted file mode 100644
index 5efe28ec..00000000
--- a/doc/src/images/triangle3d-dimensions.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/triangle3d.xcf b/doc/src/images/triangle3d.xcf
deleted file mode 100644
index 798fafd2..00000000
--- a/doc/src/images/triangle3d.xcf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/triangulated-face.png b/doc/src/images/triangulated-face.png
deleted file mode 100644
index fab48126..00000000
--- a/doc/src/images/triangulated-face.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/triangulated-face.xcf b/doc/src/images/triangulated-face.xcf
deleted file mode 100644
index 74b08edf..00000000
--- a/doc/src/images/triangulated-face.xcf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/converting-screenshot.png b/doc/src/images/tutorials/converting-screenshot.png
deleted file mode 100644
index 9fb738ff..00000000
--- a/doc/src/images/tutorials/converting-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/cube1-screenshot.png b/doc/src/images/tutorials/cube1-screenshot.png
deleted file mode 100644
index a0da12f0..00000000
--- a/doc/src/images/tutorials/cube1-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/cube2-screenshot.png b/doc/src/images/tutorials/cube2-screenshot.png
deleted file mode 100644
index 20e05d1b..00000000
--- a/doc/src/images/tutorials/cube2-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/cube3-screenshot.png b/doc/src/images/tutorials/cube3-screenshot.png
deleted file mode 100644
index 49cf8cbc..00000000
--- a/doc/src/images/tutorials/cube3-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/cube4-screenshot.png b/doc/src/images/tutorials/cube4-screenshot.png
deleted file mode 100644
index 4f71452d..00000000
--- a/doc/src/images/tutorials/cube4-screenshot.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/shader-tutorial-varying.png b/doc/src/images/tutorials/shader-tutorial-varying.png
deleted file mode 100644
index 6e0c78e9..00000000
--- a/doc/src/images/tutorials/shader-tutorial-varying.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/tutorials/shader-tutorial.png b/doc/src/images/tutorials/shader-tutorial.png
deleted file mode 100644
index 97db13d3..00000000
--- a/doc/src/images/tutorials/shader-tutorial.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/vector-mag.odf b/doc/src/images/vector-mag.odf
deleted file mode 100644
index 96222af0..00000000
--- a/doc/src/images/vector-mag.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/vector-mag.png b/doc/src/images/vector-mag.png
deleted file mode 100644
index 0d913ee6..00000000
--- a/doc/src/images/vector-mag.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/vector-normalized.png b/doc/src/images/vector-normalized.png
deleted file mode 100644
index c1c4b968..00000000
--- a/doc/src/images/vector-normalized.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/vector-point.odf b/doc/src/images/vector-point.odf
deleted file mode 100644
index 6b73097c..00000000
--- a/doc/src/images/vector-point.odf
+++ /dev/null
Binary files differ
diff --git a/doc/src/images/vector-point.png b/doc/src/images/vector-point.png
deleted file mode 100644
index c78410fd..00000000
--- a/doc/src/images/vector-point.png
+++ /dev/null
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
deleted file mode 100644
index cc208bce..00000000
--- a/doc/src/index.qdoc
+++ /dev/null
@@ -1,117 +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 index.html
- \title QtQuick3D Reference Documentation
- \keyword QtQuick3D Reference Documentation
-
- \image qt3d-logo.png
-
- QtQuick3D adds 3D content to \l{http://qt.nokia.com/qtquick/}{Qt Quick's} cross-platform ability and coding power.
- Developers of fluid user interfaces can now enhance their applications with 3D
- content in the same way icons and pixmaps would be used in a 2D application.
-
- QtQuick3D is a product resulting from the \l{http://doc.qt.nokia.com/qt3d-snapshot}{Qt3D project}. Qt3D is a set of powerful
- cross-platform C++ API's for 3D programming using OpenGL.
-
- QtQuick3D is made up of the QML bindings for Qt3D (called QML3D) plus
- Qt Creator integration, and other supporting tools. Qt3D may be used to
- extend QtQuick3D by creating new user-defined QML3D items using C++.
-
- OpenGL hardware was designed for 3D acceleration and QtQuick3D allows applications
- to utilise that 3D hardware fully.
-
- QtQuick3D is the Qt Quick product for scripting 3D applications in QML. Apps can be
- 2D QML applications with a small amount of simple 3D content; through to complex
- 3D scenes, containing 3D assets - such as complex 3D models, and shader effects.
-
- In QtQuick3D scripts are written in QML, and rendered with the power of Qt & C++.
-
- Qt3D research continues and if the features you're looking for are not in QtQuick3D
- yet you may find them in the \l{http://doc.qt.nokia.com/qt3d-snapshot/index.html}{Qt3D research project}.
-
- Check the Qt3D research project for upcoming features like \bold{stereoscopic support},
- which will enable your programs to take advantage of special hardware that displays a different image to each eye.
- We are readying QtQuick3D for stereo support and in some places you may see references to it,
- however it is \bold{not supported yet}.
-
- QtQuick3D displays \bold{3D content} that is \bold{ready to be enhanced} by stereoscopic
- hardware, but out-of-the-box QtQuick3D works just fine on regular non-stereo displays
- and does not require special glasses or displays to use it.
-
- See the \l{Tutorials and Examples} for an introduction to using QtQuick3D and Qt3D.
-
- \raw HTML
- <table cellpadding="2" cellspacing="1" border="0" width="100%" class="indextable">
- <tr>
- <th class="titleheader" width="33%">
- Getting Started
- </th>
- <th class="titleheader" width="33%">
- Functionality Areas
- </th>
- <th class="titleheader" width="33%">
- API Reference
- </th>
- </tr>
- <tr>
- <td valign="top">
- <ul>
- <li><a href="qt3d-building.html">Building</a></li>
- <li><a href="qt3d-examples.html">Tutorials and Examples</a></li>
- <li><a href="sceneformats-obj.html">Scene format plug-ins</a></li>
- <li><a href="qt3d-contrib.html">Contributing</a></li>
- <li><a href="qt3d-acceptance.html">Acceptance tests</a></li>
- <li><a href="qt3d-troubleshooting.html">Troubleshooting Quick3D</a></li>
- </ul>
- </td>
- <td valign="top">
- <ul>
- <li><a href="qt3d-arrays.html">Arrays and Vertex Buffers</a></li>
- <li><a href="qt3d-geometry.html">Geometry Building</a></li>
- <li><a href="qt3d-graphicsview.html">Graphics View Integration</a></li>
- <li><a href="qt3d-materials.html">Materials</a></li>
- <li><a href="qt3d-math.html">Mathematical Primitives</a></li>
- <li><a href="qt3d-painting.html">Painting in 3D</a></li>
- <li><a href="qt3d-scene.html">Scene Management</a></li>
- <li><a href="qt3d-textures.html">Texture Management</a></li>
- <li><a href="qt3d-viewing.html">Viewing Widgets</a></li>
- </ul>
- </td>
- <td valign="top">
- <ul>
- <li><a href="qt3d-all-classes.html">All Classes</a></li>
- <li><a href="qgl.html">QGL Namespace</a></li>
- <li><a href="qt3d-qml3d.html">QtQuick3D Elements</a></li>
- <li><a href="qt3d-qml3d-shapes.html">QML/3D Stock Shapes</a></li>
- </ul>
- </td>
- </tr>
- </table>
- \endraw
-*/
diff --git a/doc/src/qline3d-math.qdoc b/doc/src/qline3d-math.qdoc
deleted file mode 100644
index beacf1b2..00000000
--- a/doc/src/qline3d-math.qdoc
+++ /dev/null
@@ -1,211 +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$
-**
-****************************************************************************/
-
-/*!
- \ingroup qt3d
- \ingroup qt3d::math
- \since 4.8
- \title 3D Math Basis
- \page qt3d-math-basis.html
- \keyword 3D Math Basis
- \brief Math foundations for the Qt3D math classes.
-
- The math classes provide basic operations in 3-space useful for graphics:
- \list
- \o QLine3D
- \o QLineSegment3D
- \o QPlane3D
- \o QTriangle3D
- \o QBox3D
- \endlist
-
- This is a basic discussion of the mathematics behind these classes.
-
- \section1 Vectors and Points
-
- There are two important building blocks in 3D: the \bold vector and the
- \bold point in cartesian 3-space.
-
- Both are comprised by 3 values in \bold R, the real numbers.
-
- So programatically in Qt both vectors and points are stored in a QVector3D instance,
- since that class can store 3 qreal values.
-
- But there are important differences between points and vectors:
- \list
- \o a point \bold P is a 3D \i location, and makes sense in terms of a 3D cartesian
- coordinate system. A real-world example is a map-location given in terms
- of a map cross-reference. The location has no inherent magnitude, unless you
- provide another location and find the distance between the two.
- \o a vector \bold v is a 3D \i direction and magnitude. It makes no sense to talk
- about a vector being located somewhere. A vector can represent for example
- some directions like "go 3 north-west 3 kilometers", but this can be done from
- \bold {anywhere on the map} - it is not anchored like the point is.
- \endlist
-
- In 3D math points and vectors are represented by column vectors:
-
- \image vector-point.png
-
- In normal text where the over-arrow symbol is not available the vector is just a
- bolded lower-case letter. A point is a capital letter, non-bolded.
-
- The fourth element in the column vectors above, w = 1 for points and w = 0 for vectors
- means that vectors are not altered by certain affine transformations such
- as \c{translate()}.
-
- \image affine-transform.png
-
- This affine transform T comprises a rotation and a translation. Remember that applying
- the transform is done by the
- \l{http://www.intmath.com/Matrices-determinants/4_Multiplying-matrices.php}{matrix multiplication}
- \c{P * T = P'}.
-
- Notice how the 1 in the column for the translation multiplies out to zero against
- the vectors last 0 value, so the vector is "immune" to the translation.
-
- In the case of the point the w = 1 "triggers" the translation values in the matrix.
-
- So the take away principle is that points and vectors, while represented by the same
- data structure are different and behave differently in 3D math.
-
- \section2 Vector Magnitude and Normal Vectors
-
- Another important difference between points and vectors is that a vector has a magnitude,
- whereas a point does not.
-
- Consider the vector v = (v0, v1, v2) to be rooted at
- the origin O = (0, 0, 0) and pointing to the point P = (v0, v1, v2), then
- its magnitude is the length of the line O to P. Magnitude is represented by
- vertical bars and is found by this formula:
-
- \image vector-mag.png
-
- Unit vectors are those with a magnitude of exactly 1. The math notation is a "hat"
- (or circumflex) over the bolded vector symbol.
-
- A unit vector parallel to one of the axes is easy to form without any division:
- \raw HTML
- <center><b>&#238;</b> = (1, 0, 0)</center>
- \endraw
-
- More typically such a vector is found by dividing by its own length:
-
- \image vector-normalized.png
-
- Vectors used for 3D normals are usually normalized to unit length. Confusingly
- enough, since that is two different uses of the word "normal".
-
- A \i normal is simply a vector perpendicular to something. For example a plane normal is
- perpendicular to the plane.
-
- Typically a normal vector is unit length, for convenience in 3D applications (but
- there is nothing mathematically to say a normal vector has to be unit length).
-
- A vertex normal is perpendicular to the surface modelled by the vertex, and is used
- in lighting calculations.
-
- \section1 Reviewing Operations on Vectors
-
- The QVector3D class provides two very useful functions - the vector dot-product and the
- vector cross-product. Here's a quick review of their uses:
- \list
- \o QVector3D::crossProduct(const QVector3D &, const QVector3D &)
- \list
- \o The cross-product of two vectors produces a \i vector as a result and is
- written \bold w = \bold u x \bold v. The result \bold w is perpendicular to both
- \bold u and \bold v. Consider a plane N containing point P, with the tails of \bold u
- and \bold v at P, and both lying in N, then \bold u x \bold v is a normal to N.
- \endlist
- \o QVector3D::dotProduct(const QVector3D &, const QVector3D &)
- \list
- \o The dot-product of two vectors produces a \i scalar as a result and is written
- \c{t = \bold u . \bold v}. The result t = |u| |v| cos(A), where A is the angle
- between u and v. When \bold u and \bold v have magnitude 1, they are called
- unit vectors, and \bold u . \bold v = cos(A).
- \endlist
- \endlist
-
- A vector has the following operations defined on it in 3-space
- \list
- \o multiplication by a scalar, eg v' = s * \bold v
- \o addition with another vector, eg \bold u = \bold v + \bold w
- \endlist
-
- Multiplying and dividing by vectors is not defined - these operations make no sense in
- 3-D space.
-
- Although you cannot add a vector to a point as such, you can consider the vector from the
- origin to the point, and add the vector to that. Thus rather than out-lawing adding a
- vector to a point it is simply defined as such. This allows the convenient notation for
- lines and planes introduced in the next section.
-
- \section1 Representing Lines and Planes
-
- The QLine3D is represented by a point and a vector: the point anchors the line in
- cartesian 3-space; and the vector is the direction the line is oriented in through that
- point. The line is infinite.
-
- The QPlane3D is represented also by a point and a vector. Again the point anchors the line
- in cartesian 3-space; but the vector this time is a normal to the plane. The plane is
- infinite.
-
- This representation turns out to make many types of calculations required for 3D graphics
- very straight forward.
-
- For example to find if a point P lies on a plane take the vector \bold p from the point to
- the planes origin, and find the dot-product with the planes normal \bold n.
-
- If \bold {p . n} is zero, then \bold p is perpendicular to \bold n, and P is on the plane.
-
- \target vector-and-point-arithmetic
- \section1 Vector and Point Arithmetic
-
- Slightly more complex arithmetic with the components of QLine3D and QPlane3D is possible,
- with some care about what operations can be performed.
-
- As an example look at the implementation for QLine3D::intersection(const QLine3D &) : the
- two lines are defined as:
-
- \image line-int-1.png
-
- If the two lines intersect then P(t) == Q(s) and for some ordered pair \bold s, \bold t
- is a solution to the equations for both lines.
-
- The aim is to solve for \bold s and \bold t.
-
- The equations can be rearranged algebraically as shown in the last line above.
-
- But since dividing by a vector is not defined, tempting options such as dividing by \bold v
- to solve for t are not possible. In the implementation the next step is breaking the points
- and vectors down into their x, y and z components giving 3 simultaneous equations:
-
- \image line-int-2.png
-
- This can be readily solved using gaussian elimination to get a solution for s, and
- substituting back gives t.
-*/
diff --git a/doc/src/qt3d-all-classes.qdoc b/doc/src/qt3d-all-classes.qdoc
deleted file mode 100644
index 3ba8aae7..00000000
--- a/doc/src/qt3d-all-classes.qdoc
+++ /dev/null
@@ -1,49 +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-all-classes.html
- \title Qt3D Classes
- \keyword Qt3D Classes
-
- \generatelist classes
-*/
-
-/*!
- \group qt3d
- \title Qt3D Classes
-
- \generatelist{related}
-*/
-
-/*!
- \page qt3d-all-namespaces.html
- \title All Namespaces
- \keyword All Namespaces
-
- \l{QGL}{QGL Namespace}
-*/
diff --git a/doc/src/qt3d-all-modules.qdoc b/doc/src/qt3d-all-modules.qdoc
deleted file mode 100644
index bf22a1f8..00000000
--- a/doc/src/qt3d-all-modules.qdoc
+++ /dev/null
@@ -1,57 +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-modules.html
- \title All Modules
- \keyword All Modules
-
- \raw HTML
- <table cellpadding="2" cellspacing="1" border="0" width="100%" class="indextable">
- <tr>
- <th class="titleheader" width="33%">
- Functionality Areas
- </th>
- </tr>
- <tr>
- <td valign="top">
- <ul>
- <li><a href="qt3d-arrays.html">Arrays and Vertex Buffers</a></li>
- <li><a href="qt3d-geometry.html">Geometry Building</a></li>
- <li><a href="qt3d-graphicsview.html">Graphics View Integration</a></li>
- <li><a href="qt3d-materials.html">Materials</a></li>
- <li><a href="qt3d-math.html">Mathematical Primitives</a></li>
- <li><a href="qt3d-painting.html">Painting in 3D</a></li>
- <li><a href="qt3d-scene.html">Scene Management</a></li>
- <li><a href="qt3d-textures.html">Texture Management</a></li>
- <li><a href="qt3d-viewing.html">Viewing Widgets</a></li>
- </ul>
- </td>
- </tr>
- </table>
- \endraw
-*/
diff --git a/doc/src/qt3d-arrays.qdoc b/doc/src/qt3d-arrays.qdoc
deleted file mode 100644
index 387d3d03..00000000
--- a/doc/src/qt3d-arrays.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
- \group qt3d::arrays
- \title Qt3D Arrays and Vertex Buffers
- \keyword Vertex Buffer
-
- \generatelist{related}
-*/
diff --git a/doc/src/qt3d-building.qdoc b/doc/src/qt3d-building.qdoc
deleted file mode 100644
index b38761a3..00000000
--- a/doc/src/qt3d-building.qdoc
+++ /dev/null
@@ -1,275 +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-building.html
- \title Building QtQuick3D
- \keyword Building QtQuick3D
-
- \section1 QtQuick3D Binary Packages
-
- Do you have to build QtQuick3D? Check if binary packages are available
- for your platform on the \l{http://qt.nokia.com/downloads}{Qt downloads page}.
-
- This page gives guidelines on how to build Qt3D either from a source package
- or from a repository snapshot.
-
- \section1 Obtaining QtQuick3D sources
-
- If you want to work with the latest bleeding edge QtQuick3D features, or if
- you would like to modify or contribute to QtQuick3D you can build it from
- our source repository.
-
- The source for QtQuick3D is hosted on Gitorious as the git repository
- \l{http://qt.gitorious.org/qt-quick3d/qt-quick3d}{\c{qt-quick3d/qt-quick3d.git}}.
- It can be cloned as follows:
-
- \code
- $ mkdir -p $HOME/depot/qt
- $ cd $HOME/depot/qt
- $ git clone git://gitorious.org/qt-quick3d/qt-quick3d.git
- \endcode
-
- More stable versions of the QtQuick3D source code is available as source
- packages from \l{ftp://ftp.qt.nokia.com/qt3d/noarch}{Qt3D downloads page}.
- Just unzip or untar it into your \c{depot} directory.
-
- \section1 Building QtQuick3D
-
- QtQuick3D requires Qt 4.7. The QtSDK currently ships with Qt 4.7 so if
- you're using the SDK you should be fine. Alternatively you can build
- against a Qt that you have compiled from source. Just make sure that
- when you build Qt, that you use the -developer-build option, and do not
- do a \c{make install} as root. The reason for this is when Qt3D builds in
- it will place the libraries, headers and plugins into the correct position
- in the hosted Qt library, so that will need to be writable.
-
- Here's an example configure line you can use:
- \code
- mkdir -p $HOME/build/qt/4.7 && cd $HOME/build/qt/4.7
- /path/to/qt/configure -developer-build -no-qt3support -no-webkit -no-xmlpatterns \
- -no-phonon -opengl -declarative -nomake demos -nomake examples
- make
- \endcode
- ...this line turns off many features that aren't needed for QtQuick3D, and
- it also explicitly asks for declarative and opengl (even though those are
- on by default) so that an error will be generated if OpenGL is not available.
-
- \section1 Building QtQuick3D Using QtCreator / QtSDK
-
- Here is a step-by-step guide to building QtQuick3D using the
- \l{http://qt.nokia.com/products/appdev/developer-tools/developer-tools}{QtCreator IDE}.
- QtCreator is the development environment for the QtSDK. Here we're using
- version 2.0 on Mac OSX, but other operating systems and versions should
- look similar. Always use the latest release of QtCreator if possible.
-
- \bold{Special note: Harmattan SDK.} When using the Harmattan support in the Qt SDK:
- \list
- \o in Step 2 below ensure you choose the appropriate Qt Build eg \c{Meego 1.2 Harmattan API}; and
- \o in Step 3 under \c{Build Steps > QMake > Additional arguments} add in \c{CONFIG += qtc_harmattan}
- \endlist
-
- \image build-qt3d-qtcreator-1.png
-
- \bold{Step 1} - Open the QtQuick3D project.
-
- Choose \c{Open} from the \c{File} menu and navigate to the quick3d.pro project
- file \c {$HOME/depot/qt/quick3d/quick3d.pro}. Click \c{Open}.
-
- \image build-qt3d-qtcreator-2.png
-
- \bold{Step 2} - Select the Qt and load Qt3D.
-
- \image build-qt3d-qtcreator-4.png
-
- Set the Qt build to use, making sure it has OpenGL and QtDeclarative. In this
- situation where I have a large number of Qt versions to choose from it is
- easiest to use the "Uncheck All" button, then check the one I want - which is the
- Qt that ships with the QtSDK.
-
- If you can't tell from the screen above which is the right Qt to use, just
- choose a safe looking one, perhaps the default, as you can change it easily
- below.
-
- \image build-qt3d-qtcreator-3.png
-
- After a short time QtCreator will have loaded up the Qt3D project, read all its
- project files and display the source tree as shown just above.
-
- \bold{Step 2a} - Useful Options
-
- Use \c{QtCreator} -> \c{Preferences...} to bring up QtCreators options and settings.
- On Windows its \c{Tools} -> \c{Options...}.
-
- Make sure you have QtCreator set to display the compile process, so you can check
- what any errors may be. The other options are set how I like them, and may suit
- your use too. Give them a try, as shown in this screenshot just below.
-
- \image build-qt3d-qtcreator-7.png
-
- \bold{Step 3} - Set up for Building.
-
- \image build-qt3d-qtcreator-5.png
-
- Click the projects tab at the left to display the QtQuick3D target's \c{Build Settings}
- pane. Here you can specify a Shadow Build directory. It is always a good idea to
- build in a shadow directory, instead of inside the source tree.
-
- In the screenshot just above I use the Finder (Mac's equivalent to the Windows File
- Manager) to create the shadow build directory as a "new folder".
-
- \image build-qt3d-qtcreator-6.png
-
- In this screenshot, I have renamed the "new folder" to match the shadow build directory
- name that I gave QtCreator. Now I'm ready to click the "Build" button - circled in
- red in the bottom left hand corner of Qt Creators main screen.
-
- \image build-qt3d-qtcreator-8.png
-
- Before you do that here's a handy trick - set QtCreator to use multiple cores
- when it builds, if its supported on your platform. On Mac and other platforms that
- use GCC I can set the \c{-j 4} argument to \c{make}. For Windows check for the
- \c{jom} tool which you will already be using automatically, to see how many
- parallel jobs your build will use.
-
- \image build-qt3d-qtcreator-set-to-release.png
-
- \bold{Special note for Windows} - make sure that the type of build matches the
- Qt that you are building against. In the case of binary packages, and the Qt
- that ships with the SDK these are binary release builds - so in those cases set
- your Qt3D to a release build also. One way to tell that this has gone wrong is
- that your Qt3D library will be called \c{Qt3Dd.dll} (note the lower case "d"
- for debug) when your QtGui library is called \c{QtGui4.dll} (no lower case "d").
-
- By default the Qt build system used by QtCreator will build Qt3D in debug mode.
-
- Ok, \bold{now} hit the build button.
-
- \bold{Step 4} - Build QtQuick3D and run a test App.
-
- Qt3D will go ahead and compile all its libraries, plugins and QML imports.
-
- The build is set up so that these will be placed into the directories as specified
- by the host qmake - inside the Qt build tree. To find what these directories are run
- \c{qmake -query}. If you like after the build you can check those directories to be sure
- that Qt3D's files got placed there correctly.
-
- As explained above for this reason you will need to have the privileges on your
- computer to write to the directories given by \c{qmake -query}. On Windows this is
- generally not a problem. On Mac and Linux it should work fine when building with the
- SDK which is by default installed in your home directory. It will also be fine
- with builds from a source package.
-
- Qt3D will also place its \c{qt3d.prf} and \c{qt3dquick.prf} files into the
- host Qt's QMAKE_MKSPECS/features directory. Again see \c{qmake -query} for what
- that directory is on your system. This means that you can write Qt3D applications
- in C++ that use the libraries by simply adding \c{CONFIG += qt3d} to your
- .pro file.
-
- If you get early errors about not being able to copy the .prf files then check
- that you have set up QtCreator to use a Qt that you can write to.
-
- The build will then continue on and compile all of Qt3D's examples and demos,
- using the libraries as installed. When finished a message like "The process /usr/bin/make
- exited normally" should be displayed.
-
- There is no need to run a make install step.
-
- \image build-qt3d-qtcreator-9.png
-
- Now you can use QtCreator to run one of the examples. Click the button for the
- project switcher (circled in red) and then choose one of the apps. Here we
- have chosen the QML "Moon" app from the menu (indicated by the red arrow).
-
- Click the green arrow bottom left to actually launch the "Moon" app.
-
- Congratulations on building Qt3D!
-
- \section1 Building from the Command Line
-
- On Linux assuming that you have built Qt 4.7 in
- \c{$HOME/build/qt/4.7}, you would configure and build QtQuick3D as follows:
-
- \code
- $ mkdir -p $HOME/build/qt/quick3d
- $ cd $HOME/build/qt/quick3d
- $ $HOME/build/qt/4.7/bin/qmake $HOME/depot/qt/quick3d/quick3d.pro
- $ make -j 4
- $ bin/moon
- \endcode
-
- Note that the \c{$} above means the shell prompt (don't type the \{$}).
-
- The last line runs the example QML application \c{moon} to check that
- the build went OK.
-
- On Windows (with Visual Studio) those commands look like this:
-
- \code
- mkdir \build\qt\quick3d
- cd \build\qt\quick3d
- qmake \depot\qt\quick3d\quick3d.pro
- nmake
- bin\moon
- \endcode
-
- These commands for Windows assume that your Qt build for Qt 4.7 is in
- the current PATH - so that the qmake invoked above is actually going to
- be the Qt 4.7 qmake.
-
- On Symbian (with RVCT) those commands look like this:
-
- \code
- mkdir C:\depot\qt\quick3d
- cd C:\depot\qt\quick3d
- qmake CONFIG+=old_importer
- sbs -c armv5_urel
- cd devices\symbian
- createpackage QtQuick3D_template.pkg release-armv5
- runonphone --sis QtQuick3D.sis
- \endcode
-
- Once you have built QtQuick3D, you can run the "teapot" example:
-
- \code
- $ cd $HOME/build/qt/quick3d
- $ bin/teapot
- \endcode
-
- If all goes well, you should see something like the following
- on the screen:
-
- \image teapot-screenshot.png
-
- QtQuick3D has been tested with Qt/X11 and Qt/Embedded under Linux, on MacOSX
- and Windows XP. It also runs on Symbian^3 and MeeGo/Maemo.
-
- Patches for other platforms are welcome.
-
- \l{index.html}{Return to the main QtQuick3D page} or
- \l{qt3d-examples.html}{Continue to the Tutorials and Examples}.
-*/
diff --git a/doc/src/qt3d-contrib.qdoc b/doc/src/qt3d-contrib.qdoc
deleted file mode 100644
index 97a878d2..00000000
--- a/doc/src/qt3d-contrib.qdoc
+++ /dev/null
@@ -1,54 +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-contrib.html
- \title Contributing to QtQuick3D and Qt3D
- \keyword Contributing to Qt3D
-
- QtQuick3D and Qt3D are developed primarily in the Brisbane office of Qt
- Development Frameworks, but anyone is welcome to join the effort with
- patches, new examples, and major feature development.
-
- Qt3D research may be a better place to contribute as the QtQuick3D has a strong
- product focus. Check the Qt3D \l{http://doc.qt.nokia.com/qt3d-snapshot/qt3d-contrib.html}{contributions page}.
-
- Jump on the IRC channel at #qt-3d on irc.freenode.net, or join our qt3d
- mailing list at \l{http://lists.qt.nokia.com/mailman/listinfo/qt-3d}.
-
- All contributions need to conform with the
- \l{http://qt.gitorious.org/qt/pages/QtContributionGuidelines}{Qt Contribution Model Guidelines}.
-
- The source for QtQuick3D is hosted on Gitorious at
- \l{http://qt.gitorious.org/qt-labs/quick3d}.
-
- Bugs can be reported against the "Qt3D" component of the "Qt" project
- at \l{http://bugreports.qt.nokia.com/}.
-
-
- \l{index.html}{Return to the main QtQuick3D page}.
-*/
diff --git a/doc/src/qt3d-examples.qdoc b/doc/src/qt3d-examples.qdoc
deleted file mode 100644
index 01c8c758..00000000
--- a/doc/src/qt3d-examples.qdoc
+++ /dev/null
@@ -1,72 +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-examples.html
- \title Tutorials and Examples
- \keyword Tutorials and Examples
-
- Building 3D applications in QML with QtQuick3D:
-
- \list
- \o \l{Teapot Example in QtQuick3D}{Hello Teapot} in QtQuick3D
- \o \l{quick3d/basket#Basket in QtQuick3D}{Basket} in QtQuick3D
- \o \l{Object Effects}{Cube} in QtQuick3D
- \o \l{Monkey God in QML}{Monkey God} in QtQuick3D
- \o \l{Tea Service Demo in QML}{Tea Service} in QtQuick3D
- \o \l{Using GLSL shaders in QtQuick3D}
- \endlist
-
- Using C++ to extend QtQuick3D and to build applications with Qt3D:
-
- \list
- \o \l{Teapot Example}{Hello Teapot} - drawing a basic object in 3D.
- \o \l{Object Effects#Cube in Qt3D}{Cube in C++} - applying transformations and materials to objects.
- \o \l{qt3d/nesting}{Nesting} - drawing into framebuffer objects.
- \o \l{Loading a 3DS model with Qt3D}{Penguin} - loading a 3DS model with Qt3D.
- \o \l{qt3d/pageflip}{Page Flip} - using shaders to combine textures.
- \o \l{qt3d/shapes}{Shapes} - paints all of the basic OpenGL shapes.
- \endlist
-
- Other topics:
-
- \list
- \o \l{Scene Format Plugin}{Writing a scene format plug-in for Qt3D}
- \endlist
-
- \l{index.html}{Return to the main Qt3D page}.
-*/
-
-/*!
- \page qt-examples-placeholder.html
- \title Qt Examples
- \keyword Qt Examples
-
- Check the \l{http://doc.qt.nokia.com/4.7/all-examples.html}{Qt Examples for sample code specific to Qt itself.}
-
- For examples specific to Qt3D check our \l{qt3d-examples.html}{examples page}.
-*/
diff --git a/doc/src/qt3d-geometry.qdoc b/doc/src/qt3d-geometry.qdoc
deleted file mode 100644
index 9ab6e7c4..00000000
--- a/doc/src/qt3d-geometry.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::geometry
-\title Qt3D Geometry
-\keyword Qt3D Geometry
-
-\generatelist{related}
-*/
diff --git a/doc/src/qt3d-graphicsview.qdoc b/doc/src/qt3d-graphicsview.qdoc
deleted file mode 100644
index 3391ace5..00000000
--- a/doc/src/qt3d-graphicsview.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
- \group qt3d::graphicsview
- \title Qt3D Graphics View Integration
- \keyword Qt3D Graphics View Integration
-
- \generatelist{related}
-*/
diff --git a/doc/src/qt3d-materials.qdoc b/doc/src/qt3d-materials.qdoc
deleted file mode 100644
index 38909cfc..00000000
--- a/doc/src/qt3d-materials.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::materials
-\title Qt3D Materials
-\keyword Qt3D Materials
-
-\generatelist{related}
-*/
diff --git a/doc/src/qt3d-math.qdoc b/doc/src/qt3d-math.qdoc
deleted file mode 100644
index 5b663405..00000000
--- a/doc/src/qt3d-math.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::math
-\title Qt3D Math
-\keyword Qt3D Math
-
-\generatelist{related}
-*/
diff --git a/doc/src/qt3d-painting.qdoc b/doc/src/qt3d-painting.qdoc
deleted file mode 100644
index b94e03d5..00000000
--- a/doc/src/qt3d-painting.qdoc
+++ /dev/null
@@ -1,60 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::painting
-\title Qt3D Painting
-\keyword Qt3D Painting
-
-Porting between desktop OpenGL and embedded OpenGL/ES has traditionally
-been difficult. The usual sequence of operations for a drawing request
-in OpenGL consists of:
-
-\list
- \o Select an appropriate shader program, or fixed-function pipeline
- rendering options.
- \o Set or adjust the current projection and modelview matrices.
- \o Specify vertex, normal, texture co-ordinate, and other attribute arrays.
- \o Specify textures, variables, and other rendering objects needed
- by the shader program.
- \o Draw fragments: triangles, triangle fans, quads, etc.
- \o Disable the arrays, textures, and modes that were selected.
-\endlist
-
-Desktop OpenGL, OpenGL/ES 1.1, and OpenGL/ES 2.0 all posses functionality
-for the above, but they are all different. OpenGL/ES 2.0 in particular
-presents unique problems because it lacks a fixed-function pipeline mode
-to perform common painting operations.
-
-In Qt3D the QGLPainter class wraps OpenGL to present a consistent
-OpenGL painting API across all platforms. Shaders and fixed-function
-options are supplied as an instance of QGLAbstractEffect. Several
-built-in standard effects are provided for drawing with flat colors,
-material-based lighting, and simple texturing.
-
-\generatelist{related}
-*/
diff --git a/doc/src/qt3d-qml3d.qdoc b/doc/src/qt3d-qml3d.qdoc
deleted file mode 100644
index e6a7c812..00000000
--- a/doc/src/qt3d-qml3d.qdoc
+++ /dev/null
@@ -1,55 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::qml3d
-\title QtQuick3D for Scripting 3D Apps in QML
-\keyword QtQuick3D QML
-
-The following QML elements are provided by the \c{Qt3D} namespace
-for importing 3D elements into QML applications:
-
-\generatelist{related}
-
-See the \l{Teapot Example in QtQuick3D}{Teapot} example for an introduction
-to using these elements.
-
-QtQuick3D also provides some \l{Stock Shapes for QtQuick3D}{stock shapes}
-in the \c{Qt3D.Shapes} namespace as convenience elements.
-*/
-
-/*!
-\group qt3d::qml3d::shapes
-\title Stock Shapes for QtQuick3D
-
-The following QML elements are provided by the \c{Qt3D.Shapes} namespace
-as convenience elements:
-
-\generatelist{related}
-
-See the \l{Object Effects}{Cube} example for an introduction to using these convenience shapes in QML.
-*/
diff --git a/doc/src/qt3d-scene.qdoc b/doc/src/qt3d-scene.qdoc
deleted file mode 100644
index c7b137b3..00000000
--- a/doc/src/qt3d-scene.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::scene
-\title Qt3D Scene Management
-\keyword Qt3D Scene Management
-
-\generatelist{related}
-*/
diff --git a/doc/src/qt3d-textures.qdoc b/doc/src/qt3d-textures.qdoc
deleted file mode 100644
index fefa5946..00000000
--- a/doc/src/qt3d-textures.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
- \group qt3d::textures
- \title Qt3D Texture Handling
- \keyword Qt3D Texture Handling
-
- \generatelist{related}
-*/
diff --git a/doc/src/qt3d-troubleshooting.qdoc b/doc/src/qt3d-troubleshooting.qdoc
deleted file mode 100644
index 9fc2cb22..00000000
--- a/doc/src/qt3d-troubleshooting.qdoc
+++ /dev/null
@@ -1,295 +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-troubleshooting.html
- \title QtQuick3D Troubleshooting Guide
- \keyword Building QML QtQuick3D
-
- Quick3D has been developed with the intention of supporting a variety
- of platforms and systems, and in doing so leverages the plugin and
- import architecture used by Qt.
-
- This architecture occasionally causes confusion for newcomers to
- the Qt plugin architecture, however, which can cause runtime problems to
- occasionally arise.
-
- \section1 Common Quick3D Problems
-
- \section2 PROBLEM 1: I Can't See Warnings from my QML/3D Application
-
- Many problems with QML (both 2D and 3D) can only be diagnosed through
- warning and status messages.
-
- In the QMLViewer application these can be viewed by selecting the "Show
- Warnings" item in the "Debugging" menu.
-
- For QML applications which do not use the QMLViewer, however, no such
- option exists.
-
- For Linux & Mac:
- \list
- \o Run the application within QtCreator - the warning messages will be
- visible in the Application Output pane.
- \o Run the application from the command line - the warning messages
- will now be displayed directly in the terminal window.
- \endlist
-
- For Windows
- \list
- \o Run the application within QtCreator - the warning messages will be
- visible in the Application Output pane.
- \o Run the application from within Visual Studio - the warning messages
- will be visible in the Output window.
- \o Use an application such as Windows Sysinternals' "DebugView.exe" to
- capture warning and error messages from your QML application.
- \endlist
-
- \section2 PROBLEM 2: Qt3D Plugin File Not Found
-
- By far the most prevalant problems encountered by Quick3D newcomers are
- those relating to inability for an application to find the correct plugins
- at runtime.
-
- This problem is characterised by a blank screen being displayed, and the
- following warning message:
-
- \code
- file:///C:/path/to/qml/app/my_app.qml:42:1: module "Qt3D" plugin "qthreedqmlplugin" not found
- import Qt3D 1.0
-
- ^
- \endcode
-
- To resolve this problem try each of the Resolution Actions listed, one at
- a time, retrying your application after each step.
-
- \section2 PROBLEM 3: Qt3D Not Installed
-
- This is related to the Problem 2, though is characterised by error messages
- containing the following:
-
- \code
- module "Qt3D" is not installed
- \endcode
-
- To resolve this problem try each of the Resolution Actions listed, one at
- a time, retrying your application after each step.
-
- \section2 PROBLEM 4: The Specified Module Could Not Be Found
-
- This is related to Problem 2, though in this case it is characterised by error
- messages similar to the following:
-
- \code
- file:///path/to/quick3d/app.qml:10:1: plugin cannot be loaded for module "Qt3D": Cannot load library C:/path/to/Qt/imports/qthreedqmlplugin.dll: The specified module could not be found.
- \endcode
-
- To resolve this problem try each of the Resolution Actions listed, one at
- a time, retrying your application after each step.
-
- \section2 PROBLEM 5: 3D Models Fail to Load
-
- Usually this problem will be accompanied by a message similar to this one:
-
- \code
- Could not create handler for format - check plugins are installed correctly in /path/to/Qt/plugins
- Could not load file:///path/to/model/my_model.obj (possibly plugin could not be found)
- \endcode
-
- In this case the problem is that the plugins for various scene formats are
- missing.
-
- Follow the instructions in Resolution Action 4 onward.
-
- \section2 PROBLEM 6: Build Keys Do Not Match
-
- Sometimes users may encounter an error similar to the one shown below:
-
- \code
- plugin: my_plugin.dll: failed to load: The plugin 'C:/path/to/qt/plugins/my_plugin.dll' uses incompatible Qt library. Expected build key "Windows mingw debug full-config", got "Windows mingw release full-config"
- \endcode
-
- This error is caused by a mismatch between the Qt library against which the plugin
- was compiled, and the Qt library being used at runtime.
-
- To resolve this problem follow Resolution Action 5 onward, below.
-
- \section2 PROBLEM 7: Case mis-match on loading QML plugins
-
- You get a blank screen when the Qt Quick 3D application runs. The debug output
- (see Problem 1 above) reveals a message similar to
- \code
- Starting C:\Qt\4.7.3\bin\qmlviewer.exe -I C:/Qt/4.7.3/imports C:/Qt/4.7.3/quick3d/bin/resources/examples/basket_qml/qml/basket.qml
- C:/Qt/4.7.3/quick3d/bin/resources/examples/basket_qml/qml/basket.qml: File name case mismatch
- \endcode
-
- This issue can occur when a custom install directory for Qt is used, which does not
- match the expected directory used by the Qt3D binary installer, but still installs
- without apparent error due to Windows tolerance for case error.
-
- For example you install Qt applications into \bold{C:\\qt} such as Qt Creator
- but then when you install Qt 4.7.3 you accept the default install location
- of "C:\\Qt" - this succeeds, even though the case preserved name of the
- directory is "C:\\qt". When Qt Declarative's case checking code parses the
- import statement it refuses to load the qml file.
-
- This error is very difficult to diagnose and the best way to fix it is to
- uninstall everything from the directory in question, using the package uninstallers
- in the start menu, then remove the directory itself, the finally reinstall everything.
-
- \section1 Resolution Actions
-
- \section2 ACTION 1: Ensure that Quick3D is Building Correctly
-
- As obvious as this sounds, it is sometimes the case that a problem is
- caused simply by one of the runtime libraries or plugins for Quick3D
- failing to build, even while the user's application itself builds without
- error.
-
- Ensure that all of the components of Quick3D have built without error
- before attempting further resolution actions.
-
- \section2 ACTION 2: Ensure Import Files Are Correctly Located
-
- Ensure that the Quick3D import libraries are in the directory specified by
- the QtQuick import path.
-
- The core Quick3D import directory is: \c{imports\Qt3D} in the directory
- where Qt is installed.
-
- This directory should contain the files as shown in the following diagram:
-
- \image imports-dir.png
-
- Here for the sake of illustration it is assumed Qt 4.7.3 is intalled under
- \c{C:\Qt\4.7.3}.
-
- If these files are not in the correct locations copy them manually into the
- specified locations and retry your Quick3D application before moving on to
- other fixes. The dll's should have been built as part of your build process
- and the other files are shipped in the source tree, and can be simply copied
- over if somehow the build process has failed to do this.
-
- \section2 ACTION 3: Ensure Qt3D Libraries Are Correctly Located
-
- Ensure that the Quick3D libraries can be found by the application. The
- files that should be found are:
-
- \list
- \o Qt3D.dll
- \o Qt3DQuick.dll
- \endlist
-
- There are three ways to make these files available to your application:
-
- \list
- \o 1. Copy these files into the same directory as your application executable.
- \o 2. Add the current location of these files to your PATH environment variable.
- \o 3. Copy these files into the Qt binaries directory.
- \endlist
-
- The Qt binaries directory is:
- \code
- \path\to\qt\bin
- \endcode
-
- Having executed one of these fixes, retry your application before trying any
- other troubleshooting tips.
-
- \section2 ACTION 4: Ensure Additional Plugin Libraries Are Correctly Located
-
- Ensure that the Quick3D plugin libraries are in the directory specified by
- the QtQuick plugins path.
-
- The Quick3D scene format plugins (which are responsible for loading model files)
- should be found in:
-
- \code
- \path\to\qt\plugins\sceneformats
- \endcode
-
- This should contain the following files:
-
- \list
- \o qsceneai4.dll
- \o qscenebezier4.dll
- \endlist
-
- Additional Quick3D image format plugins (which are responsible for loading some
- image files) should be found in:
-
- \code
- \path\to\qt\plugins\imageformats
- \endcode
-
- This should contain the following files:
-
- \list
- \o qtga4.dll
- \endlist
-
- If these files are not in the correct locations copy them manually into the
- specified locations and retry your Quick3D application before moving on to
- other fixes.
-
- \section2 ACTION 5: Check Your Build Configuration
-
- It is possible that Quick3D libraries which have been built against a given
- set of Qt libraries have problems when used with another build of Qt.
-
- This may be resolved by trying each of the following:
-
- \list
- \o Ensure that the Qt and Quick3D libraries use the same toolchain/compiler.
- \o Ensure that the Qt Configuration used to build Quick3D matches that used in
- your runtime Qt libraries.
- \o Ensure that the Qt used to build Quick3D and the Qt runtimes are both either
- Debug or Release, not a mixture of both.
- \endlist
-
- After making this change, retry your Quick3D application before implementing
- other troubleshooting tips.
-
- \section2 ACTION 6: Clear the Plugin Cache
-
- Qt stores certain information about plugins in the plugin cache. The plugin
- cache is stored through QSettings, and so is platform independent.
-
- It is possible that obselete plugin data for an older version of your Qt3D
- plugins could be causing your Quick3D applications to fail.
-
- On Windows the entries in the plugin cache are stored in the registry, and
- typically begin with one of the following strings:
-
- \code
- HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.debug
- HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.false
- \endcode
-
- Delete these entries and retry your Quick3D application.
-*/
diff --git a/doc/src/qt3d-viewing.qdoc b/doc/src/qt3d-viewing.qdoc
deleted file mode 100644
index c682c363..00000000
--- a/doc/src/qt3d-viewing.qdoc
+++ /dev/null
@@ -1,34 +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$
-**
-****************************************************************************/
-
-/*!
-\group qt3d::viewing
-\title Qt3D Viewing
-\keyword Qt3D Viewing
-
-\generatelist{related}
-*/
diff --git a/doc/src/style/OfflineStyle.css b/doc/src/style/OfflineStyle.css
deleted file mode 100644
index 2fb357ce..00000000
--- a/doc/src/style/OfflineStyle.css
+++ /dev/null
@@ -1,251 +0,0 @@
-@media screen
-{
-
- .wrapper
- {
- top:50px;
- background: none;
-
- }
- .wrapper .bd
- {
- background: none;
- position: relative;
- }
-
-
-
-
- body.offline
- {
- background-image: none;
- background-color: #FFFFFF;
-
- }
-
- .offline .footer {
- margin: 0;
- }
- .offline .header
- {
- width: 100%;
- margin: 0;
- height: auto;
- background-color: #ffffff;
- padding: 10px 0 5px 0;
- overflow: visible;
- border-bottom: solid #E5E5E5 1px;
- z-index:1;
- position:fixed;
- }
-
- .offline .header .content
- {
- }
- .offline .header .qtref
- {
- color: #00732F;
- position: static;
- float: left;
- margin-left: 5px;
- font: bold 18px/1 Arial;
- }
-
- .offline .header .qtref:visited
- {
- color: #00732F;
- }
- .offline .header .qtref:hover
- {
- color: #00732F;
- text-decoration:none;
- }
- .offline .header .qtref span
- {
- background-image: none;
- text-indent: 0;
- text-decoration:none;
- }
-
- .offline .wrap
- {
- margin: 0 5px 0 5px;
- }
-
- .offline .wrap .toolbar
- {
- display:block;
- padding-top:5px;
- }
-
- .offline .wrap .breadcrumb ul li {
- font-weight: normal;
- }
-
- .offline .wrap .breadcrumb ul li a {
- /*color: #44a51c;*/
- }
-
- .offline .wrap .breadcrumb ul li.last a {
- /*color: #363534;*/
- }
-
-
-
- .narrow .indexboxcont .section {
- width: 64%;
- padding-left: 0;
- }
-
- .narrow .indexboxcont .sectionlist {
- width: 32.5%;
- }
-
- .header .icon,
- .sidebar,
- .feedback,
- .t_button,
- .feedback,
- #feedbackBox,
- #feedback,
- #blurpage,
- .indexbox .indexIcon span,
- .wrapper .hd,
- .offline .indexbox .indexIcon,
- .offline .header #nav-logo,
- #offlinemenu,
- #offlinesearch,
- .offline .header #nav-topright,
- .offline .header #shortCut ,
- .offline .wrapper .hd,
- .offline .wrapper .ft,
- .offline .sidebar,
- .offline .wrap .feedback
- {
- display:none;
- }
-
- /* end offline mode */
-#narrowmenu {
- display: none;
- float: right;
- margin: 15px 40px 0 0;
- font-size: 11px;
- }
-
- .narrow #narrowmenu {
- display: block;
- }
-
- #narrowsearch{
- display:none;
- }
-
- #narrowmenu ul
- {
- border-bottom:solid 1px #E5E5E5;
- border-left:solid 1px #E5E5E5;
- border-right:solid 1px #E5E5E5;
- }
-
- #narrowmenu a {
- line-height: 1.1;
- background: url(../images/arrow_down.png) no-repeat 100% 50%;
- white-space: nowrap;
- padding: 0 16px 0 5px;
- }
-
- #narrowmenu li {
- margin-left: 20px;
- }
-
- #narrowmenu li li {
- margin: 0 0 5px 0;
- }
-
- #narrowmenu li li a {
- padding: 0;
- background-image: none;
- }
-
- #narrowmenu li,
- #narrowmenu li ul {
- background-color: #fff;
- }
-
- #narrowmenu li ul {
- width: auto;
- padding: 5px;
- margin-top:-15px;
- }
-
- .sf-menu li:hover ul, .sf-menu li.sfHover ul {
- top: 1.2em;
- }
-.sf-menu, .sf-menu * {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.sf-menu {
- line-height: 1.0;
-}
-.sf-menu ul {
- position: absolute;
- top: -999em;
- width: 10em; /* left offset of submenus need to match (see below) */
-}
-.sf-menu ul li {
- width: 100%;
-}
-.sf-menu li:hover {
- visibility: inherit; /* fixes IE7 'sticky bug' */
-}
-.sf-menu li {
- float: left;
- position: relative;
-}
-.sf-menu a {
- display: block;
- position: relative;
-}
-.sf-menu li:hover ul,
-.sf-menu li.sfHover ul {
- left: 0;
- top: 2.5em; /* match top ul list item height */
- z-index: 99;
-}
-ul.sf-menu li:hover li ul,
-ul.sf-menu li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li:hover ul,
-ul.sf-menu li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-ul.sf-menu li li:hover li ul,
-ul.sf-menu li li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li li:hover ul,
-ul.sf-menu li li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
- .wrap .content ol li {
- background:none;
- font:400 10pt/1 Verdana;
- margin-bottom:10px;
- margin-left:12px;
- }
- .wrap .content ol li {
- list-style-type:decimal;
-
- }
-
-
-
-}
-/* end of screen media */
-
diff --git a/doc/src/style/narrow.css b/doc/src/style/narrow.css
deleted file mode 100644
index 7544c4ae..00000000
--- a/doc/src/style/narrow.css
+++ /dev/null
@@ -1,250 +0,0 @@
- /* start narrow mode */
-
- body.narrow
- {
- background-image: none;
- }
-
- .narrow a {
- color: #44a51c;
- }
-
- .narrow .header, .narrow .header .content, .narrow .footer, .narrow .wrapper {
- margin: 0 7px;
- min-width: 300px;
- }
-
- .narrow .footer {
- margin: 0;
- }
- .narrow .header
- {
- width: 100%;
- margin: 0;
- height: auto;
- background: #fff url(../images/header_bg.png) repeat-x 0 100%;
- padding: 10px 0 5px 0;
- overflow: visible;
- }
-
- .narrow .header .content
- {
- }
-
- .narrow .header #nav-logo
- {
- display: none;
- }
-
- .narrow .header .qtref
- {
- width: auto;
- height: auto;
- color: #363534;
- position: static;
- float: left;
- margin-left: 25px;
- font: bold 18px/1 Arial;
- }
-
- .narrow .header .qtref a
- {
- color: #363534;
- }
-
- .narrow .header .qtref span
- {
- background-image: none;
- text-indent: 0;
- }
-
- .narrow .header #nav-topright
- {
- display: none;
- }
-
- .narrow .header #shortCut
- {
- clear: both;
- font-weight: normal;
- position: static;
- float: left;
- margin: 15px 0 0 25px;
- overflow: hidden;
- padding: 0;
- height: auto;
- }
-
- .narrow .header #shortCut ul
- {
- float: none;
- margin: 0;
- width: auto;
- font-size: 11px;
- }
-
- .narrow .header #shortCut ul li
- {
- background-image: none;
- }
-
- .narrow .header #shortCut ul .shortCut-topleft-active,
- .narrow .header #shortCut ul .shortCut-topleft-inactive
- {
- background-image: none;
- height: auto;
- padding: 0;
- width: auto;
- }
- .narrow .header #shortCut ul li a
- {
- color: #44a51c;
- }
-
- .narrow .wrapper .hd
- {
- background: url(../images/bg_ul_blank.png) no-repeat 0 0;
- }
-
- .narrow .wrapper .bd
- {
- background: url(../images/bg_l_blank.png) repeat-y 0 0;
- }
-
- .narrow .wrapper .ft
- {
- background: url(../images/bg_ll_blank.png) no-repeat 0 0;
- }
-
- .narrow .sidebar
- {
- display: none;
- }
-
- .narrow .wrap
- {
- margin: 0 5px 0 5px;
- }
-
- .narrow .wrap .toolbar
- {
- border-bottom: none;
- }
-
- .narrow .wrap .content
- {
- padding-top: 15px;
- }
-
- .narrow .wrap .feedback
- {
- display: none;
- }
-
- .narrow .wrap .breadcrumb ul li {
- font-weight: normal;
- }
-
- .narrow .wrap .breadcrumb ul li a {
- color: #44a51c;
- }
-
- .narrow .wrap .breadcrumb ul li.last a {
- color: #363534;
- }
-
- #narrowsearch {
- display: none;
- }
-
- .narrow #narrowsearch {
- display: block;
- float: right;
- margin-right: 25px;
- _position: relative;
- }
-
- .narrow #narrowsearch fieldset {
- _position: absolute;
- _margin-top: -1px;
- }
-
- .narrow #narrowsearch {
- background: url("http://doc.qt.nokia.com/prototype/html/images/sprites-combined.png") no-repeat scroll -6px -348px transparent;
- height: 21px;
- padding: 2px 0 0 5px;
- width: 167px;
- }
-
- .narrow #narrowsearch input {
- border: none;
- font: 13px/1.2 Verdana;
- height: 19px;
- outline: none;
- padding: 0;
- width: 158px;
- *border: 1px solid #fff;
- *height: 17px;
- _height: 18px;
- }
-
- .narrow .indexbox .indexIcon {
- display: none;
- }
-
- .narrow .indexboxcont .section {
- width: 64%;
- padding-left: 0;
- }
-
- .narrow .indexboxcont .sectionlist {
- width: 32.5%;
- }
-
- #narrowmenu {
- display: none;
- float: right;
- margin: 15px 40px 0 0;
- font-size: 11px;
- }
-
- .narrow #narrowmenu {
- display: block;
- }
-
- #narrowmenu a {
- line-height: 1.1;
- background: url(../images/arrow_down.png) no-repeat 100% 50%;
- white-space: nowrap;
- padding: 0 16px 0 5px;
- }
-
- #narrowmenu li {
- margin-left: 20px;
- }
-
- #narrowmenu li li {
- margin: 0 0 5px 0;
- }
-
- #narrowmenu li li a {
- padding: 0;
- background-image: none;
- }
-
- #narrowmenu li,
- #narrowmenu li ul {
- background-color: #fff;
- margin-top:-1px;
- }
-
- #narrowmenu li ul {
- width: auto;
- padding: 5px;
- }
-
- .sf-menu li:hover ul, .sf-menu li.sfHover ul {
- top: 1.2em;
- }
-
- /* end narrow mode */
diff --git a/doc/src/style/style.css b/doc/src/style/style.css
deleted file mode 100644
index f520e6ad..00000000
--- a/doc/src/style/style.css
+++ /dev/null
@@ -1,1567 +0,0 @@
-@media screen
-{
-
-/* basic elements */
- html
- {
- color: #000000;
- background: #FFFFFF;
- }
- body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td
- {
- margin: 0;
- padding: 0;
- }
- table
- {
- border-collapse: collapse;
- border-spacing: 0;
- }
- fieldset, img
- {
- border: 0;
- max-width:100%;
- }
- address, caption, cite, code, dfn, em, strong, th, var, optgroup
- {
- font-style: inherit;
- font-weight: inherit;
- }
- del, ins
- {
- text-decoration: none;
- }
- li
- {
- list-style: none;
- }
- caption, th
- {
- text-align: left;
- }
- h1, h2, h3, h4, h5, h6
- {
- font-size: 100%;
- }
- q:before, q:after
- {
- content: '';
- }
- abbr, acronym
- {
- border: 0;
- font-variant: normal;
- }
- sup, sub
- {
- vertical-align: baseline;
- }
- tt, .qmlreadonly span, .qmldefault span
- {
- word-spacing:5px;
- }
- legend
- {
- color: #000000;
- }
- input, button, textarea, select, optgroup, option
- {
- font-family: inherit;
- font-size: inherit;
- font-style: inherit;
- font-weight: inherit;
- }
- input, button, textarea, select
- {
- font-size: 100%;
- }
- strong
- {
- font-weight: bold;
- }
- em
- {
- font-style: italic;
- }
-
- /* adding Qt theme */
- html
- {
- /* background-color: #e5e5e5;*/
- }
- body
- {
- background: #e6e7e8 url(../images/page_bg.png) repeat-x 0 0;
- font: normal 13px/1.2 Verdana;
- color: #363534;
- }
- a
- {
- color: #00732f;
- text-decoration: none;
- }
- hr
- {
- background-color: #E6E6E6;
- border: 1px solid #E6E6E6;
- height: 1px;
- width: 100%;
- text-align: left;
- margin: 15px 0px 15px 0px;
- }
-
- pre
- {
- border: 1px solid #DDDDDD;
- -moz-border-radius: 7px 7px 7px 7px;
- margin: 0 20px 10px 10px;
- padding: 20px 15px 20px 20px;
- overflow-x: auto;
- }
- table, pre
- {
- -moz-border-radius: 7px 7px 7px 7px;
- background-color: #F6F6F6;
- border: 1px solid #E6E6E6;
- border-collapse: separate;
- font-size: 11px;
- margin-bottom: 25px;
- }
- pre.highlightedCode {
- display: block;
- overflow:hidden;
- }
- thead
- {
- margin-top: 5px;
- font:600 12px/1.2 Arial;
- }
- th
- {
- padding: 5px 15px 5px 15px;
- background-color: #E1E1E1;
- border-left: 1px solid #E6E6E6;
- }
- td
- {
- padding: 3px 15px 3px 20px;
- }
- tr.odd td:hover, tr.even td:hover {}
-
- td.rightAlign
- {
- padding: 3px 5px 3px 10px;
- }
- table tr.odd
- {
- border-left: 1px solid #E6E6E6;
- background-color: #F6F6F6;
- color: #66666E;
- }
- table tr.even
- {
- border-left: 1px solid #E6E6E6;
- background-color: #ffffff;
- color: #66666E;
- }
- table tr.odd td:hover, table tr.even td:hover
- {
- /* background-color: #E6E6E6;*/ /* disabled until further notice */
- }
-
- span.comment
- {
- color: #8B0000;
- font-style: italic;
- }
- span.string, span.char
- {
- color: #254117;
- }
-
-
-/* end basic elements */
-
-/* font style elements */
- .heading
- {
- font: normal bold 16px/1.0 Arial;
- padding-bottom: 15px;
- }
- .subtitle
- {
- font-size: 13px;
- }
- .small-subtitle
- {
- font-size: 13px;
- }
-/* end font style elements */
-
-/* global settings*/
- .header, .footer, .wrapper
- {
- min-width: 600px;
- max-width: 1500px;
- margin: 0 30px;
- }
- .header, .footer
- {
- display: block;
- clear: both;
- overflow: hidden;
- }
- .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
-/* end global settings*/
-/* header elements */
- .header
- {
- height: 115px;
- position: relative;
- }
- .header .icon
- {
- position: absolute;
- top: 13px;
- left: 0;
- }
- .header .qtref
- {
- position: absolute;
- top: 28px;
- left: 88px;
- width: 302px;
- height: 22px;
- }
- .header .qtref span
- {
- display: block;
- width: 302px;
- height: 22px;
- text-indent: -999em;
- background: url(../images/sprites-combined.png) no-repeat -78px -235px;
- }
- .content a:visited
- {
- color: #4c0033;
- text-decoration: none;
- }
- .content a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
-
- #nav-topright
- {
- height: 70px;
- }
-
- #nav-topright ul
- {
- list-style-type: none;
- float: right;
- width: 370px;
- margin-top: 11px;
- }
-
- #nav-topright li
- {
- display: inline-block;
- margin-right: 20px;
- float: left;
- }
-
- #nav-topright li.nav-topright-last
- {
- margin-right: 0;
- }
-
- #nav-topright li a
- {
- background: transparent url(../images/sprites-combined.png) no-repeat;
- height: 18px;
- display: block;
- overflow: hidden;
- text-indent: -9999px;
- }
-
- #nav-topright li.nav-topright-home a
- {
- width: 65px;
- background-position: -2px -91px;
- }
-
- #nav-topright li.nav-topright-home a:hover
- {
- background-position: -2px -117px;
- }
-
-
- #nav-topright li.nav-topright-dev a
- {
- width: 30px;
- background-position: -76px -91px;
- }
-
- #nav-topright li.nav-topright-dev a:hover
- {
- background-position: -76px -117px;
- }
-
-
- #nav-topright li.nav-topright-labs a
- {
- width: 40px;
- background-position: -114px -91px;
- }
-
- #nav-topright li.nav-topright-labs a:hover
- {
- background-position: -114px -117px;
- }
-
- #nav-topright li.nav-topright-doc a
- {
- width: 32px;
- background-position: -162px -91px;
- }
-
- #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
- {
- background-position: -162px -117px;
- }
-
- #nav-topright li.nav-topright-blog a
- {
- width: 40px;
- background-position: -203px -91px;
- }
-
- #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
- {
- background-position: -203px -117px;
- }
-
- #nav-topright li.nav-topright-shop a
- {
- width: 40px;
- background-position: -252px -91px;
- }
-
- #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
- {
- background-position: -252px -117px;
- }
-
- #nav-logo
- {
- background: transparent url(../images/sprites-combined.png ) no-repeat 0 -225px;
- left: -3px;
- position: absolute;
- width: 75px;
- height: 75px;
- top: 13px;
- }
- #nav-logo a
- {
- width: 75px;
- height: 75px;
- display: block;
- text-indent: -9999px;
- overflow: hidden;
- }
-
-
- .shortCut-topleft-inactive
- {
- padding-left: 3px;
- background: transparent url( ../images/sprites-combined.png) no-repeat 0px -58px;
- height: 20px;
- width: 47px;
- }
- .shortCut-topleft-inactive span
- {
- font-variant: normal;
- }
- .shortCut-topleft-inactive span a:hover, .shortCut-topleft-active a:hover
- {
- text-decoration:none;
- }
- #shortCut
- {
- padding-top: 10px;
- font-weight: bolder;
- color: #b0adab;
- }
- #shortCut ul
- {
- list-style-type: none;
- float: left;
- width: 347px;
- margin-left: 100px;
- }
- #shortCut li
- {
- display: inline-block;
- margin-right: 25px;
- float: left;
- white-space: nowrap;
- }
- #shortCut li a
- {
- color: #b0adab;
- }
- #shortCut li a:hover
- {
- color: #44a51c;
- }
-
-
-
-/* end header elements */
-/* content and sidebar elements */
- .wrapper
- {
- background: url(../images/bg_r.png) repeat-y 100% 0;
- }
- .wrapper .hd
- {
- padding-left: 216px;
- height: 15px;
- background: url(../images/page.png) no-repeat 0 0;
- overflow: hidden;
- }
-
-
-
-
- .wrapper .hd span
- {
- height: 15px;
- display: block;
- overflow: hidden;
- background: url(../images/page.png) no-repeat 100% -30px;
- }
- .wrapper .bd
- {
- background: url(../images/bg_l.png) repeat-y 0 0;
- position: relative;
- }
-
-
-
-
- .wrapper .ft
- {
- padding-left: 216px;
- height: 15px;
- background: url(../images/page.png) no-repeat 0 -75px;
- overflow: hidden;
- }
-
-
-
-
- .wrapper .ft span
- {
- height: 15px;
- display: block;
- background: url(../images/page.png) no-repeat 100% -60px;
- overflow: hidden;
- }
- .navTop{
- float:right;
- display:block;
- padding-right:15px;
-
-
- }
-
-
-
-/* end content and sidebar elements */
-/* sidebar elements */
- .sidebar
- {
- float: left;
- margin-left: 5px;
- width: 200px;
- font-size: 11px;
- }
-
-
-
-
-
-
- .sidebar .searchlabel
- {
- padding: 0 0 2px 17px;
- font: normal bold 11px/1.2 Verdana;
- }
-
- .sidebar .search
- {
- padding: 0 15px 0 16px;
- }
-
- .sidebar .search form
- {
- background: url(../images/sprites-combined.png) no-repeat -6px -348px;
- height:21px;
- padding:2px 0 0 5px;
- width:167px;
- }
-
- .sidebar .search form input#pageType
- {
- width: 158px;
- height: 19px;
- padding: 0;
- border: 0px;
- outline: none;
- font: 13px/1.2 Verdana;
- }
-
- .sidebar .box
- {
- padding: 17px 15px 5px 16px;
- }
-
- .sidebar .box .first
- {
- background-image: none;
- }
-
- .sidebar .box h2
- {
- font: bold 16px/1.2 Arial;
- padding: 0;
- }
- .sidebar .box h2 span
- {
- overflow: hidden;
- display: inline-block;
- }
- .sidebar .box#lookup h2
- {
- background-image: none;
- }
- .sidebar #lookup.box h2 span
- {
- }
- .sidebar .box#topics h2
- {
- background-image: none;
- }
- .sidebar #topics.box h2 span
- {
- }
- .sidebar .box#examples h2
- {
- background-image: none;
- }
- .sidebar #examples.box h2 span
- {
- }
-
- .sidebar .box .list
- {
- display: block;
- max-height:200px;
- min-height:120px;
- overflow-y:auto;
- overflow-x:none;
- }
- .list li a:hover
- {
- text-decoration: underline;
- }
- .sidebar .box ul
- {
- padding-bottom:5px;
- padding-left:10px;
- padding-top:5px;
- }
- .sidebar .box ul li
- {
- padding-left: 12px;
- background: url(../images/bullet_gt.png) no-repeat 0 5px;
- margin-bottom: 5px;
- }
- .sidebar .bottombar
- {
- background: url(../images/box_bg.png) repeat-x 0 bottom;
- }
- .sidebar .box ul li.noMatch
- {
- background: none;
- color:#FF2A00;
- font-style:italic;
- }
- .sidebar .box ul li.hit
- {
- background: none;
- color:#AAD2F0;
- font-style:italic;
- }
- .sidebar .search form input.loading
- {
- background:url("../images/spinner.gif") no-repeat scroll right center transparent;
- }
-
-.floatingResult{
- z-index:1;
- position:relative;
- padding-top:0px;
- background-color:white;
- border:solid 1px black;
- height:250px;
- width:600px;
- overflow-x:hidden;
- overflow-y:auto;
-}
-
- .floatingResult:hover{
- display:block;
- }
- .floatingResult:hover{
- }
-
-/* end sidebar elements */
-/* content elements */
- .wrap
- {
- margin: 0 5px 0 208px;
- overflow: visible;
- }
-
-
-
-
- .wrap .toolbar
- {
- background-color: #fafafa;
- border-bottom: 1px solid #d1d1d1;
- height: 20px;
- position: relative;
- }
- .wrap .toolbar .toolblock
- {
- position: absolute;
- }
- .wrap .toolbar .breadcrumb
- {
- font-size: 11px;
- line-height: 1;
- padding: 0 0 10px 21px;
- height: 10px;
- }
- .wrap .toolbar .toolbuttons
- {
- padding: 0 0 10px 21px;
- right: 5px;
- vertical-align: middle;
- overflow: hidden;
- }
- .wrap .toolbar .toolbuttons .active
- {
- color: #00732F;
- }
- .wrap .toolbar .toolbuttons ul
- {
- float: right;
- }
- .wrap .toolbar .toolbuttons li
- {
- float: left;
- text-indent: -10px;
- margin-top: -5px;
- margin-right: 15px;
- font-weight: bold;
- color: #B0ADAB;
- }
-
- .toolbuttons #print
- {
- border-left: 1px solid #c5c4c4;
- margin-top: 0;
- padding-left: 7px;
- text-indent: 0;
- }
- .toolbuttons #print a
- {
- width: 16px;
- height: 16px;
- }
-
- .toolbuttons #print a span
- {
- width: 16px;
- height: 16px;
- text-indent: -999em;
- display: block;
- overflow: hidden;
- background: url(../images/sprites-combined.png) no-repeat -137px -311px;
- }
-
- .toolbuttons #smallA
- {
- font-size: 10pt;
- }
- .toolbuttons #medA
- {
- font-size: 12pt;
- }
- .toolbuttons #bigA
- {
- font-size: 14pt;
- margin-right: 7px;
- }
-
- #smallA:hover, #medA:hover, #bigA:hover
- {
- color: #00732F;
- }
-
-
- .wrap .content
- {
- padding: 30px;
- word-wrap:break-word;
- }
-
- .wrap .breadcrumb ul
- {
- }
- .wrap .breadcrumb ul li
- {
- float: left;
- background: url(../images/breadcrumb.png) no-repeat 0 3px;
- padding-left: 15px;
- margin-left: 15px;
- font-weight: bold;
- }
- .wrap .breadcrumb ul li.last
- {
- font-weight: normal;
- }
- .wrap .breadcrumb ul li a
- {
- color: #363534;
- }
- .wrap .breadcrumb ul li.first
- {
- background-image: none;
- padding-left: 0;
- margin-left: 0;
- }
-
-
-
-
- .wrap .content ol li {
- background:none;
- font:normal 10pt/1 Verdana;
-
- margin-bottom:10px;
- margin-left:12px;
- /*list-style-type:disc;*/
- }
-
- .wrap .content li
- {
- background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 400 10pt/1 Verdana;
- margin-bottom: 10px;
- padding-left:12px;
- }
-
-
-
-
-
-
-
-
-
- .content li:hover {}
-
- .wrap .content h1
- {
- font: bold 18px/1.2 Arial;
- }
- .wrap .content h2
- {
- border-bottom:1px solid #DDDDDD;
- font:600 16px/1.2 Arial;
- margin-top:15px;
- width:100%;
- }
- .wrap .content h3
- {
- font: bold 14px/1.2 Arial;
- font:600 16px/1.2 Arial;
- margin-top:15px;
- width:100%;
- }
- .wrap .content p
- {
- line-height: 20px;
- padding: 5px;
- }
- .wrap .content table p
- {
- line-height: 20px;
- padding: 0px;
- }
- .wrap .content ul
- {
- padding-left: 25px;
- padding-top: 10px;
- }
- a:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
- .feedback
- {
- float: none;
- position: absolute;
- right: 15px;
- bottom: 10px;
- font: normal 8px/1 Verdana;
- color: #B0ADAB;
- }
- .feedback:hover
- {
- float: right;
- font: normal 8px/1 Verdana;
- color: #00732F;
- text-decoration: underline;
- }
- .alphaChar{
- width:100%;
- background-color:#F6F6F6;
- border:1px solid #E6E6E6;
- -moz-border-radius: 7px 7px 7px 7px;
- font-size:12pt;
- padding-left:10px;
- margin-top:10px;
- margin-bottom:10px;
- }
- .flowList{
- vertical-align:top;
- }
-
- .flowList dl{
- }
- .flowList dd{
- display:inline-block;
- margin-left:10px;
- width:250px;
- }
- .wrap .content .flowList p{
- padding:0px;
- }
-
- .content .alignedsummary
- {
- margin: 15px;
- }
-
-
- .qmltype
- {
- text-align: center;
- font-size: 160%;
- }
- .qmlreadonly
- {
- padding-left: 5px;
- float: right;
- color: #254117;
- }
-
- .qmldefault
- {
- padding-left: 5px;
- float: right;
- color: red;
- }
-
- .qmldoc
- {
- }
-
- *.qmlitem p
- {
- }
- #feedbackBox
- {
- display: none;
- -moz-border-radius: 7px 7px 7px 7px;
- border: 1px solid #DDDDDD;
- position: fixed;
- top: 100px;
- left: 33%;
- height: 230px;
- width: 400px;
- padding: 5px;
- background-color: #e6e7e8;
- z-index: 4;
- }
- #feedcloseX
- {
- display: inline;
- padding: 5px 5px 0 0;
- margin-bottom: 3px;
- color: #363534;
- font-weight: 600;
- float: right;
- text-decoration: none;
- }
-
- #feedbox
- {
- display: inline;
- width: 370px;
- height: 120px;
- margin: 0px 25px 10px 15px;
- }
- #noteHead
- {
- font-weight:bold;
- padding:10px 10px 10px 20px;
- }
- #feedsubmit
- {
- display: inline;
- float: right;
- margin: 4px 32px 0 0;
- }
-
- .note
- {
- font-size:7pt;
- padding-bottom:3px;
- padding-left:20px;
- }
-
- #blurpage
- {
- display: none;
- position: fixed;
- float: none;
- top: 0px;
- left: 0px;
- right: 0px;
- bottom: 0px;
- background: transparent url(../images/feedbackground.png) 0 0;
- z-index: 3;
- }
- .toc
- {
- float: right;
- -moz-border-radius: 7px 7px 7px 7px;
- background-color: #F6F6F6;
- border: 1px solid #DDDDDD;
- margin: 0 20px 10px 10px;
- padding: 20px 15px 20px 20px;
- height: auto;
- width: 200px;
- }
-
- .toc h3, .generic a
- {
- font: bold 12px/1.2 Arial;
- }
-
- .generic{
- }
- .generic td{
- padding:5px;
- }
- .generic .alphaChar{
- margin-top:5px;
- }
-
- .generic .odd .alphaChar{
- background-color: #F6F6F6;
- }
-
- .generic .even .alphaChar{
- background-color: #FFFFFF;
- }
-
- .alignedsummary{}
- .propsummary{}
- .memItemLeft{}
- .memItemRight{
- padding:3px 15px 3px 0;
- }
- .bottomAlign{}
- .highlightedCode
- {
- margin:10px;
- }
- .LegaleseLeft{}
- .valuelist{}
- .annotated td{
- padding: 3px 5px 3px 5px;
- }
- .obsolete{}
- .compat{}
- .flags{}
- .qmlsummary{}
- .qmlitem{}
- .qmlproto{}
- .qmlname{}
- .qmlreadonly{}
- .qmldefault{}
- .qmldoc{}
- .qt-style{}
- .redFont{}
- code{}
-
- .wrap .content .toc ul
- {
- padding-left: 0px;
- }
-
- .wrap .content .toc h3{
- border-bottom:0px;
- margin-top:0px;
- }
-
- .wrap .content .toc h3 a:hover{
- color:#00732F;
- text-decoration:none;
- }
-
-
- .wrap .content .toc .level2
- {
- margin-left: 15px;
- }
-
- .wrap .content .toc .level3
- {
- margin-left: 30px;
- }
-
- .content .toc li
- {
- font: normal 10px/1.2 Verdana;
- background: url(../images/bullet_dn.png) no-repeat 0 5px;
- }
- .relpage
- {
- -moz-border-radius: 7px 7px 7px 7px;
- border: 1px solid #DDDDDD;
- padding: 25px 25px;
- clear: both;
- }
- .relpage ul
- {
- float: none;
- padding: 15px;
- }
- .content .relpage li
- {
- font: normal 11px/1.2 Verdana;
- }
- h3.fn, span.fn
- {
- -moz-border-radius:7px 7px 7px 7px;
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- font-weight: bold;
- word-spacing:3px;
- padding:3px 5px;
- }
-
- .functionIndex {
- font-size:12pt;
- word-spacing:10px;
- margin-bottom:10px;
- background-color: #F6F6F6;
- border-width: 1px;
- border-style: solid;
- border-color: #E6E6E6;
- -moz-border-radius: 7px 7px 7px 7px;
- width:100%;
- }
-
- .centerAlign
- {
- text-align:center;
- }
-
- .rightAlign
- {
- text-align:right;
- }
-
-
- .leftAlign
- {
- text-align:left;
- }
-
- .topAlign{
- vertical-align:top
- }
-
- .functionIndex a{
- display:inline-block;
- }
-
-/* end content elements */
-/* footer elements */
-
- .footer
- {
- min-height: 100px;
- color: #797775;
- font: normal 9px/1 Verdana;
- text-align: center;
- padding-top: 40px;
- background-color: #E6E7E8;
- margin: 0;
- }
-/* end footer elements */
-
-
-
-
- /* start index box */
- .indexbox
- {
- width: 100%;
- display:inline-block;
- }
-
- .indexboxcont
- {
- display: block;
-
- }
-
- .indexboxbar
- {
- background: transparent url(../images/horBar.png ) repeat-x left bottom;
- margin-bottom: 25px;
-
-
- }
-
- .indexboxcont .section
- {
- display: inline-block;
- width: 49%;
- *width:42%;
- _width:42%;
- padding:0 2% 0 1%;
- vertical-align:top;
-
-}
-
- .indexboxcont .indexIcon
- {
- width: 11%;
- *width:18%;
- _width:18%;
- overflow:hidden;
-
-}
-
-.indexboxcont .section {
- float: left;
-}
-
- .indexboxcont .section p
- {
- padding-top: 20px;
- padding-bottom: 20px;
- }
- .indexboxcont .sectionlist
- {
- display: inline-block;
- vertical-align:top;
- width: 32.5%;
- padding: 0;
- }
- .indexboxcont .sectionlist ul
- {
- margin-bottom: 20px;
- }
-
- .indexboxcont .sectionlist ul li
- {
- line-height: 12px;
- }
-
- .content .indexboxcont li
- {
- font: normal bold 13px/1 Verdana;
- }
-
- .indexbox a:hover, .indexbox a:visited:hover
- {
- color: #4c0033;
- text-decoration: underline;
- }
-
- .indexbox a:visited
- {
- color: #00732f;
- text-decoration: none;
- }
-
- .indexbox .indexIcon {
- width: 11%;
- }
-
-
- .indexbox .indexIcon span
- {
- display: block;
- }
-
- .indexbox.guide .indexIcon span
- {
- width: 96px;
- height: 137px;
- background: url(../images/sprites-combined.png) no-repeat -5px -376px;
- padding: 0;
- }
-
- .indexbox.tools .indexIcon span
- {
- width: 115px;
- height: 137px;
- background: url(../images/sprites-combined.png) no-repeat -111px -376px;
- padding: 0;
- }
- .indexboxcont:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
-
-
-
-/* start of offline spec*/
- .offline .wrapper .hd
- {
- background: url(../images/page.png) no-repeat 0 -15px;
- }
- .offline .wrapper .bd
- {
- background: url(../images/bg_l_blank.png) repeat-y 0 0;
- }
- .offline .wrapper .ft
- {
- background: url(../images/page.png) no-repeat 0 -90px;
- }
- .offline .sidebar,
- .offline .feedback,
- .offline .t_button,
- .offline #narrowsearch,
- .offline #narrowmenu
- {
- display: none;
- }
- .offline .wrap
- {
- margin: 0 5px 0 5px;
- }
- .offline .wrap .breadcrumb
- {
- }
-
- .offline .wrap .content
- {
- padding-top: 15px;
- }
-
-
-/* end of offline spec*/
-
-/* start of creator spec*/
- .creator
- {
- margin-left:0px;
- margin-right:0px;
- padding-left:0px;
- padding-right:0px;
- }
- .creator .wrap .content ol li {
- list-style-type:decimal;
-
- }
- .creator .header .icon,
- .creator .feedback,
- .creator .t_button,
- .creator .feedback,
- .creator #feedbackBox,
- .creator #feedback,
- .creator #blurpage,
- .creator .indexbox .indexIcon span,
- .creator .wrapper .hd,
- .creator .indexbox .indexIcon,
- .creator .header #nav-logo,
- .creator #offlinemenu,
- .creator #offlinesearch,
- .creator .header #nav-topright,
- .creator .header #shortCut ,
- .creator .wrapper .hd,
- .creator .wrapper .ft,
- .creator .sidebar,
- .creator .wrap .feedback
- {
- display:none;
- }
-
- body.creator
- {
- background: none;
-
- font: normal 13px/1.2 Verdana;
- color: #363534;
- background-color: #FFFFFF;
- }
-
-
-
- .creator .header, .footer, .wrapper
- {
- max-width: 1500px;
- margin: 0px;
- }
-
- .creator .wrapper
- {
- position:relative;
- top:50px;
- }
- .creator .wrapper .bd
- {
-
- background:#FFFFFF;
- }
-
-
- .creator .header, .footer
- {
- display: block;
- clear: both;
- overflow: hidden;
- }
- .creator .wrap .content p
-
- {
- line-height: 20px;
- padding: 5px;
- }
-
- .creator .header .qtref span
- {
- background:none;
- }
-
-
-
- .creator .footer
- {
- border-top:1px solid #E5E5E5;
- min-height: 100px;
- margin:0px;
- }
-
- .creator .wrap
- {
-
- padding:0 5px 0 5px;
- margin: 0px;
- }
- .creator .wrap .toolbar
- {
-
-
- border-bottom:1px solid #E5E5E5;
- width:100%,
- }
- .creator .wrap .breadcrumb ul li a
- {
- /* color: #363534;*/
- color: #00732F;
- }
-
- .creator .wrap .content
- {
- padding: 0px;
- word-wrap:break-word;
- }
-
- .creator .wrap .content ol li {
- background:none;
- font: inherit;
- padding-left: 0px;
- }
-
- .creator .wrap .content .descr ol li {
- margin-left: 45px;
-
- }
- .creator .content .alignedsummary
- {
- margin: 5px;
- width:100%;
- }
- .creator .generic{
- max-width:75%;
- }
- .creator .generic td{
- padding:0;
- }
- .creator .indexboxbar
- {
- border-bottom:1px solid #E5E5E5;
- margin-bottom: 25px;
- background: none;
- }
-
-
-
- .creator .header
- {
- width: 100%;
- margin: 0;
- height: auto;
- background-color: #ffffff;
- padding: 10px 0 5px 0;
- overflow: visible;
- border-bottom: solid #E5E5E5 1px;
- z-index:1;
-
-
-
-
-
-
-
-
- position:fixed;
- }
-
-
- .creator .header .content
- {
- }
- .creator .header .qtref
- {
- color: #00732F;
- position: static;
- float: left;
- margin-left: 5px;
- font: bold 18px/1 Arial;
- }
-
- .creator .header .qtref:visited
- {
- color: #00732F;
- }
- .creator .header .qtref:hover
- {
- color: #00732F;
- text-decoration:none;
- }
- .creator .header .qtref span
- {
- background-image: none;
- text-indent: 0;
- text-decoration:none;
- }
-
-
-
-
-
-
- .creator .wrap .toolbar
- {
- display:block;
- padding-top:0px;
- }
-
-
-
- .creator .wrap .breadcrumb ul li {
- font-weight: normal;
- }
-
- .creator .wrap .breadcrumb ul li a {
- /*color: #44a51c;*/
- }
-
- .creator .wrap .breadcrumb ul li.last a {
- /*color: #363534;*/
- }
-
- .creator #narrowmenu ul
- {
- border-bottom:solid 1px #E5E5E5;
- border-left:solid 1px #E5E5E5;
- border-right:solid 1px #E5E5E5;
- }
-
- .creator #narrowmenu li ul {
- margin-top:-15px;
- }
-
-
- .creator .toc {
- margin:10px 20px 10px 10px;
- }
-/* end of creator spec*/
-
-}
-
-/* end of screen media */
-
-/* start of print media */
-
-@media print
-{
- input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft
- {
- display: none;
- background: none;
- }
- .content
- {
- position: absolute;
- top: 0px;
- left: 0px;
- background: none;
- display: block;
- }
-}
-/* end of print media */
diff --git a/doc/src/style/style_ie6.css b/doc/src/style/style_ie6.css
deleted file mode 100644
index 16fb8505..00000000
--- a/doc/src/style/style_ie6.css
+++ /dev/null
@@ -1,54 +0,0 @@
-.indexbox, .indexboxcont, .group {
- zoom: 1;
- height: 1%;
-}
-
-.sidebar {
- margin-left: 3px;
- width: 199px;
- overflow: hidden;
-}
-
-.sidebar .search form {
- position: relative;
-}
-
-.sidebar .search form fieldset {
- position: absolute;
- margin-top: -1px;
-}
-
-.sidebar .search form input#searchstring {
- border: 1px solid #fff;
- height: 18px;
-}
-
-.wrap {
- zoom: 1;
-}
-
-.content,
-.toolbar {
- zoom: 1;
- margin-left: -3px;
- position: relative;
-}
-
-.indexbox {
- clear: both;
-}
-
-.indexboxcont .section {
- zoom: 1;
- float: left;
-}
-
-.indexboxcont .sectionlist {
- zoom: 1;
- float: left;
-}
-
-.wrap .toolbar .toolbuttons li {
- text-indent: 0;
- margin-right: 8px;
-} \ No newline at end of file
diff --git a/doc/src/style/style_ie7.css b/doc/src/style/style_ie7.css
deleted file mode 100644
index afbff5f8..00000000
--- a/doc/src/style/style_ie7.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.indexbox, .indexboxcont, .group {
- min-height: 1px;
-}
-
-.sidebar .search form input#searchstring {
- border: 1px solid #fff;
- height: 17px;
-}
-
-
-.indexboxcont .section {
- zoom: 1;
- float: left;
-}
-
-.indexboxcont .sectionlist {
- zoom: 1;
- float: left;
-}
diff --git a/doc/src/style/style_ie8.css b/doc/src/style/style_ie8.css
deleted file mode 100644
index e69de29b..00000000
--- a/doc/src/style/style_ie8.css
+++ /dev/null
diff --git a/doc/src/style/superfish.css b/doc/src/style/superfish.css
deleted file mode 100644
index a9939090..00000000
--- a/doc/src/style/superfish.css
+++ /dev/null
@@ -1,51 +0,0 @@
-.sf-menu, .sf-menu * {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.sf-menu {
- line-height: 1.0;
-}
-.sf-menu ul {
- position: absolute;
- top: -999em;
- width: 10em; /* left offset of submenus need to match (see below) */
-}
-.sf-menu ul li {
- width: 100%;
-}
-.sf-menu li:hover {
- visibility: inherit; /* fixes IE7 'sticky bug' */
-}
-.sf-menu li {
- float: left;
- position: relative;
-}
-.sf-menu a {
- display: block;
- position: relative;
-}
-.sf-menu li:hover ul,
-.sf-menu li.sfHover ul {
- left: 0;
- top: 2.5em; /* match top ul list item height */
- z-index: 99;
-}
-ul.sf-menu li:hover li ul,
-ul.sf-menu li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li:hover ul,
-ul.sf-menu li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-ul.sf-menu li li:hover li ul,
-ul.sf-menu li li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li li:hover ul,
-ul.sf-menu li li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
diff --git a/doc/src/style/superfish_skin.css b/doc/src/style/superfish_skin.css
deleted file mode 100644
index 112b26ae..00000000
--- a/doc/src/style/superfish_skin.css
+++ /dev/null
@@ -1,83 +0,0 @@
-
-/*** DEMO SKIN ***/
-.sf-menu {
- float: left;
- margin-bottom: 1em;
-}
-.sf-menu a {
- border-left: 1px solid #fff;
- border-top: 1px solid #CFDEFF;
- padding: .75em 1em;
- text-decoration:none;
-}
-.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
- color: #13a;
-}
-.sf-menu li {
- background: #BDD2FF;
-}
-.sf-menu li li {
- background: #AABDE6;
-}
-.sf-menu li li li {
- background: #9AAEDB;
-}
-.sf-menu li:hover, .sf-menu li.sfHover,
-.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
- background: #CFDEFF;
- outline: 0;
-}
-
-/*** arrows **/
-.sf-menu a.sf-with-ul {
- padding-right: 2.25em;
- min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
-}
-.sf-sub-indicator {
- position: absolute;
- display: block;
- right: .75em;
- top: 1.05em; /* IE6 only */
- width: 10px;
- height: 10px;
- text-indent: -999em;
- overflow: hidden;
- background: url('../images/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
-}
-a > .sf-sub-indicator { /* give all except IE6 the correct values */
- top: .8em;
- background-position: 0 -100px; /* use translucent arrow for modern browsers*/
-}
-/* apply hovers to modern browsers */
-a:focus > .sf-sub-indicator,
-a:hover > .sf-sub-indicator,
-a:active > .sf-sub-indicator,
-li:hover > a > .sf-sub-indicator,
-li.sfHover > a > .sf-sub-indicator {
- background-position: -10px -100px; /* arrow hovers for modern browsers*/
-}
-
-/* point right for anchors in subs */
-.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
-.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
-/* apply hovers to modern browsers */
-.sf-menu ul a:focus > .sf-sub-indicator,
-.sf-menu ul a:hover > .sf-sub-indicator,
-.sf-menu ul a:active > .sf-sub-indicator,
-.sf-menu ul li:hover > a > .sf-sub-indicator,
-.sf-menu ul li.sfHover > a > .sf-sub-indicator {
- background-position: -10px 0; /* arrow hovers for modern browsers*/
-}
-
-/*** shadows for all but IE6 ***/
-.sf-shadow ul {
- background: url('../images/shadow.png') no-repeat bottom right;
- padding: 0 8px 9px 0;
- -moz-border-radius-bottomleft: 17px;
- -moz-border-radius-topright: 17px;
- -webkit-border-top-right-radius: 17px;
- -webkit-border-bottom-left-radius: 17px;
-}
-.sf-shadow ul.sf-shadow-off {
- background: transparent;
-}
diff --git a/doc/src/tutorials/penguin.qdoc b/doc/src/tutorials/penguin.qdoc
deleted file mode 100644
index e973090d..00000000
--- a/doc/src/tutorials/penguin.qdoc
+++ /dev/null
@@ -1,106 +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$
-**
-****************************************************************************/
-
-/*!
- \example qt3d/penguin
- \title Loading a 3DS model with Qt3D
-
- This tutorial shows how Qt3D can be used to load a simple
- model object in 3D Studio Max (3DS) format with a perspective
- camera view.
-
- We start by defining a class that inherits from QGLView, which
- provides some basic scene setup logic and 3D camera navigation:
-
- \snippet qt3d/penguin/modelview.h class-defn
-
- Refer first to the \l{Teapot Example} for the basics of using
- the QGLView class, lighting and so on.
-
- When the application starts up, we load the scene from its
- resource file, and store the result in a member variable, so
- we can refer to it in the paint function:
-
- \snippet qt3d/penguin/modelview.cpp initialize
-
- In the teapot example we had to specify appropriate effects but
- the model loader sets appropriate effects on the scene for us.
-
- \snippet qt3d/penguin/modelview.cpp paint
-
- Here in the paint function we call the \c{draw()} function of
- the scene's main object, in order to display the fully
- loaded model.
-
- This was really just two lines of code: one to load the model
- (once off, when the application initialized) and another line to
- display the model (every time the paint function is called).
-
- \image penguin-0-screenshot.png
-
- The result is pretty good for two lines of code, but it could
- stand some improvements.
-
- Here we are looking down onto the top of our penguin's head, and
- even when we stand him on his feet, he is too close to the camera
- to all fit in the frame.
-
- Let's make a few changes to have our penguin display nicely
- when the application opens.
-
- \snippet qt3d/penguin_advanced/modelview.cpp initialize
-
- First of all, let move the camera away from the penguin and up
- so he fits in the frame and we can get a better angle on him,
- when the application loads.
-
- If use dragging and so on in the QGLView this will change the
- camera from these intial settings, but this setup means the camera
- will be well positioned at the moment the application opens.
-
- We don't want to position the camera in the paintGL function,
- because that would defeat QGLViews camera dragging features and
- we would not be able to interact with the view properly.
-
- We'll also save the main object away in a member variable so that
- the overhead of searching the scene is not incurred every paint.
-
- Finally a pose for our penguin is calculated - its a turn around the
- x axis, so he is standing up on his feet; and a turn around the y
- axis, so he shows a bit more of his profile. The pose is
- calculated and stored as a quaternion - we want the x twist first
- so that goes last in the product of the two quaternions.
-
- \snippet qt3d/penguin_advanced/modelview.cpp paint
-
- Now all that remains in the updated paint function is to apply the
- new pose, and then paint the penguin.
-
- \image penguin-screenshot.png
-
- \l{qt3d-examples.html}{Return to Tutorials}.
-*/
diff --git a/doc/src/tutorials/sceneformat.qdoc b/doc/src/tutorials/sceneformat.qdoc
deleted file mode 100644
index 3774b6a1..00000000
--- a/doc/src/tutorials/sceneformat.qdoc
+++ /dev/null
@@ -1,116 +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$
-**
-****************************************************************************/
-
-/*!
- \title Writing a scene format plug-in for Qt3D
- \keyword Scene Format Plugin
- \example sceneformats/obj
-
- Scene format plugins are used to load external 3D model file
- formats like \bold 3DS, \bold obj, and so on. In this tutorial we will
- do a walk-through of the \bold obj scene format plugin to
- demonstrate what is required to add a new format to Qt3D.
-
- Models are loaded by QGLAbstractScene::loadScene(), which locates
- a suitable plug-in for the format, and then asks the plug-in to
- parse the data and create a QGLAbstractScene object that describes
- the 3D objects in the scene.
-
- We start by declaring an instance of QGLSceneFormatPlugin and
- arranging for it to be registered with the Qt plug-in system:
-
- \snippet sceneformats/obj/main.cpp 1
- \snippet sceneformats/obj/main.cpp 4
-
- The two functions we need to implement are
- \l{QGLSceneFormatPlugin::keys()}{keys()} and
- \l{QGLSceneFormatPlugin::create()}{create()}. The first of these
- returns a lower-case list of the file extensions and MIME types
- that are supported by the plug-in:
-
- \snippet sceneformats/obj/main.cpp 2
-
- The create function is called to create the QGLSceneFormatHandler
- which is used to load the model data:
-
- \snippet sceneformats/obj/main.cpp 3
-
- The create function is passed the QIODevice for the data,
- the URL of where the data was found, and the chosen format.
- These parameters can be used by the plug-in to decide which
- handler to return if multiple formats are supported by
- the plug-in. In the case of obj, we always return the same
- handler so we don't need to inspect the passed parameters.
-
- QGLAbstractScene::loadScene() will set the parameters on
- the QGLSceneFormatHandler object and then call
- \l{QGLSceneFormatHandler::read()}{read()}:
-
- \snippet sceneformats/obj/qglobjscenehandler.h 1
- \dots
- \snippet sceneformats/obj/qglobjscenehandler.h 2
-
- The read function will typically construct a QGLBuilder
- for the geometry in the scene and then parse all of the objects,
- materials, textures, and so on. Ultimately, it needs to produce a
- QGLAbstractScene object, populated with QGLSceneNode instances
- for each of the objects in the model file. In our case, we create
- an instance of \c QGLObjScene:
-
- \snippet sceneformats/obj/qglobjscene.h 1
- \dots
- \snippet sceneformats/obj/qglobjscene.h 2
- \dots
- \snippet sceneformats/obj/qglobjscene.h 3
-
- The most important function is the override for
- QGLAbstractScene::objects(), which allows the rest of Qt3D
- to query the full list of objects in the model file.
- The scene object can also override QGLAbstractScene::object()
- if it has an efficient method to quickly look up an object by name.
-
- The scene should also override QGLAbstractScene::mainNode()
- to return the main mesh node in the scene. Usually this is
- the first element in the list returned by QGLAbstractScene::objects()
- but doesn't have to be.
-
- Note: the plug-in does not need to use QGLBuilder and the
- other Qt3D classes to load the model if it doesn't want to.
- It can instantiate subclasses of QGLSceneNode that override
- the draw() method and draws the object using whatever technique
- the plug-in chooses. It just needs to leave the OpenGL state
- in the condition that it found it so that other parts of Qt3D
- will not be confused.
-
- Once you have written a plug-in for your new format, you should
- install it into \c{$QTDIR/plugins/sceneformats}. You can test it
- by running the \c{modelviewer} program and trying to load models
- in your new format. When debugging, it can be useful to set the
- \c{QT_DEBUG_PLUGINS} environment variable to 1.
-
- \l{qt3d-examples.html}{Return to the main Tutorials page}.
-*/
diff --git a/doc/src/tutorials/shaders.qdoc b/doc/src/tutorials/shaders.qdoc
deleted file mode 100644
index dc20099b..00000000
--- a/doc/src/tutorials/shaders.qdoc
+++ /dev/null
@@ -1,388 +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$
-**
-****************************************************************************/
-
-/*!
- \title Using GLSL shaders in QtQuick3D
- \example quick3d/shaders
-
-
- In this tutorial, we will show how to apply QML property animations to
- GLSL shaders in a QtQuick3D application.
-
- Starting with a relatively simple shader program, we are going to
- manipulate various parameters to explain how both the shader and the QML
- integration work (This is quite a lot to start a tutorial with, but we'll
- focus on each small piece of it in turn):
-
- \raw HTML
- <table align="left" width="100%">
- <tr class="qt-code"><td>
- \endraw
- \snippet quick3d/shaders/shader-tutorial.qml 1
- \raw HTML
- </td><td align="right">
- \endraw
- \inlineimage tutorials/shader-tutorial.png
- \raw HTML
- </td></tr>
- </table>
- \endraw
-
- At the highest level, shaders in QtQuick3D are created using the ShaderProgram
- element. The ShaderProgram element in this example has the id \a program,
- and applying it to the teapot is as simple as assigning it to the \c effect
- property of an Item3D derived element.
-
- The two most important properties of the ShaderProgram element are the
- \c vertexShader and \c fragmentShader properties, which are strings
- containing the code for the respective shader programs. Broadly speaking,
- the vertex shader is run on each vertex in a model (for example, the 8
- corners of a cube) to calculate the final position of each point, while the
- fragment shader is run on each pixel visible onscreen to calculate it's
- color.
-
- The other attribute we use in this tutorial is the \c texture property.
- This property is connected to the \c qt_Texture0 attribute in our shader
- programs, and we'll cover how it's used shortly.
-
- \section1 Texture Coordinates and Textures (shader-tutorial-1-textures.qml)
-
- To start with, there are a couple of obvious problems with our starting
- point - the Qt is upside down and back to front, and it's also boring
- (before you ask, the reasons for the image being the wrong way around are
- also boring).
-
- First, let's get the logo the right way up. The key here is the texture
- coordinates. Let's look at it's declaration in the vertex shader for a
- moment: \code attribute highp vec4 qt_MultiTexCoord0; \endcode
-
- The \c attribute declaration indicates that this is a per-vertex value
- that we get from our model. Our teapot has a position, a normal, and
- texture coordinates for each vertex, and qt3d automatically provides
- these to us through the \c qt_Vertex, \c qt_MultiTexCoord0, and \c
- qt_Normal attributes. (we don't care about normals until we get to
- lighting).
-
- The \c mediump tag indicates that we want pretty good accuracy on this
- attribute, but it doesn't need double precision. It's a hint for
- embedded systems to save bandwidth (highp is usually used for positions,
- and lowp is generally only suitable for colors, and the rule of thumb is
- to use as little memory as you can get away with).
-
- \c vec4 indicates that the value is a 4-element vector. Our texture is
- 2D, so we only care about the first two elements, but there are 3D
- textures and cube maps out there.
-
- To fix the image's orientation we can simply reverse the sign when we
- pass the texture coordinate to our fragment shader because the default
- behaviour is for texture coordinates wrap around if they are higher than
- 1.0 or lower than 0.0:
- \code texCoord = -qt_MultiTexCoord0; \endcode
-
- In order to fix the boring, we're going to have to add a bit more QML
- first. We need to add a property to our ShaderProgram element, and a
- matching variable to the shader program. The types match up exactly
- between QML and GLSL, but if the variables have the same name they
- should automatically be hooked up, so we just add this to the
- ShaderProgram element:
- \code property real textureOffsetX : 1.0
- NumberAnimation on textureOffsetX
- {
- running: true; loops: Animation.Infinite
- from: 0.0; to: 1.0;
- duration: 1000
- }
- \endcode
- and we add this to the vertex shader:
- \code uniform mediump float textureOffsetX; \endcode
-
- The final step is to work our new variable into the program, by changing
- the texCoord assignment. We'll add our animated variable to our horizontal
- texture coordinate, which will effectively scroll our texture around our
- teapot:
- \code
- texCoord = vec4(-qt_MultiTexCoord0.s - textureOffsetX,
- -qt_MultiTexCoord0.t,
- 0,0);
- \endcode
-
- Adding an additional texture is done by adding another uniform. The
- ShaderProgram element interprets string properties as URIs for texture
- resources, so adding a second texture is as easy as:
- \code
- property string texture2: "textures/basket.jpg"
- \endcode
- In order to have a smooth transition back and forth, we'll add and animate
- a second property to use to blend the two textures:
- \code
- property real interpolationFactor : 1.0
- SequentialAnimation on interpolationFactor
- {
- running: true; loops: Animation.Infinite
- NumberAnimation {
- from: 0.0; to: 1.0;
- duration: 2000
- }
- PauseAnimation { duration: 500 }
- NumberAnimation {
- from: 1.0; to: 0.0;
- duration: 2000
- }
- PauseAnimation { duration: 500 }
- }
- \endcode
-
- Next we need to use all of that information in the fragment shader:
- \code
- varying highp vec4 texCoord;
- uniform sampler2D qt_Texture0;
- uniform sampler2D texture2;
- uniform mediump float interpolationFactor;
-
- void main(void)
- {
- mediump vec4 texture1Color = texture2D(qt_Texture0, texCoord.st);
- mediump vec4 texture2Color = texture2D(texture2, texCoord.st);
- mediump vec4 textureColor = mix(texture1Color, texture2Color,
- interpolationFactor);
- gl_FragColor = textureColor;
- }
- \endcode
-
- In general, textures needs to have the same name in the shaders as in the
- ShaderProgram element in order to be automatically connected, but \c
- qt_Texture0 is special cased and very slightly faster, so it's good to use
- it first.
-
- \c mix() is another handy built in GLSL function that interpolates linearly
- between two values or vectors. (You can find details of all the built in
- functions in the official OpenGL Shader Language specification available at
- http://www.khronos.org/opengl/ )
-
- Finally, let's make one more change to make this example pop. If you're
- a performance fanatic, it just might have rankled that we padded out our
- texture coordinates with two zeros, and passed them in for processing
- on every single pixel of our teapot.
-
- Let's make use of that space by putting a second set of co-ordinates in
- there to use with our second texture. Let's change our texture assignment
- to this:
- \code
- texCoord.st = vec2(-qt_MultiTexCoord0.s - textureOffsetX,
- -qt_MultiTexCoord0.t);
- texCoord.pq = vec2(-qt_MultiTexCoord0.s + textureOffsetX,
- -qt_MultiTexCoord0.t);
- \endcode
- Now the top half of our vector contains co-ordianates spinning in the
- opposite direction. Back in the fragment shader, we just need use these
- instead for our second texture color, so let's change the \c texture2Color
- assignment to this, and really fix that boring:
- \code
- mediump vec4 texture2Color = texture2D(texture2, texCoord.pq);
- \endcode
-
- \section1 Varying values (shader-tutorial-varying.qml)
-
- The left hand side value is our \c varying attribute \c texCoord.
- \c varying values are how the vertex shader communicates with the
- fragment shader, and the declaration has to be identical in both shaders.
- \c varying values are calculated once for each
- vertex, but the values are interpolated across the shapes. The
- shader-tutorial-varying.qml shows this visually using the Pane
- class and a neat debugging trick - using the texture coordinates as
- a color. Even with only 4 vertexes the texture coordinates are smeared
- smoothly across the shape:
- \table
- \row
- \o \code gl_FragColor = vec4(mod(texCoord.x, 1.0),
- mod(texCoord.y, 1.0), 0.0, 1.0); \endcode
- \o
- \o \image tutorials/shader-tutorial-varying.png
- \endtable
-
-
- \section1 Vertexes and Matrices (shader-tutorial-2-vertex-shader.qml)
-
- Let's go back to the vertex shader. As already mentioned, the
- vertex shader's primary function is to generate the final position of a
- vertex.
-
- First, let's look at \c qt_Vertex. This is the value we're getting out
- of our model, the actual points on our shape. Manipulating this value
- will lets us change the position of the points somewhat independantly.
-
- For this tutorial, we'll create a squashing effect that might work for
- something rising out of water, or something rubbery being squashed down.
-
- What we need to do is create a floor, where vertexes above the floor
- retain their position, and vertexes below it are clamped to (nearly) that
- value. Then we move the model relative to this floor to create a nice
- effect.
-
- We need to use some knowledge that we have about the model for this to
- work - most notably it's height, and it's bottom. A bit of experimenting
- suggests that 2.0 for height and -1.0 for bottom are close enough.
-
- We need to introduce a couple more GLSL things here. \c max() is one of
- the GL SL built in functions, selecting the higher of the two arguments as
- you might expect.
-
- The \c foo.xyzw are called \i twiddles, and are
- convenient and efficient ways to pull out specific elements of vector
- areguments. You can see in this example, that we use twiddles to get out
- the x, z, and w values from our original vector and substitute in our own
- y value. For convenience, there are 3 different sets of twiddles that are
- all equivalent: foo.xyzw (co-ordinates), foo.rgba (colors), and
- foo.stpq (texture coordinates). As far as GLSL is concerned, though,
- they're just vectors, and effectively just commenting your code.
-
- The \c vec4() function will accept whatever combination of values and
- twiddles you throw at it, and mold them back into a 4 element vector.
-
- What this function is doing is moving the model down the screen (which for
- us, here, is along the y axis in the negative direction).
- We draw an imaginary line where the bottom of the model used to be, and if
- the vertex ends up below that line, we move it back to just past the line.
-
- "Just past" is important. Graphics cards get confused if vertexes are too
- close together, and the result is ugly. Try taking out the
- "\c {qt_Vertex.y * 0.01}" if you'd like to see what it looks like.
-
- \code
- float newY = max(qt_Vertex.y - squashFactor * modelSize,
- qt_Vertex.y * 0.01 + modelBottom);
- \endcode
-
-
- \code
- const float modelSize = 2.0;
- const float modelBottom = -1.0;
- float newY = max(qt_Vertex.y - squashFactor * modelSize,
- qt_Vertex.y * 0.01 + modelBottom);
-
- gl_Position = qt_ModelViewProjectionMatrix *
- vec4(qt_Vertex.x, newY, qt_Vertex.zw);
- \endcode
-
- Hopefully, that makes the function of the \c qt_Vertex attribute clear, so
- next we'll look at the Model/View/Projection matrices.
-
- The model matrix is generally used to place an object in a scene. In the
- simplest case, this might just be "up and to the left a bit", but it's
- often inherited from a parent. It's very easy mathematically to combine
- the matrices in such a way that one object is always in the same relative
- position to another ("The hip bones connected to the thigh bone").
-
- The view matrix is generally used much like a camera is in a movie, for
- panning around a whole scene at once. Manipulating the view matrix is also
- commonly used for effects like mirrors.
-
- The projection matrix (\c qt_ProjectionMatrix) functions much like a
- camera does when you take a
- picture, converting all the 3d points in a scene into the 2d points on the
- screen.
-
- We won't be exploring the matrices individually, but let's explore what
- happens if we use the same effect that we just used on the vertex after
- the transformation matrices are applied.
-
- Firstly, we're going to need multiple teapots to see the difference, so
- let's add those in. We want to move them all together, so we'll wrap
- them in an Item3D, and apply our animations to that item instead of
- the teapots directly.
- \code
-
- Item3D {
- z: -8.0
- transform: [
- Rotation3D {
- NumberAnimation on angle {
- running: true; loops: Animation.Infinite
- from: 0; to: 360; duration: 5000
- }
- axis: Qt.vector3d(0, 0, 1.0)
- }
- ]
-
- TutorialTeapot {id: teapot1; effect: program; y:2.0; x:0.0}
- TutorialTeapot {id: teapot2; effect: program; y:-1.0; x:-1.732}
- TutorialTeapot {id: teapot3; effect: program; y:-1.0; x:1.732}
- }
- \endcode
-
- In order to show the difference, what we want to do now is the same sort
- of effect as the previous example, only applied to the positions after
- the matrices have been applied, so our new vertex shader looks like this:
- \code
- attribute highp vec4 qt_Vertex;
- uniform mediump mat4 qt_ModelViewProjectionMatrix;
-
- attribute mediump vec4 qt_MultiTexCoord0;
- varying mediump vec4 texCoord;
-
- void main(void)
- {
- const float modelBottom = -4.0;
-
- vec4 workingPosition = qt_ModelViewProjectionMatrix * qt_Vertex;
- float newY = max(workingPosition.y,
- workingPosition.y * 0.15 + modelBottom);
- workingPosition.y = newY;
- gl_Position = workingPosition;
-
- texCoord = -qt_MultiTexCoord0;
- }
- \endcode
-
- There's nothing new here, we're just tweaking a few numbers for the new
- effect and manipulating the vertexes after the matrices have been applied.
- The result is an imaginary line across the whole scene, and when any part
- of any teapot dips below that line we deform it as though it's being
- squished or refracted.
-
- The obvious difference is that when you're manipulating \c qt_Vertex,
- the inputs, outputs, and changes are relative to the model. After the
- matrices are applied,
-
- We'll leave adding a pretty watery surface as an exercise for the reader.
-
-
-
- \section1 Lighting
-
- Finally, we'll add lighting. We've left lighting till last because it
- requires a lot of additional variables, and it is not within the scope of
- this tutorial to explore them all individually. There are many better
- resources readily available, and the techniques already covered can be
- used to explore each element.
-
-
- For further reading, the full specification for the OpenGL Shader Language
- is available from the Khronos website at http://www.khronos.org/opengl/
-
- \l{qt3d-examples.html}{Return to the main Tutorials page}.
-*/
diff --git a/doc/src/tutorials/simpleobject.qdoc b/doc/src/tutorials/simpleobject.qdoc
deleted file mode 100644
index db6c3be3..00000000
--- a/doc/src/tutorials/simpleobject.qdoc
+++ /dev/null
@@ -1,106 +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$
-**
-****************************************************************************/
-
-/*!
- \title Applying Transformations and Materials
- \keyword Object Effects
- \example qt3d/cube4
-
- In this tutorial we will apply transformations and materials to a
- simple cube object to demonstrate how to modify the QGLPainter
- state to achieve different effects.
-
- \section2 Cube in QtQuick3D
-
- It is quite simple to achieve these effects in QtQuick3D:
-
- \snippet quick3d/cube/qml/cube.qml 1
-
- \section2 Cube in Qt3D
-
- In the C++ world we start by declaring a view class to show our cube
- on the screen:
-
- \snippet qt3d/cube1/cubeview.h 1
-
- QGLView provides most of the logic for initializing the view,
- setting the camera position, and handling navigation via
- keyboard and mouse events. In the constructor we use
- QGLBuilder to create the geometry for the cube object that
- we will be using in later steps:
-
- \snippet qt3d/cube1/cubeview.cpp 1
-
- Then it is a simple matter to draw the object in our \c{paintGL()}
- method:
-
- \snippet qt3d/cube1/cubeview.cpp 2
-
- If we run the program now, we get the following output, which isn't
- very cube-like:
-
- \image tutorials/cube1-screenshot.png
-
- The problem is that we are looking at the cube straight onto its
- front face. So the rest of the cube is hidden from our view and
- it looks like a square. Let's modify the modelview transformation
- matrix a little bit to apply a 45 degree rotation around the
- axis (1, 1, 1):
-
- \snippet qt3d/cube2/cubeview.cpp 2
-
- Now the results are a little better:
-
- \image tutorials/cube2-screenshot.png
-
- The cube is still a little odd-looking however. This is because
- up until now we have been using the default flat color effect
- in QGLPainter that colors the faces with a uniform color
- (white in this case). So let's change to a lit material effect
- with a nice green color:
-
- \snippet qt3d/cube3/cubeview.cpp 2
-
- That's much better; now it looks like a cube:
-
- \image tutorials/cube3-screenshot.png
-
- To complete this tutorial, let's make the cube a little more
- interesting by adding a texture to the side:
-
- \snippet qt3d/cube4/cubeview.h 1
- \dots
- \snippet qt3d/cube4/cubeview.h 2
- \snippet qt3d/cube4/cubeview.cpp 1
- \dots
- \snippet qt3d/cube4/cubeview.cpp 2
- \snippet qt3d/cube4/cubeview.cpp 3
-
- \image tutorials/cube4-screenshot.png
-
- \l{qt3d-examples.html}{Return to the main Tutorials page}.
-*/