GPU API MkII
プロジェクト紹介
- SDLの新しいGPU APIが導入された
- MoonWorksプロジェクトと似ており、モダンなAPI(Vulkanなど)を対象としている
Samurai Gunn 2 などのゲームで使用中
主な機能と利点
- コンピュート機能: Refresh APIはコンピュート機能を簡単に利用できるようにする
- シェーダーシステム: オフラインコンパイル方式を採用し、さまざまなフォーマットをサポート
- リソース安全性: 内部的にリソースの安全性を保証し、ユーザーに複雑なAPIを露出しない
シェーダーシステム
shaderbuild.py スクリプトを使ってオフラインでシェーダーをビルド
- シェーダーモジュール生成時に各バックエンドのIRフォーマットを使用
- SDL自体はシェーダーコンパイラをラップしない
開発の進捗状況
- Metalのサポートを開始
- FNA3Dポートを通じてシェーダー生成をサポート
- ハードウェアインスタンシングのサポートを今後追加予定
コミュニティのフィードバック
- オフラインシェーダーコンパイル方式についてさまざまな意見
- SDL_gpuのサイクル処理方式に対する好意的な評価
- 多様なバックエンド対応のため継続的な改善が必要
今後の計画
- SDLスタイルのドキュメントコメントを作成
- MetalおよびD3D12サポートを強化
- テストプログラムの追加とバグ修正
# GN⁺のまとめ
- SDLの新しいGPU APIはモダンなグラフィックスAPIをサポートし、さまざまなゲームで利用可能
- シェーダーシステムはオフラインコンパイル方式を採用し、性能を最適化
- コミュニティのフィードバックを反映して継続的に改善中で、MetalおよびD3D12サポートを強化予定
- このAPIはゲーム開発者にとって有用で、多様なバックエンドをサポートして柔軟性を提供する
1件のコメント
Hacker Newsの意見
SDL3はまだプレビュー段階だが、新しいGPU APIがメインブランチにマージされた
SDL GPU APIがこれほど早く完成したことに驚いている
dx12部分に貢献できてうれしい
SDLは高品質なソフトウェアで、複数のプラットフォームで高速にコンパイルでき、常に動作する
SDLの大ファンだ
これが今後どうなっていくのか楽しみだ
Vulkanを学ぶのは楽しく有益だったが、進みが遅く感じられる
このライブラリを使ったことはないが、クロスプラットフォームGPUコンピューティング機能の例を見てみたい
RaylibがSDL GPUバックエンドを手に入れるのを見てみたい
これがhttps://github.com/grimfang4/sdl-gpu と関係あるのか気になる