GraphicsAPIとアーキテクチャについて
※自分用の学習用まとめとして記載していますので、仮に参考にされる方がいらっしゃいましたらご自身で精査お願いします。
ご指摘などありましたらコメントや編集リクエストでお願いします。
Metal = Appleが開発した低レイヤーのGraphicsAPI
ざっくりまとめる=
OpenGLは万物に対応するために冗長な設計、ハードウェアのパフォーマンスを上げてもOpenGLがボトルネックになっていったのでAppleは独自のGraphicsAPIを開発、それがMetal
致命的なのはジオメトリシェーダーが現状サポートされていない事、今後もしそうにないこと…
車でいうと = エンジンの出力上がってたけど、社外の汎用的なパワートレインだと効率悪いから、そこも独自設計したよ的な感じ
OpenGLとmetal/vulkanの違いは下記
Metalゲームでの利用(Unity)
Unity公式
よくお世話になってるあまがみさんのblog
ハードウェアとGraphicsAPIサポート早見表
DirectX12以降のパイプラインについて
現在モバイルで主に使用されている、頂点(vertex)・ピクセル(flagment)シェーダーパイプラインから(間にジオメトリやテッセレーション独立してコンピュートシェーダー等も入る場合があるようです)、から、ラスタライズ前の頂点・ジオメトリ・テッセレーションのステージを統合したり効率化したパイプラインをNvdiaがメッシュシェーダーとして発表
UE5等に実装されているnaniteとかもこの辺りの技術っぽい