/****************************************************************************
**
** Copyright (C) 2019 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Design Studio documentation.
**
** 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.
**
****************************************************************************/

/*!
    \page studio-3d-components.html
    \previouspage studio-3d-view.html
    \nextpage studio-3d-node.html

    \title Using 3D Components

    To use 3D components, you need to first add the required modules to your
    project in \l Library > \uicontrol Components > \inlineimage plus.png
    . For more information, see \l{Adding and Removing Modules}. You can then
    add 3D components to your scene by dragging-and-dropping them from
    \uicontrol Library > \uicontrol Components > \uicontrol {Qt Quick 3D} to
    \l {3D Editor} or to a 3D view in \l Navigator.

    \note Using 3D components will affect the performance of your UI. You should
    not use 3D components if the same results can be achieved using 2D
    components.

    To edit 3D components, select the component in \uicontrol {3D Editor} or in
    \uicontrol Navigator and set its properties in the \l Properties view.

    \section1 Getting Started Videos

    The following video shows you how to add the components included in the
    \uicontrol {Qt Quick 3D} module, such as 3D models, cameras, and lights,
    to your scene:
    \youtube u3kZJjlk3CY

    See the next video to learn more about the custom shader utilities, 3D
    effects, and materials:
    \youtube bMXeeQw6BYs

    \section1 More Information about 3D Components

    \list
        \li \l {Setting Group Properties}

            You can set the opacity, visibility, and transform properties
            of all 3D components.
        \li \l {Adding 3D Models}

            You can use the model component to load static mesh data from
            storage or one of the built-in primitive types: cube, cone,
            cylinder, plane (rectangle), or sphere. You can attach materials to
            meshes and sub-meshes.
        \li \l {Using Materials and Shaders}

            You can use materials and shaders to define how component surfaces
            are rendered in a scene and during live preview.
        \li \l {Attaching Textures to Materials}

            You can use a Texture component to specify an image and how it is
            mapped to meshes in a 3D scene. Texture components can use image
            data either from a file or a Qt Quick QML type.
        \li \l {Using 3D Materials}

            You can apply a set of predefined 3D materials on your models.
        \li \l {Applying 3D Effects}

            You can use 3D effect components to generate post-processing
            effects.
        \li \l {Using Custom Shaders}

            You can use 3D shader utilities to construct your own effects and
            materials.
        \li \l{Creating Custom Effects and Materials}

            If the ready-made 3D effects and materials don't meet your needs,
            you can use 3D shader utilities to construct your own effects and
            materials.
        \li \l{Using Lights}

            You can use several light types as the source of lighting in a
            scene and set their properties.
        \li \l {Using Scene Camera}

            To project a 3D scene to a 2D viewport, such as \l {Form Editor},
            it is necessary to view the scene from a camera. You can select the
            camera type and set its properties.
        \li \l {Setting Scene Environment}

            You can use the SceneEnvironment component to specify how the scene
            is rendered globally.
     \endlist
*/
