عن المشروع
Pebble هو إطار عمل للتطبيقات والرسوميات منخفض المستوى لغة Rust، مصمم لتوفير الأساسيات الضرورية دون فرض نموذج محدد للصيرورة أو المحاكاة. تم بناؤه استناداً إلى hecs (ECS)، و wgpu (GPU API)، و winit (windowing).
تشمل الميزات الرئيسية ما يلي:
- بنية ECS: تستخدم نهجاً قائماً على الأنظمة مع مراحل محددة (Startup، Ready، Update، Render، إلخ) وإدارة الموارد للقيم الفردية (singleton).
- نظام الإضافات (Plugin System): يتكون التطبيق من سلسلة من الإضافات، مما يسمح بإضافة النوافذ، وخلفيات GPU، ومنطق اللعبة بشكل معياري.
- خط أنابيب أصول مرن: نموذج أصول موحد لـ CPU/GPU يتعامل مع عمليات الرفع غير المتزامنة وإدارة التبعيات. يدعم الشبكات العامة (عبر bytemuck::Pod)، والأنسجة، ومظللات WGSL الخام للمواد ومسارات الحوسبة.
- أدوات بناء موارد GPU: يوفر أدوات بناء للأنسجة (Textures)، والشبكات (Meshes)، والمواد (Materials)، وخطوط أنابيب الحوسبة، مما يسمح للمستخدمين بتحديد تخطيطات الرؤوس (vertex layouts) وأشكال مجموعات الربط (bind-group shapes) الخاصة بهم.
- التكامل غير المتزامن: يستخدم نمط Promise/Fulfiller لعمليات GPU غير الحاصرة، مثل استعادة البيانات من المخزن المؤقت (buffer readbacks) والحصول على الخلفية.
- عابر للمنصات: يدعم التنفيذ الأصلي (native) و wasm32-unknown-unknown للنشر على الويب.
على عكس المحركات عالية المستوى، يستبعد Pebble عمداً الرسوم المتحركة الهيكلية المدمجة، أو أدوات تحميل النماذج، أو أنظمة التصادم، تاركاً تنفيذ هذه الأنظمة الخاصة بالألعاب للمطور.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.