public static void BeginCollectingVertData(this LeapGraphicRenderer renderer)
        {
            Camera targetCamera    = renderer.GetComponentInChildren <Camera>();
            var    renderingMethod = renderer.groups[0].renderingMethod as LeapMesherBase;
            var    material        = renderingMethod.material;

            var graphic = renderer.groups[0].graphics[0] as LeapMeshGraphicBase;

            graphic.RefreshMeshData();
            var mesh = graphic.mesh;

            _buffer = new ComputeBuffer(mesh.vertexCount, sizeof(float) * 3);
            material.SetBuffer("_FinalVertexPositions", _buffer);

            Graphics.ClearRandomWriteTargets();
            Graphics.SetRandomWriteTarget(1, _buffer);

            targetCamera.allowMSAA = false;
            targetCamera.enabled   = true;
        }
        public static Vector3[] FinishCollectingVertData(this LeapGraphicRenderer renderer)
        {
            Camera targetCamera    = renderer.GetComponentInChildren <Camera>();
            var    renderingMethod = renderer.groups[0].renderingMethod as LeapMesherBase;
            var    material        = renderingMethod.material;

            var graphic = renderer.groups[0].graphics[0] as LeapMeshGraphicBase;

            graphic.RefreshMeshData();
            var mesh = graphic.mesh;

            Vector3[] array = new Vector3[mesh.vertexCount];
            _buffer.GetData(array);

            Graphics.ClearRandomWriteTargets();

            _buffer.Release();
            targetCamera.enabled = false;

            return(array);
        }