diff --git a/RayTracer/shape/TriangleMesh.cpp b/RayTracer/shape/TriangleMesh.cpp index 73148c7457ab5631044f3a757e0d8637db680a6f..2e8d17be49c955df6ec98c572045e0d65af00c18 100644 --- a/RayTracer/shape/TriangleMesh.cpp +++ b/RayTracer/shape/TriangleMesh.cpp @@ -28,6 +28,7 @@ std::optional<cam::Hit> TriangleMesh::intersect(const cam::Ray& r) const { } std::optional<cam::Hit> TriangleMesh::intersect(size_t i, const cam::Ray& r) const { + if (!hierarchy[i].bb.intersects(r)) return std::nullopt; std::array<cam::Hit, 3> hits = { cam::Hit(util::Vec3(0), util::Vec3(0), std::numeric_limits<float>::infinity(), nullptr),