Flex Engine هو محرك لعبة شخصي بدأت العمل عليه في أوائل عام 2017. أستخدمه كملعب للتعرف على تقنيات العرض والمحاكاة في الوقت الفعلي. Flex Engine ليس محرك لعبة تجارية ولا هو مخصص للاستخدام العام.
بناء المرن
انظر Build.MD
ميزات ملحوظة
- Vulkan تقديم الواجهة الخلفية (Vulkanrenderer.cpp)
- برنامج التحويل البرمجي/المحرر في اللعبة في اللعبة (VirtualMachine.cpp)
- إعادة تجميع التظليل القائم على عمليات الفحص الشرطية (ShaderCompiler.cpp)
- مراقبة تعديل الملفات للقوام ، الشبكات ، المسبق ، التظليلات ، ملفات التكوين ، إلخ (ResourceManager.cpp)
- محرر المشهد مع التسلسل (basescene.cpp)
- أدوات المحرر (Transform Gizmo ، محرر العقارات ، محرر KeyBinding ، إلخ) (محرر. CPP)
- أدوات التقاط/التفتيش الأساسية في التنميط
- دعم Windows & Linux
- التقديم:
- مسيرة مكعبات تضاريس مولد وعارض
- جيرستنر ويف أوشن رايترر
- مصابيح منطقة مستطيلة (منتشرة مباشرة ومخاطر)
- نموذج التظليل جسديًا
- الإضاءة القائمة على الصور
- انسداد الشاشة المحيطة
- خرائط الظل المتتالية مستقرة
- مكافحة الإنقاذ الزمنية
- موقعة مجال المسافة (SDF) توليد الخطوط وتقديمها
- محاكاة الجسيمات القائمة على GPU
التضاريس الإجرائية التي تم إنشاؤها على وحدة معالجة الرسومات
محاكاة جيرستنر موجة المحيط
تخطيط الظل المتتالي
تم محاكاة مليوني جسيم وتقديمها بالكامل على وحدة معالجة الرسومات
تراكب Profiler يعرض انهيارًا في وقت وحدة المعالجة المركزية لإطار واحد
بعض النوافذ المحرر
انسداد المحيط الشاشة (SSAO)
Gbuffer (أعلى اليسار إلى أسفل اليمين): الموضع ، البيض ، العادي ، الصورة النهائية ، العمق ، المعادن ، AO ، خشونة
عرض في المحرر


شاهد المزيد من لقطات الشاشة هنا
التبعيات
يستخدم Flex Engine المكتبات التالية مفتوحة المصدر:
- رصاصة - اكتشاف التصادم ومحاكاة الجسم الصلبة
- freetype - تحميل الخط
- GLFW - إنشاء نافذة ، معالجة مدخلات
- GLM - عمليات الرياضيات
- IMGUI - واجهة المستخدم
- Openal - تحميل الصوت والتشغيل
- STB - تحميل الصور
- CGLTF - تحميل شبكة
- Volk - Fulkan Meta -Loader
رخصة
محرك Flex مرخصة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. انظر الترخيص. md للحصول على التفاصيل.
شكر وتقدير
شكر كبير يجب إعطاؤك للأفراد والمنظمات التالية على مواردهم المفيدة بشكل لا يصدق:
- بالدور كارلسون من github.com/baldurk/renderdoc
- Alexander Overvoorde of Vulkan-Tutorial.com
- Sascha Willems من github.com/saschawilems/vulkan
- Joey de Vries of Learnopengl.com
- Andrew Maximov لنموذج المسدس والمواد Artisaverb.info/pbt.html
- freepbr.com للقوام PBR عالية الجودة
- جميع المؤلفين والمساهمين في المكتبات مفتوحة المصدر المذكورة أعلاه
مدونة
ابق (إلى حد ما) على هذا المشروع على هذا المشروع على مدونتي على ajweeks.com/blog