public void build (VoxelData[] datas) { if (empty) { this._product = new VoxelProduct(); VoxelData2Point vd2p = new VoxelData2Point(datas); vd2p.build(this._product); VoxelShadowBuild vsb = new VoxelShadowBuild (); vsb.build(this._product); VoxelMeshBuild vmb = new VoxelMeshBuild (); vmb.build(this._product); VoxelRemoveSameVertices rsv = new VoxelRemoveSameVertices (); rsv.build(this._product); //VoxelRemoveFace vrf = new VoxelRemoveFace (); //vrf.build(this._product); /* VoxelRemoveFace vrf = new VoxelRemoveFace (); vrf.build(this._product); */ _geometry = new VoxelGeometry(); _geometry.draw (this._product, this.gameObject, this._material); } }
static public Task Task(VoxelMeshBuild vmb, VoxelProduct.Product main, Dictionary <VectorInt3, VoxelHandler> all) { Task task = new Task(); TaskManager.PushFront(task, delegate { vmb.build(main, all); }); return(task); }
Task meshBuild() { int tick = 0; Task task = new Task(); task.init = delegate { tick = ConvertDateTimeInt(DateTime.Now); VoxelMeshBuild vmb = new VoxelMeshBuild(); vmb.build(product_); }; task.shutdown = delegate { logIt("meshBuild", ConvertDateTimeInt(DateTime.Now) - tick); }; return(task); }
static public Task Task(VoxelMeshBuild vmb, VoxelProduct product) { TaskPack tp = new TaskPack(delegate() { if (product.sub != null) { TaskList tl = new TaskList(); for (int i = 0; i < product.sub.Length; ++i) { tl.push(Build.Task(vmb, product.sub[i], product.main.voxels)); } return(tl); } else { return(Build.Task(vmb, product.main, product.main.voxels)); } }); return(tp); }
static public void Run(VoxelMeshBuild vmb, VoxelProduct product) { vmb.build(product); }