![]() |
Qt 6.x
The Qt SDK
|
#include <qquick3dfog_p.h>
Public Slots | |
void | setEnabled (bool newEnabled) |
void | setColor (const QColor &newColor) |
void | setDensity (float newDensity) |
void | setDepthEnabled (bool newDepthEnabled) |
void | setDepthNear (float newDepthNear) |
void | setDepthFar (float newDepthFar) |
void | setDepthCurve (float newDepthCurve) |
void | setHeightEnabled (bool newHeightEnabled) |
void | setLeastIntenseY (float newleastIntenseY) |
void | setMostIntenseY (float newmostIntenseY) |
void | setHeightCurve (float newHeightCurve) |
void | setTransmitEnabled (bool newTransmitEnabled) |
void | setTransmitCurve (float newTransmitCurve) |
![]() | |
void | deleteLater () |
\threadsafe | |
Signals | |
void | changed () |
void | enabledChanged () |
void | colorChanged () |
void | densityChanged () |
void | depthEnabledChanged () |
void | depthNearChanged () |
void | depthFarChanged () |
void | depthCurveChanged () |
void | heightEnabledChanged () |
void | leastIntenseYChanged () |
void | mostIntenseYChanged () |
void | heightCurveChanged () |
void | transmitEnabledChanged () |
void | transmitCurveChanged () |
![]() | |
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 | |
bool | isEnabled () const |
\qmltype Fog \inherits Object \inqmlmodule QtQuick3D | |
QColor | color () const |
\qmlproperty color Fog::color | |
float | density () const |
\qmlproperty float Fog::density | |
bool | isDepthEnabled () const |
\qmlproperty bool Fog::depthEnabled | |
float | depthNear () const |
\qmlproperty float Fog::depthNear | |
float | depthFar () const |
\qmlproperty float Fog::depthFar | |
float | depthCurve () const |
\qmlproperty float Fog::depthCurve | |
bool | isHeightEnabled () const |
\qmlproperty bool Fog::heightEnabled | |
float | leastIntenseY () const |
\qmlproperty float Fog::leastIntenseY | |
float | mostIntenseY () const |
\qmlproperty float Fog::mostIntenseY | |
float | heightCurve () const |
\qmlproperty float Fog::heightCurve | |
bool | isTransmitEnabled () const |
\qmlproperty bool Fog::transmitEnabled | |
float | transmitCurve () const |
\qmlproperty float Fog::transmitCurve | |
![]() | |
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< QString > | bindableObjectName () |
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). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
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::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), 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 (const QString &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 > | |
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 QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () 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 | |
bool | enabled |
QColor | color |
float | density |
bool | depthEnabled |
float | depthNear |
float | depthFar |
float | depthCurve |
bool | heightEnabled |
float | leastIntenseY |
float | mostIntenseY |
float | heightCurve |
bool | transmitEnabled |
float | transmitCurve |
![]() | |
QString | objectName |
the name of this object | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
QObject * | sender () 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) | |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
Definition at line 23 of file qquick3dfog_p.h.
|
signal |
Referenced by setColor(), setDensity(), setDepthCurve(), setDepthEnabled(), setDepthFar(), setDepthNear(), setEnabled(), setHeightCurve(), setHeightEnabled(), setLeastIntenseY(), setMostIntenseY(), setTransmitCurve(), and setTransmitEnabled().
QColor QQuick3DFog::color | ( | ) | const |
\qmlproperty color Fog::color
The color of the fog. The default value is "#8099b3"
The same scene with color changed to be more blueish:
Definition at line 116 of file qquick3dfog.cpp.
|
signal |
float QQuick3DFog::density | ( | ) | const |
\qmlproperty float Fog::density
Controls the fog amount, in practice this is a multiplier in range 0-1. The default value is 1.0. Reducing the value decreases the strength of the fog effect. Applicable only when depthEnabled is set to true.
The on-screen visual effect may be affected by a number of other settings from \l ExtendedSceneEnvironment, such as tonemapping or glow and bloom. The same density value may give different results depending on what other effects are enabled, and how those are configured.
An example scene with density set to {0.95}:
The same scene with density reduced to {0.15}:
Definition at line 154 of file qquick3dfog.cpp.
|
signal |
float QQuick3DFog::depthCurve | ( | ) | const |
\qmlproperty float Fog::depthCurve
The default value is 1.0.
Applicable only when depthEnabled is set to true.
Definition at line 284 of file qquick3dfog.cpp.
|
signal |
|
signal |
float QQuick3DFog::depthFar | ( | ) | const |
\qmlproperty float Fog::depthFar
Ending distance from the camera. The default value is 1000.0. Applicable only when depthEnabled is set to true.
{(100, 100, 100)} on the instantiated Sponza component that was generated by the balsam
tool from the glTF source asset. This then gave a sufficient Z range to get good looking results by tuning the depthNear and depthFar values.Definition at line 259 of file qquick3dfog.cpp.
|
signal |
float QQuick3DFog::depthNear | ( | ) | const |
\qmlproperty float Fog::depthNear
Starting distance from the camera. The default value is 10.0. Applicable only when depthEnabled is set to true.
As an example, take this scene, first with a higher depthNear value.
Decreasing the value of depthNear results in the fog effectively "moving closer" to the camera as it now starts from a smaller distance from the camera:
{(100, 100, 100)} on the instantiated Sponza component that was generated by the balsam
tool from the glTF source asset. This then gave a sufficient Z range to get good looking results by tuning the depthNear and depthFar values.Definition at line 223 of file qquick3dfog.cpp.
|
signal |
|
signal |
float QQuick3DFog::heightCurve | ( | ) | const |
\qmlproperty float Fog::heightCurve
Specifies the intensity of the height fog. The default value is 1.0. Applicable only when heightEnabled is set to true.
Definition at line 424 of file qquick3dfog.cpp.
|
signal |
|
signal |
bool QQuick3DFog::isDepthEnabled | ( | ) | const |
\qmlproperty bool Fog::depthEnabled
Controls if the fog appears in the distance. The default value is false.
Definition at line 177 of file qquick3dfog.cpp.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
QT_BEGIN_NAMESPACE bool QQuick3DFog::isEnabled | ( | ) | const |
\qmltype Fog \inherits Object \inqmlmodule QtQuick3D
Specifies fog settings for a scene.
When the \l{QQuick3DSceneEnvironment::fog}{fog} property of a \l SceneEnvironment is set to a valid Fog object, the properties are used to configure the rendering of fog.
The simple fog provided by this type is implemented by the materials. It is not a post-processing effect, meaning it does not involve additional render passes processing the texture with the output of the \l View3D, but is rather implemented in the fragment shader for each renderable object (submesh of \l Model) with a \l PrincipledMaterial or shaded \l CustomMaterial.
Fog is configured by a number of properties:
\list
\endlist
For example, the following snippet enables depth (but not height) fog using the default fog parameters:
\qml environment: SceneEnvironment { backgroundMode: SceneEnvironment.Color clearColor: theFog.color fog: Fog { id: theFog enabled: true depthEnabled: true } } \endqml
Instead of defining the Fog object inline, it is also possible to reference a Fog object by id
. And since \l ExtendedSceneEnvironment inherits everything from its parent type \l SceneEnvironment, fog can be used with \l ExtendedSceneEnvironment as well:
\qml Fog { id: theFog enabled: true depthEnabled: true } environment: ExtendedSceneEnvironment { fog: theFog } \endqml
\qmlproperty bool Fog::enabled
Controls whether fog is applied to the scene. The default value is false.
Enabling depth or height fog has no effect without setting this value to true.
Definition at line 87 of file qquick3dfog.cpp.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
bool QQuick3DFog::isHeightEnabled | ( | ) | const |
\qmlproperty bool Fog::heightEnabled
Controls if a height fog is enabled. The default value is false.
Definition at line 307 of file qquick3dfog.cpp.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
bool QQuick3DFog::isTransmitEnabled | ( | ) | const |
\qmlproperty bool Fog::transmitEnabled
Controls if the fog has a light transmission effect. The default value is false.
Definition at line 446 of file qquick3dfog.cpp.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
float QQuick3DFog::leastIntenseY | ( | ) | const |
\qmlproperty float Fog::leastIntenseY
Specifies the position (Y coordinate) where the fog is the least intense. The default value is 10.0. Applicable only when heightEnabled is set to true.
Pictured here is a scene with height fog enabled (no depth fog), and leastIntenseY set to a value so the fog is only spreading around the bottom of the Sponza scene.
Increasing the value of leastIntenseY makes the fog spread higher since it now effectively starts at a higher Y position in the scene. (remember that the Y axis points upwards)
{(100, 100, 100)} on the instantiated Sponza component that was generated by the balsam
tool from the glTF source asset.Definition at line 360 of file qquick3dfog.cpp.
|
signal |
float QQuick3DFog::mostIntenseY | ( | ) | const |
\qmlproperty float Fog::mostIntenseY
Specifies the position (Y coordinate) where the fog is the most intense. The default value is 0. Applicable only when heightEnabled is set to true.
{(100, 100, 100)} on the instantiated Sponza component that was generated by the balsam
tool from the glTF source asset.Definition at line 400 of file qquick3dfog.cpp.
|
signal |
Definition at line 121 of file qquick3dfog.cpp.
References changed(), colorChanged(), and emit.
|
slot |
Definition at line 159 of file qquick3dfog.cpp.
References changed(), densityChanged(), emit, and qFuzzyCompare().
|
slot |
Definition at line 289 of file qquick3dfog.cpp.
References changed(), depthCurveChanged(), emit, and qFuzzyCompare().
|
slot |
Definition at line 182 of file qquick3dfog.cpp.
References changed(), depthEnabledChanged(), and emit.
|
slot |
Definition at line 264 of file qquick3dfog.cpp.
References changed(), depthFarChanged(), emit, and qFuzzyCompare().
|
slot |
Definition at line 228 of file qquick3dfog.cpp.
References changed(), depthNearChanged(), emit, and qFuzzyCompare().
|
slot |
Definition at line 92 of file qquick3dfog.cpp.
References changed(), emit, and enabledChanged().
|
slot |
Definition at line 429 of file qquick3dfog.cpp.
References changed(), emit, heightCurveChanged(), and qFuzzyCompare().
|
slot |
Definition at line 312 of file qquick3dfog.cpp.
References changed(), emit, and heightEnabledChanged().
|
slot |
Definition at line 365 of file qquick3dfog.cpp.
References changed(), emit, leastIntenseYChanged(), and qFuzzyCompare().
|
slot |
Definition at line 405 of file qquick3dfog.cpp.
References changed(), emit, mostIntenseYChanged(), and qFuzzyCompare().
|
slot |
Definition at line 473 of file qquick3dfog.cpp.
References changed(), emit, qFuzzyCompare(), and transmitCurveChanged().
|
slot |
Definition at line 451 of file qquick3dfog.cpp.
References changed(), emit, and transmitEnabledChanged().
float QQuick3DFog::transmitCurve | ( | ) | const |
\qmlproperty float Fog::transmitCurve
Intensity of the light transmission effect. The default value is 1.0. Applicable only when transmitEnabled is set to true.
Definition at line 468 of file qquick3dfog.cpp.
|
signal |
|
signal |
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.
Referenced by QQuick3DRenderLayerHelpers::updateLayerNodeHelper().
|
readwrite |
Definition at line 104 of file qquick3dfog_p.h.