From 767be784dc7fe293bf5c5ee6507df242526be3ed Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 24 Sep 2019 02:10:06 -0400 Subject: [PATCH] Rag doll is back. --- BBox.java | 65 +++++++++++++++++--------------- 1 files changed, 34 insertions(+), 31 deletions(-) diff --git a/BBox.java b/BBox.java index 4a28409..418bd06 100755 --- a/BBox.java +++ b/BBox.java @@ -104,12 +104,6 @@ double t1 = (min.x - ray.eyePoint.x) / ray.viewDirection.x; double t2 = (max.x - ray.eyePoint.x) / ray.viewDirection.x; - double mint = t1; - if (mint > t2) mint = t2; - - double maxt = t1; - if (maxt < t2) maxt = t2; - if (ray.viewDirection.x == 0) { if (ray.eyePoint.x <= min.x || ray.eyePoint.x >= max.x) @@ -117,18 +111,16 @@ } else { - if (tmin > mint) tmin = mint; - if (tmax < maxt) tmax = maxt; - } - - t1 = (min.y - ray.eyePoint.y) / ray.viewDirection.y; - t2 = (max.y - ray.eyePoint.y) / ray.viewDirection.y; + if (t1 > t2) + { + double t = t1; + t1 = t2; + t2 = t; + } - mint = t1; - if (mint > t2) mint = t2; - - maxt = t1; - if (maxt < t2) maxt = t2; + if (tmin > t1) tmin = t1; + if (tmax < t2) tmax = t2; + } if (ray.viewDirection.y == 0) { @@ -137,18 +129,19 @@ } else { - if (tmin > mint) tmin = mint; - if (tmax < maxt) tmax = maxt; - } - - t1 = (min.z - ray.eyePoint.z) / ray.viewDirection.z; - t2 = (max.z - ray.eyePoint.z) / ray.viewDirection.z; + t1 = (min.y - ray.eyePoint.y) / ray.viewDirection.y; + t2 = (max.y - ray.eyePoint.y) / ray.viewDirection.y; - mint = t1; - if (mint > t2) mint = t2; - - maxt = t1; - if (maxt < t2) maxt = t2; + if (t1 > t2) + { + double t = t1; + t1 = t2; + t2 = t; + } + + if (tmin > t1) tmin = t1; + if (tmax < t2) tmax = t2; + } if (ray.viewDirection.z == 0) { @@ -157,10 +150,20 @@ } else { - if (tmin > mint) tmin = mint; - if (tmax < maxt) tmax = maxt; + t1 = (min.z - ray.eyePoint.z) / ray.viewDirection.z; + t2 = (max.z - ray.eyePoint.z) / ray.viewDirection.z; + + if (t1 > t2) + { + double t = t1; + t1 = t2; + t2 = t; + } + + if (tmin > t1) tmin = t1; + if (tmax < t2) tmax = t2; } - return tmax > tmin && tmax > 0.0; + return tmax >= tmin && tmax > 0.0; } } -- Gitblit v1.6.2