private void RemoveOccludedNeighbours(Int32 positionCode) { // The map set can cause neighboured voxels to be occluded // if so delete that from GPU. Action <Int32> checkAndRemoveNeighbour = (Int32 pos) => { if (!_map.IsEmpty(pos) && _map.IsOccluded(pos)) { _deleteList.Add(new Voxel(pos, _map.Get(pos))); } }; checkAndRemoveNeighbour(positionCode - 1); checkAndRemoveNeighbour(positionCode + 1); checkAndRemoveNeighbour(positionCode - _map.SizeX); checkAndRemoveNeighbour(positionCode + _map.SizeX); checkAndRemoveNeighbour(positionCode - _map.SizeX * _map.SizeY); checkAndRemoveNeighbour(positionCode + _map.SizeX * _map.SizeY); }