23 if (m_environment == newEnvironment)
26 if (
auto env = qobject_cast<SceneEffectEnvironment *>(m_environment))
29 m_environment = newEnvironment;
31 QQuick3DObjectPrivate::attachWatcher(
this, &SceneEffectBase::setEnvironment, newEnvironment, m_environment);
33 if (
auto env = qobject_cast<SceneEffectEnvironment *>(m_environment))
36 emit environmentChanged();
42 m_environment->update();
88 if (m_enabled == newEnabled)
90 m_enabled = newEnabled;
92 emit enabledChanged();
119 if (m_enabled == newEnabled)
122 m_enabled = newEnabled;
124 emit enabledChanged();
151 if (m_enabled == newEnabled)
154 m_enabled = newEnabled;
156 emit enabledChanged();
160 : QQuick3DSceneEnvironment(p)
166 if (m_tonemapper == tonemapper)
169 QQuick3DObjectPrivate::attachWatcher(
this, &SceneEffectEnvironment::setMainSceneEffect, tonemapper, m_tonemapper);
171 m_tonemapper = tonemapper;
179 QQuick3DObjectPrivate::attachWatcher(
this, &SceneEffectEnvironment::setDeptOfFieldEffect, dof, m_dof);
189 QQuick3DObjectPrivate::attachWatcher(
this, &SceneEffectEnvironment::setSsgiEffect, ssgi, m_ssgi);
199 QQuick3DObjectPrivate::attachWatcher(
this, &SceneEffectEnvironment::setSsrEffect, ssr, m_ssr);
206 m_effects = QQuick3DSceneEnvironment::effectList();
207 if (m_ssgi && m_ssgi->enabled())
208 m_effects.push_back(m_ssgi);
210 m_effects.push_back(m_ssr);
212 if (m_dof && m_dof->enabled())
213 m_effects.push_back(m_dof);
215 m_effects.push_back(m_tonemapper);
216 node = QQuick3DSceneEnvironment::updateSpatialNode(node);
void registerWithEnv(SceneEffectEnvironment *newEnvironment) override
void unregisterWithEnv(SceneEffectEnvironment *oldEnvironment) override
void setEnabled(bool newEnabled)
void unregisterWithEnv(SceneEffectEnvironment *oldEnvironment) override
void registerWithEnv(SceneEffectEnvironment *newEnvironment) override
\qmltype Object3D \inqmlmodule QtQuick3D \nativetype QQuick3DObject \inherits QtObject
void setEnvironment(QQuick3DSceneEnvironment *newEnvironment)
virtual void unregisterWithEnv(SceneEffectEnvironment *oldEnvironment)=0
QQuick3DSceneEnvironment * environment() const
virtual void registerWithEnv(SceneEffectEnvironment *newEnvironment)=0
void setSsgiEffect(SsgiEnvEffect *ssgi)
void setDeptOfFieldEffect(DepthOfFieldEffect *dof)
const QVector< QQuick3DEffect * > & effectList() const override
void setMainSceneEffect(MainSceneEffect *tonemapper)
QSSGRenderGraphObject * updateSpatialNode(QSSGRenderGraphObject *node) override
void setSsrEffect(SsrEnvEffect *ssr)
bool useBuiltinTonemapper() const override
void setEnabled(bool newEnabled)
void unregisterWithEnv(SceneEffectEnvironment *oldEnvironment) override
void registerWithEnv(SceneEffectEnvironment *newEnvironment) override
void registerWithEnv(SceneEffectEnvironment *newEnvironment) override
void setEnabled(bool newEnabled)
void unregisterWithEnv(SceneEffectEnvironment *oldEnvironment) override
Combined button and popup list for selecting options.