private static void TransformM2(ExtractedM2 m2, ExtractedWMOM2Definition m2Def)
        {
            for (var i = 0; i < m2.BoundingVertices.Count; i++)
            {
                var     vec = m2.BoundingVertices[i];
                Vector3 rotatedVec;
                Vector3.Transform(ref vec, ref m2Def.ModeltoWMO, out rotatedVec);

                Vector3 finalVec;
                Vector3.Add(ref rotatedVec, ref m2Def.Position, out finalVec);

                m2.BoundingVertices[i] = finalVec;
            }
        }
        private static void Transform(ExtractedM2 m2, ExtractedMapM2Definition def)
        {
            for (var i = 0; i < m2.BoundingVertices.Count; i++)
            {
                // Scale and transform
                var vertex = m2.BoundingVertices[i];

                Vector3 rotatedVector;
                Vector3.Transform(ref vertex, ref def.ModelToWorld, out rotatedVector);

                // Translate
                Vector3 finalVector;
                Vector3.Add(ref rotatedVector, ref def.Position, out finalVector);

                m2.BoundingVertices[i] = finalVector;
                //currentM2.Vertices.Add(new VertexPositionNormalColored(finalVector, Color.Red, Vector3.Up));
            }
        }