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 | |
| parent | 2d4a63833c2515ae36c614fce8101f41be0e1d61 (diff) | |
#677 Fix clip plane glitching out at certain angles
| -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); | 
