diff options
Diffstat (limited to 'indra/newview/llviewerregion.h')
-rw-r--r-- | indra/newview/llviewerregion.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index 6548e8d372..ec507fb982 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -41,6 +41,7 @@ #include "llcapabilityprovider.h" #include "m4math.h" // LLMatrix4 #include "llframetimer.h" +#include "llreflectionmap.h" // Surface id's #define LAND 1 @@ -67,6 +68,7 @@ class LLHost; class LLBBox; class LLSpatialGroup; class LLDrawable; +class LLGLTFOverrideCacheEntry; class LLViewerRegionImpl; class LLViewerOctreeGroup; class LLVOCachePartition; @@ -347,7 +349,10 @@ public: // handle a full update message eCacheUpdateResult cacheFullUpdate(LLDataPackerBinaryBuffer &dp, U32 flags); - eCacheUpdateResult cacheFullUpdate(LLViewerObject* objectp, LLDataPackerBinaryBuffer &dp, U32 flags); + eCacheUpdateResult cacheFullUpdate(LLViewerObject* objectp, LLDataPackerBinaryBuffer &dp, U32 flags); + + void cacheFullUpdateGLTFOverride(const LLGLTFOverrideCacheEntry &override_data); + LLVOCacheEntry* getCacheEntryForOctree(U32 local_id); LLVOCacheEntry* getCacheEntry(U32 local_id, bool valid = true); bool probeCache(U32 local_id, U32 crc, U32 flags, U8 &cache_miss_type); @@ -401,6 +406,9 @@ public: static BOOL isNewObjectCreationThrottleDisabled() {return sNewObjectCreationThrottle < 0;} + // rebuild reflection probe list + void updateReflectionProbes(); + private: void addToVOCacheTree(LLVOCacheEntry* entry); LLViewerObject* addNewObject(LLVOCacheEntry* entry); @@ -415,6 +423,8 @@ private: void decodeBoundingInfo(LLVOCacheEntry* entry); bool isNonCacheableObjectCreated(U32 local_id); + void loadCacheMiscExtras(U32 local_id, LLVOCacheEntry * entry, U32 crc); + public: struct CompareDistance { @@ -574,6 +584,10 @@ private: LLFrameTimer mMaterialsCapThrottleTimer; LLFrameTimer mRenderInfoRequestTimer; LLFrameTimer mRenderInfoReportTimer; + + // list of reflection maps being managed by this llviewer region + std::vector<LLPointer<LLReflectionMap> > mReflectionMaps; + }; inline BOOL LLViewerRegion::getRegionProtocol(U64 protocol) const |