diff options
author | Jonathan "Geenz" Goodman <geenz@geenzo.com> | 2023-10-16 08:45:48 -0700 |
---|---|---|
committer | Jonathan "Geenz" Goodman <geenz@geenzo.com> | 2023-10-16 08:45:48 -0700 |
commit | e841c73a9972fc184487c061e8a80add3a18aff1 (patch) | |
tree | 2af618b6c72cc19f3b5a08f4901087b8229aa04a /indra/newview/llheroprobemanager.h | |
parent | e612d70fad8c6ec9335c109223211d516ebdf6f4 (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.h | 11 |
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; }; |