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)); } }