프로젝트 소개
Pebble은 특정 렌더링 또는 시뮬레이션 모델을 강제하지 않고 필수적인 프리미티브를 제공하도록 설계된 Rust용 저수준 애플리케이션 및 그래픽 프레임워크입니다. 이 프레임워크는 hecs (ECS), wgpu (GPU API), winit (windowing)을 기반으로 구축되었습니다.
주요 특징은 다음과 같습니다:
- **ECS 아키텍처**: 정의된 단계(Startup, Ready, Update, Render 등)와 싱글톤 값에 대한 리소스 관리를 갖춘 시스템 기반 접근 방식을 활용합니다.
- **플러그인 시스템**: 애플리케이션은 플러그인을 체이닝하여 구성되며, 이를 통해 윈도잉, GPU 백엔드 및 게임 로직을 모듈식으로 추가할 수 있습니다.
- **유연한 에셋 파이프라인**: 비동기 업로드 및 종속성 관리를 처리하는 통합 CPU/GPU 에셋 모델입니다. generic mesh (bytemuck::Pod를 통해), 텍스처, 그리고 머티리얼 및 컴퓨트 패스를 위한 raw WGSL 셰이더를 지원합니다.
- **GPU 리소스 빌더**: Texture, Mesh, Material 및 Compute 파이프라인을 위한 빌더를 제공하여 사용자가 직접 정점 레이아웃과 bind-group 형태를 정의할 수 있게 합니다.
- **비동기 통합**: 버퍼 리드백 및 백엔드 획득과 같은 논블로킹 GPU 작업을 위해 Promise/Fulfiller 패턴을 사용합니다.
- **크로스 플랫폼**: 네이티브 실행과 웹 배포를 위한 wasm32-unknown-unknown을 모두 지원합니다.
고수준 엔진과 달리, Pebble은 의도적으로 내장 스켈레탈 애니메이션, 모델 로더 또는 충돌 시스템을 제외하여, 이러한 게임 특정 시스템의 구현을 개발자의 몫으로 남겨두었습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.