mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 16:18:05 +02:00
Merge pull request #7124 from samcake/red
Fixing the disappearing avatars maybe ?
This commit is contained in:
commit
784dc2b538
3 changed files with 12 additions and 0 deletions
|
@ -322,6 +322,12 @@ void Avatar::removeFromScene(AvatarSharedPointer self, std::shared_ptr<render::S
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Avatar::updateRenderItem(render::PendingChanges& pendingChanges) {
|
||||||
|
if (_renderItemID != render::Item::INVALID_ITEM_ID) {
|
||||||
|
pendingChanges.updateItem<render::Payload<AvatarData>>(_renderItemID, [](render::Payload<AvatarData>& p) {});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) {
|
void Avatar::render(RenderArgs* renderArgs, const glm::vec3& cameraPosition) {
|
||||||
auto& batch = *renderArgs->_batch;
|
auto& batch = *renderArgs->_batch;
|
||||||
PROFILE_RANGE_BATCH(batch, __FUNCTION__);
|
PROFILE_RANGE_BATCH(batch, __FUNCTION__);
|
||||||
|
|
|
@ -76,6 +76,8 @@ public:
|
||||||
void removeFromScene(AvatarSharedPointer self, std::shared_ptr<render::Scene> scene,
|
void removeFromScene(AvatarSharedPointer self, std::shared_ptr<render::Scene> scene,
|
||||||
render::PendingChanges& pendingChanges);
|
render::PendingChanges& pendingChanges);
|
||||||
|
|
||||||
|
void updateRenderItem(render::PendingChanges& pendingChanges);
|
||||||
|
|
||||||
//setters
|
//setters
|
||||||
void setDisplayingLookatVectors(bool displayingLookatVectors) { getHead()->setRenderLookatVectors(displayingLookatVectors); }
|
void setDisplayingLookatVectors(bool displayingLookatVectors) { getHead()->setRenderLookatVectors(displayingLookatVectors); }
|
||||||
void setDisplayingLookatTarget(bool displayingLookatTarget) { getHead()->setRenderLookatTarget(displayingLookatTarget); }
|
void setDisplayingLookatTarget(bool displayingLookatTarget) { getHead()->setRenderLookatTarget(displayingLookatTarget); }
|
||||||
|
|
|
@ -128,6 +128,7 @@ void AvatarManager::updateOtherAvatars(float deltaTime) {
|
||||||
PerformanceWarning warn(showWarnings, "Application::updateAvatars()");
|
PerformanceWarning warn(showWarnings, "Application::updateAvatars()");
|
||||||
|
|
||||||
PerformanceTimer perfTimer("otherAvatars");
|
PerformanceTimer perfTimer("otherAvatars");
|
||||||
|
render::PendingChanges pendingChanges;
|
||||||
|
|
||||||
// simulate avatars
|
// simulate avatars
|
||||||
auto hashCopy = getHashCopy();
|
auto hashCopy = getHashCopy();
|
||||||
|
@ -148,8 +149,11 @@ void AvatarManager::updateOtherAvatars(float deltaTime) {
|
||||||
avatar->simulate(deltaTime);
|
avatar->simulate(deltaTime);
|
||||||
avatar->endUpdate();
|
avatar->endUpdate();
|
||||||
++avatarIterator;
|
++avatarIterator;
|
||||||
|
|
||||||
|
avatar->updateRenderItem(pendingChanges);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
qApp->getMain3DScene()->enqueuePendingChanges(pendingChanges);
|
||||||
|
|
||||||
// simulate avatar fades
|
// simulate avatar fades
|
||||||
simulateAvatarFades(deltaTime);
|
simulateAvatarFades(deltaTime);
|
||||||
|
|
Loading…
Reference in a new issue