Об этом проекте
Pebble представляет собой низкоуровневый прикладной и графический фреймворк для Rust, разработанный для предоставления основных примитивов без навязывания конкретной модели рендеринга или симуляции. Он построен на базе hecs (ECS), wgpu (GPU API) и winit (окна).
Ключевые особенности включают:
- Архитектура ECS: использует системный подход с определенными этапами (Startup, Ready, Update, Render и т. д.) и управлением ресурсами для синглтонов.
- Система плагинов: приложение формируется путем объединения плагинов, что позволяет модульно добавлять функционал окон, GPU-бэкендов и игровую логику.
- Гибкий конвейер ассетов: унифицированная модель ассетов CPU/GPU, которая обрабатывает асинхронную загрузку и управление зависимостями. Поддерживаются универсальные меши (через bytemuck::Pod), текстуры и необработанные шейдеры WGSL для материалов и вычислительных проходов.
- Конструкторы GPU-ресурсов: предоставляет билдеры для Textures, Meshes, Materials и Compute-конвейеров, позволяя пользователям определять собственные макеты вершин и формы bind-group.
- Асинхронная интеграция: использует паттерн Promise/Fulfiller для неблокирующих операций GPU, таких как обратное чтение буфера и получение бэкенда.
- Кроссплатформенность: поддерживает как нативное выполнение, так и wasm32-unknown-unknown для развертывания в вебе.
В отличие от высокоуровневых движков, Pebble намеренно исключает встроенную скелетную анимацию, загрузчики моделей или системы коллизий, оставляя реализацию этих специфических игровых систем на усмотрение разработчика.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.