summaryrefslogtreecommitdiff
path: root/indra/newview/llreflectionmap.h
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2023-02-21 20:42:25 -0600
committerDave Parks <davep@lindenlab.com>2023-02-21 20:42:25 -0600
commit19f7497d9a01731cbd82be4b522d8b879cdcb8a0 (patch)
tree4b2e59c87cb5d96b2e9c4e7be0c0131876df8897 /indra/newview/llreflectionmap.h
parent131d116ffd21ef1e726e21c8fe2e6b7068c6c3d9 (diff)
DRTVWR-559 WIP -- occlusion culling for reflection probes -- has a defect for objects close to the camera at some angles and leaks query objects, will follow up.
Diffstat (limited to 'indra/newview/llreflectionmap.h')
-rw-r--r--indra/newview/llreflectionmap.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llreflectionmap.h b/indra/newview/llreflectionmap.h
index 04bc8d824c..0405d06eb5 100644
--- a/indra/newview/llreflectionmap.h
+++ b/indra/newview/llreflectionmap.h
@@ -64,6 +64,12 @@ public:
// return false if no bounding box (treat as sphere influence volume)
bool getBox(LLMatrix4& box);
+ // return true if this probe is active for rendering
+ bool isActive();
+
+ // perform occlusion query/readback
+ void doOcclusion(const LLVector4a& eye);
+
// point at which environment map was last generated from (in agent space)
LLVector4a mOrigin;
@@ -101,5 +107,10 @@ public:
// 0 - automatic probe
// 1 - manual probe
U32 mPriority = 0;
+
+ // occlusion culling state
+ GLuint mOcclusionQuery = 0;
+ bool mOccluded = false;
+ U32 mOcclusionPendingFrames = 0;
};