Asdf Overlay - Rustで書かれた高性能なインゲームオーバーレイライブラリ
(github.com/storycraft)ゲーム画面の上に表示できるオーバーレイソフトウェアを簡単に作成できるようにするライブラリです。Rustで書かれていますが、Node.jsバインディングおよびElectron向けパッケージも提供しています。
最近1.0をリリースしたので投稿してみます。
インゲームオーバーレイとは?
ゲーム画面の上に操作可能なUIを表示したり、各種の便利機能を提供・表示したりするプログラムを指します。以下の代表的なプログラムのいずれかを通じて、一度は使ったことがあるのではないかと思います。
- Nvidia Overlay - パフォーマンス表示および画面録画機能
- MSI Afterburner - GPUおよびシステムリソース使用量の表示機能
- Discord - ボイスチャットオーバーレイ機能
- Steam - Steam通知の表示およびチャット、ブラウザー機能
必要性
オーバーレイは対象プロセスにコードを挿入し、レンダリング処理や入力に必要な関数をフックして、レンダリングの最後の段階でオーバーレイを重ね描きする仕組みで実現されます。安定して動作するプログラムの作成は容易ではありませんが、オープンソースで公開されているライブラリもほとんどありません。
Asdf Overlayは、オーバーレイ表示に必要なさまざまな機能を提供し、IPC実装を通じて外部プロセスからも簡単に操作できるようにします。
特徴と機能
Asdf Overlayライブラリは、次のような機能をサポートしています。
- DirectX9、11、12、OpenGL、Vulkan グラフィックスAPIのサポートと自動検出
- ウィンドウ入力のキャプチャと横取り
- 基本的なオーバーレイレイアウト機能
- CPUオーバーヘッドのないオーバーレイレンダリング
Electronを通じてオーバーレイを簡単に作成できるよう、このためのサンプルとガイドドキュメントも併せて提供しています。
1件のコメント
久しぶりに面白いプロジェクトですね。応援しています。