Task to create a two sided crossing mesh
Inheritance: IVoxelMeshGeneratorTask
Example #1
0
        public void Update()
        {
            // If there is no task, there is nothing to update
            if (_generatorTask == null)
            {
                return;
            }

            // If the task is not completed, there is nothing to do yet
            if (!_generatorTask.Completed)
            {
                return;
            }

            if (Mesh == null)
            {
                return;
            }

            // Task is completed, recreate the mesh
            Mesh.Clear();
            Mesh.vertices  = _generatorTask.Vertices;
            Mesh.normals   = _generatorTask.Normals;
            Mesh.uv        = _generatorTask.UV;
            Mesh.uv2       = _generatorTask.UV2;
            Mesh.triangles = _generatorTask.Triangles;
            Mesh.tangents  = _generatorTask.Tangents;
            Mesh.Optimize();
            Mesh.RecalculateBounds();
            _generatorTask = null;

            WaitingForUpdate = false;
        }
Example #2
0
        private void UpdateMesh()
        {
            if (_billboardData == null)
            {
                return;
            }

            // Set voxels and queue this mesh up to be generated
            _generatorTask = new BillboardCrossGeneratorTask(_billboardData);
            VoxelMeshGeneratorThread.Generator.EnqueueTask(_generatorTask);
            WaitingForUpdate = true;
        }
Example #3
0
 public void OnDestroy()
 {
     _generatorTask = null;
 }
        public void Update()
        {
            // If there is no task, there is nothing to update
            if(_generatorTask == null)
            {
                return;
            }

            // If the task is not completed, there is nothing to do yet
            if(!_generatorTask.Completed)
            {
                return;
            }

            if(Mesh == null)
            {
                return;
            }

            // Task is completed, recreate the mesh
            Mesh.Clear();
            Mesh.vertices = _generatorTask.Vertices;
            Mesh.normals = _generatorTask.Normals;
            Mesh.uv = _generatorTask.UV;
            Mesh.uv2 = _generatorTask.UV2;
            Mesh.triangles = _generatorTask.Triangles;
            Mesh.tangents = _generatorTask.Tangents;
            Mesh.Optimize();
            Mesh.RecalculateBounds();
            _generatorTask = null;

            WaitingForUpdate = false;
        }
 public void OnDestroy()
 {
     _generatorTask = null;
 }
        private void UpdateMesh()
        {
            if(_billboardData == null)
            {
                return;
            }

            // Set voxels and queue this mesh up to be generated
            _generatorTask = new BillboardCrossGeneratorTask(_billboardData);
            VoxelMeshGeneratorThread.Generator.EnqueueTask(_generatorTask);
            WaitingForUpdate = true;
        }