Metal Advent Calendar2016の10日目の記事を投稿しました。
本記事では、前回に引き続きAppleが提供するサンプルコードの解説を行います。
扱うサンプルコードは、前回と同じライフゲームのアプリ、MetalGameOfLifeです。
MetalGameOfLife
今回は、サンプルコード内のMTLCommandBufferについて解説を行います。
MTLCommandBufferのオブジェクトはGPUに引き渡されるエンコードされた命令を格納しています。
MTLCommandBufferはクラスではなくプロトコルです。
MTLCommandBufferのオブジェクトは、MTLCommandQueueにより生成され、生成元のキューの内部でのみ実行することができます。全てのコマンドバッファは、生成元のコマンドキューに追加された順番に実行されることが保証されています。
コマンドキューの生成は一度だけですが、コマンドバッファは毎フレームごとに生成、実行されます。
詳細は、以下の記事をご覧ください。
[iOS]MetalでGPUコンピューティング(7)
本記事では、前回に引き続きAppleが提供するサンプルコードの解説を行います。
扱うサンプルコードは、前回と同じライフゲームのアプリ、MetalGameOfLifeです。
MetalGameOfLife
今回は、サンプルコード内のMTLCommandBufferについて解説を行います。
MTLCommandBufferのオブジェクトはGPUに引き渡されるエンコードされた命令を格納しています。
MTLCommandBufferはクラスではなくプロトコルです。
MTLCommandBufferのオブジェクトは、MTLCommandQueueにより生成され、生成元のキューの内部でのみ実行することができます。全てのコマンドバッファは、生成元のコマンドキューに追加された順番に実行されることが保証されています。
コマンドキューの生成は一度だけですが、コマンドバッファは毎フレームごとに生成、実行されます。
詳細は、以下の記事をご覧ください。
[iOS]MetalでGPUコンピューティング(7)