private void extractMeshBtn_Click(object sender, EventArgs e) { previewWindow1.TransvoxelManager.Chunks = new System.Collections.Concurrent.ConcurrentDictionary <Vector3, TransvoxelHelpers.Chunk>(); previewWindow1.TransvoxelManager.SurfaceExtractor.UseCache = previewWindow1.Settings.ReuseVert; previewWindow1.TransvoxelManager.VolumeData.ChunkSize = previewWindow1.Settings.ChunkSize; _logger.Log("MAIN", "Extracting Mesh..."); new Thread( () => { //Thread.CurrentThread.IsBackground = true; TransvoxelManager tvm = previewWindow1.TransvoxelManager; HashedVolume <sbyte> v = (HashedVolume <sbyte>)tvm.VolumeData; foreach (WorldChunk <sbyte> c in v.data.Values) { tvm.ExtractMesh(c); } _logger.Log("MAIN", "Mesh Extraction Complete."); } ).Start(); }