return out << "AABB(" << box.min << ", " << box.max << ')';
}
+bool Intersection(const AABB &a, const AABB &b) noexcept {
+ if (a.max.x < b.min.x) return false;
+ if (b.max.x < a.min.x) return false;
+ if (a.max.y < b.min.y) return false;
+ if (b.max.y < a.min.y) return false;
+ if (a.max.z < b.min.z) return false;
+ if (b.max.z < a.min.z) return false;
+ return true;
+}
+
std::ostream &operator <<(std::ostream &out, const Ray &ray) {
return out << "Ray(" << ray.orig << ", " << ray.dir << ')';
}