summaryrefslogtreecommitdiff
path: root/indra/newview/llvocache.h
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-10-02 17:55:37 -0600
committerXiaohong Bao <bao@lindenlab.com>2013-10-02 17:55:37 -0600
commitda8ac532072d5f054d30e46021b429fa72c3ab66 (patch)
tree0bdb96d35a16318be3055daea4b0c8c5c25a5cf4 /indra/newview/llvocache.h
parent50c8c0fc7869f3babdfd1bb6c8dd72eefdba812d (diff)
more for SH-4521: Interesting viewer crash in Pipeline:RenderDrawPools
Diffstat (limited to 'indra/newview/llvocache.h')
-rwxr-xr-xindra/newview/llvocache.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/indra/newview/llvocache.h b/indra/newview/llvocache.h
index cc755b6231..16ed05dc94 100755
--- a/indra/newview/llvocache.h
+++ b/indra/newview/llvocache.h
@@ -160,6 +160,18 @@ public:
static U32 sMinFrameRange;
};
+class LLVOCacheGroup : public LLOcclusionCullingGroup
+{
+public:
+ LLVOCacheGroup(OctreeNode* node, LLViewerOctreePartition* part) : LLOcclusionCullingGroup(node, part){}
+
+ //virtual
+ void handleChildAddition(const OctreeNode* parent, OctreeNode* child);
+
+protected:
+ virtual ~LLVOCacheGroup();
+};
+
class LLVOCachePartition : public LLViewerOctreePartition, public LLTrace::MemTrackable<LLVOCachePartition>
{
public:
@@ -171,7 +183,8 @@ public:
void addOccluders(LLviewerOctreeGroup* gp);
void resetOccluders();
void processOccluders(LLCamera* camera);
-
+ void removeOccluder(LLVOCacheGroup* group);
+
private:
void selectBackObjects(LLCamera &camera); //select objects behind camera.
@@ -181,7 +194,7 @@ public:
private:
U32 mCullHistory[LLViewerCamera::NUM_CAMERAS];
U32 mCulledTime[LLViewerCamera::NUM_CAMERAS];
- std::set<LLOcclusionCullingGroup*> mOccludedGroups;
+ std::set<LLVOCacheGroup*> mOccludedGroups;
S32 mBackSlectionEnabled; //enable to select back objects if > 0.
U32 mIdleHash;