À propos du projet
Pebble est un framework d'application et de graphismes de bas niveau pour Rust, conçu pour fournir des primitives essentielles sans imposer de modèle de rendu ou de simulation spécifique. Il repose sur hecs (ECS), wgpu (API GPU) et winit (gestion des fenêtres).
Les caractéristiques principales incluent :
- **Architecture ECS** : Utilise une approche basée sur des systèmes avec des étapes définies (Startup, Ready, Update, Render, etc.) et une gestion des ressources pour les valeurs singleton.
- **Système de Plugins** : L'application est composée par l'enchaînement de plugins, permettant l'ajout modulaire de la gestion des fenêtres, des backends GPU et de la logique de jeu.
- **Pipeline d'Assets Flexible** : Un modèle d'assets CPU/GPU unifié qui gère les téléchargements asynchrones et la gestion des dépendances. Il prend en charge les maillages génériques (via bytemuck::Pod), les textures et les shaders WGSL bruts pour les matériaux et les passes de calcul.
- **Builders de Ressources GPU** : Fournit des builders pour les Textures, Meshes, Materials et les pipelines de Compute, permettant aux utilisateurs de définir leurs propres layouts de sommets et formes de bind-group.
- **Intégration Async** : Utilise un modèle Promise/Fulfiller pour les opérations GPU non bloquantes, telles que les readbacks de buffers et l'acquisition du backend.
- **Multiplateforme** : Supporte l'exécution native ainsi que wasm32-unknown-unknown pour le déploiement web.
Contrairement aux moteurs de haut niveau, Pebble exclut délibérément l'animation squelettique intégrée, les chargeurs de modèles ou les systèmes de collision, laissant l'implémentation de ces systèmes spécifiques au jeu au développeur.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.