ملاحظات عامة
تم الحصول على جميع النتائج على جهاز قديم إلى حد ما (i7 3770 + GTX 770) ، حيث تم تشغيل اللعبة في DirectX 11 بجودة متوسطة. للتحليل ، تم استخدام RenderDoc و Nsight.
تعمل اللعبة على محرك Re Engine ، الذي أصبح وريث MT Framework - محرك الجيل السابق Capcom R&D. بالإضافة إلى RE2 ، يتم استخدامه في DMC5 و RE7: Biohazard.
لم أتمكن من العثور على مواد على محرك RE على الإنترنت ، لذا فإن كل شيء في المقالة يعتمد على التخمينات (آمل ، مبرر). لقد درست حوالي 90 ٪ من هيكل الإطار وقدم وصفا عاما للخوارزميات. مزيد من البحث يتطلب المزيد من الخبرة والوقت لتظليل الهندسة العكسية.
هيكل الإطار
محاكاة الجسيمات / السوائل
من بين أشياء أخرى ، تولد اللعبة قوام الموجة (يتم أخذ مثال من إطار آخر).
تُستخدم الأمواج لجعل الماء غير موجود في الإطار الذي تم تحليله.
يتم نسخ بعض النتائج إلى المخزن المؤقت المرحلي ، وهذا يشير إلى أنه يمكن استخدام النتائج في وحدة المعالجة المركزية.
حساب قائمة مصادر الإضاءة
ينشئ هذا المقطع قائمة بمصادر الإضاءة المرئية ، ويتحقق من موقع مخروط الإضاءة نسبة إلى هرم الرؤية. النتيجة هي قائمة بمصادر الإضاءة المرئية وجدول ثلاثي الأبعاد معين يقارن المواضع في مساحة المشاهدة بمصادر الإضاءة المقابلة.
يتم أيضًا احتساب قوائم الحالات المرئية لكل مصدر ضوء ، والتي يتم استخدامها لاحقًا عند تحديث خريطة الظل.
النقطة البيضاء
يبني هذا المقطع رسم بياني للإضاءة استنادًا إلى صورة HDR وجدول القياس السابق. ثم ، بناءً على هذه البيانات ، يحدد النقطة البيضاء.
تعريف الكائنات المتداخلة
يتم فحص المربع المحيط للكائنات المتداخلة للتقاطع مع هرم الرؤية في التظليل الحسابي ويتم تعبئة المخزن المؤقت للوسائط غير المباشرة.
إسقاط متداخلة الهندسة
يتم تقديم الكائنات المتداخلة في المخزن المؤقت للعمق المنخفض الدقة ، ثم يتم تحديد المربع المحيط لإدخال العمق في هذا المخزن المؤقت.
عينات 0-3متعدد المخزن المؤقت المستخدم أربع مرات. ربما من أجل التعويض عن دقة منخفضة.
يبدو وكأنه مربعات مربعة موجهة فيما يتعلق بالنظرة.
مثال لاختبار هندسة متداخلة (من إطار آخر). تكتب البيكسلات التي تجتاز الاختبار (الأخضر) علامة (على سبيل المثال 1) في المخزن المؤقت للرؤية لكل مثيل.
store_raw RWDrawIndirectArguments.x, v1.x, l(1)
تراكم الحجج غير المباشرة
يتم تقديم كل كائن هندسي تقريبًا في مساحة العالم باستخدام استدعاء السحب غير المباشر. يعرض منشئ ملفات التعريف Nsight استدعاءات NvAPI_D3D11_MultiDrawIndexedInstancedIndirect. للحصول على معلومات حول استخدامه ، انظر [
1 ] و [
2 ]. يحظر RenderDoc ملحق MultiDraw ، لذا في EventBrowser يتم توسيعها إلى العديد من DrawIndexedInstancedIndirect وبعضها فارغ.
الهدف من هذا المرور هو جمع أقنعة الرؤية من التمرير السابق وإنشاء مخزن مؤقت للوسيطة.
عمق العمق
لا شيء خارج عن المألوف. مجموعة فرعية من مشهد بهندسة متداخلة أساسية.
الهندسة + الشارات تمرير G العازلة
بيانات الإخراج:
- RT0 - r11g11b10 انبعاثية
- RT1 - rgba8 albedo.rgb + metallness.a
- RT2 - r10g10b10a2 normal.rg + خشونة. b + misc.a
- RT3 - r16g16b16a16 baked_ao.x + velocity.yz + sss.a
تستخدم النماذج المقدمة انسدادًا مخبوزًا من النماذج عالية الدقة.
حساب HiZ
يحدد التظليل الحسابي متعدد الممرات كل مستوى في التسلسل الهرمي للعمق.
AO
SSAO أو HBAO + معالجة اعتمادا على المعلمات التي اختارها اللاعب. في حالتي ، SSAO.
يتم احتساب AO على أساس HiZ من التمريرة السابقة.
العالمية براق + منتشر
باستخدام بعض الخوارزميات غير التافهة ، يتم دمج مجسات الضوء والخرائط المكعبة و AO في خرائط عالمية منتشرة ومضاربة.
أمثلة على البطاقات المكعبة من المشهد.المكون المنتشر للإضاءة العالمية.مكون من الإضاءة العالمية براق.تحديث خريطة الظل
يتم تحديث خرائط الظل التي تم إنشاؤها لكل مصدر للضوء لتلك المصادر التي تتأثر بالكائنات الديناميكية. يتم وضع كل خريطة الظل في مجموعة كبيرة من القوام.
براق محلي + نشر + SSS
بعد ذلك ، يتم حساب مساهمة كل مصدر للضوء في مكونات براق وموزع.
منتشر + SSS. تأثيرات SSS غير مرئية في هذا الإطار.مكون براق.تكامل الإضاءة
تتكامل مكونات الإضاءة المضيئة / المنتشرة / المحلية مع البياض.مضيفا الزجاج الشفاف
بعد إضافة جميع مصادر الإضاءة ، يتم تقديم الزجاج الشفاف.الإضاءة الحجمي / حساب الضباب / الدخان
في الواقع ، إنها مجرد حفنة من العفاريت.تطبيق الإضاءة الحجمي / الضباب / الدخان
يحسب هذا المقطع صورة ضبابية لتحسين إضاءة الضباب.إذا قمت باستبدال قناع الضباب الأصلي بنمط رقعة الشطرنج.نتيجة هذا المقطع.TAA مع صورة تقرير التنمية البشرية السابقة
TTA هو مجرد سحر.طمس الحركة
بناءً على خريطة السرعة ، يتم حساب خريطة التمويه الإضافية.بعد المعالجة
يقوم هذا التمرير أولاً بتصغير الصورة.ثم يتم تطبيق مرشح إزهار ، وتصحيح النغمة ، والتشويه وانحراف لوني.استنتاج
يستخدم المحرك بفعالية تظليل حسابي + تجسيد غير مباشر. جميع الشبكات والقوام ذات جودة عالية.
تستخدم اللعبة التقديم المؤجل مع TAA / FXAA والزجاج كما بعد المعالجة. يمكنك قراءة المزيد عن الحيل مع تقديم المؤجلة
هنا [
وظيفة على أساس مقال عن Habré]. يتم ضغط العديد من القوام بواسطة BC7. بشكل عام ، تتشابه التقنيات المستخدمة مع تلك الموضحة في [
4 ].
المكافآت
مساهمة SSS
اضطررت للبحث بعناية عن إطار مناسب لإظهار تأثير SSS.كيف يتم تقديم وحش مع مخالب
يتم تقسيم الوحش إلى أجزاء كثيرة.أحشاء
اللعبة لديها العديد من القوام الدموية للحصول على تفاصيل مختلفة.
لا يتم تصفية مستويات Mip للمواد بشكل خطي فقط. في كل مستوى ، يتم تحسين شحذ. بالإضافة إلى ذلك ، تحتوي بعض الزخارف بالفعل على نقاط بارزة (ليس من الواضح جدًا كيف يؤثر هذا على مظهرها النهائي).
علم الهندسة
الهندسة لديها طوبولوجيا جيدة.HBAO
توفر HBAO جودة أفضل بكثير من SSAO.دخان
الدخان يعتبر مصادر الضوء المخروطية.وتستخدم طائرات حقيقية لتقديم الدخان.المواد المرجعية
[1]
Kostas Anagnostou: تجارب في إعدام الانسداد المستند إلى GPU[2]
دانيال راكوس: السحب غير المباشر هنا[3]
ادريان كوريجر مدونة[4]
الغريبة: العزلة