summaryrefslogtreecommitdiff
path: root/indra/newview/llreflectionmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llreflectionmap.h')
-rw-r--r--indra/newview/llreflectionmap.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/indra/newview/llreflectionmap.h b/indra/newview/llreflectionmap.h
index cf0bc2ff27..6eff607ea5 100644
--- a/indra/newview/llreflectionmap.h
+++ b/indra/newview/llreflectionmap.h
@@ -39,6 +39,8 @@ public:
// allocate an environment map of the given resolution
LLReflectionMap();
+ ~LLReflectionMap();
+
// update this environment map
// resolution - size of cube map to generate
void update(U32 resolution, U32 face);
@@ -64,6 +66,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;
@@ -97,6 +105,14 @@ public:
LLViewerObject* mViewerObject = nullptr;
// what priority should this probe have (higher is higher priority)
- U32 mPriority = 1;
+ // currently only 0 or 1
+ // 0 - automatic probe
+ // 1 - manual probe
+ U32 mPriority = 0;
+
+ // occlusion culling state
+ GLuint mOcclusionQuery = 0;
+ bool mOccluded = false;
+ U32 mOcclusionPendingFrames = 0;
};