summaryrefslogtreecommitdiff
path: root/indra/newview/llreflectionmapmanager.h
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@lindenlab.com>2025-03-21 09:33:23 -0400
committerGitHub <noreply@github.com>2025-03-21 09:33:23 -0400
commit32c7d3064f04899547ee4dea48969c6ceb8554e9 (patch)
tree3e3fa3af0921e5422b988696c61a4718d6be1b59 /indra/newview/llreflectionmapmanager.h
parent3c96bd2c69865cba00a7e8f30afde23d2dadce78 (diff)
Dynamic Probe Allocation (#3787)
* #3788 Support dynamic probe allocation. * #3738 Mitigate probe flashing * #3735 Mitigate realtime probes flashing
Diffstat (limited to 'indra/newview/llreflectionmapmanager.h')
-rw-r--r--indra/newview/llreflectionmapmanager.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llreflectionmapmanager.h b/indra/newview/llreflectionmapmanager.h
index 9f88776ac2..0719c28134 100644
--- a/indra/newview/llreflectionmapmanager.h
+++ b/indra/newview/llreflectionmapmanager.h
@@ -38,7 +38,7 @@ class LLViewerObject;
#define LL_MAX_REFLECTION_PROBE_COUNT 256
// reflection probe resolution
-#define LL_IRRADIANCE_MAP_RESOLUTION 64
+#define LL_IRRADIANCE_MAP_RESOLUTION 16
// reflection probe mininum scale
#define LL_REFLECTION_PROBE_MINIMUM_SCALE 1.f;
@@ -159,6 +159,9 @@ public:
// with false when done.
void forceDefaultProbeAndUpdateUniforms(bool force = true);
+ U32 probeCount();
+ U32 probeMemory();
+
private:
friend class LLPipeline;
friend class LLHeroProbeManager;
@@ -166,6 +169,9 @@ private:
// initialize mCubeFree array to default values
void initCubeFree();
+ // Just does a bulk clear of all of the cubemaps.
+ void clearCubeMaps();
+
// delete the probe with the given index in mProbes
void deleteProbe(U32 i);
@@ -240,6 +246,8 @@ private:
// number of reflection probes to use for rendering
U32 mReflectionProbeCount;
+ U32 mDynamicProbeCount;
+
// resolution of reflection probes
U32 mProbeResolution = 128;
@@ -253,6 +261,7 @@ private:
bool mReset = false;
float mResetFade = 1.f;
+ float mGlobalFadeTarget = 1.f;
// if true, only update the default probe
bool mPaused = false;