void computeBV<AABB>(const Sphere& s, AABB& bv) { Vec3f T = matMulVec(s.getRotation(), s.getLocalTranslation()) + s.getTranslation(); bv.max_ = T + Vec3f(s.radius, s.radius, s.radius); bv.min_ = T + Vec3f(-s.radius, -s.radius, -s.radius); }
void computeBV<OBB>(const Sphere& s, OBB& bv) { Vec3f T = matMulVec(s.getRotation(), s.getLocalTranslation()) + s.getTranslation(); bv.To = T; bv.axis[0] = Vec3f(1, 0, 0); bv.axis[1] = Vec3f(0, 1, 0); bv.axis[2] = Vec3f(0, 0, 1); bv.extent = Vec3f(s.radius, s.radius, s.radius); }