第10会場
8月21日(水)
13:40 〜 14:40
レギュラーセッション(60分)
言語の壁を超えろ!ゲームエンジン上で「安全に」「ラクして」ネイティブライブラリを使う取り組み
- セッション分野
- ENG (エンジニアリング)
- セッション関連分野
- セッション難易度
- 受講スキル
- - ネイティブライブラリ呼び出しを行うC#ライブラリを作りたいエンジニア
- 他言語からの利用が容易なネイティブライブラリを作りたいエンジニア
- 異なる言語間での相互運用を効率化したいエンジニア - 得られる知見
- - 他言語からの呼び出しが容易なネイティブライブラリの設計
- ネイティブライブラリの呼び出しコードを自動生成し、常に最新仕様に追従させる方法
- メモリ等のネイティブリソースを取り扱う場合に、安全性を保証する方法
- 現在のC#においてPInvokeを行う際のベストプラクティス - 写真撮影 / SNS投稿
- 通訳の種類
- なし
セッション内容
現在のゲーム開発環境においてはC#を初めとする非ネイティブ言語を利用するケースも多いが、
いくつかの理由からC/C++等のネイティブ言語で書かれたライブラリを利用したい場合がある。
本セッションでは、ゲームエンジンからのネイティブ呼び出しコードを整備する方法や、その作業を効率化するための取り組みを紹介する。
- ネイティブライブラリについて、他言語からの呼び出しを想定する場合に推奨する作り方と、既存ライブラリの設計に不都合がある場合の回避策を紹介する。
- ラッパーコードの作成について、自動化の方法、差分更新や安全性の保証を行う取り組みを紹介する。
- 特に呼び出し元コードがC#の場合について、実行性能と使い勝手を両立するC#向けラッパーコードを提案する。