diff options
author | Dave Parks <davep@lindenlab.com> | 2023-02-21 20:42:25 -0600 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2023-02-21 20:42:25 -0600 |
commit | 19f7497d9a01731cbd82be4b522d8b879cdcb8a0 (patch) | |
tree | 4b2e59c87cb5d96b2e9c4e7be0c0131876df8897 /indra/newview/llreflectionmap.h | |
parent | 131d116ffd21ef1e726e21c8fe2e6b7068c6c3d9 (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.h | 11 |
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; }; |