Skip to main content رابط القائمة المزيد (رابط خارجي) الملف البحث انسخ تم النسخ! السمة التلقائية سمة الموقع داكنة سمة الموقع مضيئة

المقدمة

الكاتب الأصلي
Joey de Vries
المقالة الأصلية
Introduction
ترجمة
بين قوسين

بهذا الدرس، ستتعلم كيف تعمل رسومات الحاسب داخليا. كتابة الأكواد لكل شي بنفسك ممتع جدا ويعطيك شعورا جبارا بالإنجاز ويعلمك كيف يعمل الحاسب لعرض الرسومات بكل أفضل. لكن قبل أن تستمر، يجب أن تمتلك خلفية جيدة ببعض الأمور.

المتطلبات

بما أن OpenGL تعتبر واجهة برمجة تطبيقات الرسومات (Graphics API) وليست مكتبة أو لغة برمجة بذاتها، فهي تحتاج للغة برمجة لتعمل. هذه السلسلة تستخدم C++. ولذك، فيجب أن تكون على اضطلاع بلغة C++ قبل أن تستمر. مع ذلك، فستشرح السلسلة أغلب المفاهيم المستعملة في الدروس، متضمنة مفاهيم C++ المتقدمة. لا يجب أن تكون “خبيرا” باللغة، ولكن يجب أن تكون على علم كاف بها؛ أكثر من مجرد كتابة برنامج Hello World. إن كنت تحتاج مصدرا مجانيا لتعليم C++، فتقترح السلسلة موقع www.learncpp.com

يحتوي اليوتيوب على كمية شروحات لغة C++ هائلة. شخصيا بدأت بقراءة هذه السلسلة بلا خلفية قوية بC++، لكنني درست Java في الجامعة وكانت كافية لأفهم السلسلة. وكما ذكر سابقا، أي مفهوم متقدم ب C++ أو خاص بها سيتم شرحه مع الدرس، فلا تقلق :)

أيضا، تحتاج رسومات الحاسب لخلفية رياضية (الجبر الخطي، الهندسة، والدوال المثلثية) في بعض الدروس. ستقوم السلسلة بشرح كل المفاهيم الرياضية الأساسية للدرس. لا تقلق بشأن الرياضيات؛ فتقريبا كل المفاهيم المطلوبة يمكن فهمها بخلفية رياضيات بسيطة جدا. أغلب ال functions لن تطلب منك أن تفهم كيف تعمل داخليا أصلا، وستكتفي بفهم متى وكيف تستعملهم عند الحاجة فقط.

تنظيم الدروس

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

لتسهيل تتبع المحتوى ولتنظيم كل درس بشكل أفضل، تحتوي السلسلة على مربع نص، أكواد، و تلميحات لونية.

مربع النص

مربع النص الأخضر يستخدم لكتابة الملاحظات أو مميزات/تلميحات عن OpenGL أو عن موضوع الحديث.

مربع النص الأحمر للتنبيهات أو لل features التي يجب توخي الحذر عند استعمالها.

الأكواد

السلسة توفر الكود لكل درس كاملا على GitHub. لكن أثناء الشرح، تكتب أجزاء من الكود فقط في مربع كود كالتالي:

// This box contains code    

التلميحات اللونية

بعض الكلمات تكتب بلون مختلف لتوضيح أن لهم معنا خاصا:

  • مصطلح: اللون الأخضر يعني مصطلحا؛ أي كلمة أو مفهوما ستسمعها كثيرا.
  • هيكلة البرنامج: اللون الأحمر يمثل اسم function أو class.
  • المتغيرات: اللون البنفسجي يمثل متغيرا (variables). ويشمل ال constants ل OpenGL.