diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2016-04-01 11:16:48 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2016-04-05 12:17:21 +0000 |
commit | 1fd0de22bdd55adb0046936337b675bf6a987138 (patch) | |
tree | cda17894c46b23e4d7011a9107b51b620fa11103 /src/render/geometry/buffer.cpp | |
parent | 8d6f253656a4ae7c2a43e8beb238a9258aa143a2 (diff) |
Buffer handles creation
Change-Id: I1b70651df24b9eb1418db4552674531153c601a3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render/geometry/buffer.cpp')
-rw-r--r-- | src/render/geometry/buffer.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/render/geometry/buffer.cpp b/src/render/geometry/buffer.cpp index cadf5cd02..f4c88562a 100644 --- a/src/render/geometry/buffer.cpp +++ b/src/render/geometry/buffer.cpp @@ -41,6 +41,7 @@ #include <Qt3DCore/qscenepropertychange.h> #include <Qt3DCore/qbackendscenepropertychange.h> #include <Qt3DRender/private/buffermanager_p.h> +#include <Qt3DRender/private/qbuffer_p.h> QT_BEGIN_NAMESPACE @@ -111,6 +112,22 @@ void Buffer::updateFromPeer(Qt3DCore::QNode *peer) } } +void Buffer::initializeFromPeer(const Qt3DCore::QNodeCreatedChangeBasePtr &change) +{ + const auto typedChange = qSharedPointerCast<Qt3DCore::QNodeCreatedChange<QBufferData>>(change); + const auto &data = typedChange->data; + m_data = data.data; + m_type = data.type; + m_usage = data.usage; + m_syncData = data.syncData; + m_bufferDirty = true; + + m_functor = data.functor; + Q_ASSERT(m_manager); + if (m_functor) + m_manager->addDirtyBuffer(peerId()); +} + void Buffer::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &e) { if (e->type() == NodeUpdated) { |