دروس

▷ Opengl: ما هو وما هو؟

جدول المحتويات:

Anonim

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

فهرس المحتويات

التاريخ

في الثمانينيات من القرن الماضي ، كان تطوير البرمجيات التي كانت متوافقة مع مجموعة واسعة من الأجهزة المتعلقة بعالم الرسومات يمثل تحديًا حقيقيًا للمطورين. كان عليك التعامل مع واجهات مختلفة للغاية وكتابة برامج تشغيل محددة لكل نوع من الأجهزة ، كونها مكلفة للغاية ، وبالتالي ، تم الاستعانة بمصادر خارجية لفرق من المبرمجين لتسريع التطوير. نظرًا لأن كل فريق عمل بشكل منفصل على واجهاته ، تم إنتاج الكثير من التعليمات البرمجية الزائدة. في عام 1992 قادت SGI إنشاء مجلس OpenGL Architecture Review (OpenGL ARB) ، وهو مجموعة من الشركات التي ستحافظ على المواصفات وتوسعها في السنوات اللاحقة. تطورت OpenGL من IRIS GL ، وتغلبت على مشكلة الاعتماد على الأجهزة من خلال تقديم محاكاة البرامج لتلك الميزات غير المدعومة. وبالتالي ، يمكن أن تستخدم التطبيقات رسومات متقدمة على أنظمة ضعيفة نسبيًا.

لفهم ما هو OpenGL ، يجب علينا أولاً معرفة ما هو API.

فهم OpenGL ، ما هي API؟

واجهة برمجة التطبيقات أو واجهة برمجة التطبيقات هي مجموعة من الرموز التي يمكن استخدامها لتطبيقات مختلفة للتواصل مع بعضها البعض. إنه شيء يؤدي مهمة مشابهة لواجهة المستخدم في تعزيز التفاعل بين الشخص والبرنامج ، فقط ، يتم تطبيقه فقط وحصريًا داخل بيئة البرامج. يتم استخدامه لربط الرموز أو الوظائف بين الأنظمة الأساسية المختلفة ، بحيث يمكنك الاستفادة من خدمات موقع ويب على آخر.

ما هو برنامج OpenGL؟

يعتبر بشكل أساسي بمثابة واجهة برمجة تطبيقات توفر لنا مجموعة رائعة من الوظائف التي يمكننا استخدامها لمعالجة الرسومات والصور ثلاثية الأبعاد وثنائية الأبعاد. ومع ذلك ، فهي في حد ذاتها ليست مجرد واجهة برمجة تطبيقات ، ولكنها مواصفات تم تطويرها وصيانتها من قبل مجموعة Khronos Group. كما أنها تستخدم لتطوير ألعاب الفيديو ، حيث تتنافس مع Direct3D على منصة Microsoft.

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

عادةً ما يكون مطورو مكتبات OpenGL مصنعي بطاقات الرسومات. تدعم كل وحدة معالجة رسومات إصدارات محددة من واجهة برمجة التطبيقات هذه ، وهي إصدارات OpenGL التي تم تطويرها خصيصًا لبطاقة الرسومات هذه. على سبيل المثال ، عند استخدام نظام من شركة مثل Apple ، فإنهم يحتفظون بمكتبة OpenGL ، وفي Linux ، هناك مزيج من إصدارات موفر الرسومات والتكيف لهذه المكتبات. قد يعني هذا أنه كلما عرض OpenGL سلوكًا غريبًا لا يجب ، فمن المحتمل جدًا أن يكون خطأ مصنعي بطاقات الرسومات. عندما يكون هناك خطأ في التنفيذ ، يتم حله عادة عن طريق تحديث برامج تشغيل بطاقة الرسومات. تتضمن برامج التشغيل هذه أحدث الإصدارات التي تدعمها GPU الخاصة بك. لهذا السبب يوصى دائمًا بتحديث برامج التشغيل.

أهداف برنامج OpenGL

الأهداف الرئيسية هي:

  • قلل من تعقيد الواجهة باستخدام بطاقات الجرافيكس المختلفة ، مما يوفر للمبرمج واجهة برمجة تطبيقات فريدة وموحدة. إخفاء القدرات المختلفة لمختلف الأنظمة الأساسية للأجهزة ، والتي تتطلب أن تدعم جميع عمليات التنفيذ مجموعة كاملة من ميزات OpenGL (باستخدام محاكاة البرامج إذا لزم الأمر).

العملية الأساسية لبرنامج OpenGL هي قبول الإجراءات البدائية مثل النقاط والخطوط والمضلعات وتحويلها إلى وحدات بكسل. يتم تنفيذ هذه العملية من خلال خط أنابيب رسومي يعرف باسم OpenGL State Machine. تصدر معظم أوامر OpenGL عمليات بدائية لتقسيم الرسم البياني. حتى إصدار الإصدار 2.0 ، تم تنفيذ كل مرحلة من مراحل التجزئة في وظيفة ثابتة ، مما أدى إلى تكوين القليل. اعتبارًا من هذا الإصدار ، يمكن برمجة عدة مراحل بالكامل باستخدام GLSL.

ملحقات

ميزة رائعة مثيرة للاهتمام للغاية هي دعم التمديد. عندما تقدم شركة GPUs تقنية جديدة أو طريقة جديدة للتحسين لتقديم صور ثلاثية الأبعاد ، يتم ذلك في ملحق يتم تنفيذه في برامج التشغيل. إذا كان الجهاز الذي يعمل عليه أحد التطبيقات يدعم هذا الملحق ، فيمكن للمطور استخدام الوظيفة التي يوفرها الملحق للحصول على رسومات أكثر تقدمًا أو كفاءة. وبهذه الطريقة ، يمكن لمطور ألعاب الفيديو استخدام تقنيات العرض الجديدة هذه دون الاضطرار إلى انتظار OpenGL لتضمين الوظائف في الإصدارات المستقبلية ، ببساطة عن طريق التحقق مما إذا كانت بطاقة الرسومات تدعم الامتداد. غالبًا ، عندما تكون الإضافة شائعة أو مفيدة جدًا ، فإنها تصبح في النهاية جزءًا من الإصدارات المستقبلية من OpenGL.

نوصيك بإصدار Mad Max الدعم لـ Vulkan في الإصدار التجريبي العام الجديد لنظام Linux

تطور برنامج OpenGL

في مارس 2015 ، تم تقديم Vulkan API كخليفة لـ OpenGL في مؤتمر مطوري الألعاب. تُعرف واجهة البرمجة في البداية باسم "الجيل التالي OpenGL" أو "glNext" ، وهي واجهة مفتوحة المصدر وعبر الأنظمة الأساسية. الفرق مع OpenGL هو أنه يتم إيلاء المزيد من الاهتمام للأجهزة أثناء البرمجة ، مما يزيد من الطاقة بشكل كبير. بعض ألعاب الكمبيوتر تدعم بالفعل Vulkan ، ولكن معظمها يستخدم DirectX. تم تطوير Vulkan أيضًا بواسطة مجموعة Khronos Group.

نوصي بقراءة أفضل بطاقات الرسومات في السوق.

حتى الآن مقالتنا حول OpenGL ، نأمل أن تكون قد فهمت ما تتكون منه وأكثر. على أي حال ، يمكنك ترك أي أسئلة في التعليقات.

دروس

اختيار المحرر

Back to top button