-->
2034208194886500984385489043536787123329124690425335324492245421212527005825330010291067110572575421800085420858587245242300901567142189711555
شرح OpenGL و OpenGL Es لبرمجة الألعاب والعوالم الإفتراضية

شرح OpenGL و OpenGL Es لبرمجة الألعاب والعوالم الإفتراضية

opengl and opengl es

ماهي OpenGL :يقصد بها "Open Graphics Library" وهي عبارة عن واجهة برمجة التطبيقات مستقلة المنصة أي تعمل على عدة بيئات (أنظمة تشغيل)  , تستخدم في العديد من لغات البرمجة وهذا لإنشاء رسومات 3D أو 2D معقدة أو بسيطة من خلال تركيبها من مكونات هندسية بسيطة مثل المضلعات أو المثلثات أو المستقيمات ... .وهي تعتبر نقطة وصل بين وحدة المعالجة المركزية CPU وكرت الشاشة GPU , تحتوي على أكثر من 250 إستدعاء .
تم تطويرها من خلال شركة سيليكون جرافيكس . ومع الوقت حققت إنتشارا كبيرا في عالم ألعاب الفيديو , كما أنها تستخدم بشكل كبير في برامج المحاكاة والواقع الإفتراضي كمحاكاة الطيران و قيادة السيارة وغيرها .
صممت هاته المكتبة لسببين أساسيين : توفير واجهة واحدة لإنشاء الرسومات , وإخفاء الإختلاف المتواجد بين جميع المنصات الصلبة عبر إجبارها على دعم جميع خصائص المكتبة .
تهدف OpenGL لإنشاء رسومات ثلاثية أو ثنائية الأبعاد وهذا يمر عبر مراحل أساسية نذكر منها :
 1- مرحلة التصميم : (Modeling)
في هذه المرحلة يتم تصميم الصورة بعدة طرق :
  - التصميم بالأسلاك : (wire modeling)
هاته الطريقة تمكن من رسم الأشكال بواسطة رسم نقاط ثم يتم الوصل بين كل نقطتين لتنتج مستقيمات . حيث يظهر الشكل على أنه شبكة مكونة من مجموعة أسلاك . ومن المشاكل في هاته الطريقة هو صعوبة إخفاء الأشكال فمثلا لو كان كرسي يجب أن يظهر أمام طاولة فسيقوم الكرسي بحجب جزء منها ولاكن مع هاته الطريقة لا يمكن تحقيق ذلك .
  - التصميم السطحي : (surface modeling)
هاته الطريقة تمكن من رسم الأشكال بواسطة رسم أشكال تحتوي على مساحة مثل المربعات والمثلثات ثم يتم الوصل بين كل شكلين بوضعهما بجانب بعضهما لتنج لنا الشكل المطلوب .

   - التصميم الصلب : (solid modeling)
لهاته الطرق عدة طرق أخرى متنوعة , ولكل منها مجالها الخاص فهناك طرق تختص برسم الأشجار وطرق لرسم أشكال معقدة والعديد نذكر من بينها : 
الهندسة الصلبة البنائة (CSG) : في هاته الطريقة يتم إستخدام أشكال أساسية مثل الأسطوانة والمكعب ... , ثم إجراء عمليات فيما بينها , وهاته العمليات هي الإتحاد والتقاطع والإختلاف لإنشاء أشكال أكثر تعقيدا . الصورة التالية توضح أكثر هاته الطريقة :
2-الإضاءة : (lighting)
لإضاءة الأشكال في OpenGL لدينا ثلاث أنماط أساسية وهي :
   - الإضاءة المحيطة : (Ambient lighting)
يكون تأثير هاته الإضاءة تأثيرا خفيفا وتكون درجته متساوية في كافة أنحاء الجسم .
   - الإضاءة المنتشرة : (diffuse lighting)
وهي الإضاءة المنعكسة بحيث يمتص الجسم جزءا من الضوء ويعكس الجزء الآخر .
   - الإضاءة البراقة : (specular lighting)
ببساطة هاته الإضاءة تكون منعكسة وتجعل الجسم أكثر بريقا .
الصورة التالية توضح التأثيرا الناتجة عن كل إضاءة والنتيجة من جمعهم :
    3- الإسقاط الهندسي : (geometric projection) 
في هاته المرحلة يتم تحديد الطريقة التي ينظر بها المراقب (الشخص) للشكل , وتنقسم لعدة طرق منها :
       - الإسقاط المنظوري : (perspective projection)

  

     - الإسقاط المتعامد : (orthogonal projection)
 
4- التقديم : (rendering)
وهي آخر مرحلة من مراحل إنشاء الصور حيث يتم فيها تهيئتها لإضهارها , وهذا بعد تطبيق بعض العمليات التحسينية عليها كإخفاء الأجزاء الغير مرغوب فيها ... .

ماهي OpenGL Es :
ويقصد بها "OpenGL for Embedded Systems" وهي نفسها OpenGL تقريبا وتحمل أغلبية خصائصها , لاكن هناك بعض الإختلافات البسيطة كطريقة إنشاء بعض الأشكال , هي موجهة لأنظمة الهواتف الذكية Android و IOS ... , كما توجد عدة إصدرات منها وكل إصدار يكون مطور أكثر من سابقه ويتطلب أنظمة وعتاد أكثر كفائة ,حاليا آخر إصدار هو 3.2

فوائد تعلم OpenGL و OpenGL Es :
من فوائد ذلك إمكانية برمجة الألعاب والعوالم الإفتراضية 3D, كما أن هاته المكتبة هي أساس العديد من محركات الألعاب وبرامج المحاكات , فإتقانها يجعلك قادر على فهم كيفية عملهم ويجعلك أكثر تحكما في خصائصهم وأداوتهم لأنك ستصبح على دراية بالكيفية التي تعمل بها .



هناك 9 تعليقات:

  1. شكرا على المعلومات ، لكن ماهي لغات البرمجة المستعملة فيها بالاساس؟

    ردحذف
    الردود
    1. العفو
      اللغات المستخدمة أغلب لغات البرمجة الحديثة java ++c ...

      حذف
  2. بالتوفيق لك ولكل من يغوص ويستكشف خبايا وفنون البرمجة اخي عبد الواحد

    ردحذف
  3. شكرا لك وجزاك الله خيرا

    ردحذف
  4. من فضلك اريد ان اعرف افضل opengl على الهواتف لمعرفة ايها افضل

    ردحذف
  5. شكرا على المعلومات❤

    ردحذف

تصميم و تكويد المهدي درة