السلام عليكم :
لا اطرح هذا الموضوع لاني فاضي شغل .. او حتى ازيد عدد مشاركاتي بمقدار مشاركة واحدة ..
انما السبب الذي جعلني اطرح هذا الموضوع هو انه وللاسف الكثير لا يعرف كيف يتعلم opengl وماهي اصلا opengl..
انا وقعت بتلك المشاكل في البداية ولا اريد احد بعدي ان يقع بنفس الخطأ .
اولا OpenGL .. مكتبة جرافكس فقط .. يعني تتعلق بالجرافكس..
اذا كيف نستطيع ان نربطها ..بنافذة معينة ..
الجواب عن طريق ثلاثة طرق(هي في الحقيقة طريقتان )
1- عن طريق win api .. دوال الويندوز :
مميزاتها :
1- تعطيك تحكم اكثر بالنافذة .
2- الكثير والكثير من الدروس الخاصة بـ OpenGL مثل NEHE .... GAMETUTORIALS......وغيرها... تربط OPENGL بنافذة اللعبة عن طريق دوال
الويندوز ..
3- تستطيع استخدام الويندوز كمكتبة ادخال يعني التعرف على نقرة الماوس او ضغطة الكيبورد او حتى عصا الالعاب ..
العيوب :
1- تطيل الكود وتصبه للمبتدئين دون فائدة .
2- غالبا لن تعمل اللعبة الا على بيئة الويندوز (( الا اذا عدلت عليها بتعديلات بسيطة ))
3- لاتوجد تلك المميزات الكثيرة التي تجعلك تستخدم دوال الويندوز لتربطها بOPENGL ..
الطريقة الثانية :
استخدام مكتبة اخرى مثل glut ..
مميزاتها :
1- سهلة جدا جدا وتسهل لك ما تريد وتجعل تركيزك منصب على اللعبة نفسها ,,
2- وهي مكتبة ادخال ايضا .. سواء من الكيبورد , الماوس , عصا التحكم الخاص بالالعاب .
3- تتميز بامكانات جيدة تجعلك قادر على محاكاة اوامر الويندوز مثل امكانية وضع قائمة او زر.. الخ
4- افضل ميزة على الاطلاق .. توفر دوال خاصة لاظهار خطوط او اقصد كتابة كلام على الشاشة .
5- عدد كبير من المكتبات الاخرى كتب امثلة opengl بالاعتماد على هذه المكتبة كبعض المكتبات الفيزيائية .
6- حسب ما قرأت بانك اذا بنيت النافذة باستخدام هذه المكتبة .. فان لعبتك بامكانها ان تعمل على الانظمة الاخرى كاللينكس ..
عيوبها :
1- لايوجد عيوب كبيرة .. الا ان امثلة Opengl المكتوبة باستخدام دوال api الخاصة بالويندوز اكثر ..
المكتبة الثالثة .
AUX
هذه مكتبة غريبة نوعا ما .. وهي معتمدة في كتاب red book الشهير ..
ومصدر الغرابة انها طبق الاصل م مكتبة glut الا انه يوجد بعض الاختلافات .. البسيطة .. لم ابحث كثيرا حول هذه المكتبة ..
ماذا اختار ؟
كلها .
يعني تعلم api + glut فقط .. لان المكتبة الاخيرة مشابهة لglut ..
والسبب .. لان الكثير من الدروس .. حول opengl مكتوبة اما بـglut او window api .. لذا تعلمها كلها ..
والنتيجة واحدة ..
لاننا هنا لانتحدث عن OPengl انما عن كيف تربط openGL بالنافذة ... فقط ..
glut و win api عبارة عن دوال سهلة .. جدا ..
واعيد واكرر لو عملت لعبة باستخدام opengl + glut
ولعبة باستخدام opengl + win api
فان اللعبة ستكون بنفس المستوى ..
المسألة فقط اختصار للوقت ..
على العموم سأعرض درس بسيط ان شاء الله .
يوضح كيفية ربط OpenGL ، بـ :
WIN API
GLUT
لكن في موضوع منفصل .. (عشان ما نسوي زحمة : )
------
للمعلومية هناك مكتبة اسمها freeglut يزعم مبرمجها : ) انه طور تلك المكتبة من المكتبة glut .. عاد اللي يريد ان يأخذ نظرة .. مو مشكلة هنا
