このプロジェクトについて

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は意図的に組み込みのスケルタルアニメーション、モデルローダー、または衝突判定システムを除外しており、これらのゲーム固有のシステムの実装は開発者に委ねられています。