عن المشروع

ZEngine (Zodiac Engine) هو محرك عرض ثلاثي الأبعاد مفتوح المصدر مكتوب بلغة C++ ومبني على واجهة برمجة تطبيقات الرسوميات Vulkan. يوضح ملف README أنه مصمم لأنشطة مثل الألعاب والحساب العلمي والتصور. يتكون المشروع من ثلاثة مكونات. ZEngine هو النواة الأساسية، ويغطي نظام ECS، ومحرك Vulkan، والفيزياء، والصوت، ونظام ملفات افتراضي. Tetragrama هو محرر مبني على ZEngine لإنشاء المشاهد وإدارة الأصول. Panzerfaust هو مشغل مشاريع مكتوب بلغة C#/.NET يقوم بإنشاء وفتح وإدارة مشاريع الألعاب؛ ويستضاف في مستودع منفصل (ZodiacEngineHub). الأنظمة الأساسية المدعومة هي Windows وmacOS وLinux (Debian/Ubuntu)، وجميعها موصوفة بأنها قيد التطوير والاختبار النشط. التوثيق الكامل موجود في wiki المشروع، ويُشار إلى ملف خارطة طريق. يتطلب الإعداد سلسلة أدوات C++ بالإضافة إلى أدوات داعمة. على Windows: Visual Studio 2022 مع تطوير سطح المكتب باستخدام C++، وMSVC v143 وWindows 10/11 SDK، وPowerShell Core، وPython، وCMake 4.1.2 أو أحدث، وLLVM. على macOS: Xcode وHomebrew، ثم CMake وNuGet وPowerShell Core وLLVM/ClangFormat عبر brew. على Linux: build-essential وCMake وNinja وLLVM/Clang وPython 3 وNuGet عبر apt، بالإضافة إلى PowerShell Core. يتم جلب التبعيات تلقائيًا بواسطة CMake في وقت التكوين عبر FetchContent، لذا لا حاجة لتهيئة الوحدات الفرعية يدويًا. يتم البناء عبر سكربت PowerShell في جذر المستودع: BuildEngine.ps1 مع -Configurations Debug أو Release و-RunBuilds $True. تمرير -RunBuilds $False يولد دليل البناء دون تجميع، وحذف -Configurations يبني كلا التكوينين. قائمة التبعيات واسعة ومصنفة حسب الاهتمام. يستخدم العرض والنوافذ Vulkan-Headers وVulkan-Loader وVulkanMemoryAllocator لذاكرة GPU وSPIRV-Cross وglslang وSPIRV-Tools لخط تجميع التظليل وGLFW لإنشاء النوافذ والإدخال. يستخدم نظام الواجهة (ZUI) FreeType لتنقيط الخطوط وrapidhash لتجزئة مفاتيح الأدوات. تحميل الأصول يغطي Assimp للاستيراد ثلاثي الأبعاد القديم وfastgltf لـ glTF 2.0 وufbx لـ FBX وmeshoptimizer لتحسين ذاكرة التخزين المؤقت للرؤوس والرسم الزائد وLOD وSTB لتحميل الصور (PNG وJPEG وHDR) وminiz لضغط zip/deflate. تستخدم الذاكرة tlsf كموزع ديناميكي O(1) لشرائح المحرك متغيرة الحجم. تشمل تنسيقات البيانات nlohmann/json وsimdjson لخط الأصول وyaml-cpp للتكوين. تشمل التسجيل والأدوات spdlog وfmt وstduuid وCLI11 وTracy كملف تعريف إطارات اختياري عبر علامة ZENGINE_TRACY. يُستخدم GoogleTest لاختبار الوحدة، ويبني سير عمل GitHub Actions المحرك ويختبره. المشروع مرخص بموجب MIT ويرحب بالمساهمات، مع الإشارة إلى دليل المساهمة قبل فتح طلبات السحب.