Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qt3dxr-overview.qdoc
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial
3/*!
4 \page qtxr-overview.html
5 \title \qxr Overview
6 \brief This page describes the architecture and features of this module and
7 is intended for developers.
8
9 \qxr allows you to leverage the many features of the Qt framework while still
10 being able to deploy a native application to a compatible VR or XR headset. Or
11 run an application on a host that streams to a headset.
12
13 \section1 Concepts and Technologies
14 There are many concepts and technologies in the fragmented XR technology landscape.
15 This section will define and distinguish between key concepts essential to
16 understanding \qxr.
17
18 \section2 Types of immersion
19
20 Here, we talk about the different immersion levels that exist.
21
22 \section3 Virtual Reality (VR)
23
24 Perhaps the first and most ambitious level of immersion, replacing a person's visual
25 and auditory input with a computer-generated environment that matches the motion of
26 their head, eyes, or both.
27
28 \section3 Extended Reality (XR)
29
30 \note Sometimes referred to as Spatial Reality
31
32 Coined initially as augmented reality (AR), then mixed reality (MR), this type of
33 immersion combines virtual information (either 2D or 3D content) with live visual
34 information of the user's real-world environment. It can provide the information
35 as an overlay on a translucent screen or onto a display that masks the real world entirely.
36
37 \section2 Head-mounted displays and degrees of freedom
38
39 //!TODO Add images explaining 3 DOF 6 DOF and how that applies to head-mounted displays.
40
41 \section2 Interaction Types
42
43 \section3 Controllers
44
45 \section3 Hand tracking
46
47 \section3 Body tracking
48
49 \section1 Marketing jargon
50
51 //!TODO
52
53 \section1 Under the hood
54
55 It is essential that developers understand the API platform landscape in the XR world.
56 //!TODO
57 //!TODOOpenXR, OpenXR implementations, OpenXR vs. the real underlying APIs (evolution, OpenVR,
58 //!TODOstandardization, concepts such as API versus runtime.
59 //!TODO(see \l https://registry.khronos.org/OpenXR/specs/1.1/html/xrspec.html#_what_is_openxr ), etc.)
60
61 //!TODO\list
62 //!TODO \li The relation to 3D graphics APIs.
63 //!TODO \li Practical implications, OpenXR headers, loader library, extensions
64 //!TODO (link to Khronos upstream repo), explain the basic build process.
65 //!TODO //!TODO \li Explain the vendor-specific loader issue and the need, for the time being,
66 //!TODO to use vendor-specific libraries during the Qt and application build process.
67 //!TODO \li Advanced (smaller priority since PCVR is not our primary focus with the Quest 3):
68 //!TODO \list
69 //!TODO \li PCVR vs. native application on the device story.
70 //!TODO \li Wired and wireless streaming solutions. With concrete examples
71 //!TODO \endlist
72 //!TODO (e.g. demonstrate that Quest 3 can be used in both ways, while, for example, Varjo is a
73 //!TODO PCVR-only solution)
74 //!TODO \li Non-OpenXR-based platforms: a brief introduction to Apple's Vision Pro architecture.
75
76 //!TODO Two good resources are the old readme to be fully incorporated into the docs eventually
77 //!TODO\l https://git.qt.io/annichol/qtquick3dxr/-/blob/6.7/README.md?ref_type=heads and
78 //!TODO\l https://github.com/mbucchia/VirtualDesktop-OpenXR/wiki is an excellent introduction
79 //!TODOto the PCVR world.
80 //!TODO\endlist
81
82 \section1 Support
83
84 The support case for devices in this area is evolving rapidly as the market
85 expands, support is added when parity exists between two types of headsets.
86
87 Currently, this is split between OpenXR, Apple, and Google/Samsung devices.
88
89 \table
90 \header Feature Matrix
91 \header \li Feature \li Apple \li Meta \li Samsung
92 \row \li Pass-through \li No \li Yes \li NA
93 \row \li Controller input \li No \li No \li NA
94 \row \li \li No \li No \li NA
95 \row \li Haptic Feedback \li No \li No \li NA
96 \row \li Hand Interaction \li No \li No \li NA
97 \row \li Body Tracking \li No \li No \li NA
98 \endtable
99
100 The OpenXR SDK for your target headset and if developing a native application for an
101 Android-based headset, you will need \l{Qt for Android}.
102
103 \section1 Where to go from here?
104
105 Head to the \l{\qxr Quick Starter Guide}, \l{\qxr Examples}{examples},
106 or head back to the \l{\qxr}{home page} where you will find what's new and
107 other important information in this version.
108
109*/