From 9b94f3330411474d6092793686dedcd8a974977f Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Tue, 24 Oct 2017 20:48:59 -0700 Subject: [PATCH] fix ray pick in cases where origin is inside of outer bounding box --- libraries/shared/src/TriangleSet.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libraries/shared/src/TriangleSet.cpp b/libraries/shared/src/TriangleSet.cpp index 68c99a9753..ce7dd18921 100644 --- a/libraries/shared/src/TriangleSet.cpp +++ b/libraries/shared/src/TriangleSet.cpp @@ -104,8 +104,9 @@ bool TriangleSet::TriangleOctreeCell::findRayIntersectionInternal(const glm::vec if (_bounds.findRayIntersection(origin, direction, boxDistance, face, surfaceNormal)) { // if our bounding box intersects at a distance greater than the current known - // best distance, than we can safely not check any of our triangles - if (boxDistance > bestDistance) { + // best distance, and our origin isn't inside the boounds, then we can safely + // not check any of our triangles + if (boxDistance > bestDistance && !_bounds.contains(origin)) { return false; }