diff options
author | RunitaiLinden <davep@lindenlab.com> | 2024-02-02 11:52:18 -0600 |
---|---|---|
committer | RunitaiLinden <davep@lindenlab.com> | 2024-02-02 11:52:18 -0600 |
commit | ee5fe08603a1250fb5e2c1196a082897134ebb53 (patch) | |
tree | 6fa4491a86298e8e2de8064c440983b508f49999 /indra | |
parent | 2d4a63833c2515ae36c614fce8101f41be0e1d61 (diff) |
#677 Fix clip plane glitching out at certain angles
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llsettingsvo.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp index da5504f83f..deeecc6b3c 100644 --- a/indra/newview/llsettingsvo.cpp +++ b/indra/newview/llsettingsvo.cpp @@ -1009,6 +1009,7 @@ void LLSettingsVOWater::applySpecial(void *ptarget, bool force) glh::matrix4f mat(modelView); glh::matrix4f invtrans = mat.inverse().transpose(); + invtrans.m[3] = invtrans.m[7] = invtrans.m[11] = 0.f; glh::vec3f enorm; glh::vec3f ep; invtrans.mult_matrix_vec(norm, enorm); @@ -1017,10 +1018,8 @@ void LLSettingsVOWater::applySpecial(void *ptarget, bool force) LLVector4 waterPlane(enorm.v[0], enorm.v[1], enorm.v[2], -ep.dot(enorm)); - norm = glh::vec3f(gPipeline.mHeroProbeManager.mMirrorNormal.mV[0], gPipeline.mHeroProbeManager.mMirrorNormal.mV[1], - gPipeline.mHeroProbeManager.mMirrorNormal.mV[2]); - p = glh::vec3f(gPipeline.mHeroProbeManager.mMirrorPosition.mV[0], gPipeline.mHeroProbeManager.mMirrorPosition.mV[1], - gPipeline.mHeroProbeManager.mMirrorPosition.mV[2]); + norm = glh::vec3f(gPipeline.mHeroProbeManager.mMirrorNormal.mV); + p = glh::vec3f(gPipeline.mHeroProbeManager.mMirrorPosition.mV); invtrans.mult_matrix_vec(norm, enorm); enorm.normalize(); mat.mult_matrix_vec(p, ep); |