
أعزائي خابروفشان ، أقدم انتباهكم إلى استمرار البحث في موضوع إيجاد الظلال المناسبة لكعكة ثنائية الأبعاد.
هذا
المنشور هو تكملة
للنشر ، وهو نوع من العمل على الأخطاء والتطوير الإضافي للفكرة.
في تعليقاتهم ، أشار النقاد المحترمون عن حق إلى أنه في الأماكن المغلقة ، تحولت الظلال إلى زاوية ، وغير طبيعية إلى حد ما. تم اقتراح العديد من الحلول ، أحببت الاقتراح باستخدام
صب الأشعة لحساب الظل.

أنا أوضح ، أنا لا أعمل مع بطاقة الفيديو (أنا لا أعمل حتى الآن) ، كل النتائج على غرار وحدة المعالجة المركزية.
في هذا العمل على reykasting ، نفهم طريقة بناء الصورة عن طريق رمي الأشعة من مراقب في الفضاء حتى يتقاطع مع عقبة (حدود الشاشة) ويسلط الضوء على مكان اصطدامهم.
هنا سوف نستخدم نسخة مبسطة من rakecasting على أساس تقاطع بلاط مع شعاع. تم استخدام هذه الطريقة على نطاق واسع في ألعاب الماضي الزائفة ثلاثية الأبعاد (على سبيل المثال ،
Wolfenstein_3D ، تقديسًا لأولئك الموجودين في هذا الموضوع) ، نقوم بتكييفها للمساحة ثنائية الأبعاد.

الخوارزمية بسيطة بما يكفي للفهم والتجسيد. سأجلب التنفيذ الخاص بي:
نظرًا لأن الشعاع يعبر الخلايا على كل محور على نفس المسافة ، يمكنك حفظ الحسابات والتحقق فقط من وجود جدران داخل البلاط. نحتاج إلى تقاطع مع عقبة ونتذكر إحداثياته.
في التنفيذ ، قمت بإخراج جميع المثلثات والأقسام في جدول منفصل لكل زاوية ، مما أدى إلى تسريع الخوارزمية بشكل كبير.
بعد إطلاق الأشعة في جميع الاتجاهات بالخطوة المطلوبة ، نحصل على الصورة التالية تقريبًا:

زيادة عدد الأشعة إلى عدة آلاف والحصول على متعدد الوجوه المطلوب للنطاق. من الممكن بالطبع إلقاء أشعة لكل بكسل من الصورة ، كما هو الحال في المسرعات ثلاثية الأبعاد ، ولكن لا يمكنك الاستغناء عن بطاقة الفيديو هنا.

يبدأ المزيد من العمل مع الطبقات.
النطاق وفي الآخرة تمر الأشعة قليلاً في أعماق الأشياء. تخلق مثل هذه الاتفاقية لعبة محيط فريد من نوعه من ألعاب ثنائية الأبعاد.

توليد خريطة الإنارة. نقوم بإنشاء مصادر إضاءة ثابتة مسبقًا وذاكرة تخزين مؤقت لتحسين الأداء ، ونطبق مصادر ديناميكية في عملية العرض على الشاشة.

اجمع كل شيء معًا. كل ما هو مفقود هو الوحوش والكنوز الرهيبة ... العديد من الكنوز.

لم تذهب لي الجدران ذات الانحناء المتغير لاختراق الضوء ، ولكن ربما كانت هاوية.

في عملية إنشاء النموذج الأولي ، جربت العديد من الأشكال المختلفة للنموذج ، بعضها مناسب بشكل أفضل
للرعب :

لقد أحببت بشكل خاص تأثير الانعكاسات المتعددة للأشعة من الجدران ، ولكن حتى تنفيذها الساذج كان بطيئًا جدًا لدرجة أنني تركته للمستقبل عندما أصبحت صديقًا لبطاقة الفيديو.
شكرا لكم على اهتمامكم.
رابط للعب (إكس للنوافذ)
الجزء الأول ،
الجزء الثالث