summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawpoolmaterials.cpp
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/lldrawpoolmaterials.cpp
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/lldrawpoolmaterials.cpp')
-rw-r--r--indra/newview/lldrawpoolmaterials.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/indra/newview/lldrawpoolmaterials.cpp b/indra/newview/lldrawpoolmaterials.cpp
index 6a7e05ac74..373103ce0a 100644
--- a/indra/newview/lldrawpoolmaterials.cpp
+++ b/indra/newview/lldrawpoolmaterials.cpp
@@ -190,6 +190,19 @@ void LLDrawPoolMaterials::renderDeferred(S32 pass)
glUniform4fv(specular, 1, lastSpecular.mV);
}
+ if (gPipeline.mHeroProbeManager.isMirrorPass())
+ {
+ glUniform1f(LLShaderMgr::MIRROR_FLAG, 1);
+ }
+
+ LLVector4 clipPlane = LLVector4(gPipeline.mHeroProbeManager.currentMirrorClip()[0],
+ gPipeline.mHeroProbeManager.currentMirrorClip()[1],
+ gPipeline.mHeroProbeManager.currentMirrorClip()[2],
+ gPipeline.mHeroProbeManager.currentMirrorClip()[3]);
+
+ mShader->uniform4fv(LLShaderMgr::CLIP_PLANE,
+ 1, clipPlane.mV);
+
LLVOAvatar* lastAvatar = nullptr;
for (LLCullResult::drawinfo_iterator i = begin; i != end; )