هل هناك منتصف الأرض بين كتابة Raw OpenGL مقابل استخدام محرك لعبة كاملة؟

StackOverflow https://stackoverflow.com/questions/1993619

  •  22-09-2019
  •  | 
  •  

سؤال

أنا ألعب مع OpenGL وأجد نفسي أكتب رمزًا أشعر أنني لا يجب أن أكتب.

Glu و Glut لطيفة ولكن ليس حقًا ما أفكر فيه.

  • رمز لتحميل نماذج .OBJ (Vertex والمتجهات العادية) من الخلاط وتقديمها.
  • رمز لاكتشاف التصادم.
  • رمز للتنقل/أشياء الكاميرا.
  • رمز لتوليد التضاريس البسيطة.

لكن في نفس الوقت أشعر أن محرك الألعاب الكامل أكثر مما أحتاج.

هل هناك أي مكتبات جيدة مبنية على OpenGL التي يمكنني الاستفادة منها ، ربما لإنشاء ألعاب بسيطة نسبيًا؟ لا أحتاج بالضرورة إلى جميع العناصر المذكورة أعلاه. هذه مجرد أمثلة لما أفكر فيه.

هل كانت مفيدة؟

المحلول

نعم.

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

نصائح أخرى

غول
Irrlicht
OpenSceneGraph (يحل محل المؤدي)

اعتمادًا على المبلغ الذي تحتاجه ، قد يتناسب إحدى مجموعات الأدوات / المكتبات هذه.

  • تخمة - مجموعة أدوات OpenGL
  • Ogre3d - مكتبة الرسومات الموجهة إلى كائن Ogre
  • مخترع مفتوح - OpenGL Toolkit لإدارة المشهد التي أنشأتها SGI
  • أداء - مجموعة أدوات OpenGL لتقديم الوقت الفعلي الذي أنشأته SGI

لقد تعلمت أشياء OpenGL الخاصة بي من gametutorials و Gamedev. لسوء الحظ ، لم تعد عمليات الأمراض مجموعة مختارة مجانية من البرنامج التعليمي (هناك بعض الأمثلة) لكنها كانت جيدة. مرفق مع SDL, ، سيكون لديك رمز لفعل كل ما تريده - وستتمكن من فهم ما يجري تحت الأغطية ، شيء أجده مفيدًا جدًا لاحقًا (إذا كنت ترغب في كتابة HTML5/WebGL لاحقًا) .

لا يتم توثيق الكثير من محركات الألعاب كما أريد (حسنًا ، لم يكن قبل بضع سنوات عندما كنت أبحث) ، لكنهم قد لا يزالون يفعلون ما تحتاجه. المصدر لديه الكثير ، بما في ذلك Ogre3d, Irrlicht, ، و مساحة البلورات.

بشكل عام ، أتفق مع مشاعرك. هناك مدرسة فكرية تشير إلى أن البرمجة يجب أن تتكون من وحدات قابلة للتوصيل. بمجرد كتابة تطبيق OpenGL ، أنت ينبغي تكون قادرًا على الحصول على محمل نموذج ، و/أو محرك رسوم متحركة هيكليًا وقم بتوصيله.

الشيء المحبط هو أن معظم محركات اللعبة في تلك القائمة (التي نظرت إليها) هي كل شيء أو لا شيء. أنها توفر إطار عمل كامل ولا تأخذ في الاعتبار بالفعل سيناريو الحالة الحقيقية الأكثر شيوعا.

ومع ذلك ، لم يضيع كل شيء. يقوم الكثير من هذه المحركات بتعبئة عدد من مكتبات "فائدة" أخرى في توزيعها. مع القليل من الصبر ، من الممكن تجميع المكتبات المكونة بنفسك: Openal for the Sound ، freetype لتقديم الخطوط ، libpng ، libjpeg إلخ للحصول على برامج ترميز الصور

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top