/****************************************************************************
**
** Copyright (C) 2019 Klaralvdalens Datakonsult AB (KDAB).
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $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$
**
****************************************************************************/

/*!
    \example scene3dview
    \title Qt 3D: Scene3DView QML Example
    \ingroup qt3d-examples-qml
    \brief A QML application that demonstrates visualizing multiple 3D scenes
    using Scene3D and Scene3DView.

    \image scene3dview.png

    This example demonstrates visualizing multiple 3D scenes from a Qt Quick
    application usinc Scene3D and Scene3DView. Each 3D scene contains a single
    active camera and a single active light source. Visualized data is assumed
    to be at a fixed location.

    \include examples-run.qdocinc

    \section1 Visualizing 3D Scenes

    First we set up a Scene3D instance that will be required for our
    Scene3DView instanced.

    \snippet scene3dview/main.qml 0

    Then we instanciate our Scene3DView instances and make them reference the
    Scene3D. We also provide a root Entity for each Scene3DView with a \e
    scene3dview/AnimatedEntity.qml.

    \snippet scene3dview/main.qml 1

    Care has to be taken that only the first Scene3DView clears the color
    buffer. We don't want each Scene3DView to clear the screen as that would
    erase content for all but the last Scene3DView.

    \snippet scene3dview/main.qml 1.1
*/
