تنفيذ كاميرا بسيطة تستخدم للتنقل إلى عالم ثلاثي الأبعاد. من الممكن تدوير الكاميرا التي تحرك الماوس ، والتنقل باستخدام مفاتيح W و A و S و D (ESC لإغلاق التطبيق).
يمكن استخدامه ، على سبيل المثال ، في ألعاب الشخص الأول أو في تطبيقات CAD.
كعرض صغير ، أنشأنا متاهة بسيطة للغاية.
يتم تقديم كل من العشب والجدران باستخدام التظليل.
قمنا أيضًا بتنفيذ نظام تصادم ، مثل المستخدم لن يذهب "داخل" الجدار ، لكنه سيتوقف قبله مباشرة.
المشروع النهائي لدورة رسومات الكمبيوتر (AY 2020/2021) من جامعة فيرارا.
Teacher: Antonino Casile
Students: Alberto Paparella Badge number: 144261
Martina Tenani Badge number: 144739
هناك طريقتان للانتقال إلى نقطة في الفضاء.
الأول هو تغيير موضع الكاميرا ونقلها إلى هذه النقطة (غير ممكن في OpenGL) ، والآخر يغير موضع النقطة وجلبه إلى الكاميرا.
ببساطة ، لإنتاج تأثير المضي قدمًا ، إما أن تقدم نفسك ، أو تجلب العالم للخلف.
لذا ، لإنتاج تأثير الذهاب إلى النقطة (x ، y) في الفضاء ، من الممكن ترجمة العالم إلى النقطة (-x ، -y) بدلاً من ذلك ، وسيكون لا يمكن تمييزه.
إذا كنت ترغب في النظر إلى الجانب الأيمن ، فقم بتدوير العالم إلى اليسار.
هذا هو السبب في أننا نستخدم القيم السلبية للزوايا أثناء الدوران.
ملاحظة مهمة: تدوير دائمًا أولاً ثم تترجم.
بالنسبة لنظام التجميع ، قمنا بتنفيذ المنطق المتابعة: تحقق مما إذا كانت الخطوة التالية ستحدد الكائن من حولك ؛ إذا كان هذا هو الحال ، فلا تحديث المصفوفات في هذا الاتجاه.
انتقل إلى Project Main Directory sfpg/ مع سطر الأوامر وقم بتشغيل الأمر make .
سيقوم المشروع بإنشاء أداة تنفيذ قابلة للتنفيذ في نفس الدليل المسمى sfpg والذي يمكن إطلاقه باستخدام ./sfpg .
يتم تخزين جميع ملفات .O في obj/ Directory ، للحفاظ على نظافة الأمور.