diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-10-30 11:38:23 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-10-30 11:38:23 -0600 |
commit | 46c3bf7575a0366c20388d19815a5ee8e01cc0c6 (patch) | |
tree | 25033834aa417c567e7c03f1924fc87e656ba9f4 /indra/newview | |
parent | fd81041996d07bf1a1d14192c8d9c05625b3e0f0 (diff) | |
parent | 787ff3937d697526284e8d0a812a7353ad916dea (diff) |
Automated merge with http://bitbucket.org/lindenlab/viewer-interesting
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llviewerregion.cpp | 4 | ||||
-rwxr-xr-x | indra/newview/llvocache.cpp | 9 | ||||
-rwxr-xr-x | indra/newview/llvocache.h | 2 |
3 files changed, 6 insertions, 9 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 23660dd3ce..cbce2674a7 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1071,6 +1071,8 @@ F32 LLViewerRegion::updateVisibleEntries(F32 max_time) const U32 cur_frame = LLViewerOctreeEntryData::getCurrentFrame(); bool needs_update = ((cur_frame - mImpl->mLastCameraUpdate) > 5) && ((camera_origin - mImpl->mLastCameraOrigin).lengthSquared() > 10.f); U32 last_update = mImpl->mLastCameraUpdate; + LLVector4a local_origin; + local_origin.load3((camera_origin - getOriginAgent()).mV); //process visible entries for(LLVOCacheEntry::vocache_entry_set_t::iterator iter = mImpl->mVisibleEntries.begin(); iter != mImpl->mVisibleEntries.end();) @@ -1149,7 +1151,7 @@ F32 LLViewerRegion::updateVisibleEntries(F32 max_time) continue; } - vo_entry->calcSceneContribution(camera_origin, needs_update, last_update); + vo_entry->calcSceneContribution(local_origin, needs_update, last_update); mImpl->mWaitingList.insert(vo_entry); } } diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index 72270eec46..b1c7423b49 100755 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -383,20 +383,15 @@ bool LLVOCacheEntry::isRecentlyVisible() const return vis; } -void LLVOCacheEntry::calcSceneContribution(const LLVector3& camera_origin, bool needs_update, U32 last_update) +void LLVOCacheEntry::calcSceneContribution(const LLVector4a& camera_origin, bool needs_update, U32 last_update) { if(!needs_update && getVisible() >= last_update) { return; //no need to update } - const LLVector4a& center = getPositionGroup(); - - LLVector4a origin; - origin.load3(camera_origin.mV); - LLVector4a lookAt; - lookAt.setSub(center, origin); + lookAt.setSub(getPositionGroup(), camera_origin); F32 squared_dist = lookAt.dot3(lookAt).getF32(); if(squared_dist > 0.f) diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h index 3ee9dcaac8..446111620d 100755 --- a/indra/newview/llvocache.h +++ b/indra/newview/llvocache.h @@ -93,7 +93,7 @@ public: S32 getHitCount() const { return mHitCount; } S32 getCRCChangeCount() const { return mCRCChangeCount; } - void calcSceneContribution(const LLVector3& camera_origin, bool needs_update, U32 last_update); + void calcSceneContribution(const LLVector4a& camera_origin, bool needs_update, U32 last_update); void setSceneContribution(F32 scene_contrib) {mSceneContrib = scene_contrib;} F32 getSceneContribution() const { return mSceneContrib;} |