From 640bf813397036ecfe64b518aecb5dcb8bf77003 Mon Sep 17 00:00:00 2001 From: samcake Date: Tue, 16 Feb 2016 17:19:31 -0800 Subject: [PATCH] Forcing an update from teh avatar manager to the avatar renderItems when beeing updated --- interface/src/avatar/Avatar.cpp | 6 ++++++ interface/src/avatar/Avatar.h | 2 ++ interface/src/avatar/AvatarManager.cpp | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 2eab67f192..f62eb5a070 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -322,6 +322,12 @@ void Avatar::removeFromScene(AvatarSharedPointer self, std::shared_ptr>(_renderItemID, [](render::Payload& p) {}); + } +} + void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) { auto& batch = *renderArgs->_batch; PROFILE_RANGE_BATCH(batch, __FUNCTION__); diff --git a/interface/src/avatar/Avatar.h b/interface/src/avatar/Avatar.h index dfca9dca6d..766a4734eb 100644 --- a/interface/src/avatar/Avatar.h +++ b/interface/src/avatar/Avatar.h @@ -76,6 +76,8 @@ public: void removeFromScene(AvatarSharedPointer self, std::shared_ptr scene, render::PendingChanges& pendingChanges); + void updateRenderItem(render::PendingChanges& pendingChanges); + //setters void setDisplayingLookatVectors(bool displayingLookatVectors) { getHead()->setRenderLookatVectors(displayingLookatVectors); } void setDisplayingLookatTarget(bool displayingLookatTarget) { getHead()->setRenderLookatTarget(displayingLookatTarget); } diff --git a/interface/src/avatar/AvatarManager.cpp b/interface/src/avatar/AvatarManager.cpp index e12ff8f857..6da4481840 100644 --- a/interface/src/avatar/AvatarManager.cpp +++ b/interface/src/avatar/AvatarManager.cpp @@ -128,6 +128,7 @@ void AvatarManager::updateOtherAvatars(float deltaTime) { PerformanceWarning warn(showWarnings, "Application::updateAvatars()"); PerformanceTimer perfTimer("otherAvatars"); + render::PendingChanges pendingChanges; // simulate avatars auto hashCopy = getHashCopy(); @@ -148,8 +149,11 @@ void AvatarManager::updateOtherAvatars(float deltaTime) { avatar->simulate(deltaTime); avatar->endUpdate(); ++avatarIterator; + + avatar->updateRenderItem(pendingChanges); } } + qApp->getMain3DScene()->enqueuePendingChanges(pendingChanges); // simulate avatar fades simulateAvatarFades(deltaTime);