diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-11-13 09:51:01 -0700 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-11-13 09:51:01 -0700 |
commit | 58b153cf878370643bd61914538a80e6512c7e5c (patch) | |
tree | aab0378460dd3221931c8eac9fb629eef22c4f74 /indra/newview/llviewerregion.cpp | |
parent | 58ee2a30ce5fb83186392693c7b014aa667e02cf (diff) |
fix for SH-4608: Interesting: minimap shows objects loading/uinloading behind your camera when camera is rotated
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 06f9af8751..07a470e3bc 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -962,6 +962,7 @@ void LLViewerRegion::removeActiveCacheEntry(LLVOCacheEntry* entry, LLDrawable* d else //insert to vo cache tree. { entry->updateParentBoundingInfo(); + entry->saveBoundingSphere(); addToVOCacheTree(entry); } @@ -1391,7 +1392,9 @@ void LLViewerRegion::killInvisibleObjects(F32 max_time) LLTimer update_timer; LLVector4a camera_origin; - camera_origin.load3(LLViewerCamera::getInstance()->getOrigin().mV); + camera_origin.load3(LLViewerCamera::getInstance()->getOrigin().mV); + LLVector4a local_origin; + local_origin.load3((LLViewerCamera::getInstance()->getOrigin() - getOriginAgent()).mV); F32 back_threshold = LLVOCacheEntry::sRearFarRadius; bool unstable = sNewObjectCreationThrottle < 0; @@ -1417,7 +1420,7 @@ void LLViewerRegion::killInvisibleObjects(F32 max_time) continue; //skip child objects, they are removed with their parent. } - if(!(*iter)->isAnyVisible(camera_origin, back_threshold) && (unstable || (*iter)->mLastCameraUpdated < sLastCameraUpdated)) + if(!(*iter)->isAnyVisible(camera_origin, local_origin, back_threshold) && (unstable || (*iter)->mLastCameraUpdated < sLastCameraUpdated)) { killObject((*iter), delete_list); } |