diff options
Diffstat (limited to 'src/quick3d/doc/src/xr/qt3dxr-overview.qdoc')
-rw-r--r-- | src/quick3d/doc/src/xr/qt3dxr-overview.qdoc | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/src/quick3d/doc/src/xr/qt3dxr-overview.qdoc b/src/quick3d/doc/src/xr/qt3dxr-overview.qdoc new file mode 100644 index 00000000..de8a71a6 --- /dev/null +++ b/src/quick3d/doc/src/xr/qt3dxr-overview.qdoc @@ -0,0 +1,109 @@ +// Copyright (C) 2021 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial +/*! + \page qtxr-overview.html + \title \qxr Overview + \brief This page describes the architecture and features of this module and + is intended for developers. + + \qxr allows you to leverage the many features of the Qt framework while still + being able to deploy a native application to a compatible VR or XR headset. Or + run an application on a host that streams to a headset. + + \section1 Concepts and Technologies + There are many concepts and technologies in the fragmented XR technology landscape. + This section will define and distinguish between key concepts essential to + understanding \qxr. + + \section2 Types of immersion + + Here, we talk about the different immersion levels that exist. + + \section3 Virtual Reality (VR) + + Perhaps the first and most ambitious level of immersion, replacing a person's visual + and auditory input with a computer-generated environment that matches the motion of + their head, eyes, or both. + + \section3 Extended Reality (XR) + + \note Sometimes referred to as Spatial Reality + + Coined initially as augmented reality (AR), then mixed reality (MR), this type of + immersion combines virtual information (either 2D or 3D content) with live visual + information of the user's real-world environment. It can provide the information + as an overlay on a translucent screen or onto a display that masks the real world entirely. + + \section2 Head-mounted displays and degrees of freedom + + //!TODO Add images explaining 3 DOF 6 DOF and how that applies to head-mounted displays. + + \section2 Interaction Types + + \section3 Controllers + + \section3 Hand tracking + + \section3 Body tracking + + \section1 Marketing jargon + + //!TODO + + \section1 Under the hood + + It is essential that developers understand the API platform landscape in the XR world. + //!TODO + //!TODOOpenXR, OpenXR implementations, OpenXR vs. the real underlying APIs (evolution, OpenVR, + //!TODOstandardization, concepts such as API versus runtime. + //!TODO(see \l https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#_what_is_openxr ), etc.) + + //!TODO\list + //!TODO \li The relation to 3D graphics APIs. + //!TODO \li Practical implications, OpenXR headers, loader library, extensions + //!TODO (link to Khronos upstream repo), explain the basic build process. + //!TODO //!TODO \li Explain the vendor-specific loader issue and the need, for the time being, + //!TODO to use vendor-specific libraries during the Qt and application build process. + //!TODO \li Advanced (smaller priority since PCVR is not our primary focus with the Quest 3): + //!TODO \list + //!TODO \li PCVR vs. native application on the device story. + //!TODO \li Wired and wireless streaming solutions. With concrete examples + //!TODO \endlist + //!TODO (e.g. demonstrate that Quest 3 can be used in both ways, while, for example, Varjo is a + //!TODO PCVR-only solution) + //!TODO \li Non-OpenXR-based platforms: a brief introduction to Apple's Vision Pro architecture. + + //!TODO Two good resources are the old readme to be fully incorporated into the docs eventually + //!TODO\l https://git.qt.io/annichol/qtquick3dxr/-/blob/6.7/README.md?ref_type=heads and + //!TODO\l https://github.com/mbucchia/VirtualDesktop-OpenXR/wiki is an excellent introduction + //!TODOto the PCVR world. + //!TODO\endlist + + \section1 Support + + The support case for devices in this area is evolving rapidly as the market + expands, support is added when parity exists between two types of headsets. + + Currently, this is split between OpenXR, Apple, and Google/Samsung devices. + + \table + \header Feature Matrix + \header \li Feature \li Apple \li Meta \li Samsung + \row \li Pass-through \li No \li Yes \li NA + \row \li Controller input \li No \li No \li NA + \row \li \li No \li No \li NA + \row \li Haptic Feedback \li No \li No \li NA + \row \li Hand Interaction \li No \li No \li NA + \row \li Body Tracking \li No \li No \li NA + \endtable + + The OpenXR SDK for your target headset and if developing a native application for an + Android-based headset, you will need \l{Qt for Android}. + + \section1 Where to go from here? + + Head to the \l{\qxr Quick Starter Guide}, \l{\qxr Examples}{examples}, + or head back to the \l{\qxr}{home page} where you will find what's new and + other important information in this version. + +*/ |