summaryrefslogtreecommitdiff
path: root/indra/newview/llheroprobemanager.h
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2024-02-27 11:09:38 -0800
committerGitHub <noreply@github.com>2024-02-27 11:09:38 -0800
commit7d1e3e08fcfbb3801edde3b6d248080055cd0a75 (patch)
tree6f7bdf27cf2a42b424ad7e821ae963432a4a4f89 /indra/newview/llheroprobemanager.h
parent95e1badaa4566bea41479623bf5b5112f7184cd5 (diff)
parentae9d3e719a0cdb7af5dc470369df6fadd3e04b49 (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.h12
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;
};