From dd501f4132dac60c1f95640e564040f8bd2346d5 Mon Sep 17 00:00:00 2001
From: AnyOldName3 <krizdjali+github@gmail.com>
Date: Fri, 17 Aug 2018 17:47:52 +0100
Subject: [PATCH] Make ConvexHull::clip more resilient against large values.

---
 components/sceneutil/mwshadowtechnique.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp
index 64cef25a63..c3bf99c962 100644
--- a/components/sceneutil/mwshadowtechnique.cpp
+++ b/components/sceneutil/mwshadowtechnique.cpp
@@ -2067,6 +2067,14 @@ struct ConvexHull
             ++itr)
         {
             center += *itr;
+
+            center.x() = osg::maximum(center.x(), -DBL_MAX);
+            center.y() = osg::maximum(center.y(), -DBL_MAX);
+            center.z() = osg::maximum(center.z(), -DBL_MAX);
+
+            center.x() = osg::minimum(center.x(), DBL_MAX);
+            center.y() = osg::minimum(center.y(), DBL_MAX);
+            center.z() = osg::minimum(center.z(), DBL_MAX);
         }
 
         center /= double(intersections.size());