كان HRE عبارة عن عارض مجمع في الوقت الفعلي ومبني على أساس مادي تم إنشاؤه باستخدام OpenGL واستنادًا إلى التقنيات الموضحة في الورقة Clustered Deferred and Forward Shading بواسطة Ola Olsson وMarkus Billeter وUlf Assarsson. الهدف من هذا المشروع هو بناء إطار اختبار لعرض تقنيات الرسومات المؤجلة والأمامية (وبالتالي الجزء المختلط) وفحص نقاط القوة في التظليل المجمع. لقد كتبت تدوينة طويلة مليئة بالرسوم المتحركة الرائعة التي يمكن أن تكون بمثابة مقدمة لخوارزميات العرض الفعالة بالإضافة إلى دليل تفصيلي لتطبيقي للتظليل العنقودي، لذا تأكد من التحقق من ذلك هنا!
تم اختيار هذه الخوارزمية لميزتين رئيسيتين مقارنة بالحلول المؤجلة/المتجانبة التقليدية: فهي تتيح المزيد من الحرية في اختيار مسارات التظليل الأمامية أو المؤجلة حسب الرغبة، وهي مناسبة بشكل أفضل على المدى الطويل لاتجاهات أداء وحدة معالجة الرسومات الحديثة. لقد تم بالفعل تنفيذه بنجاح في بعض أفضل الألعاب في العامين الماضيين، ومن بين الأمثلة البارزة: DOOM 2016 وJust Cause 3 وDetroit: Become Human.
لسوء الحظ لم يعد يتم الحفاظ على هذا المشروع. لقد تم تعييني للعمل في Rockstar Games كمبرمج رسومات بعد وقت قصير من نشر هذا ولم يعد لدي الوقت للعمل على مشروع جانبي بهذا الحجم بعد الآن. أخطط للاستمرار في ذلك (بالإضافة إلى مشروعي الرسومي الرئيسي الآخر SSGE) حتى يتمكن الآخرون من رؤية ما تطلبه الأمر لاقتحام الصناعة. سأظل أساعد أي شخص يواجه أي مشكلة معه أو لديه أي أسئلة حول هذا الموضوع. لا تتردد في التواصل معي هنا أو على تويتر الخاص بي حول هذا الموضوع أو أي موضوع آخر في GFX ترغب في التحدث عنه! شكرا لكل من فحص هذا المشروع! :د
يمكن العثور على الإصدارات المستقرة على صفحة إصدارات تعليم حقوق الإنسان.
حاليًا يتم دعم أنظمة Windows الأساسية فقط.
بدأت دورة التطوير الأولى في سبتمبر 2018 وانتهت في ديسمبر 2018 بإدراج Image Based Lighting وإصدار أول نسخة مستقرة: HRE 0.01 "Aachen". خلال الشهرين المقبلين، سأقوم بمعالجة المشكلات الموضحة في قسم المشاريع بدءًا من إصلاحات الأخطاء غير الحرجة المتبقية ثم الانتقال إلى إعادة كتابة رئيسية لنظام المواد. فيما يلي قائمة بميزات المحرك التي أهدف إلى تضمينها خلال الأشهر القادمة، ومن الواضح أنها عرضة للتغيير وكل هذه الأشياء.
سأقوم بكتابة منشورات مدونة مصاحبة في نهاية كل حدث رئيسي، مع توضيح الميزات الجديدة وتطبيقاتها وأي تعقيدات وجدتها على طول الطريق. وفي الوقت نفسه، إليك المنشور الأول الذي يحتوي على نظرة عامة على خوارزميات العرض التقليدية الأخرى ويبني حالة العرض المجمع.
Hybrid Rendering Engine
| -- assets
| | -- models # Meshes and textures
| | -- scenes # Scene description files in JSON format
| | -- shaders
| | | -- computeShaders # Compute shaders for clustered forward
| | | -- OldShaders # Shaders not currently in use
| | ` -- currentShaders # Shaders for the current rendering pipeline
| ` -- skyboxes # Skyboxes in either cubemap or equirectangular map form
| -- build # CMake compile
| -- include # Project header files
| -- libs # Check dependencies section for descriptions & links
| | -- ASSIMP
| | -- Dear imgui
| | -- Glad
| | -- Json c++
| | -- GLI
| | -- GLM
| | -- stb_image
| ` -- SDL2
| -- modules # CMake lib setup scripts
|-- src # C++ implementation files
` -- CMakeLists.txt # CMake build script
في مشروعي السابق، SSGE، بذلت جهدًا لتقليل كمية التبعيات إلى الحد الأدنى. ولكن هذه المرة، تأرجح البندول في الاتجاه الآخر ولم أضع أي قيود على الإطلاق (في حدود المعقول) فيما يتعلق بالمكتبات التي يمكنني تضمينها في المشروع. لقد فعلت ذلك لأنني أردت أن أشعر براحة أكبر في عملية تضمين المكتبات الخارجية والعمل معها في لغة C++.
فيما يلي قائمة بالمكتبات المضمنة حاليًا في المشروع:
فيما يلي قائمة بالمكتبات غير المدرجة:
يتم تمثيل جميع المكتبات المضمنة هنا بموجب التراخيص الخاصة بها والتي يمكن العثور عليها في الروابط أعلاه أو في مستند Licenses.txt في مجلد libs.
توجد قائمة مفهرسة شاملة للمراجع الخاصة بالمشروع والتي أبقيها محدثة بشكل أو بآخر في هذه الصفحة من الويكي. ومع ذلك، أجد نفسي أعود باستمرار إلى مجموعة فرعية منها لمزيد من القراءة أو عندما أحتاج إلى الإلهام، لذلك أضفت روابط أدناه لمشاركتها ونشر الكلمة عن روعتها. التحقق منها!
شكرًا لجميع فناني التصميم ثلاثي الأبعاد والملمس الذين جعلوا أصولهم مجانية الاستخدام وجميلة المظهر. لولاكم يا رفاق، لربما كنت سأظل أحدق في نفس إبريق الشاي القديم الممل طوال اليوم!
إذا أخطأت في الاعتراف أو إسناد أو فاتني أي مراجع، فيرجى إنشاء مشكلة GitHub جديدة أو إرسال رسالة مباشرة إليّ على Twitter وسأتأكد من إصلاحها على الفور.
تحية لكوستاس أناجنوستو وإيريك أرنيباك لتخصيصهما الوقت للإجابة على جميع أسئلتي خلال الشهرين الماضيين، لقد جعلت تفسيراتكما فهم كل موضوع شاق أسهل بكثير!
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2018 أنجيل أورتيز
يُمنح الإذن مجانًا لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج")، للتعامل في البرنامج دون قيود، بما في ذلك، على سبيل المثال لا الحصر، حقوق الاستخدام والنسخ والتعديل والدمج. ونشر و/أو توزيع وترخيص من الباطن و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين تم توفير البرنامج لهم بالقيام بذلك، وفقًا للشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمان من أي نوع، صريحًا أو ضمنيًا، بما في ذلك، على سبيل المثال لا الحصر، ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. لا يتحمل المؤلفون أو أصحاب حقوق الطبع والنشر بأي حال من الأحوال المسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في إجراء العقد أو الضرر أو غير ذلك، الناشئة عن أو خارج أو فيما يتعلق بالبرنامج أو الاستخدام أو المعاملات الأخرى في برمجة.