aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick3d/doc/src/xr/qt3dxr-overview.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick3d/doc/src/xr/qt3dxr-overview.qdoc')
-rw-r--r--src/quick3d/doc/src/xr/qt3dxr-overview.qdoc109
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.
+
+*/