software-mansion/TypeGPU

A modular and open-ended toolkit for WebGPU, with advanced type inference and the ability to write shaders in TypeScript

何を解決するか

TypeGPUは、WebGPUアプリケーションの開発を簡素化する型安全なツールキットを提供し、標準のWebGPUシェーディング言語(WGSL)ではなくTypeScriptでシェーダーを書けるようにします。複雑なデータシリアル化、手動でのWGSL生成、GPUバッファに対する型推論の欠如といったWebGPUの一般的な課題を解消します。

仕組み

TypeGPUはTypeScript内でWGSL構文を模倣します。モジュール化された抽象レイヤーを使用し、'use gpu'でマークされたTypeScript関数からWGSLコードを生成し、GPU上で実行できます。また、GPUバッファやリソースを型安全に管理するAPIも提供しており、異なるライブラリ間でデータをCPUに戻さずに型付きの値を渡すことが可能になります。

対象ユーザー

  • WebGPU開発者: シェーダーの記述の煩雑さを減らし、TypeScriptの型システムをGPUプログラミングに活用したい人。
  • ライブラリ作成者: WebGPUベースのライブラリを開発しており、標準化された型安全な相互運用性レイヤーが必要な人。これにより、ツールがスムーズに連携できるようになります。

特徴

  • TypeScriptシェーダー: 高度な型推論を備えたTypeScriptでGPUロジックを直接記述可能。
  • ロックインなし: 任意の時点で、vanilla WebGPUに細かく移行(eject)できる。
  • 相互運用性レイヤー: 異なるWebGPUライブラリがCPU側のコピーなしに型付きバッファを共有可能。
  • モジュール設計: APIは統合して使用も、個別に使用も可能。既存アプリへの部分的な統合も容易。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト