
يهدف محرك Fling إلى أن يكون محرك ألعاب Cross Platform Vulkan الذي سيجرب ما يلي:
هناك بعض الخطوات الأساسية لتجميع Fling على النظام الأساسي الخاص بك.
يتطلب هذا المشروع Cmake 3.13 أو أعلى ، يمكنك تثبيته هنا.
يستخدم هذا المشروع GLFW ، لذلك ستحتاج إلى تثبيت تلك المكتبات على جهازك. يعتمد GLFW أيضًا على وجود doxygen ، لذلك قد ترغب في الحصول على ذلك أيضًا.
أوبونتو:
sudo apt-get update
sudo apt-get install doxygen
sudo apt-get install -y libglm-dev libxcb-dri3-0 libxcb-present0
sudo apt-get install -y libpciaccess0 libpng-dev libxcb-keysyms1-dev
sudo apt-get install -y libxcb-dri3-dev libx11-dev libmirclient-dev
sudo apt-get install -y libwayland-dev libxrandr-dev
sudo apt-get install -y libglfw3-dev
sudo apt-get install -y xorg-dev
من الواضح أن هذا المشروع يبني باستخدام Vulkan ، لذلك ستحتاج إلى تثبيته قبل تجميع البرنامج أو تشغيله.
يمكنك تنزيل SDK من موقع Lunarg هنا.
إذا كنت تواجه مشكلة مع Vulkan SDK ، فتحقق من بعض هذه الموارد:
Init.bat و Init.shبعد تثبيت SDK ، يمكنك ببساطة تشغيل أحد البرامج النصية المقدمة.
سيحصل تشغيل أي من هذه البرامج النصية ببساطة على جميع العوامل الفرعية والمكتبات الخارجية التي يستخدمها المحرك وإنشاء مجلد يسمى build . سيكون لدى مجلد build ملفات بناء محددة من النظام الأساسي (Visual Studio ، Makefiles ، إلخ).
لسهولة التطوير والتكرار ، تكون مسارات الملف للأصول (التظليلات ، والمواد ، والموديلات ، إلخ) جميع المسارات المطلقة التي تم إنشاؤها بواسطة CMake. إذا كنت ترغب في الحصول على نسخة من مسارات الأصول الخاصة بك مع مسارات الأصول بالنسبة للبرنامج ، فقم بإنشاء ملفات المشروع الخاصة بك باستخدام Cmake مع هذه العلامة:
cmake -DDEFINE_SHIPPING=ON -B build .
لاحظ أن خيار -DDEFINE_SHIPPING يتم تعيينه على ON . هذا يعين definiton التي يمكنك استخدامها في C ++:
#ifdef FLING_SHIPPING
// Do some nice stuff
#else
// Do non-shipping code, perhaps with a lot of log messages
#endifإذا كان لديك أي مساهمات أو إصلاحات تريد المساهمة ، فلا تتردد في فتح مشكلة أو طلب سحب! يسعدني التحدث عن المشروع ، لذلك لا تتردد في الوصول إلي على Twitter أو هنا على Github. في نهاية المطاف ، يتمثل الهدف في الحصول على بعض قوالب العلاقات العامة/معايير الترميز أكثر تحديدًا ، لكن هذه ليست أولوية في الوقت الحالي.
نستخدم استراتيجية متفرعة أساسية. قم بعمل فرع ميزة من Main لشيء مثل "Add-Support-For-X" ، ثم يتم تنفيذ هذه الميزة واختبارها إنشاء طلب سحب للحصول عليه إلى Main.
سنقوم بإنشاء فروع "إصدار" مستقرة ووضع علامة عليها وفقًا لإصدارات مستقرة من البناء.
بعض الموارد العظيمة هي البرنامج التعليمي Vulkan وشفاء Saschawilems مع أمثلة مختلفة من الفلكان