summaryrefslogtreecommitdiffstats
path: root/src/api/studio3d/doc/src/gettingstarted.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/studio3d/doc/src/gettingstarted.qdoc')
-rw-r--r--src/api/studio3d/doc/src/gettingstarted.qdoc117
1 files changed, 117 insertions, 0 deletions
diff --git a/src/api/studio3d/doc/src/gettingstarted.qdoc b/src/api/studio3d/doc/src/gettingstarted.qdoc
new file mode 100644
index 0000000..9289b54
--- /dev/null
+++ b/src/api/studio3d/doc/src/gettingstarted.qdoc
@@ -0,0 +1,117 @@
+/****************************************************************************
+**
+** Copyright (C) 2019 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** 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. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qt3dstudio-opengl-runtime-gettingstarted.html
+ \title Getting Started
+
+ The \RUNTIME provides C++ and QML APIs for integrating Qt 3D
+ Studio scenes into Qt applications, as well as the viewer application that
+ is used in combination with the Qt 3D Studio application during the design
+ phase.
+
+ Below is an example scene in the Qt 3D Studio application.
+
+ \image intro-editor.png
+
+ During the design phase, the standalone viewer is typically launched from
+ the editor several times to check and verify the presentation in the
+ runtime.
+
+ \image intro-viewer.png
+
+ Once the design is done and the \c{.uia}, \c{.uip}, and other asset files
+ are available, these can be loaded, rendered, and manipulated in Qt
+ applications. This is done via the APIs provided in the \c studio3d
+ module and the \c QtStudio3D.OpenGL QML plugin.
+
+ Below is the same scene loaded into a simple Qt Quick application
+ (the \l{Qt 3D Studio Runtime: Simple QML Example}{simpleqml
+ example}) that composes the 3D content with the other Qt Quick
+ items, for example the ones provided by \l{Qt Quick Controls
+ 2}. In addition to displaying the presentation, the application
+ can also control many aspects of it (slides, timeline, object
+ properties) and can react on certain conditions, such as when a 3D
+ object is clicked on (picked) by mouse or touch input.
+
+ \image intro-app.png
+
+ \section1 Rendering Scenes
+
+ APIs are provided for the following Qt UI technologies:
+
+ \list
+
+ \li Qt Quick: here applications import QtStudio3D.OpenGL \QtVer which
+ provides the \l [QML] Studio3D QML type, a Qt Quick item that can be
+ added to Qt Quick scenes. Under the hood this is similar to adding a
+ \l [QML] Scene3D (when working directly with the lower level Qt 3D
+ framework) or a custom item based on \l QQuickFramebufferObject into
+ the scene.
+
+ \li QWindow or offscreen render targets (OpenGL texture): Q3DSSurfaceViewer
+ can be used both to render to an on-screen QWindow, as well as off-screen
+ into an OpenGL texture. The latter allows reading back and saving the
+ frames, to generate pre-rendered video sequences for example.
+
+ \endlist
+
+ \section1 Manipulating Scenes
+
+ Rendering Qt 3D Studio scenes is only part of the story since many scenes
+ are not static and will not just display all their contents as they were
+ done by designers in the Qt 3D Studio application. Rather, properties of
+ scene objects (for example, the rotation property of a 3D model, or the
+ diffuse color of the material associated with such a model) may need to be
+ changed dynamically, at run time. The timeline or the current slide may
+ also need to be adjusted based on the user's actions or other application
+ state.
+
+ Above functionality is exposed via the following types:
+
+ \table
+ \header
+ \li C++ Class
+ \li QML Type
+ \row
+ \li Q3DSPresentation
+ \li \l [QML] Presentation
+ \row
+ \li Q3DSElement
+ \li \l Element
+ \row
+ \li Q3DSSceneElement
+ \li \l [QML] SceneElement
+ \row
+ \li Q3DSDataInput
+ \li \l [QML] DataInput
+
+ \endtable
+
+ Advanced scene manipulation (for example, dynamically spawning and
+ removing objects in a 3D scene) will be introduced in future versions.
+*/