Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquick3ddebugsettings_p.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5
6#ifndef QQUICK3DDEBUGSETTINGS_H
7#define QQUICK3DDEBUGSETTINGS_H
8
9//
10// W A R N I N G
11// -------------
12//
13// This file is not part of the Qt API. It exists purely as an
14// implementation detail. This header file may change from version to
15// version without notice, or even be removed.
16//
17// We mean it.
18//
19
20#include <QtQuick3D/private/qquick3dobject_p.h>
21
23
25{
26 Q_OBJECT
27 Q_PROPERTY(QQuick3DMaterialOverrides materialOverride READ materialOverride WRITE setMaterialOverride NOTIFY materialOverrideChanged)
28 Q_PROPERTY(bool wireframeEnabled READ wireframeEnabled WRITE setWireframeEnabled NOTIFY wireframeEnabledChanged)
29 Q_PROPERTY(bool drawDirectionalLightShadowBoxes READ drawDirectionalLightShadowBoxes WRITE
30 setDrawDirectionalLightShadowBoxes NOTIFY drawDirectionalLightShadowBoxesChanged FINAL REVISION(6, 8))
31 Q_PROPERTY(bool drawPointLightShadowBoxes READ drawPointLightShadowBoxes WRITE setDrawPointLightShadowBoxes NOTIFY
32 drawPointLightShadowBoxesChanged FINAL REVISION(6, 9))
33 Q_PROPERTY(bool drawShadowCastingBounds READ drawShadowCastingBounds WRITE setDrawShadowCastingBounds NOTIFY drawShadowCastingBoundsChanged FINAL REVISION(6, 8))
34 Q_PROPERTY(bool drawShadowReceivingBounds READ drawShadowReceivingBounds WRITE setDrawShadowReceivingBounds NOTIFY drawShadowReceivingBoundsChanged FINAL REVISION(6, 8))
35 Q_PROPERTY(bool drawCascades READ drawCascades WRITE setDrawCascades NOTIFY drawCascadesChanged FINAL REVISION(6, 8))
36 Q_PROPERTY(bool drawSceneCascadeIntersection READ drawSceneCascadeIntersection WRITE setDrawSceneCascadeIntersection NOTIFY drawSceneCascadeIntersectionChanged FINAL REVISION(6, 8))
37 Q_PROPERTY(bool disableShadowCameraUpdate READ disableShadowCameraUpdate WRITE setDisableShadowCameraUpdate NOTIFY disableShadowCameraUpdateChanged FINAL REVISION(6, 8))
38 Q_PROPERTY(bool drawCulledObjects READ drawCulledObjects WRITE setDrawCulledObjects NOTIFY drawCulledObjectsChanged FINAL REVISION(6, 11))
39
40 QML_NAMED_ELEMENT(DebugSettings)
41public:
42 enum QQuick3DMaterialOverrides {
43 None,
44 BaseColor,
45 Roughness,
46 Metalness,
47 Diffuse,
48 Specular,
49 ShadowOcclusion,
50 Emission,
51 AmbientOcclusion,
52 Normals,
53 Tangents,
54 Binormals,
55 F0
56 };
57 Q_ENUM(QQuick3DMaterialOverrides)
58
59 explicit QQuick3DDebugSettings(QObject *parent = nullptr);
60
61 QQuick3DMaterialOverrides materialOverride() const;
62 void setMaterialOverride(QQuick3DMaterialOverrides newMaterialOverride);
63
64 bool wireframeEnabled() const;
65 void setWireframeEnabled(bool newWireframeEnabled);
67 Q_REVISION(6, 8) bool drawDirectionalLightShadowBoxes() const;
68 Q_REVISION(6, 8) void setDrawDirectionalLightShadowBoxes(bool newDrawDirectionalLightShadowBoxes);
70 Q_REVISION(6, 9) bool drawPointLightShadowBoxes() const;
71 Q_REVISION(6, 9) void setDrawPointLightShadowBoxes(bool newDrawPointLightShadowBoxes);
73 Q_REVISION(6, 8) bool drawShadowCastingBounds() const;
74 Q_REVISION(6, 8) void setDrawShadowCastingBounds(bool newDrawShadowCastingBounds);
76 Q_REVISION(6, 8) bool drawShadowReceivingBounds() const;
77 Q_REVISION(6, 8) void setDrawShadowReceivingBounds(bool newDrawShadowReceivingBounds);
79 Q_REVISION(6, 8) bool drawCascades() const;
80 Q_REVISION(6, 8) void setDrawCascades(bool newDrawCascades);
82 Q_REVISION(6, 8) bool drawSceneCascadeIntersection() const;
83 Q_REVISION(6, 8) void setDrawSceneCascadeIntersection(bool newDrawSceneCascadeIntersection);
85 Q_REVISION(6, 8) bool disableShadowCameraUpdate() const;
86 Q_REVISION(6, 8) void setDisableShadowCameraUpdate(bool newDisableShadowCameraUpdate);
88 Q_REVISION(6, 11) bool drawCulledObjects() const;
89 Q_REVISION(6, 11) void setDrawCulledObjects(bool newDrawCulledObjects);
91Q_SIGNALS:
92 void materialOverrideChanged();
93 void wireframeEnabledChanged();
94 Q_REVISION(6, 8) void drawDirectionalLightShadowBoxesChanged();
95 Q_REVISION(6, 9) void drawPointLightShadowBoxesChanged();
96 Q_REVISION(6, 8) void drawShadowCastingBoundsChanged();
97 Q_REVISION(6, 8) void drawShadowReceivingBoundsChanged();
98 Q_REVISION(6, 8) void drawCascadesChanged();
99 Q_REVISION(6, 8) void drawSceneCascadeIntersectionChanged();
100 Q_REVISION(6, 8) void disableShadowCameraUpdateChanged();
101 Q_REVISION(6, 11) void drawCulledObjectsChanged();
102 void changed();
103
104private:
105 void update();
106 QQuick3DMaterialOverrides m_materialOverride = None;
107
108 bool m_wireframeEnabled = false;
109 bool m_drawDirectionalLightShadowBoxes = false;
110 bool m_drawPointLightShadowBoxes = false;
111 bool m_drawShadowCastingBounds = false;
112 bool m_drawShadowReceivingBounds = false;
113 bool m_drawCascades = false;
114 bool m_drawSceneCascadeIntersection = false;
115 bool m_disableShadowCameraUpdate = false;
116 bool m_drawCulledObjects = false;
117};
118
119QT_END_NAMESPACE
120
121#endif // QQUICK3DDEBUGSETTINGS_H
Combined button and popup list for selecting options.