// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \title Dice
    \ingroup qtquickdemos
    \example demos/dice
    \brief A dice throwing application using Qt Quick 3D Physics and other
    Qt Modules.
    \examplecategory {Application Examples}
    \examplecategory {Mobile}
    \meta {tag} {quick,3d,physics, multimedia, sensors}
    \meta {docdependencies} {QtQuick3DPhysics,QtMultimedia,QtSensors}

    \image dice-screenshot.webp

    \section1 Overview

    This example application allows you to roll some dice on a table. It's
    implemented with QML and relies on a number of Qt modules that are detailed
    in the following sections.

    This particular example is also available in the google play store as
    Qt Dice.

    As with any Qt example you can of course still build the application yourself
    for your target of choice.

    \section1 Simulating the physics of rolling dice

    \e Dice demonstrates using \l{Qt Quick 3D Physics} for the physical simulation
    of dice and a wooden table. The rendering is done with components from
    \l{Qt Quick 3D}. For information on how this can be achieved, see the
    \l{Qt Quick 3D Physics - Custom Shapes Example}.

    \section1 Using sensor input to trigger a roll

    On compatible targets, using \l{Qt Sensors} API enables using
    accelerometer output to detect when the device is shaken, triggering a dice
    roll. For more information on using an accelerometer, see the
    \l{Sensors Showcase} example.

    \section1 Adding sound effects

    Using \l{Qt Multimedia}, sound effects are added for a more immersive
    experience. See the \l{SoundEffect} QML type more for information.

    \section1 Implementing a UI for changing simulation settings

    A \l{Qt Quick} UI is provided for configuring the physical material of
    the simulated dice, the magnitude of gravity, and the number and size of dice.

    \include examples-run.qdocinc

    \note The example makes use of the \l{Qt Quick 3D}, \l{Qt Multimedia},
    \l{Qt Quick 3D Physics} and \l{Qt Sensors} modules which are separate items
    in the \l{Get and Install Qt}{Qt Online Installer}. If the example fails to
    configure, please make sure that you have these required packages installed.

*/
