diff options
author | Jonathan "Geenz" Goodman <geenz@lindenlab.com> | 2024-02-27 11:09:38 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-27 11:09:38 -0800 |
commit | 7d1e3e08fcfbb3801edde3b6d248080055cd0a75 (patch) | |
tree | 6f7bdf27cf2a42b424ad7e821ae963432a4a4f89 /indra/newview/llheroprobemanager.h | |
parent | 95e1badaa4566bea41479623bf5b5112f7184cd5 (diff) | |
parent | ae9d3e719a0cdb7af5dc470369df6fadd3e04b49 (diff) |
Merge pull request #891 from secondlife/geenz/mirrors-optimization-pass-1
#682 First mirrors optimization pass
Diffstat (limited to 'indra/newview/llheroprobemanager.h')
-rw-r--r-- | indra/newview/llheroprobemanager.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/llheroprobemanager.h b/indra/newview/llheroprobemanager.h index 552c5dcaab..e430cae203 100644 --- a/indra/newview/llheroprobemanager.h +++ b/indra/newview/llheroprobemanager.h @@ -68,7 +68,7 @@ public: // perform occlusion culling on all active reflection probes void doOcclusion(); - void registerViewerObject(LLVOVolume *drawablep); + bool registerViewerObject(LLVOVolume *drawablep); void unregisterViewerObject(LLVOVolume* drawablep); bool isMirrorPass() const { return mRenderingMirror; } @@ -104,9 +104,10 @@ private: // update the specified face of the specified probe void updateProbeFace(LLReflectionMap* probe, U32 face, F32 near_clip); + void generateRadiance(LLReflectionMap *probe); // list of active reflection maps - std::vector<LLPointer<LLReflectionMap> > mProbes; + std::vector<LLPointer<LLReflectionMap>> mProbes; // handle to UBO U32 mUBO = 0; @@ -134,8 +135,11 @@ private: bool mReset = false; bool mRenderingMirror = false; + std::map<int, int> mFaceUpdateList; - std::set<LLPointer<LLVOVolume>> mHeroVOList; - LLPointer<LLVOVolume> mNearestHero; + U32 mCurrentProbeUpdateFrame = 0; + + std::vector<LLVOVolume*> mHeroVOList; + LLVOVolume* mNearestHero; }; |