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
4#ifndef QQUICK3DDEBUGSETTINGS_H
5#define QQUICK3DDEBUGSETTINGS_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtQuick3D/private/qquick3dobject_p.h>
19
21
23{
24 Q_OBJECT
25 Q_PROPERTY(QQuick3DMaterialOverrides materialOverride READ materialOverride WRITE setMaterialOverride NOTIFY materialOverrideChanged)
26 Q_PROPERTY(bool wireframeEnabled READ wireframeEnabled WRITE setWireframeEnabled NOTIFY wireframeEnabledChanged)
27 Q_PROPERTY(bool drawDirectionalLightShadowBoxes READ drawDirectionalLightShadowBoxes WRITE
28 setDrawDirectionalLightShadowBoxes NOTIFY drawDirectionalLightShadowBoxesChanged FINAL REVISION(6, 8))
29 Q_PROPERTY(bool drawPointLightShadowBoxes READ drawPointLightShadowBoxes WRITE setDrawPointLightShadowBoxes NOTIFY
30 drawPointLightShadowBoxesChanged FINAL REVISION(6, 9))
31 Q_PROPERTY(bool drawShadowCastingBounds READ drawShadowCastingBounds WRITE setDrawShadowCastingBounds NOTIFY drawShadowCastingBoundsChanged FINAL REVISION(6, 8))
32 Q_PROPERTY(bool drawShadowReceivingBounds READ drawShadowReceivingBounds WRITE setDrawShadowReceivingBounds NOTIFY drawShadowReceivingBoundsChanged FINAL REVISION(6, 8))
33 Q_PROPERTY(bool drawCascades READ drawCascades WRITE setDrawCascades NOTIFY drawCascadesChanged FINAL REVISION(6, 8))
34 Q_PROPERTY(bool drawSceneCascadeIntersection READ drawSceneCascadeIntersection WRITE setDrawSceneCascadeIntersection NOTIFY drawSceneCascadeIntersectionChanged FINAL REVISION(6, 8))
35 Q_PROPERTY(bool disableShadowCameraUpdate READ disableShadowCameraUpdate WRITE setDisableShadowCameraUpdate NOTIFY disableShadowCameraUpdateChanged FINAL REVISION(6, 8))
36 Q_PROPERTY(bool drawCulledObjects READ drawCulledObjects WRITE setDrawCulledObjects NOTIFY drawCulledObjectsChanged FINAL REVISION(6, 11))
37
38 QML_NAMED_ELEMENT(DebugSettings)
39public:
40 enum QQuick3DMaterialOverrides {
41 None,
42 BaseColor,
43 Roughness,
44 Metalness,
45 Diffuse,
46 Specular,
47 ShadowOcclusion,
48 Emission,
49 AmbientOcclusion,
50 Normals,
51 Tangents,
52 Binormals,
53 F0
54 };
55 Q_ENUM(QQuick3DMaterialOverrides)
56
57 explicit QQuick3DDebugSettings(QObject *parent = nullptr);
58
59 QQuick3DMaterialOverrides materialOverride() const;
60 void setMaterialOverride(QQuick3DMaterialOverrides newMaterialOverride);
61
62 bool wireframeEnabled() const;
63 void setWireframeEnabled(bool newWireframeEnabled);
64
65 Q_REVISION(6, 8) bool drawDirectionalLightShadowBoxes() const;
66 Q_REVISION(6, 8) void setDrawDirectionalLightShadowBoxes(bool newDrawDirectionalLightShadowBoxes);
67
68 Q_REVISION(6, 9) bool drawPointLightShadowBoxes() const;
69 Q_REVISION(6, 9) void setDrawPointLightShadowBoxes(bool newDrawPointLightShadowBoxes);
70
71 Q_REVISION(6, 8) bool drawShadowCastingBounds() const;
72 Q_REVISION(6, 8) void setDrawShadowCastingBounds(bool newDrawShadowCastingBounds);
73
74 Q_REVISION(6, 8) bool drawShadowReceivingBounds() const;
75 Q_REVISION(6, 8) void setDrawShadowReceivingBounds(bool newDrawShadowReceivingBounds);
76
77 Q_REVISION(6, 8) bool drawCascades() const;
78 Q_REVISION(6, 8) void setDrawCascades(bool newDrawCascades);
79
80 Q_REVISION(6, 8) bool drawSceneCascadeIntersection() const;
81 Q_REVISION(6, 8) void setDrawSceneCascadeIntersection(bool newDrawSceneCascadeIntersection);
82
83 Q_REVISION(6, 8) bool disableShadowCameraUpdate() const;
84 Q_REVISION(6, 8) void setDisableShadowCameraUpdate(bool newDisableShadowCameraUpdate);
85
86 Q_REVISION(6, 11) bool drawCulledObjects() const;
87 Q_REVISION(6, 11) void setDrawCulledObjects(bool newDrawCulledObjects);
88
89Q_SIGNALS:
90 void materialOverrideChanged();
91 void wireframeEnabledChanged();
92 Q_REVISION(6, 8) void drawDirectionalLightShadowBoxesChanged();
93 Q_REVISION(6, 9) void drawPointLightShadowBoxesChanged();
94 Q_REVISION(6, 8) void drawShadowCastingBoundsChanged();
95 Q_REVISION(6, 8) void drawShadowReceivingBoundsChanged();
96 Q_REVISION(6, 8) void drawCascadesChanged();
97 Q_REVISION(6, 8) void drawSceneCascadeIntersectionChanged();
98 Q_REVISION(6, 8) void disableShadowCameraUpdateChanged();
99 Q_REVISION(6, 11) void drawCulledObjectsChanged();
100 void changed();
101
102private:
103 void update();
104 QQuick3DMaterialOverrides m_materialOverride = None;
105
106 bool m_wireframeEnabled = false;
107 bool m_drawDirectionalLightShadowBoxes = false;
108 bool m_drawPointLightShadowBoxes = false;
109 bool m_drawShadowCastingBounds = false;
110 bool m_drawShadowReceivingBounds = false;
111 bool m_drawCascades = false;
112 bool m_drawSceneCascadeIntersection = false;
113 bool m_disableShadowCameraUpdate = false;
114 bool m_drawCulledObjects = false;
115};
116
117QT_END_NAMESPACE
118
119#endif // QQUICK3DDEBUGSETTINGS_H