public RebuildTask MakeCompileTaskChunk(ChunkRenderDispatcher dispatcher) { var cache = ChunkRenderCache.GenerateCache(dispatcher.World, _position - Vector3Int.one, _position + new Vector3Int(16, 16, 16), 1); _lastRebuildTask = new RebuildTask(dispatcher, this, GetDistanceSq(), cache); return(_lastRebuildTask); }
public void SetWorldAndLoadRenderers(ClientWorld world) { _world = world; _camera = _client.Camera; _cameraTransform = _camera.transform; _frustum = new ViewFrustum(renderDistance: 3); _chunkRenderDispatcher = new ChunkRenderDispatcher(world); }
public RebuildTask(ChunkRenderDispatcher dispatcher, ChunkRender chunk, float distanceSq, ChunkRenderCache?chunkRenderCache) : base(dispatcher, chunk, distanceSq) { _chunkRenderCache = chunkRenderCache; }
// public bool ResortTransparency() // { // if (_lastResortTransparencyTask != null) // { // _lastResortTransparencyTask.Cancel(); // } // // _lastResortTransparencyTask = new SortTransparencyTask(this, GetDistanceSq()); // // return true; // return false; // } public void RebuildChunk(ChunkRenderDispatcher dispatcher) { var task = MakeCompileTaskChunk(dispatcher); Task.Run(() => task.Execute()); }
public ChunkRenderTask(ChunkRenderDispatcher dispatcher, ChunkRender chunk, float distanceSq) { Dispatcher = dispatcher; Chunk = chunk; DistanceSq = distanceSq; }
public SortTransparencyTask(ChunkRenderDispatcher dispatcher, ChunkRender chunk, float distanceSq) : base(dispatcher, chunk, distanceSq) { }