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
qquick3dxrmanager_visionos_p.h
Go to the documentation of this file.
1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4#ifndef QQUICK3DXRVISIONOSRENDERMANAGER_P_H
5#define QQUICK3DXRVISIONOSRENDERMANAGER_P_H
6
7#include <QtQuick3DXr/private/qtquick3dxrglobal_p.h>
8#include <QObject>
9#import <CompositorServices/CompositorServices.h>
10#import <Spatial/Spatial.h>
11#import <ARKit/ARKit.h>
12
13//
14// W A R N I N G
15// -------------
16//
17// This file is not part of the Qt API. It exists purely as an
18// implementation detail. This header file may change from version to
19// version without notice, or even be removed.
20//
21// We mean it.
22//
23
25
26class QQuickWindow;
32
34{
35 Q_DECLARE_PUBLIC(QQuick3DXrManager)
36public:
37 enum class RenderState {
38 Paused,
39 Running,
41 };
42
45
47
48 bool initialize();
50 bool isReady() const;
51
54
56
58
59 void teardown();
60
62 bool isMultiViewRenderingEnabled() const { return false; }
63 bool isMultiViewRenderingSupported() const { return false; }
64
66 bool isPassthroughEnabled() const { return false; }
67 bool supportsPassthrough() const { return false; }
68
71
73 bool isDepthSubmissionEnabled() const { return true; }
74
75 [[nodiscard]] bool isValid() const { return true; }
76
78
79 cp_layer_renderer_t layerRenderer() const;
80
82 ar_device_anchor_t createPoseForTiming(cp_frame_timing_t timing);
83
85
87
88 QStringList enabledExtensions() const { return {}; }
91
93
95
98
99private:
100 QQuick3DXrManager *q_ptr = nullptr;
101 QRhiTexture *m_rhiDepthTexture = nullptr;
102 QPointer<QQuick3DXrInputManager> m_inputManager;
103 QPointer<QQuick3DXrAnchorManager> m_anchorManager;
104 ar_session_t m_arSession;
105 ar_world_tracking_provider_t m_worldTrackingProvider = nullptr;
106 bool m_isGraphicsInitialized = false;
107};
108
110
111#endif // QQUICK3DXRVISIONOSRENDERMANAGER_P_H
QQuick3DXrManagerPrivate(QQuick3DXrManager &manager)
void setupWindow(QQuickWindow *window)
static QQuick3DXrManagerPrivate * get(QQuick3DXrManager *manager)
bool finalizeGraphics(QRhi *rhi)
QVersionNumber runtimeVersion() const
QtQuick3DXr::ReferenceSpace getReferenceSpace() const
void setReferenceSpace(QtQuick3DXr::ReferenceSpace newReferenceSpace)
cp_layer_renderer_t layerRenderer() const
ar_device_anchor_t createPoseForTiming(cp_frame_timing_t timing)
bool setupGraphics(QQuickWindow *window)
void setDepthSubmissionEnabled(bool enable)
QString errorString() const
void setSamples(int samples)
bool isGraphicsInitialized() const
void setMultiviewRenderingEnabled(bool enable)
QString runtimeName() const
void setPassthroughEnabled(bool enable)
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
\inmodule QtGui
Definition qrhi.h:895
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
Definition qrhi.h:1805
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Combined button and popup list for selecting options.
GLsizei samples
GLboolean enable
#define Q_SIGNALS
aWidget window() -> setWindowTitle("New Window Title")
[2]
QNetworkAccessManager manager