Mac OS X では、次のバージョン(Mojave)から OpenGL が deprecated になるということで、推奨されている Metal 関係をさわってみる。
定番の Hello World を GPU を使って描画させてみる。
本当は、カラーで表示されないといけないんじゃ… と思わなくもないが、ビルドは通っているので一安心。
(追記)その後、コードを修正してカラーでも描画できるように修正。
GPU 利用ということでビビってましたが、どちらかといえば以前の windows 系API の描画手続きに近いかな。あれを GPU に直接委ねる感じといえば、ニュアンスは伝わるでしょうか。
参考:『Metal 入門』に簡単なサンプルプログラム載せておきましたので、ご興味のある方は覗いてみてください。
Playground でワンファイルで実行できるので、何やってるかわかりやすいと思います。
参考2:Metal では SIMD 命令がよく出てくるが、これが何者なのかは Arm のアーキテクチャまである程度まで理解を深める必要がありそう。
『Mac で学ぶ Arm アーキテクチャ』シリーズ(PHORLIX BLOG)でその辺まで解説する予定です。
現在、公開しているのは
『Mac で学ぶ Arm アーキテクチャ 1-1』
『Mac で学ぶ Arm アーキテクチャ 1-2』
です。
さらに頑張って、(まだ全てのモダリティに対応しているわけではないが)なんとかダイコム(DICOM)も読めるようにした。WL/WW のコントラスト調整はかけてないから、衣服やベッドまで見えてますが(笑)。
app から起動してもかなり、というか超絶速い。
これ、早送りとかしてません。
でも、OpenGL というかなり広汎に使われている技術からまだあまり知られていないフレームワークへの突然の移行ってなんか違和感ある。(アップルはよくこういうことをやるらしいのだが)
OsiriX の windows 版移植って誰もが考えることなんだけど、これは OpenGL 使ってこそのこと。各種ライブラリも Metal 対応を検討しているらしいが、すぐに実現できるとは思えない。アップルが Metal 以外認めないということになったら、windows 移植はかなり遠ざかる。
さて、どうなりますか。
(追記2)M1 Mac の評判がよく、さらに Metal を用いると画像処理まわりのパフォーマンスの向上が期待できることから、ちょっと慌ただしくなってきた感じです。
私も簡単な3D描画のテストプログラムつくってみました。
Metal 発表当初は懐疑的でしたが、これは移行しないといけないようです。
猪股弘明
HorliX, OpenDolphin-2.7m 開発者
“OpenGL to Metal 問題” への1件の返信