نحدثت في المرة السابقة عن الـ game loop, و ضربت مثالا بسيطا على الكونسول لتوضيح الفكرة. لا اريد ان اتفلسف كثيرا فالجميع يعلم ان الالعاب الحقيقة لا تتم على الكونسول بل لا بد من الرسم على الشاشة, و هذا الرسم يتم عن طريق API's خاصة اشهرها opengl و directx و المواضيع المثبتة اغلبها تتكلم عن هذا الموضوع, لذلك لن أخوض في الناحية النظرية أكثر من ذلك. الانسان الجديد على هذه الـ APIs قد يجد نفسه حائرا و لا يدري من أين يبدأ, انا شخصيا انصح بكتاب opengl red book فهو ليس معقدا ابدا, بل مباشر و يتكلم في النواحي العملية و النظرية بشكل متوازن جدا .. ليت كل الكتب كانت هكذا! على كل حال, أكبر مشكلة لمن يبدأ بالـ opengl هو مسألة إنشاء النوافذ و التحكم بها, فبعد ان كان يظن انه مقبل على api واحد جديد, اصبح عليه الان ان يتعلم win32 api ايضا, من اجل اظهار النوافذ! و كما لا يخفى على الكثيرين, فإن الكود اللازم لإنشاء نافذة واحدة عن طريق الـ win32 api مباشرة هو كود طويل و معقد نسبيا. و لكن لا تخف, فهناك glut و هي مكتبة تقوم بهذه المهام الروتينية نيابة عنك, من إنشاء النافذة و غيره من الأشياء .. من اجل البدء بعمل أشياء مفيدة, لا تحتاج الى معرفة كل شيء, كل ما تحتاجه هو معرفة بسيطة بالاساسيات, و انا اقترح درس الأخ CompuM4n فقد قام هو بتولي هذه المهمة في هذا الموضوع: http://www.arabteam2...showtopic=41970 هذا الموضوع قصير نسبيا, فهو لا يخوض في الكثير من التفاصيل, كما ان الدروس غير مكتملة, و لكني اظن انها كافية كبداية. و من كان يريد التعمق أكثر, فليقم بمتابعة دروس الاخ الشمري: http://www.arabteam2...showtopic=74564 فهي متعمقة و مفصلة أكثر من دروس CompuM4n المهم, اريد من كل من يقرأ هذا الموضوع (خصوصا بعد ان قرأ الموضوع السابق) ان يكون ملما بالفكرة الأساسية من glut و ان يقوم بنسخ الكود الموجود و عمل compile عليه, و محاولة اللعب به قليلا و تغيير بعض الأشياء. يمكنكم بعدها قراءة هذا الموضوع, مثال على glDrawPixels على كود يستخدم glut بشكل اساسي و اللذي يمكننا أن نقول انه التابع في هذه السلسلة, حيث يوضح كيف يمكن التلاعب بالكود الموجود في موضوع glut .. و هي محاولة لفهم كيف يعمل كل من glut و opengl سوية. على فكرة, لا تخافوا كثيرا من الموضوع, فهو ليس صعبا أبدا, صاحبكم (يعني انا) لا يعرف الكثير ابدا عن opengl فضلا عن glut, و موضوع glDrawPixels وجدته بالصدفة, يعني اكتشفت وجود هذا الـ function بالصدفة فقط! المهم هو معرفة كيفية استعماله. اذا كان هناك غموض في موضوع glDrawPixels, فأرجوا إعلامي, لأني افكر ايضا في كتابة موضوع عن طريقة رسم الـ pixels على الشاشة (او طريقة الرسم على الشاشة بشكل عام) و كيف تجري هذه العملية, و مسألة الـ video mode (و هي مسألة بسيطة جدا) .. و لكني لست متأكدا فيما اذا كنتم بحاجة الى موضوع يشرح هذه الأشياء أم لا .. اعتذر عن هذا الموضوع اللذي لا يحوي درسا و لا شي .. فقط محاولة لتجميع بعض المعلومات, استعدادا لما هو قادم إن شاء الله ..