diff options
author | Xiaohong Bao <bao@lindenlab.com> | 2013-10-02 17:55:37 -0600 |
---|---|---|
committer | Xiaohong Bao <bao@lindenlab.com> | 2013-10-02 17:55:37 -0600 |
commit | da8ac532072d5f054d30e46021b429fa72c3ab66 (patch) | |
tree | 0bdb96d35a16318be3055daea4b0c8c5c25a5cf4 /indra/newview/llvocache.h | |
parent | 50c8c0fc7869f3babdfd1bb6c8dd72eefdba812d (diff) |
more for SH-4521: Interesting viewer crash in Pipeline:RenderDrawPools
Diffstat (limited to 'indra/newview/llvocache.h')
-rwxr-xr-x | indra/newview/llvocache.h | 17 |
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; |