Example #1
0
        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();
        }
Example #2
0
        protected override void Initialize()
        {
            _logger    = Logger.GetLogger();
            _logSender = "PreviewWindow";
            _logger.Log(_logSender, "Initializing...");



            _cam = new Camera(GraphicsDevice);
            _cam.currentCameraMode = Camera.CameraMode.free;
            _cam.ResetCamera();
            _cam.SetFreeCamPosition(new Vector3(64, 50, 150));

            _tvm = new TransvoxelManager(GraphicsDevice);

            // Create our effect.
            _effect = new BasicEffect(GraphicsDevice);

            mBoundingBoxEffect = new BasicEffect(GraphicsDevice);
            mBoundingBoxEffect.LightingEnabled    = false;
            mBoundingBoxEffect.VertexColorEnabled = true;

            _effect.VertexColorEnabled = true;

            // Start the animation timer.
            timer = Stopwatch.StartNew();
            // Hook the idle event to constantly redraw our animation.
            Application.Idle += delegate { Invalidate(); };
            _logger.Log(_logSender, "Initialization Complete.");

            updateTimer           = new System.Timers.Timer(1 / 30f);
            updateTimer.AutoReset = true;
            updateTimer.Elapsed  += Update;
            updateTimer.Start();
            verts = new VertexPositionColor[24];
        }
        protected override void Initialize()
        {
            _logger = Logger.GetLogger();
            _logSender = "PreviewWindow";
            _logger.Log(_logSender, "Initializing...");

            _cam = new Camera(GraphicsDevice);
            _cam.currentCameraMode = Camera.CameraMode.free;
            _cam.ResetCamera();
            _cam.SetFreeCamPosition(new Vector3(64, 50, 150));

            _tvm = new TransvoxelManager(GraphicsDevice);

            // Create our effect.
            _effect = new BasicEffect(GraphicsDevice);

            mBoundingBoxEffect = new BasicEffect(GraphicsDevice);
            mBoundingBoxEffect.LightingEnabled = false;
            mBoundingBoxEffect.VertexColorEnabled = true;

            _effect.VertexColorEnabled = true;

            // Start the animation timer.
            timer = Stopwatch.StartNew();
            // Hook the idle event to constantly redraw our animation.
            Application.Idle += delegate { Invalidate(); };
            _logger.Log(_logSender, "Initialization Complete.");

            updateTimer = new System.Timers.Timer(1 / 30f);
            updateTimer.AutoReset = true;
            updateTimer.Elapsed += Update;
            updateTimer.Start();
            verts = new VertexPositionColor[24];
        }