From 546f09c0b1248d909ab5e7fd46fdf2bc4fcd1a28 Mon Sep 17 00:00:00 2001 From: howard-stearns Date: Wed, 25 Nov 2015 13:30:54 -0800 Subject: [PATCH 1/2] Restore rendering of one's own avatar. --- interface/src/avatar/Avatar.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index f6d73e3beb..17ecae1330 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -96,7 +96,6 @@ Avatar::Avatar(RigPointer rig) : _moving(false), _initialized(false), _shouldRenderBillboard(true), - _shouldSkipRender(true), _voiceSphereID(GeometryCache::UNKNOWN_ID) { // we may have been created in the network thread, but we live in the main thread From 6c7099a5f7b23a0a1dbdb10cff9653de18b670d1 Mon Sep 17 00:00:00 2001 From: Howard Stearns Date: Wed, 25 Nov 2015 15:18:32 -0800 Subject: [PATCH 2/2] Coordinate with other uses of setVisibleInScene. --- interface/src/avatar/Avatar.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/interface/src/avatar/Avatar.cpp b/interface/src/avatar/Avatar.cpp index 17ecae1330..a52123b3d5 100644 --- a/interface/src/avatar/Avatar.cpp +++ b/interface/src/avatar/Avatar.cpp @@ -197,12 +197,14 @@ void Avatar::simulate(float deltaTime) { if (_shouldSkipRender) { if (distance < renderDistance * (1.0f - SKIP_HYSTERESIS_PROPORTION)) { _shouldSkipRender = false; + _skeletonModel.setVisibleInScene(true, qApp->getMain3DScene()); if (!isControllerLogging) { // Test for isMyAvatar is prophylactic. Never occurs in current code. qCDebug(interfaceapp) << "Rerendering" << (isMyAvatar() ? "myself" : getSessionUUID()) << "for distance" << renderDistance; } } } else if (distance > renderDistance * (1.0f + SKIP_HYSTERESIS_PROPORTION)) { _shouldSkipRender = true; + _skeletonModel.setVisibleInScene(false, qApp->getMain3DScene()); if (!isControllerLogging) { qCDebug(interfaceapp) << "Unrendering" << (isMyAvatar() ? "myself" : getSessionUUID()) << "for distance" << renderDistance; } @@ -608,10 +610,6 @@ void Avatar::fixupModelsInScene() { // check to see if when we added our models to the scene they were ready, if they were not ready, then // fix them up in the scene render::ScenePointer scene = qApp->getMain3DScene(); - _skeletonModel.setVisibleInScene(!_shouldSkipRender, scene); - if (_shouldSkipRender) { - return; - } render::PendingChanges pendingChanges; if (_skeletonModel.isRenderable() && _skeletonModel.needsFixupInScene()) { _skeletonModel.removeFromScene(scene, pendingChanges);