summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnthony LaTorre <telatorre@gmail.com>2011-06-01 17:00:37 -0400
committerAnthony LaTorre <telatorre@gmail.com>2011-06-01 17:00:37 -0400
commitd0825a136ff65b36069ff8b078b9fd97adeed0df (patch)
treeca47a0bfb495d8795e3fba7c7315215a5d7f5513 /src
parentb0f5fa8f463136ee8fb5401b3aa76d1b087997d2 (diff)
downloadchroma-d0825a136ff65b36069ff8b078b9fd97adeed0df.tar.gz
chroma-d0825a136ff65b36069ff8b078b9fd97adeed0df.tar.bz2
chroma-d0825a136ff65b36069ff8b078b9fd97adeed0df.zip
first step towards moving to a new mesh/solid/geometry structure
Diffstat (limited to 'src')
-rw-r--r--src/intersect.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/intersect.h b/src/intersect.h
index b984612..a968f09 100644
--- a/src/intersect.h
+++ b/src/intersect.h
@@ -26,21 +26,21 @@ __device__ bool intersect_triangle(const float3 &origin, const float3 &direction
(m.a02*m.a21 - m.a01*m.a22)*b.y +
(m.a01*m.a12 - m.a02*m.a11)*b.z)/determinant;
- if (u1 < 0.0f)
+ if (u1 < 0.0f || u1 > 1.0f)
return false;
float u2 = ((m.a12*m.a20 - m.a10*m.a22)*b.x +
(m.a00*m.a22 - m.a02*m.a20)*b.y +
(m.a02*m.a10 - m.a00*m.a12)*b.z)/determinant;
- if (u2 < 0.0f)
+ if (u2 < 0.0f || u2 > 1.0f)
return false;
float u3 = ((m.a10*m.a21 - m.a11*m.a20)*b.x +
(m.a01*m.a20 - m.a00*m.a21)*b.y +
(m.a00*m.a11 - m.a01*m.a10)*b.z)/determinant;
- if (u3 < 0.0f || (1-u1-u2) < 0.0f)
+ if (u3 < 0.0f || (1.0f-u1-u2) < 0.0f)
return false;
distance = u3;