منصوبے کے بارے میں

Irreden Engine هو محرك ألعاب قائم على الفوكسل، مصمم لإنشاء ألعاب بأسلوب بصري مميز. تم بناؤه باستخدام C++23 ويدعم خلفيات متعددة: OpenGL بشكل افتراضي على Windows وMetal على macOS. يستخدم المحرك بنية معيارية حيث يتم تجميع المكونات كمكتبات ثابتة، مما يسمح بدمج وتطوير مرن. تشمل الوحدات الأساسية: - **IRRender**: يتعامل مع عرض الفوكسل بدون شبكة عبر shaders الحوسبة، ويحول الفوكسل 3D إلى لوحات 2D متساوية القياس. يتميز بالتمرير البكسلي المترابط لتحركات الكاميرا السلسة ويدعم لوحات فوكسل متعددة. - **IRECS**: إطار عمل Entity-Component-System (ECS) قائم على النموذج الأولي، ومُحسَّن من حيث الذاكرة، ويسمح بتعريف الأنظمة باستخدام lambdas وإنشاء كيانات جماعي. - **IRAudio**: يدعم استكشاف أجهزة الصوت والاتصال بها، وإدخال MIDI للوحات التحكم، وبث الصوت في الوقت الفعلي (قيد التطوير). - **IRInput**: يدير إنشاء النافذة عبر GLFW ويتعامل مع إدخال لوحة المفاتيح والماوس وgamepad، ومُزامَن مع حلقة اللعبة. - **IRScript**: يوفر غلافًا لواجهة برمجة تطبيقات Lua C للتكوين في وقت التشغيل والتنفيذ الكامل المحتمل لـ Lua في المستقبل. - **IRVideo**: يتيح التقاط إطار العرض MP4/H264 باستخدام FFmpeg، مع تبديل التسجيل في وقت التشغيل. - **IRMath**: يشمل حسابات متساوية القياس، وغلافات GLM، ووظائف التسهيل للرسوم المتحركة. - **IRTime**: يوفر أحداثًا ثابتة لـ FPS لتحديثات متسقة وأحداثًا غير محدودة لـ FPS للعرض. يدعم المحرك دمج مشاريع ألعاب خاصة من خلال هيكل دليل `creations/game/`، والذي يكتشف تلقائيًا أهداف CMake. تشمل التبعيات RtAudio، RtMidi، GLFW، GLM، EasyProfiler، SpdLogger، Fmt، Glad، StbImage، MeshOptimizer، Assimp، enkiTS، Lua، وFFmpeg. تشمل أدوات التطوير إعدادات مسبقة لـ CMake للتكوين، والبناء، والاختبار، والتنسيق، والتحقق من الأخطاء. يشجع المشروع على تقديم الملاحظات حول تصميم المحرك والمساهمة من خلال القضايا، أو تعديل القوالب الجاهزة، أو نشر مشاريع مفتوحة المصدر.