OpenGL .. الدرس رقم 1 الرسم في OpenGL

الناقل : elmasry | الكاتب الأصلى : AlDeaj | المصدر : www.arabteam2000-forum.com

رابط الدرس الأول
OpenGL .. الدرس رقم صفر


تعريف بالدرس ..

Posted Image

درسنا الثاني .. مربع + مثلث على الشاشة .. ربما يقول البعض فقط مربع ومثلث ؟ ماذا سنستفيد من هذا الدرس ؟ اليكم الجواب .. جميع ماسنقوم بانشائه مع OpenGL يحتوي على مربعات ومثلثات بالاضافة إلى اننا سنتعلم في هذا الدرس كيفية انشاء كل من المربع والمثلث فاننا سوف نتعلم ايضا كيفية وضعهما على الشاشة في المكان والبعد والعمق الذي نريده اي بامكاننا بعد هذا الدرس ان شاء الله ان نقوم بتوزيع الكائنات على الشاشة بدون اي مشاكل .


الدرس ..


ماسنقوم بشرحه الآن هو ماقمنا بإضافته الى الكود الأصلي (المشروح في الدرس الأول) .. وللذي لم يقرأ الدرس الأول فالكود الذي اتحدث عنه والموجود في الدرس الأول هو أساس كل برنامج OpenGL ويجب ان يكون موجودا في كل برنامج OpenGL .

الملف المرفق مع الدرس الحالي يحتوي على الكود كاملا ( أي كود الدرس الأول والكود المضاف في هذا الدرس )

السطور التالية سوف تضاف بعدDrawGLScene(GLvoid)
سوف أقوم بووضع الكود أولا ومن ثم شرحه

int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();


هذا الكود موجود في الدرس السابق ، بعده مباشرة نبدا باضافة مانريد كتابته بعد الآن .. قمت باعاده كتابه هذا الكود من أجل glLoadIdentity();
عند الوصول إلى glLoadIdentity(); فإن ماسيحدث هو الرجوع إلى منتصف الشاشة
لدينا الآن ثلاث محاور X , Y , Z المحور X يتحرك من اليسار إلى اليمين على الشاشة .. المحور Y يتحرك للأعلى والأسفل على الشاشة .. المحور Z يعبر عن العمق تخيل بانه لديك عصا وعلى افتراض بانك تستطيع ادخالها بداخل الشاشة واخراجها في خط مستقيم فهذا هو المحور Z اي الدخول والخروج الى عمق الشاشة .. بالطبع يستطيع فهم هذه المحاور من درس الفيزياء وعرف قاعدة فليمنغ لليد اليمنى ومن لايعرفها (مثلي) فليقرأ التفصيل القادم :)

لنفرض منتصف شاشة الكمبيوتر التي أمامك هي النقطه صفر فإن أي خط مستقيم لديك يتجه من اليسار لليمن من عند النقطه صفر هو المحور X يكون موجبا .. وأي خط مستقيم يتجه من اليمين لليسار من عند النقطة صفر هو المحور X أيضا ولكنه هذي المرة بالسالب .
أيضا عند النقطة صفر (والتي هي منتصف الشاشة) عندما يتحرك خط مستقيم من الأسفل إلى الأعلى فهذا هو المحور Y ويكون موجبا .. وأي خط مستقيم يتحرك من الأعلى الى الاسفل من عند النقطة صفر فهو المحور Y ولكنه سالبا .
اذا افترضنا وجود خط مستقيم من خارج الشاشة إلى داخلها عند النقطة صفر يكون هذا الخط هو المحور Z ويكون سالبا بينما اذا كان الخط المستقيم من داخل الشاشة الى خارجها يكون المحور Z موجبا .
(اعتقد ان قراءة ماسبق مرة واحدة لاتكفي) ولكم القرار :)


لنقوم الآن بشرح الاضافات الجديدة على الكود