このプロジェクトについて
Pebbleは、特定のレンダリングやシミュレーションモデルを強制することなく、不可欠なプリミティブを提供するために設計されたRust向けの低レベルアプリケーションおよびグラフィックスフレームワークです。hecs (ECS)、wgpu (GPU API)、およびwinit (ウィンドウ管理) 上に構築されています。
主な機能は以下の通りです:
- **ECSアーキテクチャ**: 定義されたステージ(Startup、Ready、Update、Renderなど)を持つシステムベースのアプローチと、シングルトン値のためのリソース管理を利用しています。
- **プラグインシステム**: アプリケーションはプラグインをチェーンすることで構成され、ウィンドウ管理、GPUバックエンド、ゲームロジックをモジュール形式で追加できます。
- **柔軟なアセットパイプライン**: 非同期アップロードと依存関係管理を処理する統合されたCPU/GPUアセットモデルです。汎用メッシュ(bytemuck::Pod経由)、テクスチャ、およびマテリアルやコンピュートパス用の生のWGSLシェーダーをサポートしています。
- **GPUリソースビルダー**: Texture、Mesh、Material、およびComputeパイプラインのビルダーを提供し、ユーザーが独自の頂点レイアウトやバインドグループ形状を定義できるようにします。
- **非同期統合**: バッファのリードバックやバックエンドの取得など、ノンブロッキングなGPU操作のためにPromise/Fulfillerパターンを使用しています。
- **クロスプラットフォーム**: ネイティブ実行と、ウェブ展開のためのwasm32-unknown-unknownの両方をサポートしています。
高レベルなエンジンとは異なり、Pebbleは意図的に組み込みのスケルタルアニメーション、モデルローダー、または衝突判定システムを除外しており、これらのゲーム固有のシステムの実装は開発者に委ねられています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.