Esempio n. 1
0
        void NoiseMapExplosion()
        {
            _counter = new Counter(Allocator.Persistent);
            var noiseUpdateJob = new ChunkExplodeJob()
            {
                size            = size + 1,
                explosionOrigin = newExplosionSpot,
                explosionRange  = explosionRange,
                newDensity      = explosionValue,
                noiseMap        = noiseMap
            };
            var handl = noiseUpdateJob.Schedule((size + 1) * (size + 1) * (size + 1), 64);

            var marchingJob = new MarchingJob()
            {
                densities = noiseMap,
                isolevel  = 0f,
                chunkSize = size,
                triangles = indexes,
                vertices  = buffer,
                counter   = _counter
            };
            var marchinJob = marchingJob.Schedule(size * size * size, 32, handl);

            myHandle         = marchinJob;
            isBeingProcessed = true;
        }
Esempio n. 2
0
        void MarchChunk()
        {
            _counter = new Counter(Allocator.Persistent);
            var arraySize = size * size * size;

            var noiseJob = new NoiseJob()
            {
                ampl         = WorldBase.noiseData.ampl,
                freq         = WorldBase.noiseData.freq,
                oct          = WorldBase.noiseData.oct,
                offset       = pos,
                seed         = WorldBase.noiseData.offset,
                surfaceLevel = WorldBase.noiseData.surfaceLevel,
                noiseMap     = noiseMap,
                size         = size + 1
                               //pos = WorldSetup.positions
            };
            var noiseHandle = noiseJob.Schedule((size + 1) * (size + 1) * (size + 1), 64);



            var marchingJob = new MarchingJob()
            {
                densities = noiseMap,
                isolevel  = 0f,
                chunkSize = size,
                triangles = indexes,
                vertices  = buffer,
                counter   = _counter
            };
            var marchinJob = marchingJob.Schedule(arraySize, 32, noiseHandle);

            myHandle         = marchinJob;
            isBeingProcessed = true;
        }
Esempio n. 3
0
        void RefreshChunkMesh()
        {
            _counter = new Counter(Allocator.Persistent);
            var marchingJob = new MarchingJob()
            {
                densities = noiseMap,
                isolevel  = 0f,
                chunkSize = size,
                triangles = indexes,
                vertices  = buffer,
                counter   = _counter
            };
            var marchinJob = marchingJob.Schedule(size * size * size, 32);

            myHandle         = marchinJob;
            isBeingProcessed = true;
        }