protected override void Process()
        {
            var index = Volume.Index;

            _stoneData = new VoxelData(index.Add(Stone));
            _dirtData  = new VoxelData(index.Add(Dirt));
            _grassData = new VoxelData(index.Add(Grass));
            float radius      = SurfaceLevel + MaxHeight;
            int   chunkRadius = (int)MathF.Ceiling(radius / VoxelChunk.SIZE);

            for (int i = -chunkRadius; i < chunkRadius; i++)
            {
                for (int j = -chunkRadius; j < chunkRadius; j++)
                {
                    for (int k = -chunkRadius; k < chunkRadius; k++)
                    {
                        var chunk = Volume.AddChunk(new Coords(i, j, k));
                    }
                }
            }
            Parallel.ForEach(Volume, GenerateChunk);
        }