MacOS の OpenGL にかわるグラフィックフレームワーク Metal の覚書。
言語は Objective-C です。
1 プロジェクトの作成
Metal を使ったプロジェクトと言っても通常のプロジェクトの作成と変わらないはずなので、まずはいつものようにプロジェクト作成。
『MacでObjective-cを使ってMetalを初期化』、『Objective-cでMetalを使用して三角形を描画しよう』あたりを参考に。
ポイントは
1 ViewControllerが保持する View は MTKView になるはずだが、これはいつもの UI を呼び出す流儀 ー + ボタンを押下ー ではなく、手動でタイプして設定する
2 View を描画するためには、MTKViewDelegate プロトコルを準拠させたレンダラー(クラス)が必要
3 ビューとレンダラーは ViewController で管理する
でしょうか。
3 は、VC(ViewController)でなくてもいいとは思うが、両方顔を出すのがここだと思うので、ここで宣言しておくのが自然でしょうか。
下のサンプルでも
_view.delegate = _renderer;
と明快に宣言しています。
2 Hello Triangle
猪股/air-h-128k-il 版『Metal 入門』で大活躍したアップル公式サンプル HelloTriangle 。
ここでも流用したいが、iOS や tvOS のプロジェクトが混在しているので、初心者にはとっつきづらい。
Objective-C だけ切り出したので、GitHub にあげておきます。
何にも考えずにビルドすると三角形が描画されます。
慣れてない/忘れてしまったら、前節の手順で手を動かしてみましょう。
View に MTKView を設定し、レンダラーのクラスを作成し、ViewerController で管理する・・・という流れです。
今回はさらにシェーダーが加わります。
(続く)