Vec3.h, thanks to @byteandahalf