/// <summary>
        /// Triangulate the polygon into a lot of triangles
        /// </summary>
        private void DoTriangulate()
        {
            triangles = null;
            if (points.Count <= 3)
            {
                return;
            }
            // Convert to Vector4[]
            Vector4[] controlPoints = new Vector4[points.Count];
            for (int i = 0; i < points.Count; i++)
            {
                controlPoints[i] = new Vector4(points[i].X, points[i].Y, 0);
            }
            // Triangulate the polygon
            triangleIndices = PolygonModifier.Triangulate(controlPoints);
            // Save triangle vertex for later drawing.
            triangles = new Vector4[triangleIndices.Length][];
            for (int i = 0; i < triangleIndices.Length; i++)
            {
                int[] triangleFace = triangleIndices[i];


                Vector4[] triangle = triangles[i] = new Vector4[3];


                triangle[0] = controlPoints[triangleFace[0]];
                triangle[1] = controlPoints[triangleFace[1]];
                triangle[2] = controlPoints[triangleFace[2]];
            }
        }