summaryrefslogtreecommitdiff
path: root/indra/newview/llheroprobemanager.h
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@geenzo.com>2023-10-16 08:45:48 -0700
committerJonathan "Geenz" Goodman <geenz@geenzo.com>2023-10-16 08:45:48 -0700
commite841c73a9972fc184487c061e8a80add3a18aff1 (patch)
tree2af618b6c72cc19f3b5a08f4901087b8229aa04a /indra/newview/llheroprobemanager.h
parente612d70fad8c6ec9335c109223211d516ebdf6f4 (diff)
Tons of masking changes and tweaks.
We now support masking mirrors in the GBuffer. We also now support the concept of one arbitrary clip plane. DRTVWR-583
Diffstat (limited to 'indra/newview/llheroprobemanager.h')
-rw-r--r--indra/newview/llheroprobemanager.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/indra/newview/llheroprobemanager.h b/indra/newview/llheroprobemanager.h
index 4a243e6cf2..68cfdbfd99 100644
--- a/indra/newview/llheroprobemanager.h
+++ b/indra/newview/llheroprobemanager.h
@@ -70,6 +70,12 @@ public:
void registerHeroDrawable(LLVOVolume* drawablep);
void unregisterHeroDrawable(LLVOVolume* drawablep);
+
+ bool isViableMirror(LLFace* face) const;
+
+ bool isMirrorPass() const { return mRenderingMirror; }
+
+ LLPlane currentMirrorClip() const { return mCurrentClipPlane; }
private:
friend class LLPipeline;
@@ -94,6 +100,8 @@ private:
// vertex buffer for pushing verts to filter shaders
LLPointer<LLVertexBuffer> mVertexBuffer;
+ LLPlane mCurrentClipPlane;
+
// update the specified face of the specified probe
void updateProbeFace(LLReflectionMap* probe, U32 face, F32 near_clip);
@@ -124,8 +132,11 @@ private:
// if true, reset all probe render state on the next update (for teleports and sky changes)
bool mReset = false;
+
+ bool mRenderingMirror = false;
std::set<LLVOVolume*> mHeroVOList;
LLVOVolume* mNearestHero;
+ LLFace* mCurrentFace;
};