summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2016-04-30 18:17:35 +0100
committerSean Harmer <sean.harmer@kdab.com>2016-05-03 10:20:47 +0000
commit03d62618692f93dfc1aa53e7e2245177432c2604 (patch)
tree010e65930c0db7ddd2080686cc63017e42320be2
parent23b668235c9b902a2577b3ac6e369b77974382b4 (diff)
Remove QBackendNode::updateFromPeer()
Implemented a few missing initializeFromPeer() implementations along with the corresponding frontend node creation change creation functions. Adapted unit tests. Change-Id: I571e53a7b68a5544bd0e308df0baf7e52533306e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r--src/core/nodes/qbackendnode.h1
-rw-r--r--src/input/backend/abstractaxisinput.cpp7
-rw-r--r--src/input/backend/abstractaxisinput_p.h1
-rw-r--r--src/input/backend/action.cpp8
-rw-r--r--src/input/backend/action_p.h1
-rw-r--r--src/input/backend/actioninput.cpp8
-rw-r--r--src/input/backend/actioninput_p.h1
-rw-r--r--src/input/backend/analogaxisinput.cpp7
-rw-r--r--src/input/backend/analogaxisinput_p.h1
-rw-r--r--src/input/backend/axis.cpp8
-rw-r--r--src/input/backend/axis_p.h1
-rw-r--r--src/input/backend/axissetting.cpp8
-rw-r--r--src/input/backend/axissetting_p.h2
-rw-r--r--src/input/backend/buttonaxisinput.cpp8
-rw-r--r--src/input/backend/buttonaxisinput_p.h1
-rw-r--r--src/input/backend/inputchord.cpp9
-rw-r--r--src/input/backend/inputchord_p.h1
-rw-r--r--src/input/backend/inputsequence.cpp10
-rw-r--r--src/input/backend/inputsequence_p.h1
-rw-r--r--src/input/backend/inputsettings.cpp7
-rw-r--r--src/input/backend/inputsettings_p.h1
-rw-r--r--src/input/backend/keyboarddevice.cpp5
-rw-r--r--src/input/backend/keyboarddevice_p.h2
-rw-r--r--src/input/backend/keyboardhandler.cpp11
-rw-r--r--src/input/backend/keyboardhandler_p.h2
-rw-r--r--src/input/backend/logicaldevice.cpp11
-rw-r--r--src/input/backend/logicaldevice_p.h2
-rw-r--r--src/input/backend/mousedevice.cpp10
-rw-r--r--src/input/backend/mousedevice_p.h3
-rw-r--r--src/input/backend/mousehandler.cpp7
-rw-r--r--src/input/backend/mousehandler_p.h1
-rw-r--r--src/input/backend/qabstractphysicaldevicebackendnode.cpp27
-rw-r--r--src/input/backend/qabstractphysicaldevicebackendnode_p.h1
-rw-r--r--src/logic/handler.cpp5
-rw-r--r--src/logic/handler_p.h2
-rw-r--r--src/render/backend/cameralens.cpp6
-rw-r--r--src/render/backend/cameralens_p.h2
-rw-r--r--src/render/backend/computecommand.cpp12
-rw-r--r--src/render/backend/computecommand_p.h3
-rw-r--r--src/render/backend/entity.cpp34
-rw-r--r--src/render/backend/entity_p.h1
-rw-r--r--src/render/backend/layer.cpp12
-rw-r--r--src/render/backend/layer_p.h2
-rw-r--r--src/render/backend/rendersettings.cpp9
-rw-r--r--src/render/backend/rendersettings_p.h1
-rw-r--r--src/render/backend/rendertarget.cpp10
-rw-r--r--src/render/backend/rendertarget_p.h2
-rw-r--r--src/render/backend/rendertargetoutput.cpp18
-rw-r--r--src/render/backend/rendertargetoutput_p.h3
-rw-r--r--src/render/backend/transform.cpp10
-rw-r--r--src/render/backend/transform_p.h1
-rw-r--r--src/render/framegraph/cameraselectornode.cpp8
-rw-r--r--src/render/framegraph/cameraselectornode_p.h2
-rw-r--r--src/render/framegraph/clearbuffers.cpp9
-rw-r--r--src/render/framegraph/clearbuffers_p.h1
-rw-r--r--src/render/framegraph/dispatchcompute.cpp8
-rw-r--r--src/render/framegraph/dispatchcompute_p.h1
-rw-r--r--src/render/framegraph/frustumculling.cpp5
-rw-r--r--src/render/framegraph/frustumculling_p.h2
-rw-r--r--src/render/framegraph/layerfilternode.cpp6
-rw-r--r--src/render/framegraph/layerfilternode_p.h1
-rw-r--r--src/render/framegraph/nodraw.cpp5
-rw-r--r--src/render/framegraph/nodraw_p.h2
-rw-r--r--src/render/framegraph/renderpassfilternode.cpp14
-rw-r--r--src/render/framegraph/renderpassfilternode_p.h4
-rw-r--r--src/render/framegraph/rendersurfaceselector.cpp16
-rw-r--r--src/render/framegraph/rendersurfaceselector_p.h1
-rw-r--r--src/render/framegraph/rendertargetselectornode.cpp9
-rw-r--r--src/render/framegraph/rendertargetselectornode_p.h1
-rw-r--r--src/render/framegraph/sortpolicy.cpp8
-rw-r--r--src/render/framegraph/sortpolicy_p.h1
-rw-r--r--src/render/framegraph/statesetnode.cpp9
-rw-r--r--src/render/framegraph/statesetnode_p.h2
-rw-r--r--src/render/framegraph/techniquefilternode.cpp13
-rw-r--r--src/render/framegraph/techniquefilternode_p.h1
-rw-r--r--src/render/framegraph/viewportnode.cpp9
-rw-r--r--src/render/framegraph/viewportnode_p.h2
-rw-r--r--src/render/frontend/qcomputecommand.cpp11
-rw-r--r--src/render/frontend/qcomputecommand.h3
-rw-r--r--src/render/frontend/qcomputecommand_p.h7
-rw-r--r--src/render/frontend/qrendertargetoutput.cpp16
-rw-r--r--src/render/frontend/qrendertargetoutput.h1
-rw-r--r--src/render/frontend/qrendertargetoutput_p.h9
-rw-r--r--src/render/geometry/attribute.cpp19
-rw-r--r--src/render/geometry/attribute_p.h1
-rw-r--r--src/render/geometry/buffer.cpp16
-rw-r--r--src/render/geometry/buffer_p.h1
-rw-r--r--src/render/geometry/geometry.cpp13
-rw-r--r--src/render/geometry/geometry_p.h1
-rw-r--r--src/render/geometry/geometryrenderer.cpp22
-rw-r--r--src/render/geometry/geometryrenderer_p.h1
-rw-r--r--src/render/io/scene.cpp8
-rw-r--r--src/render/io/scene_p.h3
-rw-r--r--src/render/lights/light.cpp8
-rw-r--r--src/render/lights/light_p.h2
-rw-r--r--src/render/materialsystem/effect.cpp14
-rw-r--r--src/render/materialsystem/effect_p.h1
-rw-r--r--src/render/materialsystem/filterkey.cpp8
-rw-r--r--src/render/materialsystem/filterkey_p.h1
-rw-r--r--src/render/materialsystem/material.cpp10
-rw-r--r--src/render/materialsystem/material_p.h1
-rw-r--r--src/render/materialsystem/parameter.cpp8
-rw-r--r--src/render/materialsystem/parameter_p.h1
-rw-r--r--src/render/materialsystem/renderpass.cpp18
-rw-r--r--src/render/materialsystem/renderpass_p.h1
-rw-r--r--src/render/materialsystem/shader.cpp17
-rw-r--r--src/render/materialsystem/shader_p.h1
-rw-r--r--src/render/materialsystem/shaderdata.cpp9
-rw-r--r--src/render/materialsystem/shaderdata_p.h1
-rw-r--r--src/render/materialsystem/technique.cpp22
-rw-r--r--src/render/materialsystem/technique_p.h2
-rw-r--r--src/render/picking/objectpicker.cpp10
-rw-r--r--src/render/picking/objectpicker_p.h1
-rw-r--r--src/render/renderstates/renderstatenode.cpp8
-rw-r--r--src/render/renderstates/renderstatenode_p.h1
-rw-r--r--src/render/texture/texture.cpp29
-rw-r--r--src/render/texture/texture_p.h2
-rw-r--r--src/render/texture/textureimage.cpp21
-rw-r--r--src/render/texture/textureimage_p.h1
-rw-r--r--tests/auto/core/qchangearbiter/tst_qchangearbiter.cpp3
-rw-r--r--tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp3
-rw-r--r--tests/auto/input/action/tst_action.cpp7
-rw-r--r--tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp3
-rw-r--r--tests/auto/input/axis/tst_axis.cpp3
-rw-r--r--tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp3
-rw-r--r--tests/auto/render/attribute/tst_attribute.cpp3
-rw-r--r--tests/auto/render/buffer/tst_buffer.cpp4
-rw-r--r--tests/auto/render/framegraphnode/tst_framegraphnode.cpp1
-rw-r--r--tests/auto/render/geometry/tst_geometry.cpp2
-rw-r--r--tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp5
-rw-r--r--tests/auto/render/objectpicker/tst_objectpicker.cpp3
-rw-r--r--tests/auto/render/renderviewutils/renderviewutils.pro2
-rw-r--r--tests/auto/render/renderviewutils/tst_renderviewutils.cpp42
-rw-r--r--tests/auto/render/shader/shader.pro2
-rw-r--r--tests/auto/render/shader/tst_shader.cpp7
135 files changed, 136 insertions, 734 deletions
diff --git a/src/core/nodes/qbackendnode.h b/src/core/nodes/qbackendnode.h
index bcbd06e11..c3e2bd233 100644
--- a/src/core/nodes/qbackendnode.h
+++ b/src/core/nodes/qbackendnode.h
@@ -85,7 +85,6 @@ public:
bool isEnabled() const Q_DECL_NOEXCEPT;
Mode mode() const Q_DECL_NOEXCEPT;
- virtual void updateFromPeer(QNode *peer) = 0;
protected:
Q_DECLARE_PRIVATE(QBackendNode)
diff --git a/src/input/backend/abstractaxisinput.cpp b/src/input/backend/abstractaxisinput.cpp
index 95665b118..c08a05b91 100644
--- a/src/input/backend/abstractaxisinput.cpp
+++ b/src/input/backend/abstractaxisinput.cpp
@@ -54,13 +54,6 @@ AbstractAxisInput::AbstractAxisInput()
{
}
-void AbstractAxisInput::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAbstractAxisInput *input = static_cast<QAbstractAxisInput *>(peer);
- if (input->sourceDevice())
- m_sourceDevice = input->sourceDevice()->id();
-}
-
void AbstractAxisInput::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAbstractAxisInputData>>(change);
diff --git a/src/input/backend/abstractaxisinput_p.h b/src/input/backend/abstractaxisinput_p.h
index 0f8445951..3e9b2287c 100644
--- a/src/input/backend/abstractaxisinput_p.h
+++ b/src/input/backend/abstractaxisinput_p.h
@@ -63,7 +63,6 @@ namespace Input {
class Q_AUTOTEST_EXPORT AbstractAxisInput : public Qt3DCore::QBackendNode
{
public:
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
virtual void cleanup();
inline Qt3DCore::QNodeId sourceDevice() const { return m_sourceDevice; }
diff --git a/src/input/backend/action.cpp b/src/input/backend/action.cpp
index 98bd2e757..f843d4950 100644
--- a/src/input/backend/action.cpp
+++ b/src/input/backend/action.cpp
@@ -58,14 +58,6 @@ Action::Action()
{
}
-void Action::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAction *action = static_cast<QAction *>(peer);
- const auto inputs = action->inputs();
- for (QAbstractActionInput *input : inputs)
- m_inputs.push_back(input->id());
-}
-
void Action::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QActionData>>(change);
diff --git a/src/input/backend/action_p.h b/src/input/backend/action_p.h
index 1391b2d91..ee686413f 100644
--- a/src/input/backend/action_p.h
+++ b/src/input/backend/action_p.h
@@ -64,7 +64,6 @@ class Q_AUTOTEST_EXPORT Action : public Qt3DCore::QBackendNode
{
public:
Action();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
inline QVector<Qt3DCore::QNodeId> inputs() const { return m_inputs; }
inline bool actionTriggered() const { return m_actionTriggered; }
diff --git a/src/input/backend/actioninput.cpp b/src/input/backend/actioninput.cpp
index d82b3f2d4..8cacde740 100644
--- a/src/input/backend/actioninput.cpp
+++ b/src/input/backend/actioninput.cpp
@@ -55,14 +55,6 @@ ActionInput::ActionInput()
{
}
-void ActionInput::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QActionInput *input = static_cast<QActionInput *>(peer);
- m_buttons = input->buttons().toVector();
- if (input->sourceDevice())
- m_sourceDevice = input->sourceDevice()->id();
-}
-
void ActionInput::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QActionInputData>>(change);
diff --git a/src/input/backend/actioninput_p.h b/src/input/backend/actioninput_p.h
index 820bebae3..c3e80ba63 100644
--- a/src/input/backend/actioninput_p.h
+++ b/src/input/backend/actioninput_p.h
@@ -64,7 +64,6 @@ class Q_AUTOTEST_EXPORT ActionInput : public Qt3DCore::QBackendNode
{
public:
ActionInput();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
inline QVector<int> buttons() const { return m_buttons; }
diff --git a/src/input/backend/analogaxisinput.cpp b/src/input/backend/analogaxisinput.cpp
index 8eb21bbcc..26611af08 100644
--- a/src/input/backend/analogaxisinput.cpp
+++ b/src/input/backend/analogaxisinput.cpp
@@ -55,13 +55,6 @@ AnalogAxisInput::AnalogAxisInput()
{
}
-void AnalogAxisInput::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAnalogAxisInput *input = static_cast<QAnalogAxisInput *>(peer);
- m_axis = input->axis();
- AbstractAxisInput::updateFromPeer(peer);
-}
-
void AnalogAxisInput::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAnalogAxisInputData>>(change);
diff --git a/src/input/backend/analogaxisinput_p.h b/src/input/backend/analogaxisinput_p.h
index 900cba9b0..8febb10e7 100644
--- a/src/input/backend/analogaxisinput_p.h
+++ b/src/input/backend/analogaxisinput_p.h
@@ -63,7 +63,6 @@ class Q_AUTOTEST_EXPORT AnalogAxisInput : public AbstractAxisInput
{
public:
AnalogAxisInput();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_FINAL;
void cleanup() Q_DECL_FINAL;
inline int axis() const { return m_axis; }
diff --git a/src/input/backend/axis.cpp b/src/input/backend/axis.cpp
index b22228f17..5c019336c 100644
--- a/src/input/backend/axis.cpp
+++ b/src/input/backend/axis.cpp
@@ -58,14 +58,6 @@ Axis::Axis()
{
}
-void Axis::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAxis *axis = static_cast<QAxis *>(peer);
- const auto inputs = axis->inputs();
- for (QAbstractAxisInput *input : inputs)
- m_inputs.push_back(input->id());
-}
-
void Axis::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAxisData>>(change);
diff --git a/src/input/backend/axis_p.h b/src/input/backend/axis_p.h
index 264836fa6..e62f70d34 100644
--- a/src/input/backend/axis_p.h
+++ b/src/input/backend/axis_p.h
@@ -64,7 +64,6 @@ class Q_AUTOTEST_EXPORT Axis : public Qt3DCore::QBackendNode
{
public:
Axis();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
inline QVector<Qt3DCore::QNodeId> inputs() const { return m_inputs; }
inline float axisValue() const { return m_axisValue; }
diff --git a/src/input/backend/axissetting.cpp b/src/input/backend/axissetting.cpp
index da8371fd1..7876913b0 100644
--- a/src/input/backend/axissetting.cpp
+++ b/src/input/backend/axissetting.cpp
@@ -68,14 +68,6 @@ AxisSetting::AxisSetting()
{
}
-void AxisSetting::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAxisSetting *setting = static_cast<QAxisSetting *>(peer);
- m_deadZoneRadius = setting->deadZoneRadius();
- m_axes = variantListToVector(setting->axes());
- m_smooth = setting->isSmoothEnabled();
-}
-
void AxisSetting::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAxisSettingData>>(change);
diff --git a/src/input/backend/axissetting_p.h b/src/input/backend/axissetting_p.h
index be7dfc0b4..cd4959d69 100644
--- a/src/input/backend/axissetting_p.h
+++ b/src/input/backend/axissetting_p.h
@@ -62,8 +62,6 @@ class AxisSetting : public Qt3DCore::QBackendNode
{
public:
AxisSetting();
-
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
inline float deadZoneRadius() const { return m_deadZoneRadius; }
diff --git a/src/input/backend/buttonaxisinput.cpp b/src/input/backend/buttonaxisinput.cpp
index bf69d17de..d4e45e547 100644
--- a/src/input/backend/buttonaxisinput.cpp
+++ b/src/input/backend/buttonaxisinput.cpp
@@ -55,14 +55,6 @@ ButtonAxisInput::ButtonAxisInput()
{
}
-void ButtonAxisInput::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QButtonAxisInput *input = static_cast<QButtonAxisInput *>(peer);
- m_scale = input->scale();
- m_buttons = input->buttons().toVector();
- AbstractAxisInput::updateFromPeer(peer);
-}
-
void ButtonAxisInput::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QButtonAxisInputData>>(change);
diff --git a/src/input/backend/buttonaxisinput_p.h b/src/input/backend/buttonaxisinput_p.h
index 6537ec864..72f043bf4 100644
--- a/src/input/backend/buttonaxisinput_p.h
+++ b/src/input/backend/buttonaxisinput_p.h
@@ -63,7 +63,6 @@ class Q_AUTOTEST_EXPORT ButtonAxisInput : public AbstractAxisInput
{
public:
ButtonAxisInput();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_FINAL;
void cleanup() Q_DECL_FINAL;
inline float scale() const { return m_scale; }
diff --git a/src/input/backend/inputchord.cpp b/src/input/backend/inputchord.cpp
index eaccc5d52..c711a22ab 100644
--- a/src/input/backend/inputchord.cpp
+++ b/src/input/backend/inputchord.cpp
@@ -59,15 +59,6 @@ InputChord::InputChord()
{
}
-void InputChord::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QInputChord *input = static_cast<QInputChord *>(peer);
- m_timeout = input->timeout();
- const auto chords = input->chords();
- for (QAbstractActionInput *i : chords)
- m_chords.push_back(i->id());
-}
-
void InputChord::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QInputChordData>>(change);
diff --git a/src/input/backend/inputchord_p.h b/src/input/backend/inputchord_p.h
index efd48da65..db197df3c 100644
--- a/src/input/backend/inputchord_p.h
+++ b/src/input/backend/inputchord_p.h
@@ -64,7 +64,6 @@ class Q_AUTOTEST_EXPORT InputChord : public Qt3DCore::QBackendNode
{
public:
InputChord();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
inline QVector<Qt3DCore::QNodeId> chords() const { return m_chords; }
diff --git a/src/input/backend/inputsequence.cpp b/src/input/backend/inputsequence.cpp
index dafe0e3fc..a140815f8 100644
--- a/src/input/backend/inputsequence.cpp
+++ b/src/input/backend/inputsequence.cpp
@@ -63,16 +63,6 @@ InputSequence::InputSequence()
{
}
-void InputSequence::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QInputSequence *input = static_cast<QInputSequence *>(peer);
- m_timeout = input->timeout();
- m_buttonInterval = input->buttonInterval();
- const auto sequences = input->sequences();
- for (QAbstractActionInput *i : sequences)
- m_sequences.push_back(i->id());
-}
-
void InputSequence::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QInputSequenceData>>(change);
diff --git a/src/input/backend/inputsequence_p.h b/src/input/backend/inputsequence_p.h
index b008479e4..a76457f4e 100644
--- a/src/input/backend/inputsequence_p.h
+++ b/src/input/backend/inputsequence_p.h
@@ -64,7 +64,6 @@ class Q_AUTOTEST_EXPORT InputSequence : public Qt3DCore::QBackendNode
{
public:
InputSequence();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
inline QVector<Qt3DCore::QNodeId> sequences() const { return m_sequences; }
diff --git a/src/input/backend/inputsettings.cpp b/src/input/backend/inputsettings.cpp
index 301947abb..26e1240fc 100644
--- a/src/input/backend/inputsettings.cpp
+++ b/src/input/backend/inputsettings.cpp
@@ -55,13 +55,6 @@ InputSettings::InputSettings()
{
}
-void InputSettings::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QInputSettings *settings = static_cast<QInputSettings *>(peer);
- m_eventSource = settings->eventSource();
- // Does it make sense to check for the enabled property for such a node ?
-}
-
void InputSettings::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QInputSettingsData>>(change);
diff --git a/src/input/backend/inputsettings_p.h b/src/input/backend/inputsettings_p.h
index 46558229d..386716bc5 100644
--- a/src/input/backend/inputsettings_p.h
+++ b/src/input/backend/inputsettings_p.h
@@ -66,7 +66,6 @@ class InputSettings : public Qt3DCore::QBackendNode
{
public:
InputSettings();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
inline QObject *eventSource() const { return m_eventSource; }
protected:
diff --git a/src/input/backend/keyboarddevice.cpp b/src/input/backend/keyboarddevice.cpp
index c44cb3d60..70e1f9615 100644
--- a/src/input/backend/keyboarddevice.cpp
+++ b/src/input/backend/keyboarddevice.cpp
@@ -366,11 +366,6 @@ KeyboardDevice::KeyboardDevice()
m_keyStates.keys[4] = 0;
}
-void KeyboardDevice::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAbstractPhysicalDeviceBackendNode::updateFromPeer(peer);
-}
-
void KeyboardDevice::cleanup()
{
QAbstractPhysicalDeviceBackendNode::cleanup();
diff --git a/src/input/backend/keyboarddevice_p.h b/src/input/backend/keyboarddevice_p.h
index 6f37d80e5..19f90e683 100644
--- a/src/input/backend/keyboarddevice_p.h
+++ b/src/input/backend/keyboarddevice_p.h
@@ -70,8 +70,6 @@ class KeyboardDevice : public Qt3DInput::QAbstractPhysicalDeviceBackendNode
{
public:
KeyboardDevice();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
void cleanup() Q_DECL_OVERRIDE;
void requestFocusForInput(Qt3DCore::QNodeId inputId);
diff --git a/src/input/backend/keyboardhandler.cpp b/src/input/backend/keyboardhandler.cpp
index 7731f42c2..e8e0523df 100644
--- a/src/input/backend/keyboardhandler.cpp
+++ b/src/input/backend/keyboardhandler.cpp
@@ -61,20 +61,11 @@ KeyboardHandler::KeyboardHandler()
{
}
-void KeyboardHandler::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QKeyboardHandler *input = static_cast<QKeyboardHandler *>(peer);
- if (input->sourceDevice() != nullptr)
- setSourcerDevice(input->sourceDevice()->id());
- m_focus = false;
- if (input->focus())
- requestFocus();
-}
-
void KeyboardHandler::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QKeyboardHandlerData>>(change);
const auto &data = typedChange->data;
+ setSourcerDevice(data.keyboardDeviceId);
m_focus = false;
if (data.focus)
requestFocus();
diff --git a/src/input/backend/keyboardhandler_p.h b/src/input/backend/keyboardhandler_p.h
index 495808a23..e1dfe8fa0 100644
--- a/src/input/backend/keyboardhandler_p.h
+++ b/src/input/backend/keyboardhandler_p.h
@@ -67,7 +67,7 @@ class KeyboardHandler : public Qt3DCore::QBackendNode
{
public:
KeyboardHandler();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
+
Qt3DCore::QNodeId keyboardDevice() const;
void setInputHandler(InputHandler *handler);
void setFocus(bool focus);
diff --git a/src/input/backend/logicaldevice.cpp b/src/input/backend/logicaldevice.cpp
index ccb6b5f37..06dbd867a 100644
--- a/src/input/backend/logicaldevice.cpp
+++ b/src/input/backend/logicaldevice.cpp
@@ -58,17 +58,6 @@ LogicalDevice::LogicalDevice()
{
}
-void LogicalDevice::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QLogicalDevice *device = static_cast<QLogicalDevice *>(peer);
- const auto axes = device->axes();
- for (QAxis *axis : axes)
- m_axes.push_back(axis->id());
- const auto actions = device->actions();
- for (QAction *action : actions)
- m_actions.push_back(action->id());
-}
-
void LogicalDevice::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QLogicalDeviceData>>(change);
diff --git a/src/input/backend/logicaldevice_p.h b/src/input/backend/logicaldevice_p.h
index dec5a78ef..a7fdcd0ef 100644
--- a/src/input/backend/logicaldevice_p.h
+++ b/src/input/backend/logicaldevice_p.h
@@ -66,8 +66,8 @@ class LogicalDevice : public Qt3DCore::QBackendNode
{
public:
LogicalDevice();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
+
inline QVector<Qt3DCore::QNodeId> axes() const { return m_axes; }
inline QVector<Qt3DCore::QNodeId> actions() const { return m_actions; }
diff --git a/src/input/backend/mousedevice.cpp b/src/input/backend/mousedevice.cpp
index 07f7c1017..702628d28 100644
--- a/src/input/backend/mousedevice.cpp
+++ b/src/input/backend/mousedevice.cpp
@@ -41,6 +41,7 @@
#include "inputmanagers_p.h"
#include "inputhandler_p.h"
#include "qmousedevice.h"
+#include <Qt3DInput/private/qmousedevice_p.h>
#include <Qt3DCore/qnode.h>
#include <Qt3DCore/qentity.h>
@@ -61,11 +62,12 @@ MouseDevice::~MouseDevice()
{
}
-void MouseDevice::updateFromPeer(Qt3DCore::QNode *peer)
+void MouseDevice::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
- QAbstractPhysicalDeviceBackendNode::updateFromPeer(peer);
- QMouseDevice *object = static_cast<QMouseDevice *>(peer);
- m_sensitivity = object->sensitivity();
+ const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QMouseDeviceData>>(change);
+ const auto &data = typedChange->data;
+ m_sensitivity = data.sensitivity;
+ QAbstractPhysicalDeviceBackendNode::initializeFromPeer(change);
}
void MouseDevice::setInputHandler(InputHandler *handler)
diff --git a/src/input/backend/mousedevice_p.h b/src/input/backend/mousedevice_p.h
index a0326ea19..3624aa8af 100644
--- a/src/input/backend/mousedevice_p.h
+++ b/src/input/backend/mousedevice_p.h
@@ -70,7 +70,6 @@ public:
MouseDevice();
~MouseDevice();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void setInputHandler(InputHandler *handler);
void addMouseInput(Qt3DCore::QNodeId input);
@@ -87,6 +86,8 @@ protected:
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
private:
+ void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_FINAL;
+
QVector<Qt3DCore::QNodeId> m_mouseInputs;
InputHandler *m_inputHandler;
diff --git a/src/input/backend/mousehandler.cpp b/src/input/backend/mousehandler.cpp
index 12da2be8c..f4e3a45a0 100644
--- a/src/input/backend/mousehandler.cpp
+++ b/src/input/backend/mousehandler.cpp
@@ -65,13 +65,6 @@ MouseHandler::~MouseHandler()
{
}
-void MouseHandler::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QMouseHandler *input = static_cast<QMouseHandler *>(peer);
- if (input->sourceDevice() != nullptr)
- setDevice(input->sourceDevice()->id());
-}
-
void MouseHandler::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QMouseHandlerData>>(change);
diff --git a/src/input/backend/mousehandler_p.h b/src/input/backend/mousehandler_p.h
index 7faca5da7..b2ae4f9ed 100644
--- a/src/input/backend/mousehandler_p.h
+++ b/src/input/backend/mousehandler_p.h
@@ -67,7 +67,6 @@ public:
MouseHandler();
~MouseHandler();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
Qt3DCore::QNodeId mouseDevice() const;
void setInputHandler(InputHandler *handler);
void mouseEvent(const QMouseEventPtr &event);
diff --git a/src/input/backend/qabstractphysicaldevicebackendnode.cpp b/src/input/backend/qabstractphysicaldevicebackendnode.cpp
index 9a33654fb..4b95d3e86 100644
--- a/src/input/backend/qabstractphysicaldevicebackendnode.cpp
+++ b/src/input/backend/qabstractphysicaldevicebackendnode.cpp
@@ -150,19 +150,20 @@ QAbstractPhysicalDeviceBackendNode::QAbstractPhysicalDeviceBackendNode(QAbstract
{
}
-void QAbstractPhysicalDeviceBackendNode::updateFromPeer(Qt3DCore::QNode *peer)
-{
- Q_D(QAbstractPhysicalDeviceBackendNode);
- QAbstractPhysicalDevice *physicalDevice = static_cast<QAbstractPhysicalDevice *>(peer);
- const auto axisSettings = physicalDevice->axisSettings();
- for (QAxisSetting *axisSetting : axisSettings) {
- // Each axis setting can apply to more than one axis. If an axis is
- // mentioned in more than one setting, we use the last one
- const auto axisIds = variantListToVector(axisSetting->axes());
- for (int axisId : axisIds)
- d->addAxisSetting(axisId, axisSetting->id());
- }
-}
+// TODO: Fold this into a job as described below
+//void QAbstractPhysicalDeviceBackendNode::updateFromPeer(Qt3DCore::QNode *peer)
+//{
+// Q_D(QAbstractPhysicalDeviceBackendNode);
+// QAbstractPhysicalDevice *physicalDevice = static_cast<QAbstractPhysicalDevice *>(peer);
+// const auto axisSettings = physicalDevice->axisSettings();
+// for (QAxisSetting *axisSetting : axisSettings) {
+// // Each axis setting can apply to more than one axis. If an axis is
+// // mentioned in more than one setting, we use the last one
+// const auto axisIds = variantListToVector(axisSetting->axes());
+// for (int axisId : axisIds)
+// d->addAxisSetting(axisId, axisSetting->id());
+// }
+//}
void QAbstractPhysicalDeviceBackendNode::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
diff --git a/src/input/backend/qabstractphysicaldevicebackendnode_p.h b/src/input/backend/qabstractphysicaldevicebackendnode_p.h
index ce61d3ab1..aa789fe27 100644
--- a/src/input/backend/qabstractphysicaldevicebackendnode_p.h
+++ b/src/input/backend/qabstractphysicaldevicebackendnode_p.h
@@ -69,7 +69,6 @@ class QT3DINPUTSHARED_PRIVATE_EXPORT QAbstractPhysicalDeviceBackendNode : public
{
public:
explicit QAbstractPhysicalDeviceBackendNode(QBackendNode::Mode mode);
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
virtual void cleanup();
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
diff --git a/src/logic/handler.cpp b/src/logic/handler.cpp
index e1a8a6b34..777637640 100644
--- a/src/logic/handler.cpp
+++ b/src/logic/handler.cpp
@@ -52,11 +52,6 @@ Handler::Handler()
{
}
-void Handler::updateFromPeer(Qt3DCore::QNode *peer)
-{
- Q_UNUSED(peer);
-}
-
void Handler::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
Q_UNUSED(change);
diff --git a/src/logic/handler_p.h b/src/logic/handler_p.h
index b3eaff7db..7b1fad788 100644
--- a/src/logic/handler_p.h
+++ b/src/logic/handler_p.h
@@ -67,8 +67,6 @@ class Handler : public Qt3DCore::QBackendNode
public:
Handler();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
void setManager(Manager *manager) { m_logicManager = manager; }
Manager *logicManager() const { return m_logicManager; }
diff --git a/src/render/backend/cameralens.cpp b/src/render/backend/cameralens.cpp
index df1b3e29e..0447f5800 100644
--- a/src/render/backend/cameralens.cpp
+++ b/src/render/backend/cameralens.cpp
@@ -67,12 +67,6 @@ void CameraLens::cleanup()
QBackendNode::setEnabled(false);
}
-void CameraLens::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QCameraLens *lens = static_cast<QCameraLens *>(peer);
- setProjection(lens->projectionMatrix());
-}
-
void CameraLens::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QCameraLensData>>(change);
diff --git a/src/render/backend/cameralens_p.h b/src/render/backend/cameralens_p.h
index cceb23223..e5268da53 100644
--- a/src/render/backend/cameralens_p.h
+++ b/src/render/backend/cameralens_p.h
@@ -70,8 +70,6 @@ public:
~CameraLens();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
void setProjection(const QMatrix4x4 &projection);
inline QMatrix4x4 projection() const { return m_projection; }
diff --git a/src/render/backend/computecommand.cpp b/src/render/backend/computecommand.cpp
index d17d4d173..018833bba 100644
--- a/src/render/backend/computecommand.cpp
+++ b/src/render/backend/computecommand.cpp
@@ -41,6 +41,7 @@
#include <Qt3DCore/qnode.h>
#include <Qt3DCore/qnodepropertychange.h>
#include <Qt3DRender/qcomputecommand.h>
+#include <Qt3DRender/private/qcomputecommand_p.h>
#include <Qt3DRender/private/abstractrenderer_p.h>
QT_BEGIN_NAMESPACE
@@ -69,12 +70,13 @@ void ComputeCommand::cleanup()
m_workGroups[2] = 1;
}
-void ComputeCommand::updateFromPeer(Qt3DCore::QNode *peer)
+void ComputeCommand::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
- QComputeCommand *computeCommand = static_cast<QComputeCommand *>(peer);
- m_workGroups[0] = computeCommand->workGroupX();
- m_workGroups[1] = computeCommand->workGroupY();
- m_workGroups[2] = computeCommand->workGroupZ();
+ const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QComputeCommandData>>(change);
+ const auto &data = typedChange->data;
+ m_workGroups[0] = data.workGroupX;
+ m_workGroups[1] = data.workGroupY;
+ m_workGroups[2] = data.workGroupZ;
if (m_renderer != nullptr)
BackendNode::markDirty(AbstractRenderer::ComputeDirty);
}
diff --git a/src/render/backend/computecommand_p.h b/src/render/backend/computecommand_p.h
index e407da0ae..c50354d37 100644
--- a/src/render/backend/computecommand_p.h
+++ b/src/render/backend/computecommand_p.h
@@ -68,8 +68,6 @@ public:
~ComputeCommand();
void cleanup();
-
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
inline int x() const Q_DECL_NOEXCEPT { return m_workGroups[0]; }
@@ -77,6 +75,7 @@ public:
inline int z() const Q_DECL_NOEXCEPT { return m_workGroups[2]; }
private:
+ void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_OVERRIDE;
int m_workGroups[3];
};
diff --git a/src/render/backend/entity.cpp b/src/render/backend/entity.cpp
index 37dea8c8d..5de5d44da 100644
--- a/src/render/backend/entity.cpp
+++ b/src/render/backend/entity.cpp
@@ -142,40 +142,6 @@ void Entity::setHandle(HEntity handle)
m_handle = handle;
}
-void Entity::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QEntity *entity = static_cast<QEntity *>(peer);
- QEntityPrivate *entityPrivate = static_cast<QEntityPrivate *>(QNodePrivate::get(entity));
- const QNodeId parentEntityId = entityPrivate->parentEntityId();
-
- m_objectName = peer->objectName();
- m_worldTransform = m_nodeManagers->worldMatrixManager()->getOrAcquireHandle(peerId());
-
- // TO DO: Suboptimal -> Maybe have a Hash<QComponent, QEntityList> instead
- m_transformComponent = QNodeId();
- m_materialComponent = QNodeId();
- m_cameraComponent = QNodeId();
- m_geometryRendererComponent = QNodeId();
- m_objectPickerComponent = QNodeId();
- m_boundingVolumeDebugComponent = QNodeId();
- m_layerComponents.clear();
- m_shaderDataComponents.clear();
- m_lightComponents.clear();
- m_localBoundingVolume.reset(new Sphere(peerId()));
- m_worldBoundingVolume.reset(new Sphere(peerId()));
- m_worldBoundingVolumeWithChildren.reset(new Sphere(peerId()));
-
- const auto components = entity->components();
- for (QComponent *comp : components)
- addComponent(comp);
-
- if (!parentEntityId.isNull()) {
- setParentHandle(m_nodeManagers->renderNodesManager()->lookupHandle(parentEntityId));
- } else {
- qCDebug(Render::RenderNodes) << Q_FUNC_INFO << "No parent entity found for Entity" << peerId();
- }
-}
-
void Entity::initializeFromPeer(const QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<QNodeCreatedChange<Qt3DCore::QEntityData>>(change);
diff --git a/src/render/backend/entity_p.h b/src/render/backend/entity_p.h
index 65389295c..f2aa65501 100644
--- a/src/render/backend/entity_p.h
+++ b/src/render/backend/entity_p.h
@@ -90,7 +90,6 @@ public:
void setParentHandle(HEntity parentHandle);
void setNodeManagers(NodeManagers *manager);
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void dump() const;
diff --git a/src/render/backend/layer.cpp b/src/render/backend/layer.cpp
index 19eaa40f7..8799a3112 100644
--- a/src/render/backend/layer.cpp
+++ b/src/render/backend/layer.cpp
@@ -63,17 +63,8 @@ Layer::~Layer()
void Layer::cleanup()
{
- QBackendNode::setEnabled(false);
-}
-
-void Layer::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QLayer *layer = static_cast<QLayer *>(peer);
- m_layers = layer->names();
m_layerIds.clear();
- m_layerIds.reserve(m_layers.size());
- for (const QString &name : qAsConst(m_layers))
- m_layerIds.push_back(StringToInt::lookupId(name));
+ QBackendNode::setEnabled(false);
}
void Layer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
@@ -81,6 +72,7 @@ void Layer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QLayerData>>(change);
const auto &data = typedChange->data;
m_layers = data.names;
+ m_layerIds.reserve(m_layers.size());
for (const QString &name : qAsConst(m_layers))
m_layerIds.push_back(StringToInt::lookupId(name));
}
diff --git a/src/render/backend/layer_p.h b/src/render/backend/layer_p.h
index 1705f7e63..69ef02f81 100644
--- a/src/render/backend/layer_p.h
+++ b/src/render/backend/layer_p.h
@@ -72,8 +72,6 @@ public:
~Layer();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
QStringList layers() const;
QVector<int> layerIds() const Q_DECL_NOEXCEPT { return m_layerIds; }
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
diff --git a/src/render/backend/rendersettings.cpp b/src/render/backend/rendersettings.cpp
index 94cd165da..63be00563 100644
--- a/src/render/backend/rendersettings.cpp
+++ b/src/render/backend/rendersettings.cpp
@@ -57,15 +57,6 @@ RenderSettings::RenderSettings()
cleanup();
}
-void RenderSettings::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderSettings *settings = static_cast<QRenderSettings *>(peer);
- m_pickMethod = settings->pickingSettings()->pickMethod();
- m_pickResultMode = settings->pickingSettings()->pickResultMode();
- m_activeFrameGraph = settings->activeFrameGraph()->id();
- m_renderPolicy = settings->renderPolicy();
-}
-
void RenderSettings::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QRenderSettingsData>>(change);
diff --git a/src/render/backend/rendersettings_p.h b/src/render/backend/rendersettings_p.h
index 0b680f7fa..643959a8f 100644
--- a/src/render/backend/rendersettings_p.h
+++ b/src/render/backend/rendersettings_p.h
@@ -67,7 +67,6 @@ class RenderSettings : public BackendNode
public:
RenderSettings();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
diff --git a/src/render/backend/rendertarget.cpp b/src/render/backend/rendertarget.cpp
index 3e9d2c83a..4521852c3 100644
--- a/src/render/backend/rendertarget.cpp
+++ b/src/render/backend/rendertarget.cpp
@@ -58,15 +58,6 @@ RenderTarget::RenderTarget()
{
}
-void RenderTarget::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderTarget *target = static_cast<QRenderTarget *>(peer);
- m_renderOutputs.clear();
- const auto outputs = target->outputs();
- for (QRenderTargetOutput *att : outputs)
- appendRenderOutput(att->id());
-}
-
void RenderTarget::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QRenderTargetData>>(change);
@@ -76,6 +67,7 @@ void RenderTarget::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr
void RenderTarget::cleanup()
{
+ m_renderOutputs.clear();
QBackendNode::setEnabled(false);
}
diff --git a/src/render/backend/rendertarget_p.h b/src/render/backend/rendertarget_p.h
index 6481b60ba..df73cab9a 100644
--- a/src/render/backend/rendertarget_p.h
+++ b/src/render/backend/rendertarget_p.h
@@ -69,8 +69,6 @@ class RenderTarget : public BackendNode
{
public:
RenderTarget();
-
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void cleanup();
void appendRenderOutput(Qt3DCore::QNodeId outputId);
diff --git a/src/render/backend/rendertargetoutput.cpp b/src/render/backend/rendertargetoutput.cpp
index 917a6c332..4b4c1e65a 100644
--- a/src/render/backend/rendertargetoutput.cpp
+++ b/src/render/backend/rendertargetoutput.cpp
@@ -40,6 +40,7 @@
#include <Qt3DRender/private/rendertargetoutput_p.h>
#include <Qt3DCore/qnodepropertychange.h>
#include <Qt3DRender/qtexture.h>
+#include <Qt3DRender/private/qrendertargetoutput_p.h>
#include <QVariant>
QT_BEGIN_NAMESPACE
@@ -54,16 +55,15 @@ RenderTargetOutput::RenderTargetOutput()
{
}
-void RenderTargetOutput::updateFromPeer(Qt3DCore::QNode *peer)
+void RenderTargetOutput::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
- QRenderTargetOutput *attachment = static_cast<QRenderTargetOutput *>(peer);
-
- m_attachmentData.m_mipLevel = attachment->mipLevel();
- m_attachmentData.m_layer = attachment->layer();
- m_attachmentData.m_point = attachment->attachmentPoint();
- m_attachmentData.m_face = attachment->face();
- if (attachment->texture())
- m_attachmentData.m_textureUuid = attachment->texture()->id();
+ const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QRenderTargetOutputData>>(change);
+ const auto &data = typedChange->data;
+ m_attachmentData.m_point = data.attachmentPoint;
+ m_attachmentData.m_mipLevel = data.mipLevel;
+ m_attachmentData.m_layer = data.layer;
+ m_attachmentData.m_face = data.face;
+ m_attachmentData.m_textureUuid = data.textureId;
}
Qt3DCore::QNodeId RenderTargetOutput::textureUuid() const
diff --git a/src/render/backend/rendertargetoutput_p.h b/src/render/backend/rendertargetoutput_p.h
index fb881e873..14daa84e9 100644
--- a/src/render/backend/rendertargetoutput_p.h
+++ b/src/render/backend/rendertargetoutput_p.h
@@ -70,8 +70,6 @@ class RenderTargetOutput : public BackendNode
public:
RenderTargetOutput();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
Qt3DCore::QNodeId textureUuid() const;
int mipLevel() const;
int layer() const;
@@ -82,6 +80,7 @@ public:
Attachment attachment() const;
private:
+ void initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) Q_DECL_FINAL;
Qt3DCore::QNodeId m_attachmentUuid;
Attachment m_attachmentData;
};
diff --git a/src/render/backend/transform.cpp b/src/render/backend/transform.cpp
index f639fda98..719eab1a7 100644
--- a/src/render/backend/transform.cpp
+++ b/src/render/backend/transform.cpp
@@ -59,16 +59,6 @@ Transform::Transform()
{
}
-void Transform::updateFromPeer(Qt3DCore::QNode *peer)
-{
- Qt3DCore::QTransform *transform = static_cast<Qt3DCore::QTransform *>(peer);
-
- m_rotation = transform->rotation();
- m_scale = transform->scale3D();
- m_translation = transform->translation();
- updateMatrix();
-}
-
void Transform::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QTransformData>>(change);
diff --git a/src/render/backend/transform_p.h b/src/render/backend/transform_p.h
index 3c64d6106..a36005d2d 100644
--- a/src/render/backend/transform_p.h
+++ b/src/render/backend/transform_p.h
@@ -70,7 +70,6 @@ class Transform : public BackendNode
public:
Transform();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
QMatrix4x4 transformMatrix() const;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
diff --git a/src/render/framegraph/cameraselectornode.cpp b/src/render/framegraph/cameraselectornode.cpp
index aaea9c41a..09095ff7c 100644
--- a/src/render/framegraph/cameraselectornode.cpp
+++ b/src/render/framegraph/cameraselectornode.cpp
@@ -57,14 +57,6 @@ CameraSelector::CameraSelector()
{
}
-void CameraSelector::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QCameraSelector *selector = static_cast<QCameraSelector *>(peer);
- m_cameraUuid = QNodeId();
- if (selector->camera() != nullptr)
- m_cameraUuid = selector->camera()->id();
-}
-
void CameraSelector::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/cameraselectornode_p.h b/src/render/framegraph/cameraselectornode_p.h
index 8d6def2cd..e20d0cf8e 100644
--- a/src/render/framegraph/cameraselectornode_p.h
+++ b/src/render/framegraph/cameraselectornode_p.h
@@ -69,8 +69,6 @@ class CameraSelector : public FrameGraphNode
public:
CameraSelector();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
Qt3DCore::QNodeId cameraUuid() const;
diff --git a/src/render/framegraph/clearbuffers.cpp b/src/render/framegraph/clearbuffers.cpp
index 7b6bc4c83..2908dc03c 100644
--- a/src/render/framegraph/clearbuffers.cpp
+++ b/src/render/framegraph/clearbuffers.cpp
@@ -56,15 +56,6 @@ ClearBuffers::ClearBuffers()
{
}
-void ClearBuffers::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QClearBuffers *clearBuffers = static_cast<QClearBuffers *>(peer);
- m_type = clearBuffers->buffers();
- m_clearColor = clearBuffers->clearColor();
- m_clearDepthValue = clearBuffers->clearDepthValue();
- m_clearStencilValue = clearBuffers->clearStencilValue();
-}
-
void ClearBuffers::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/clearbuffers_p.h b/src/render/framegraph/clearbuffers_p.h
index f53bde2db..4b2f262bd 100644
--- a/src/render/framegraph/clearbuffers_p.h
+++ b/src/render/framegraph/clearbuffers_p.h
@@ -67,7 +67,6 @@ class ClearBuffers : public FrameGraphNode
public:
ClearBuffers();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QClearBuffers::BufferType type() const;
QColor clearColor() const;
diff --git a/src/render/framegraph/dispatchcompute.cpp b/src/render/framegraph/dispatchcompute.cpp
index 5cd8e9e45..3cebb7e02 100644
--- a/src/render/framegraph/dispatchcompute.cpp
+++ b/src/render/framegraph/dispatchcompute.cpp
@@ -66,14 +66,6 @@ void DispatchCompute::cleanup()
m_workGroups[2] = 1;
}
-void DispatchCompute::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QDispatchCompute *computeDispatch = static_cast<QDispatchCompute *>(peer);
- m_workGroups[0] = computeDispatch->workGroupX();
- m_workGroups[1] = computeDispatch->workGroupY();
- m_workGroups[2] = computeDispatch->workGroupZ();
-}
-
void DispatchCompute::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/dispatchcompute_p.h b/src/render/framegraph/dispatchcompute_p.h
index 7b611f34d..724bce742 100644
--- a/src/render/framegraph/dispatchcompute_p.h
+++ b/src/render/framegraph/dispatchcompute_p.h
@@ -68,7 +68,6 @@ public:
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
inline int x() const Q_DECL_NOEXCEPT { return m_workGroups[0]; }
inline int y() const Q_DECL_NOEXCEPT { return m_workGroups[1]; }
diff --git a/src/render/framegraph/frustumculling.cpp b/src/render/framegraph/frustumculling.cpp
index 6ccb9ed11..dea5840ba 100644
--- a/src/render/framegraph/frustumculling.cpp
+++ b/src/render/framegraph/frustumculling.cpp
@@ -56,11 +56,6 @@ FrustumCulling::~FrustumCulling()
{
}
-void FrustumCulling::updateFromPeer(Qt3DCore::QNode *peer)
-{
- Q_UNUSED(peer)
-}
-
} // namespace Render
} // namespace Qt3DRender
diff --git a/src/render/framegraph/frustumculling_p.h b/src/render/framegraph/frustumculling_p.h
index 1f87100b4..7f9959c6e 100644
--- a/src/render/framegraph/frustumculling_p.h
+++ b/src/render/framegraph/frustumculling_p.h
@@ -64,8 +64,6 @@ class FrustumCulling : public FrameGraphNode
public:
FrustumCulling();
~FrustumCulling();
-
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
};
} // namespace Render
diff --git a/src/render/framegraph/layerfilternode.cpp b/src/render/framegraph/layerfilternode.cpp
index 998a320f0..6a61151fb 100644
--- a/src/render/framegraph/layerfilternode.cpp
+++ b/src/render/framegraph/layerfilternode.cpp
@@ -55,12 +55,6 @@ LayerFilterNode::LayerFilterNode()
{
}
-void LayerFilterNode::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QLayerFilter *layerFilter = static_cast<QLayerFilter *>(peer);
- setLayers(layerFilter->layers());
-}
-
void LayerFilterNode::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/layerfilternode_p.h b/src/render/framegraph/layerfilternode_p.h
index a559864ba..6056a2a2f 100644
--- a/src/render/framegraph/layerfilternode_p.h
+++ b/src/render/framegraph/layerfilternode_p.h
@@ -69,7 +69,6 @@ class LayerFilterNode : public FrameGraphNode
public:
LayerFilterNode();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QStringList layers() const;
QVector<int> layerIds() const Q_DECL_NOEXCEPT { return m_layerIds; }
diff --git a/src/render/framegraph/nodraw.cpp b/src/render/framegraph/nodraw.cpp
index 771ebc7b6..96af7ca4c 100644
--- a/src/render/framegraph/nodraw.cpp
+++ b/src/render/framegraph/nodraw.cpp
@@ -57,11 +57,6 @@ NoDraw::~NoDraw()
{
}
-void NoDraw::updateFromPeer(Qt3DCore::QNode *peer)
-{
- Q_UNUSED(peer)
-}
-
} // namespace Render
} // namespace Qt3DRender
diff --git a/src/render/framegraph/nodraw_p.h b/src/render/framegraph/nodraw_p.h
index 46c42c77a..ae9fa6713 100644
--- a/src/render/framegraph/nodraw_p.h
+++ b/src/render/framegraph/nodraw_p.h
@@ -64,8 +64,6 @@ class NoDraw : public FrameGraphNode
public:
NoDraw();
~NoDraw();
-
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
};
} // namespace Render
diff --git a/src/render/framegraph/renderpassfilternode.cpp b/src/render/framegraph/renderpassfilternode.cpp
index 32a478cee..e5d143fb1 100644
--- a/src/render/framegraph/renderpassfilternode.cpp
+++ b/src/render/framegraph/renderpassfilternode.cpp
@@ -58,25 +58,13 @@ RenderPassFilter::RenderPassFilter()
{
}
-void RenderPassFilter::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderPassFilter *filter = static_cast<QRenderPassFilter *>(peer);
- m_filters.clear();
- m_parameterPack.clear();
- const auto criteria = filter->matchAny();
- for (QFilterKey *criterion : criteria)
- appendFilter(criterion->id());
- const auto parameters = filter->parameters();
- for (QParameter *p : parameters)
- m_parameterPack.appendParameter(p->id());
-}
-
void RenderPassFilter::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QRenderPassFilterData>>(change);
const auto &data = typedChange->data;
m_filters = data.matchIds;
+ m_parameterPack.clear();
m_parameterPack.setParameters(data.parameterIds);
}
diff --git a/src/render/framegraph/renderpassfilternode_p.h b/src/render/framegraph/renderpassfilternode_p.h
index 4047beb89..ee9137b04 100644
--- a/src/render/framegraph/renderpassfilternode_p.h
+++ b/src/render/framegraph/renderpassfilternode_p.h
@@ -67,13 +67,11 @@ class QHandle;
namespace Render {
-class RenderPassFilter
- : public Render::FrameGraphNode
+class RenderPassFilter : public Render::FrameGraphNode
{
public:
RenderPassFilter();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
QVector<Qt3DCore::QNodeId> filters() const;
QVector<Qt3DCore::QNodeId> parameters() const;
void appendFilter(Qt3DCore::QNodeId criterionId);
diff --git a/src/render/framegraph/rendersurfaceselector.cpp b/src/render/framegraph/rendersurfaceselector.cpp
index 9c77a6024..894fbb815 100644
--- a/src/render/framegraph/rendersurfaceselector.cpp
+++ b/src/render/framegraph/rendersurfaceselector.cpp
@@ -80,22 +80,6 @@ RenderSurfaceSelector::RenderSurfaceSelector()
{
}
-void RenderSurfaceSelector::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderSurfaceSelector *selector = static_cast<QRenderSurfaceSelector *>(peer);
- m_surface = surfaceFromQObject(selector->surface());
- setRenderTargetSize(selector->externalRenderTargetSize());
- if (m_surface) {
- if (m_surface->surfaceClass() == QSurface::Window) {
- QWindow *window = static_cast<QWindow *>(m_surface);
- m_width = window->width();
- m_height = window->height();
- if (window->screen())
- m_devicePixelRatio = window->screen()->devicePixelRatio();
- }
- }
-}
-
void RenderSurfaceSelector::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/rendersurfaceselector_p.h b/src/render/framegraph/rendersurfaceselector_p.h
index a623d9b34..6602cd18b 100644
--- a/src/render/framegraph/rendersurfaceselector_p.h
+++ b/src/render/framegraph/rendersurfaceselector_p.h
@@ -68,7 +68,6 @@ public:
QSize renderTargetSize() const;
void setRenderTargetSize(const QSize &size) { m_renderTargetSize = size; }
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QSurface *surface() const { return m_surface; }
diff --git a/src/render/framegraph/rendertargetselectornode.cpp b/src/render/framegraph/rendertargetselectornode.cpp
index b1bc6f976..a29230c11 100644
--- a/src/render/framegraph/rendertargetselectornode.cpp
+++ b/src/render/framegraph/rendertargetselectornode.cpp
@@ -59,15 +59,6 @@ RenderTargetSelector::RenderTargetSelector() :
{
}
-void RenderTargetSelector::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderTargetSelector *selector = static_cast<QRenderTargetSelector *>(peer);
- m_renderTargetUuid = QNodeId();
- if (selector->target() != nullptr)
- m_renderTargetUuid = selector->target()->id();
- m_outputs = selector->outputs();
-}
-
void RenderTargetSelector::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/rendertargetselectornode_p.h b/src/render/framegraph/rendertargetselectornode_p.h
index 5d932c6ee..359a433ec 100644
--- a/src/render/framegraph/rendertargetselectornode_p.h
+++ b/src/render/framegraph/rendertargetselectornode_p.h
@@ -66,7 +66,6 @@ class RenderTargetSelector : public FrameGraphNode
public:
RenderTargetSelector();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
Qt3DCore::QNodeId renderTargetUuid() const { return m_renderTargetUuid; }
diff --git a/src/render/framegraph/sortpolicy.cpp b/src/render/framegraph/sortpolicy.cpp
index f04243d6a..697bc0476 100644
--- a/src/render/framegraph/sortpolicy.cpp
+++ b/src/render/framegraph/sortpolicy.cpp
@@ -53,14 +53,6 @@ SortPolicy::SortPolicy()
{
}
-void SortPolicy::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QSortPolicy *sortPolicy = static_cast<QSortPolicy *>(peer);
- m_sortTypes.clear();
- Q_FOREACH (QSortPolicy::SortType c, sortPolicy->sortTypes())
- m_sortTypes.append(c);
-}
-
void SortPolicy::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e)
{
QNodePropertyChangePtr propertyChange = qSharedPointerCast<QNodePropertyChange>(e);
diff --git a/src/render/framegraph/sortpolicy_p.h b/src/render/framegraph/sortpolicy_p.h
index 749965b47..32d2888c3 100644
--- a/src/render/framegraph/sortpolicy_p.h
+++ b/src/render/framegraph/sortpolicy_p.h
@@ -65,7 +65,6 @@ class SortPolicy : public FrameGraphNode
public:
SortPolicy();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QVector<Qt3DRender::QSortPolicy::SortType> sortTypes() const;
diff --git a/src/render/framegraph/statesetnode.cpp b/src/render/framegraph/statesetnode.cpp
index ecc72217f..e0dc9b45d 100644
--- a/src/render/framegraph/statesetnode.cpp
+++ b/src/render/framegraph/statesetnode.cpp
@@ -63,15 +63,6 @@ StateSetNode::~StateSetNode()
{
}
-void StateSetNode::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderStateSet *stateSet = static_cast<QRenderStateSet*>(peer);
-
- const auto renderStates = stateSet->renderStates();
- for (QRenderState *renderState : renderStates)
- appendRenderState(renderState->id());
-}
-
void StateSetNode::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/statesetnode_p.h b/src/render/framegraph/statesetnode_p.h
index 189e326e8..bb7b88603 100644
--- a/src/render/framegraph/statesetnode_p.h
+++ b/src/render/framegraph/statesetnode_p.h
@@ -66,8 +66,6 @@ public:
StateSetNode();
~StateSetNode();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
protected:
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
diff --git a/src/render/framegraph/techniquefilternode.cpp b/src/render/framegraph/techniquefilternode.cpp
index 79c249c85..08a7600c7 100644
--- a/src/render/framegraph/techniquefilternode.cpp
+++ b/src/render/framegraph/techniquefilternode.cpp
@@ -59,19 +59,6 @@ TechniqueFilter::TechniqueFilter()
{
}
-void TechniqueFilter::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QTechniqueFilter *filter = static_cast<QTechniqueFilter *>(peer);
- m_filters.clear();
- m_parameterPack.clear();
- const auto criteria = filter->matchAll();
- for (QFilterKey *criterion : criteria)
- appendFilter(criterion->id());
- const auto parameters = filter->parameters();
- for (QParameter *p : parameters)
- m_parameterPack.appendParameter(p->id());
-}
-
void TechniqueFilter::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/techniquefilternode_p.h b/src/render/framegraph/techniquefilternode_p.h
index 61b7a4b6d..091dc1cf7 100644
--- a/src/render/framegraph/techniquefilternode_p.h
+++ b/src/render/framegraph/techniquefilternode_p.h
@@ -75,7 +75,6 @@ class TechniqueFilter
{
public:
TechniqueFilter();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
QVector<Qt3DCore::QNodeId> parameters() const;
diff --git a/src/render/framegraph/viewportnode.cpp b/src/render/framegraph/viewportnode.cpp
index e0b3d62bc..55d7d16c1 100644
--- a/src/render/framegraph/viewportnode.cpp
+++ b/src/render/framegraph/viewportnode.cpp
@@ -58,15 +58,6 @@ ViewportNode::ViewportNode()
{
}
-void ViewportNode::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QViewport *viewport = static_cast<QViewport *>(peer);
- setXMin(viewport->normalizedRect().x());
- setXMax(viewport->normalizedRect().width());
- setYMin(viewport->normalizedRect().y());
- setYMax(viewport->normalizedRect().height());
-}
-
void ViewportNode::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
FrameGraphNode::initializeFromPeer(change);
diff --git a/src/render/framegraph/viewportnode_p.h b/src/render/framegraph/viewportnode_p.h
index c20d05767..882aa4d86 100644
--- a/src/render/framegraph/viewportnode_p.h
+++ b/src/render/framegraph/viewportnode_p.h
@@ -69,8 +69,6 @@ class ViewportNode : public FrameGraphNode
public:
ViewportNode();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
float xMin() const;
void setXMin(float xMin);
diff --git a/src/render/frontend/qcomputecommand.cpp b/src/render/frontend/qcomputecommand.cpp
index 41883f76a..2e1ea7421 100644
--- a/src/render/frontend/qcomputecommand.cpp
+++ b/src/render/frontend/qcomputecommand.cpp
@@ -102,6 +102,17 @@ void QComputeCommand::setWorkGroupZ(int workGroupZ)
}
}
+Qt3DCore::QNodeCreatedChangeBasePtr QComputeCommand::createNodeCreationChange() const
+{
+ auto creationChange = Qt3DCore::QNodeCreatedChangePtr<QComputeCommandData>::create(this);
+ auto &data = creationChange->data;
+ Q_D(const QComputeCommand);
+ data.workGroupX = d->m_workGroupX;
+ data.workGroupY = d->m_workGroupY;
+ data.workGroupZ = d->m_workGroupZ;
+ return creationChange;
+}
+
} // Render
QT_END_NAMESPACE
diff --git a/src/render/frontend/qcomputecommand.h b/src/render/frontend/qcomputecommand.h
index d901321de..e497574d0 100644
--- a/src/render/frontend/qcomputecommand.h
+++ b/src/render/frontend/qcomputecommand.h
@@ -76,8 +76,7 @@ Q_SIGNALS:
private:
Q_DECLARE_PRIVATE(QComputeCommand)
-
- // TODO: Handle creation changes
+ Qt3DCore::QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE;
};
} // Qt3DRender
diff --git a/src/render/frontend/qcomputecommand_p.h b/src/render/frontend/qcomputecommand_p.h
index 536008e7e..3b595ef99 100644
--- a/src/render/frontend/qcomputecommand_p.h
+++ b/src/render/frontend/qcomputecommand_p.h
@@ -67,6 +67,13 @@ public:
int m_workGroupZ;
};
+struct QComputeCommandData
+{
+ int workGroupX;
+ int workGroupY;
+ int workGroupZ;
+};
+
} // Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/frontend/qrendertargetoutput.cpp b/src/render/frontend/qrendertargetoutput.cpp
index 1f7a7ea5d..213422226 100644
--- a/src/render/frontend/qrendertargetoutput.cpp
+++ b/src/render/frontend/qrendertargetoutput.cpp
@@ -36,8 +36,9 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qrendertargetoutput_p.h"
+
#include "qrendertargetoutput.h"
+#include "qrendertargetoutput_p.h"
#include "qtexture.h"
#include <Qt3DCore/qnodepropertychange.h>
@@ -145,6 +146,19 @@ QAbstractTexture::CubeMapFace QRenderTargetOutput::face() const
return d->m_face;
}
+Qt3DCore::QNodeCreatedChangeBasePtr QRenderTargetOutput::createNodeCreationChange() const
+{
+ auto creationChange = Qt3DCore::QNodeCreatedChangePtr<QRenderTargetOutputData>::create(this);
+ auto &data = creationChange->data;
+ Q_D(const QRenderTargetOutput);
+ data.textureId = qIdForNode(texture());
+ data.attachmentPoint = d->m_attachmentPoint;
+ data.mipLevel = d->m_mipLevel;
+ data.layer = d->m_layer;
+ data.face = d->m_face;
+ return creationChange;
+}
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/frontend/qrendertargetoutput.h b/src/render/frontend/qrendertargetoutput.h
index a56644028..15a6f7321 100644
--- a/src/render/frontend/qrendertargetoutput.h
+++ b/src/render/frontend/qrendertargetoutput.h
@@ -110,6 +110,7 @@ protected:
explicit QRenderTargetOutput(QRenderTargetOutputPrivate &dd, Qt3DCore::QNode *parent = nullptr);
private:
+ Qt3DCore::QNodeCreatedChangeBasePtr createNodeCreationChange() const Q_DECL_OVERRIDE;
Q_DECLARE_PRIVATE(QRenderTargetOutput)
};
diff --git a/src/render/frontend/qrendertargetoutput_p.h b/src/render/frontend/qrendertargetoutput_p.h
index a91abc053..abd352ac9 100644
--- a/src/render/frontend/qrendertargetoutput_p.h
+++ b/src/render/frontend/qrendertargetoutput_p.h
@@ -74,6 +74,15 @@ public:
QAbstractTexture::CubeMapFace m_face;
};
+struct QRenderTargetOutputData
+{
+ Qt3DCore::QNodeId textureId;
+ QRenderTargetOutput::AttachmentPoint attachmentPoint;
+ int mipLevel;
+ int layer;
+ QAbstractTexture::CubeMapFace face;
+};
+
} // namespace Qt3DRender
QT_END_NAMESPACE
diff --git a/src/render/geometry/attribute.cpp b/src/render/geometry/attribute.cpp
index ebf4dae8d..7e63f6ecf 100644
--- a/src/render/geometry/attribute.cpp
+++ b/src/render/geometry/attribute.cpp
@@ -83,25 +83,6 @@ void Attribute::cleanup()
m_nameId = 0;
}
-void Attribute::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAttribute *attribute = static_cast<QAttribute *>(peer);
- if (attribute) {
- m_vertexDataType = attribute->vertexBaseType();
- m_vertexSize = attribute->vertexSize();
- m_count = attribute->count();
- m_byteOffset = attribute->byteOffset();
- m_byteStride = attribute->byteStride();
- m_divisor = attribute->divisor();
- m_attributeType = attribute->attributeType();
- m_name = attribute->name();
- m_nameId = StringToInt::lookupId(m_name);
- if (attribute->buffer())
- m_bufferId = attribute->buffer()->id();
- m_attributeDirty = true;
- }
-}
-
void Attribute::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAttributeData>>(change);
diff --git a/src/render/geometry/attribute_p.h b/src/render/geometry/attribute_p.h
index 8115deafc..6364639dd 100644
--- a/src/render/geometry/attribute_p.h
+++ b/src/render/geometry/attribute_p.h
@@ -68,7 +68,6 @@ public:
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
inline Qt3DCore::QNodeId bufferId() const { return m_bufferId; }
diff --git a/src/render/geometry/buffer.cpp b/src/render/geometry/buffer.cpp
index a53bec0fc..c392b5961 100644
--- a/src/render/geometry/buffer.cpp
+++ b/src/render/geometry/buffer.cpp
@@ -96,22 +96,6 @@ void Buffer::executeFunctor()
}
}
-void Buffer::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QBuffer *buffer = static_cast<QBuffer *>(peer);
- if (buffer != nullptr) {
- m_type = buffer->type();
- m_usage = buffer->usage();
- m_data = buffer->data();
- m_functor = buffer->dataGenerator();
- // Add to dirty list in the manager
- if (m_functor && m_manager != nullptr)
- m_manager->addDirtyBuffer(peerId());
- m_bufferDirty = true;
- m_syncData = buffer->isSyncData();
- }
-}
-
void Buffer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QBufferData>>(change);
diff --git a/src/render/geometry/buffer_p.h b/src/render/geometry/buffer_p.h
index 87938aba9..d6bfe1d8f 100644
--- a/src/render/geometry/buffer_p.h
+++ b/src/render/geometry/buffer_p.h
@@ -70,7 +70,6 @@ public:
~Buffer();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
void setManager(BufferManager *manager);
diff --git a/src/render/geometry/geometry.cpp b/src/render/geometry/geometry.cpp
index 4bf9fd21a..b136c380b 100644
--- a/src/render/geometry/geometry.cpp
+++ b/src/render/geometry/geometry.cpp
@@ -70,19 +70,6 @@ void Geometry::cleanup()
m_boundingPositionAttribute = Qt3DCore::QNodeId();
}
-void Geometry::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QGeometry *geometry = static_cast<QGeometry *>(peer);
- if (geometry != nullptr) {
- m_attributes.reserve(geometry->attributes().size());
- Q_FOREACH (QAttribute *attribute, geometry->attributes())
- m_attributes.push_back(attribute->id());
- m_geometryDirty = true;
- if (geometry->boundingVolumePositionAttribute() != nullptr)
- m_boundingPositionAttribute = geometry->boundingVolumePositionAttribute()->id();
- }
-}
-
void Geometry::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QGeometryData>>(change);
diff --git a/src/render/geometry/geometry_p.h b/src/render/geometry/geometry_p.h
index 364977c0c..41d54cb54 100644
--- a/src/render/geometry/geometry_p.h
+++ b/src/render/geometry/geometry_p.h
@@ -68,7 +68,6 @@ public:
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
inline QVector<Qt3DCore::QNodeId> attributes() const { return m_attributes; }
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp
index 08329c0d6..5ebbd0128 100644
--- a/src/render/geometry/geometryrenderer.cpp
+++ b/src/render/geometry/geometryrenderer.cpp
@@ -75,6 +75,7 @@ GeometryRenderer::~GeometryRenderer()
void GeometryRenderer::cleanup()
{
+ BackendNode::setEnabled(false);
m_instanceCount = 0;
m_vertexCount = 0;
m_indexOffset = 0;
@@ -95,27 +96,6 @@ void GeometryRenderer::setManager(GeometryRendererManager *manager)
m_manager = manager;
}
-void GeometryRenderer::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QGeometryRenderer *geometryRenderer = static_cast<QGeometryRenderer *>(peer);
- if (geometryRenderer) {
- m_instanceCount = geometryRenderer->instanceCount();
- m_vertexCount = geometryRenderer->vertexCount();
- m_indexOffset = geometryRenderer->indexOffset();
- m_firstInstance = geometryRenderer->firstInstance();
- m_restartIndexValue = geometryRenderer->restartIndexValue();
- m_verticesPerPatch = geometryRenderer->verticesPerPatch();
- m_primitiveRestartEnabled = geometryRenderer->primitiveRestartEnabled();
- m_primitiveType = geometryRenderer->primitiveType();
- if (geometryRenderer->geometry() != nullptr)
- m_geometryId = geometryRenderer->geometry()->id();
- m_geometryFactory = geometryRenderer->geometryFactory();
- if (m_geometryFactory && m_manager != nullptr)
- m_manager->addDirtyGeometryRenderer(peerId());
- m_dirty = true;
- }
-}
-
void GeometryRenderer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QGeometryRendererData>>(change);
diff --git a/src/render/geometry/geometryrenderer_p.h b/src/render/geometry/geometryrenderer_p.h
index 66ac172b6..640840962 100644
--- a/src/render/geometry/geometryrenderer_p.h
+++ b/src/render/geometry/geometryrenderer_p.h
@@ -73,7 +73,6 @@ public:
void cleanup();
void setManager(GeometryRendererManager *manager);
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
void executeFunctor();
diff --git a/src/render/io/scene.cpp b/src/render/io/scene.cpp
index cd0190c2a..f88b0ad48 100644
--- a/src/render/io/scene.cpp
+++ b/src/render/io/scene.cpp
@@ -61,14 +61,6 @@ Scene::Scene()
{
}
-void Scene::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QSceneLoader *loader = static_cast<QSceneLoader *>(peer);
-
- m_source = loader->source();
- m_sceneManager->addSceneData(m_source, peerId());
-}
-
void Scene::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QSceneLoaderData>>(change);
diff --git a/src/render/io/scene_p.h b/src/render/io/scene_p.h
index c340b5106..f9513095b 100644
--- a/src/render/io/scene_p.h
+++ b/src/render/io/scene_p.h
@@ -71,9 +71,6 @@ class Scene : public BackendNode
public:
Scene();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
- // QObserverInterface interface
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QUrl source() const;
void setSceneSubtree(Qt3DCore::QEntity *subTree);
diff --git a/src/render/lights/light.cpp b/src/render/lights/light.cpp
index cd43c0f9c..7491b8b77 100644
--- a/src/render/lights/light.cpp
+++ b/src/render/lights/light.cpp
@@ -53,14 +53,6 @@ using namespace Qt3DCore;
namespace Qt3DRender {
namespace Render {
-void Light::updateFromPeer(QNode *node)
-{
- QAbstractLight *light = static_cast<QAbstractLight *>(node);
- QShaderData *shaderData = light->findChild<QShaderData *>();
- if (shaderData != nullptr)
- m_shaderDataId = shaderData->id();
-}
-
QNodeId Light::shaderData() const
{
return m_shaderDataId;
diff --git a/src/render/lights/light_p.h b/src/render/lights/light_p.h
index 552b8fee6..31901bf11 100644
--- a/src/render/lights/light_p.h
+++ b/src/render/lights/light_p.h
@@ -64,8 +64,6 @@ class NodeManagers;
class Q_AUTOTEST_EXPORT Light : public BackendNode
{
public:
- void updateFromPeer(Qt3DCore::QNode *node) Q_DECL_OVERRIDE;
-
Qt3DCore::QNodeId shaderData() const;
private:
diff --git a/src/render/materialsystem/effect.cpp b/src/render/materialsystem/effect.cpp
index 550481044..0ca045839 100644
--- a/src/render/materialsystem/effect.cpp
+++ b/src/render/materialsystem/effect.cpp
@@ -71,20 +71,6 @@ void Effect::cleanup()
QBackendNode::setEnabled(false);
}
-void Effect::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QEffect *effect = static_cast<QEffect *>(peer);
-
- m_techniques.clear();
- m_parameterPack.clear();
-
- Q_FOREACH (QTechnique *t, effect->techniques())
- appendRenderTechnique(t->id());
-
- Q_FOREACH (QParameter *p, effect->parameters())
- m_parameterPack.appendParameter(p->id());
-}
-
void Effect::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QEffectData>>(change);
diff --git a/src/render/materialsystem/effect_p.h b/src/render/materialsystem/effect_p.h
index 0afda1a35..50d470d8e 100644
--- a/src/render/materialsystem/effect_p.h
+++ b/src/render/materialsystem/effect_p.h
@@ -70,7 +70,6 @@ public:
~Effect();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
void appendRenderTechnique(Qt3DCore::QNodeId t);
diff --git a/src/render/materialsystem/filterkey.cpp b/src/render/materialsystem/filterkey.cpp
index 2965f9a44..9ae658ef7 100644
--- a/src/render/materialsystem/filterkey.cpp
+++ b/src/render/materialsystem/filterkey.cpp
@@ -62,14 +62,6 @@ void FilterKey::cleanup()
{
}
-void FilterKey::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QFilterKey *criterion = static_cast<QFilterKey *>(peer);
-
- m_value = criterion->value();
- m_name = criterion->name();
-}
-
void FilterKey::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QFilterKeyData>>(change);
diff --git a/src/render/materialsystem/filterkey_p.h b/src/render/materialsystem/filterkey_p.h
index cdbe18078..8291e32f0 100644
--- a/src/render/materialsystem/filterkey_p.h
+++ b/src/render/materialsystem/filterkey_p.h
@@ -68,7 +68,6 @@ public:
FilterKey();
~FilterKey();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *criterion) Q_DECL_OVERRIDE;
QVariant criterionValue() const;
QString criterionName() const;
diff --git a/src/render/materialsystem/material.cpp b/src/render/materialsystem/material.cpp
index 34e23a3fb..4c0116dee 100644
--- a/src/render/materialsystem/material.cpp
+++ b/src/render/materialsystem/material.cpp
@@ -74,16 +74,6 @@ void Material::cleanup()
m_parameterPack.clear();
}
-void Material::updateFromPeer(Qt3DCore::QNode *node)
-{
- QMaterial *mat = static_cast<QMaterial *>(node);
- m_parameterPack.clear();
- if (mat->effect() != nullptr)
- m_effectUuid = mat->effect()->id();
- Q_FOREACH (QParameter *p, mat->parameters())
- m_parameterPack.appendParameter(p->id());
-}
-
void Material::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QMaterialData>>(change);
diff --git a/src/render/materialsystem/material_p.h b/src/render/materialsystem/material_p.h
index f531a9522..b415e2975 100644
--- a/src/render/materialsystem/material_p.h
+++ b/src/render/materialsystem/material_p.h
@@ -79,7 +79,6 @@ public:
~Material();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode* mat) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QVector<Qt3DCore::QNodeId> parameters() const;
diff --git a/src/render/materialsystem/parameter.cpp b/src/render/materialsystem/parameter.cpp
index 611fec0b1..36d3db7fb 100644
--- a/src/render/materialsystem/parameter.cpp
+++ b/src/render/materialsystem/parameter.cpp
@@ -62,14 +62,6 @@ Parameter::Parameter()
{
}
-void Parameter::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QParameter *param = static_cast<QParameter *>(peer);
- m_name = param->name();
- m_nameId = StringToInt::lookupId(m_name);
- m_value = static_cast<QParameterPrivate *>(QNodePrivate::get(param))->m_backendValue;
-}
-
void Parameter::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QParameterData>>(change);
diff --git a/src/render/materialsystem/parameter_p.h b/src/render/materialsystem/parameter_p.h
index 08d7f5f86..0f4f83a52 100644
--- a/src/render/materialsystem/parameter_p.h
+++ b/src/render/materialsystem/parameter_p.h
@@ -69,7 +69,6 @@ class Parameter : public BackendNode
public:
Parameter();
- void updateFromPeer(Qt3DCore::QNode* mat) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QString name() const;
diff --git a/src/render/materialsystem/renderpass.cpp b/src/render/materialsystem/renderpass.cpp
index 6bca1ce21..617085a24 100644
--- a/src/render/materialsystem/renderpass.cpp
+++ b/src/render/materialsystem/renderpass.cpp
@@ -72,24 +72,6 @@ void RenderPass::cleanup()
{
}
-void RenderPass::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QRenderPass *pass = static_cast<QRenderPass *>(peer);
-
- m_parameterPack.clear();
-
- if (pass->shaderProgram() != nullptr)
- m_shaderUuid = pass->shaderProgram()->id();
- // The RenderPass clones frontend bindings in case the frontend ever removes them
- // TO DO: We probably need a QParameterMapper manager
- Q_FOREACH (QFilterKey *c, pass->filterKeys())
- appendFilterKey(c->id());
- Q_FOREACH (QRenderState *renderState, pass->renderStates())
- appendRenderState(renderState->id());
- Q_FOREACH (QParameter *p, pass->parameters())
- m_parameterPack.appendParameter(p->id());
-}
-
void RenderPass::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QRenderPassData>>(change);
diff --git a/src/render/materialsystem/renderpass_p.h b/src/render/materialsystem/renderpass_p.h
index 67aa015b9..ce2b851b9 100644
--- a/src/render/materialsystem/renderpass_p.h
+++ b/src/render/materialsystem/renderpass_p.h
@@ -80,7 +80,6 @@ public:
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
Qt3DCore::QNodeId shaderProgram() const;
diff --git a/src/render/materialsystem/shader.cpp b/src/render/materialsystem/shader.cpp
index 87dce2111..78a49ac0c 100644
--- a/src/render/materialsystem/shader.cpp
+++ b/src/render/materialsystem/shader.cpp
@@ -95,23 +95,6 @@ void Shader::cleanup()
m_uniformBlocks.clear();
}
-void Shader::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QShaderProgram *shader = static_cast<QShaderProgram *>(peer);
-
- for (int i = QShaderProgram::Vertex; i <= QShaderProgram::Compute; ++i) {
- m_shaderCode[i].clear();
- }
-
- m_isLoaded = false;
-
- for (int i = QShaderProgram::Vertex; i <= QShaderProgram::Compute; ++i) {
- QShaderProgram::ShaderType type = static_cast<const QShaderProgram::ShaderType>(i);
- m_shaderCode[i] = shader->shaderCode(type);
- }
- updateDNA();
-}
-
void Shader::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QShaderProgramData>>(change);
diff --git a/src/render/materialsystem/shader_p.h b/src/render/materialsystem/shader_p.h
index 77d6fb75e..0bf0c528f 100644
--- a/src/render/materialsystem/shader_p.h
+++ b/src/render/materialsystem/shader_p.h
@@ -80,7 +80,6 @@ public:
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void updateUniforms(GraphicsContext *ctx, const ShaderParameterPack &pack);
void setFragOutputs(const QHash<QString, int> &fragOutputs);
diff --git a/src/render/materialsystem/shaderdata.cpp b/src/render/materialsystem/shaderdata.cpp
index 17b50ad74..179ea4300 100644
--- a/src/render/materialsystem/shaderdata.cpp
+++ b/src/render/materialsystem/shaderdata.cpp
@@ -118,15 +118,6 @@ ShaderData *ShaderData::lookupResource(QNodeId id)
return ShaderData::lookupResource(m_managers, id);
}
-void ShaderData::updateFromPeer(Qt3DCore::QNode *peer)
-{
- m_properties.clear();
- const QShaderData *shaderData = static_cast<const QShaderData *>(peer);
- m_propertyReader = shaderData->propertyReader();
- if (!m_propertyReader.isNull())
- readPeerProperties(const_cast<QShaderData *>(shaderData));
-}
-
// Call by cleanup job (single thread)
void ShaderData::clearUpdatedProperties()
{
diff --git a/src/render/materialsystem/shaderdata_p.h b/src/render/materialsystem/shaderdata_p.h
index 6b3ba488e..27339cedd 100644
--- a/src/render/materialsystem/shaderdata_p.h
+++ b/src/render/materialsystem/shaderdata_p.h
@@ -91,7 +91,6 @@ public:
// Called by FrameCleanupJob
static void cleanup(NodeManagers *managers);
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void setManagers(NodeManagers *managers);
protected:
diff --git a/src/render/materialsystem/technique.cpp b/src/render/materialsystem/technique.cpp
index 65a36e438..02a56ffb7 100644
--- a/src/render/materialsystem/technique.cpp
+++ b/src/render/materialsystem/technique.cpp
@@ -79,28 +79,6 @@ void Technique::cleanup()
m_filterKeyList.clear();
}
-void Technique::updateFromPeer(Qt3DCore::QNode *peer)
-{
- m_parameterPack.clear();
- m_renderPasses.clear();
- m_filterKeyList.clear();
-
- QTechnique *technique = static_cast<QTechnique *>(peer);
-
- if (technique != nullptr) {
- Q_FOREACH (QParameter *p, technique->parameters())
- m_parameterPack.appendParameter(p->id());
- Q_FOREACH (QRenderPass *rPass, technique->renderPasses())
- appendRenderPass(rPass->id());
- Q_FOREACH (QFilterKey *filterKey, technique->filterKeys())
- appendFilterKey(filterKey->id());
-
- // Copy GraphicsApiFilter info from frontend GraphicsApiFilter
- QGraphicsApiFilter *peerFilter = technique->graphicsApiFilter();
- m_graphicsApiFilterData = QGraphicsApiFilterPrivate::get(peerFilter)->m_data;
- }
-}
-
void Technique::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QTechniqueData>>(change);
diff --git a/src/render/materialsystem/technique_p.h b/src/render/materialsystem/technique_p.h
index b911e3871..541076a0b 100644
--- a/src/render/materialsystem/technique_p.h
+++ b/src/render/materialsystem/technique_p.h
@@ -80,8 +80,6 @@ public:
~Technique();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
QVector<Qt3DCore::QNodeId> parameters() const;
diff --git a/src/render/picking/objectpicker.cpp b/src/render/picking/objectpicker.cpp
index c50030af2..89ee9aad0 100644
--- a/src/render/picking/objectpicker.cpp
+++ b/src/render/picking/objectpicker.cpp
@@ -73,16 +73,6 @@ void ObjectPicker::cleanup()
m_dragEnabled = false;
}
-void ObjectPicker::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QObjectPicker *picker = static_cast<QObjectPicker *>(peer);
- if (picker) {
- m_hoverEnabled = picker->isHoverEnabled();
- m_dragEnabled = picker->isDragEnabled();
- m_isDirty = true;
- }
-}
-
void ObjectPicker::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QObjectPickerData>>(change);
diff --git a/src/render/picking/objectpicker_p.h b/src/render/picking/objectpicker_p.h
index f0040589a..f116aa332 100644
--- a/src/render/picking/objectpicker_p.h
+++ b/src/render/picking/objectpicker_p.h
@@ -69,7 +69,6 @@ public:
~ObjectPicker();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_FINAL;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_FINAL;
bool isDirty() const;
bool isPressed() const;
diff --git a/src/render/renderstates/renderstatenode.cpp b/src/render/renderstates/renderstatenode.cpp
index ae1cc90e7..40c064dac 100644
--- a/src/render/renderstates/renderstatenode.cpp
+++ b/src/render/renderstates/renderstatenode.cpp
@@ -64,14 +64,6 @@ void RenderStateNode::cleanup()
}
}
-void RenderStateNode::updateFromPeer(Qt3DCore::QNode *peer)
-{
- cleanup();
-
- QRenderState *renderState = static_cast<QRenderState *>(peer);
- m_impl = RenderStateImpl::getOrCreateState(renderState);
-}
-
void RenderStateNode::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
cleanup();
diff --git a/src/render/renderstates/renderstatenode_p.h b/src/render/renderstates/renderstatenode_p.h
index cc6a101d5..9bcb1d91a 100644
--- a/src/render/renderstates/renderstatenode_p.h
+++ b/src/render/renderstates/renderstatenode_p.h
@@ -62,7 +62,6 @@ public:
RenderStateNode();
virtual ~RenderStateNode();
- virtual void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
virtual void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
void apply(GraphicsContext* gc) const { m_impl->apply(gc); }
diff --git a/src/render/texture/texture.cpp b/src/render/texture/texture.cpp
index af1e2db7c..d83008776 100644
--- a/src/render/texture/texture.cpp
+++ b/src/render/texture/texture.cpp
@@ -127,35 +127,6 @@ void Texture::cleanup()
}
// AspectThread
-void Texture::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAbstractTexture *texture = static_cast<QAbstractTexture *>(peer);
-
- QMutexLocker lock(&m_lock);
- if (texture != nullptr) {
- m_isDirty = true;
- m_width = texture->width();
- m_height = texture->height();
- m_depth = texture->depth();
- m_generateMipMaps = texture->generateMipMaps();
- m_target = texture->target();
- m_format = texture->format();
- m_magnificationFilter = texture->magnificationFilter();
- m_minificationFilter = texture->minificationFilter();
- m_wrapModeX = texture->wrapMode()->x();
- m_wrapModeY = texture->wrapMode()->y();
- m_wrapModeZ = texture->wrapMode()->z();
- m_maximumAnisotropy = texture->maximumAnisotropy();
- m_comparisonFunction = texture->comparisonFunction();
- m_comparisonMode = texture->comparisonMode();
- m_layers = texture->layers();
- m_dataFunctor = texture->dataGenerator();
-
- if (m_dataFunctor)
- addToPendingTextureJobs();
- }
-}
-
void Texture::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAbstractTextureData>>(change);
diff --git a/src/render/texture/texture_p.h b/src/render/texture/texture_p.h
index 7ca6e3a08..4b14304f0 100644
--- a/src/render/texture/texture_p.h
+++ b/src/render/texture/texture_p.h
@@ -81,8 +81,6 @@ public:
~Texture();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
-
QOpenGLTexture* getOrCreateGLTexture() ;
GLint textureId();
diff --git a/src/render/texture/textureimage.cpp b/src/render/texture/textureimage.cpp
index 0c5af7b00..a5ac33187 100644
--- a/src/render/texture/textureimage.cpp
+++ b/src/render/texture/textureimage.cpp
@@ -79,27 +79,6 @@ void TextureImage::cleanup()
m_dna = 0;
}
-void TextureImage::updateFromPeer(Qt3DCore::QNode *peer)
-{
- QAbstractTextureImage *textureImage = static_cast<QAbstractTextureImage *>(peer);
- m_layer = textureImage->layer();
- m_mipLevel = textureImage->mipLevel();
- m_face = textureImage->face();
- m_generator = textureImage->dataGenerator();
- // Notify the Texture that we are one of its TextureImage
- if (!peer->parentNode()) {
- qWarning() << "Not QAbstractTexture parent found";
- } else {
- m_textureProviderId = peer->parentNode()->id();
- m_textureProvider = m_textureManager->lookupHandle(m_textureProviderId);
- Texture *txt = m_textureManager->data(m_textureProvider);
- // Notify the Texture that it has a new TextureImage and needs an update
- txt->addTextureImageData(m_textureImageManager->lookupHandle(peerId()));
- if (txt != nullptr)
- txt->addToPendingTextureJobs();
- }
-}
-
void TextureImage::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change)
{
const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QAbstractTextureImageData>>(change);
diff --git a/src/render/texture/textureimage_p.h b/src/render/texture/textureimage_p.h
index 900ee208f..9ddfbe288 100644
--- a/src/render/texture/textureimage_p.h
+++ b/src/render/texture/textureimage_p.h
@@ -75,7 +75,6 @@ class TextureImage : public BackendNode
public:
TextureImage();
void cleanup();
- void updateFromPeer(Qt3DCore::QNode *peer) Q_DECL_OVERRIDE;
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE;
int m_layer;
diff --git a/tests/auto/core/qchangearbiter/tst_qchangearbiter.cpp b/tests/auto/core/qchangearbiter/tst_qchangearbiter.cpp
index 4881bb63c..3496f19a4 100644
--- a/tests/auto/core/qchangearbiter/tst_qchangearbiter.cpp
+++ b/tests/auto/core/qchangearbiter/tst_qchangearbiter.cpp
@@ -161,9 +161,6 @@ public:
: Qt3DCore::QBackendNode(ReadWrite)
{}
- void updateFromPeer(Qt3DCore::QNode *) Q_DECL_OVERRIDE
- {}
-
// QObserverInterface interface
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) Q_DECL_OVERRIDE
{
diff --git a/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp b/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp
index 09c3ef24a..441e2aee7 100644
--- a/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp
+++ b/tests/auto/input/abstractaxisinput/tst_abstractaxisinput.cpp
@@ -107,11 +107,10 @@ private Q_SLOTS:
axisInput.setSourceDevice(&sourceDevice);
// WHEN
- backendAxisInput.updateFromPeer(&axisInput);
+ simulateInitialization(&axisInput, &backendAxisInput);
backendAxisInput.cleanup();
// THEN
- QVERIFY(backendAxisInput.peerId().isNull());
QCOMPARE(backendAxisInput.isEnabled(), false);
QCOMPARE(backendAxisInput.sourceDevice(), Qt3DCore::QNodeId());
}
diff --git a/tests/auto/input/action/tst_action.cpp b/tests/auto/input/action/tst_action.cpp
index a8efaaf3d..f74491af4 100644
--- a/tests/auto/input/action/tst_action.cpp
+++ b/tests/auto/input/action/tst_action.cpp
@@ -90,18 +90,17 @@ private Q_SLOTS:
QCOMPARE(backendAction.inputs().size(), 0);
// GIVEN
- Qt3DInput::QAction axis;
+ Qt3DInput::QAction action;
Qt3DInput::QActionInput axisInput;
- axis.addInput(&axisInput);
+ action.addInput(&axisInput);
// WHEN
- backendAction.updateFromPeer(&axis);
+ simulateInitialization(&action, &backendAction);
backendAction.setActionTriggered(true);
backendAction.cleanup();
// THEN
- QVERIFY(backendAction.peerId().isNull());
QCOMPARE(backendAction.actionTriggered(), false);
QCOMPARE(backendAction.isEnabled(), false);
QCOMPARE(backendAction.inputs().size(), 0);
diff --git a/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp b/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp
index 99110116c..8a9d02d3b 100644
--- a/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp
+++ b/tests/auto/input/analogaxisinput/tst_analogaxisinput.cpp
@@ -81,11 +81,10 @@ private Q_SLOTS:
axisInput.setSourceDevice(&sourceDevice);
// WHEN
- backendAxisInput.updateFromPeer(&axisInput);
+ simulateInitialization(&axisInput, &backendAxisInput);
backendAxisInput.cleanup();
// THEN
- QVERIFY(backendAxisInput.peerId().isNull());
QCOMPARE(backendAxisInput.axis(), 0);
QCOMPARE(backendAxisInput.isEnabled(), false);
QCOMPARE(backendAxisInput.sourceDevice(), Qt3DCore::QNodeId());
diff --git a/tests/auto/input/axis/tst_axis.cpp b/tests/auto/input/axis/tst_axis.cpp
index eb3371b08..552ca4855 100644
--- a/tests/auto/input/axis/tst_axis.cpp
+++ b/tests/auto/input/axis/tst_axis.cpp
@@ -97,12 +97,11 @@ private Q_SLOTS:
axis.addInput(&axisInput);
// WHEN
- backendAxis.updateFromPeer(&axis);
+ simulateInitialization(&axis, &backendAxis);
backendAxis.setAxisValue(883.0f);
backendAxis.cleanup();
// THEN
- QVERIFY(backendAxis.peerId().isNull());
QCOMPARE(backendAxis.axisValue(), 0.0f);
QCOMPARE(backendAxis.isEnabled(), false);
QCOMPARE(backendAxis.inputs().size(), 0);
diff --git a/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp b/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp
index 4c455af79..2cff02aaa 100644
--- a/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp
+++ b/tests/auto/input/buttonaxisinput/tst_buttonaxisinput.cpp
@@ -85,11 +85,10 @@ private Q_SLOTS:
axisInput.setSourceDevice(&sourceDevice);
// WHEN
- backendAxisInput.updateFromPeer(&axisInput);
+ simulateInitialization(&axisInput, &backendAxisInput);
backendAxisInput.cleanup();
// THEN
- QVERIFY(backendAxisInput.peerId().isNull());
QCOMPARE(backendAxisInput.scale(), 0.0f);
QVERIFY(backendAxisInput.buttons().isEmpty());
QCOMPARE(backendAxisInput.isEnabled(), false);
diff --git a/tests/auto/render/attribute/tst_attribute.cpp b/tests/auto/render/attribute/tst_attribute.cpp
index 9e3c3228c..89175ceeb 100644
--- a/tests/auto/render/attribute/tst_attribute.cpp
+++ b/tests/auto/render/attribute/tst_attribute.cpp
@@ -111,11 +111,10 @@ private Q_SLOTS:
attribute.setBuffer(&buffer);
// WHEN
- renderAttribute.updateFromPeer(&attribute);
+ simulateInitialization(&attribute, &renderAttribute);
renderAttribute.cleanup();
// THEN
- QVERIFY(renderAttribute.peerId().isNull());
QVERIFY(renderAttribute.bufferId().isNull());
QVERIFY(renderAttribute.name().isEmpty());
QCOMPARE(renderAttribute.isDirty(), false);
diff --git a/tests/auto/render/buffer/tst_buffer.cpp b/tests/auto/render/buffer/tst_buffer.cpp
index b26bf8007..13c76ae31 100644
--- a/tests/auto/render/buffer/tst_buffer.cpp
+++ b/tests/auto/render/buffer/tst_buffer.cpp
@@ -94,6 +94,7 @@ private Q_SLOTS:
{
// GIVEN
Qt3DRender::Render::Buffer renderBuffer;
+ Qt3DRender::Render::BufferManager bufferManager;
// THEN
QCOMPARE(renderBuffer.isDirty(), false);
@@ -110,7 +111,8 @@ private Q_SLOTS:
buffer.setDataGenerator(Qt3DRender::QBufferDataGeneratorPtr(new TestFunctor(73)));
// WHEN
- renderBuffer.updateFromPeer(&buffer);
+ renderBuffer.setManager(&bufferManager);
+ simulateInitialization(&buffer, &renderBuffer);
renderBuffer.cleanup();
// THEN
diff --git a/tests/auto/render/framegraphnode/tst_framegraphnode.cpp b/tests/auto/render/framegraphnode/tst_framegraphnode.cpp
index 62f768b96..d3a1a2e98 100644
--- a/tests/auto/render/framegraphnode/tst_framegraphnode.cpp
+++ b/tests/auto/render/framegraphnode/tst_framegraphnode.cpp
@@ -33,7 +33,6 @@
class MyFrameGraphNode : public Qt3DRender::Render::FrameGraphNode
{
public:
- void updateFromPeer(Qt3DCore::QNode *) Q_DECL_FINAL {}
void setEnabled(bool enabled)
{
FrameGraphNode::setEnabled(enabled);
diff --git a/tests/auto/render/geometry/tst_geometry.cpp b/tests/auto/render/geometry/tst_geometry.cpp
index 004fb8590..1d84b85ff 100644
--- a/tests/auto/render/geometry/tst_geometry.cpp
+++ b/tests/auto/render/geometry/tst_geometry.cpp
@@ -105,7 +105,7 @@ private Q_SLOTS:
geometry.addAttribute(&attr4);
// WHEN
- renderGeometry.updateFromPeer(&geometry);
+ simulateInitialization(&geometry, &renderGeometry);
renderGeometry.cleanup();
// THEN
diff --git a/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp b/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp
index cd2c7de76..efc687dda 100644
--- a/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp
+++ b/tests/auto/render/geometryrenderer/tst_geometryrenderer.cpp
@@ -121,6 +121,7 @@ private Q_SLOTS:
{
// GIVEN
Qt3DRender::Render::GeometryRenderer renderGeometryRenderer;
+ Qt3DRender::Render::GeometryRendererManager geometryRendererManager;
// THEN
QVERIFY(renderGeometryRenderer.peerId().isNull());
@@ -154,11 +155,11 @@ private Q_SLOTS:
geometryRenderer.setEnabled(true);
// WHEN
- renderGeometryRenderer.updateFromPeer(&geometryRenderer);
+ renderGeometryRenderer.setManager(&geometryRendererManager);
+ simulateInitialization(&geometryRenderer, &renderGeometryRenderer);
renderGeometryRenderer.cleanup();
// THEN
- QVERIFY(renderGeometryRenderer.peerId().isNull());
QVERIFY(renderGeometryRenderer.geometryId().isNull());
QCOMPARE(renderGeometryRenderer.isDirty(), false);
QCOMPARE(renderGeometryRenderer.instanceCount(), 0);
diff --git a/tests/auto/render/objectpicker/tst_objectpicker.cpp b/tests/auto/render/objectpicker/tst_objectpicker.cpp
index abd37fdf0..abe80a967 100644
--- a/tests/auto/render/objectpicker/tst_objectpicker.cpp
+++ b/tests/auto/render/objectpicker/tst_objectpicker.cpp
@@ -72,11 +72,10 @@ private Q_SLOTS:
picker.setHoverEnabled(true);
// WHEN
- objectPicker.updateFromPeer(&picker);
+ simulateInitialization(&picker, &objectPicker);
objectPicker.cleanup();
// THEN
- QVERIFY(objectPicker.peerId().isNull());
QCOMPARE(objectPicker.isHoverEnabled(), false);
QCOMPARE(objectPicker.isDirty(), false);
}
diff --git a/tests/auto/render/renderviewutils/renderviewutils.pro b/tests/auto/render/renderviewutils/renderviewutils.pro
index c45313023..4c4134440 100644
--- a/tests/auto/render/renderviewutils/renderviewutils.pro
+++ b/tests/auto/render/renderviewutils/renderviewutils.pro
@@ -7,3 +7,5 @@ QT += core-private 3dcore 3dcore-private 3drender 3drender-private testlib
CONFIG += testcase
SOURCES += tst_renderviewutils.cpp
+
+include(../../core/common/common.pri)
diff --git a/tests/auto/render/renderviewutils/tst_renderviewutils.cpp b/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
index adb7b6c97..ea9cdef0a 100644
--- a/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
+++ b/tests/auto/render/renderviewutils/tst_renderviewutils.cpp
@@ -27,7 +27,7 @@
****************************************************************************/
#include <QtTest/QTest>
-
+#include <qbackendnodetester.h>
#include <Qt3DRender/private/renderviewjobutils_p.h>
#include <Qt3DRender/private/shaderdata_p.h>
#include <Qt3DRender/private/managers_p.h>
@@ -35,7 +35,7 @@
#include <Qt3DRender/qshaderdata.h>
-class tst_RenderViewUtils : public QObject
+class tst_RenderViewUtils : public Qt3DCore::QBackendNodeTester
{
Q_OBJECT
private Q_SLOTS:
@@ -45,6 +45,23 @@ private Q_SLOTS:
void topLevelStructValue_data();
void topLevelStructValue();
void topLevelDynamicProperties();
+
+private:
+ void initBackendShaderData(Qt3DRender::QShaderData *frontend,
+ Qt3DRender::Render::ShaderDataManager *manager)
+ {
+ // Create children first
+ Q_FOREACH (QObject *c, frontend->children()) {
+ Qt3DRender::QShaderData *cShaderData = qobject_cast<Qt3DRender::QShaderData *>(c);
+ if (cShaderData)
+ initBackendShaderData(cShaderData, manager);
+ }
+
+ // Create backend element for frontend one
+ Qt3DRender::Render::ShaderData *backend = manager->getOrCreateResource(frontend->id());
+ // Init the backend element
+ simulateInitialization(frontend, backend);
+ }
};
class ScalarShaderData : public Qt3DRender::QShaderData
@@ -268,27 +285,6 @@ private:
Qt3DRender::QShaderData *m_inner;
};
-namespace {
-
-void initBackendShaderData(Qt3DRender::QShaderData *frontend,
- Qt3DRender::Render::ShaderDataManager *manager)
-{
- // Create children first
- Q_FOREACH (QObject *c, frontend->children()) {
- Qt3DRender::QShaderData *cShaderData = qobject_cast<Qt3DRender::QShaderData *>(c);
- if (cShaderData)
- initBackendShaderData(cShaderData, manager);
- }
-
- // Create backend element for frontend one
- Qt3DRender::Render::ShaderData *backend = manager->getOrCreateResource(frontend->id());
- // Init the backend element
- backend->updateFromPeer(frontend);
-}
-
-} // anonymous
-
-
void tst_RenderViewUtils::topLevelScalarValueNoUniforms()
{
QScopedPointer<ScalarShaderData> shaderData(new ScalarShaderData());
diff --git a/tests/auto/render/shader/shader.pro b/tests/auto/render/shader/shader.pro
index 8d0dd99a5..7c908e0f6 100644
--- a/tests/auto/render/shader/shader.pro
+++ b/tests/auto/render/shader/shader.pro
@@ -7,3 +7,5 @@ QT += core-private 3dcore 3dcore-private 3drender 3drender-private testlib
CONFIG += testcase
SOURCES += tst_shader.cpp
+
+include(../../core/common/common.pri)
diff --git a/tests/auto/render/shader/tst_shader.cpp b/tests/auto/render/shader/tst_shader.cpp
index ecee84c1f..95576afe0 100644
--- a/tests/auto/render/shader/tst_shader.cpp
+++ b/tests/auto/render/shader/tst_shader.cpp
@@ -27,10 +27,11 @@
****************************************************************************/
#include <QtTest/QTest>
+#include <qbackendnodetester.h>
#include <Qt3DRender/private/shader_p.h>
#include <Qt3DRender/qshaderprogram.h>
-class tst_RenderShader : public QObject
+class tst_RenderShader : public Qt3DCore::QBackendNodeTester
{
Q_OBJECT
private slots:
@@ -87,7 +88,7 @@ void tst_RenderShader::matchesFrontendPeer()
Qt3DRender::QShaderProgram *frontend = createFrontendShader();
Qt3DRender::Render::Shader *backend = new Qt3DRender::Render::Shader();
- backend->updateFromPeer(frontend);
+ simulateInitialization(frontend, backend);
QCOMPARE(backend->isLoaded(), false);
QVERIFY(backend->dna() != 0U);
@@ -101,7 +102,7 @@ void tst_RenderShader::cleanupLeavesACoherentState()
Qt3DRender::QShaderProgram *frontend = createFrontendShader();
Qt3DRender::Render::Shader *shader = new Qt3DRender::Render::Shader();
- shader->updateFromPeer(frontend);
+ simulateInitialization(frontend, shader);
shader->cleanup();