public void RequestTask(Chunk chunk, ChunkTaskType taskType, ChunkTaskPriority priority)
        {
            var request = requestPool.Borrow();

            request.Initialize(chunk, taskType, priority);

            requests.Enqueue(request);
        }
        // メッシュ更新は2フェーズ。
        // 1. 非同期な頂点構築
        // 2. 構築された頂点による同期バッファ更新。
        //
        // 恐らく、バッファ更新は GPU との同期が発生するため、
        // 非同期ではなくゲーム スレッドで実行すべきであろうと思われる。

        public void RequestUpdateMesh(Chunk chunk, ChunkMeshUpdatePriority priority)
        {
            if (chunk == null)
            {
                throw new ArgumentNullException("chunk");
            }

            var request = buildVertexRequestPool.Borrow();

            request.Initialize(chunk, priority);

            buildVertexRequests.Enqueue(request);
        }