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
QQuick3DDebugSettings Class Reference

#include <qquick3ddebugsettings_p.h>

+ Inheritance diagram for QQuick3DDebugSettings:
+ Collaboration diagram for QQuick3DDebugSettings:

Public Types

enum  QQuick3DMaterialOverrides {
  None , BaseColor , Roughness , Metalness ,
  Diffuse , Specular , ShadowOcclusion , Emission ,
  AmbientOcclusion , Normals , Tangents , Binormals ,
  F0
}
 

Signals

void materialOverrideChanged ()
 
void wireframeEnabledChanged ()
 
void changed ()
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 

Public Member Functions

 QQuick3DDebugSettings (QObject *parent=nullptr)
 \qmltype DebugSettings \inherits Object \inqmlmodule QtQuick3D
 
QQuick3DMaterialOverrides materialOverride () const
 
void setMaterialOverride (QQuick3DMaterialOverrides newMaterialOverride)
 
bool wireframeEnabled () const
 \qmlproperty bool QtQuick3D::DebugSettings::wireframeEnabled
 
void setWireframeEnabled (bool newWireframeEnabled)
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool event (QEvent *event)
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Properties

QQuick3DMaterialOverrides materialOverride
 
bool wireframeEnabled
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 

Detailed Description

Definition at line 22 of file qquick3ddebugsettings_p.h.

Member Enumeration Documentation

◆ QQuick3DMaterialOverrides

Enumerator
None 
BaseColor 
Roughness 
Metalness 
Diffuse 
Specular 
ShadowOcclusion 
Emission 
AmbientOcclusion 
Normals 
Tangents 
Binormals 
F0 

Definition at line 29 of file qquick3ddebugsettings_p.h.

Constructor & Destructor Documentation

◆ QQuick3DDebugSettings()

QT_BEGIN_NAMESPACE QQuick3DDebugSettings::QQuick3DDebugSettings ( QObject * parent = nullptr)
explicit

\qmltype DebugSettings \inherits Object \inqmlmodule QtQuick3D

Used to configure debug settings.

The renderer can be configured to output many different views to facilitate debugging. This component is used to configure these debug views.

In addition to programatic control, properties such as \l materialOverride and \l wireframeEnabled can also be controlled interactively via the \l DebugView item if an instance of that is added to the Qt Quick scene by the application.

\qmlproperty enumeration QtQuick3D::DebugSettings::materialOverride

Since
6.5

This property changes how all materials are rendered to only reflect a particular aspect of the overall rendering process. This can be used as a debugging tool to get a better understanding of why a material looks the way it does.

The default value is DebugSettings.None

\value DebugSettings.None Material overriding is bypassed, rendering occurs as normal. \value DebugSettings.BaseColor The BaseColor or Diffuse color of a material is passed through without any lighting. \value DebugSettings.Roughness The Roughness of a material is passed through as an unlit greyscale value. \value DebugSettings.Metalness The Metalness of a material is passed through as an unlit greyscale value. \value DebugSettings.Diffuse Only the diffuse contribution of the material after all lighting. \value DebugSettings.Specular Only the specular contribution of the material after all lighting. \value DebugSettings.ShadowOcclusion The Occlusion caused by shadows as a greyscale value. \value DebugSettings.Emission Only the emissive contribution of the material \value DebugSettings.AmbientOcclusion Only the Ambient Occlusion of the material \value DebugSettings.Normals The interpolated world space Normal value of the material mapped to an RGB color. \value DebugSettings.Tangents The interpolated world space Tangent value of the material mapped to an RGB color. This will only be visible if the Tangent value is used. \value DebugSettings.Binormals The interpolated world space Binormal value of the material mapped to an RGB color. This will only be visible if the Binormal value is used. \value DebugSettings.F0 This represents the Fresnel Reflectance at 0 Degrees. This will only be visible for materials that calculate an F0 value.

As an example, take the following scene with the \l{https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/Sponza}{Sponza} model. The scene uses image-based lighting via \l{SceneEnvironment::lightProbe} and also has a directional light.

Setting {DebugSettings.BaseColor}:

Setting {DebugSettings.Roughness}:

Setting {DebugSettings.Metalness}:

Setting {DebugSettings.Diffuse}:

Setting {DebugSettings.Specular}:

Setting {DebugSettings.Normals}:

Definition at line 101 of file qquick3ddebugsettings.cpp.

Member Function Documentation

◆ changed

void QQuick3DDebugSettings::changed ( )
signal

Referenced by QQuick3DSceneEnvironment::QQuick3DSceneEnvironment().

+ Here is the caller graph for this function:

◆ materialOverride()

QQuick3DDebugSettings::QQuick3DMaterialOverrides QQuick3DDebugSettings::materialOverride ( ) const

Definition at line 107 of file qquick3ddebugsettings.cpp.

◆ materialOverrideChanged

void QQuick3DDebugSettings::materialOverrideChanged ( )
signal

Referenced by setMaterialOverride().

+ Here is the caller graph for this function:

◆ setMaterialOverride()

void QQuick3DDebugSettings::setMaterialOverride ( QQuick3DMaterialOverrides newMaterialOverride)

Definition at line 112 of file qquick3ddebugsettings.cpp.

References emit, and materialOverrideChanged().

+ Here is the call graph for this function:

◆ setWireframeEnabled()

void QQuick3DDebugSettings::setWireframeEnabled ( bool newWireframeEnabled)

Definition at line 145 of file qquick3ddebugsettings.cpp.

References emit, and wireframeEnabledChanged().

+ Here is the call graph for this function:

◆ wireframeEnabled()

bool QQuick3DDebugSettings::wireframeEnabled ( ) const

\qmlproperty bool QtQuick3D::DebugSettings::wireframeEnabled

Since
6.5

This property changes how all materials are rendered by changing the polygon fill mode to be lines instead of filled. This appears as a wireframe, but the shaded color will still reflect the respective materials of the meshes.

The default value is false.

Definition at line 140 of file qquick3ddebugsettings.cpp.

◆ wireframeEnabledChanged

void QQuick3DDebugSettings::wireframeEnabledChanged ( )
signal

Referenced by setWireframeEnabled().

+ Here is the caller graph for this function:

Property Documentation

◆ materialOverride

QQuick3DMaterialOverrides QQuick3DDebugSettings::materialOverride
readwrite

Definition at line 25 of file qquick3ddebugsettings_p.h.

◆ wireframeEnabled

bool QQuick3DDebugSettings::wireframeEnabled
readwrite

Definition at line 26 of file qquick3ddebugsettings_p.h.


The documentation for this class was generated from the following files: