Just because in my opinion BoundingBox contains too much excess fields and needs refactoring, but it's breaks api too much ( i wrote something like this before ). I think that this is sufficiently 6 float fields ( x, y, z, w, h and d (depth) ) instead of 36 float fields (12 vector3's ( 3 float for each ) = 3*12). If user really needs it, he can cache it by himself. In addition to this it is will be more easy to make it Shape3D.