OpenGL

OpenGL ( مكتبة الرسومات المفتوحة [ 3 ] ) هي واجهة برمجة تطبيقات (API) متعددة اللغات والأنظمة الأساسية لعرض الرسومات المتجهة ثنائية وثلاثية الأبعاد . تُستخدم واجهة برمجة التطبيقات هذه عادةً للتفاعل مع وحدة معالجة الرسومات (GPU) لتحقيق عرض مُسرّع بواسطة الأجهزة .

بدأت شركة سيليكون غرافيكس (SGI) بتطوير OpenGL في عام 1991، وأصدرته في 30 يونيو 1992. [ 4 ] [ 5 ] يُستخدم OpenGL في تطبيقات متنوعة، تشمل التصميم بمساعدة الحاسوب (CAD)، وألعاب الفيديو ، والتصوير العلمي ، والواقع الافتراضي ، ومحاكاة الطيران . ومنذ عام 2006، تتولى إدارة OpenGL مجموعة كرونوس، وهي اتحاد تقني غير ربحي . [ 6 ]

تصميم

رسم توضيحي لعملية خط أنابيب الرسومات
رسم تخطيطي يوضح كيفية قيام ألعاب الفيديو على نظام لينكس بتعهيد حسابات العرض في الوقت الفعلي إلى وحدة معالجة الرسومات (GPU) باستخدام OpenGL

تصف مواصفات OpenGL واجهة برمجة تطبيقات مجردة (API) لرسم الرسومات ثنائية وثلاثية الأبعاد. وهي مصممة ليتم تنفيذها بشكل أساسي أو كلي باستخدام تسريع الأجهزة مثل وحدة معالجة الرسومات (GPU )، على الرغم من أنه من الممكن تنفيذ واجهة برمجة التطبيقات بالكامل في برنامج يعمل على وحدة المعالجة المركزية (CPU) .

تُعرَّف واجهة برمجة التطبيقات (API) بأنها مجموعة من الدوال التي يمكن لبرنامج العميل استدعاؤها، إلى جانب مجموعة من الثوابت العددية المُسماة (على سبيل المثال، الثابت GL_TEXTURE_2D، الذي يُقابل العدد العشري 3553). على الرغم من أن تعريفات الدوال تُشابه ظاهريًا تعريفات لغة البرمجة C ، إلا أنها مستقلة عن اللغة. ولذلك، يمتلك OpenGL العديد من روابط اللغات ، ومن أبرزها رابط JavaScript المسمى WebGL (واجهة برمجة تطبيقات مبنية على OpenGL ES 2.0 ، لعرض ثلاثي الأبعاد من داخل متصفح الويب )؛ وروابط C المسماة WGL و GLX و CGL ؛ ورابط C المُقدم من iOS ؛ وروابط Java وC المُقدمة من Android .

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

تطوير

تُصدر مجموعة كرونوس إصدارات جديدة من مواصفات OpenGL، حيث يُوسّع كل إصدار منها واجهة برمجة التطبيقات (API) لدعم ميزات جديدة متنوعة. وتُحدد تفاصيل كل إصدار بالتوافق بين أعضاء المجموعة، بمن فيهم مصنّعو بطاقات الرسومات، ومصممو أنظمة التشغيل، وشركات التكنولوجيا العامة مثل موزيلا وجوجل . [ 7 ]

بالإضافة إلى الميزات المطلوبة في واجهة برمجة التطبيقات الأساسية، قد يُوفر مُصنّعو وحدات معالجة الرسومات (GPU) وظائف إضافية على شكل امتدادات . قد تُضيف هذه الامتدادات وظائف وثوابت جديدة، وقد تُخفف أو تُزيل القيود المفروضة على وظائف OpenGL الحالية. يُمكن للمُصنّعين استخدام الامتدادات لعرض واجهات برمجة تطبيقات مُخصصة دون الحاجة إلى دعم من مُصنّعين آخرين أو من مجموعة Khronos ككل، مما يزيد بشكل كبير من مرونة OpenGL. تُجمع جميع الامتدادات وتُعرّف في سجل OpenGL. [ 8 ]

تتكون الميزات التي يقدمها كل إصدار جديد من OpenGL عادةً من الميزات المدمجة للعديد من الامتدادات المنفذة على نطاق واسع، وخاصة الامتدادات من النوع ARB أو EXT. [ 9 ]

لم يعد تطوير OpenGL نشطًا؛ فبين عامي 2001 و2014، كان يتم تحديث مواصفات OpenGL سنويًا في الغالب، مع إصدارين (3.1 و3.2) في عام 2009 وثلاثة إصدارات (3.3 و4.0 و4.1) في عام 2010. أُصدرت أحدث مواصفات OpenGL، الإصدار 4.6، في عام 2017 بعد توقف دام ثلاث سنوات، واقتصرت على تضمين أحد عشر امتدادًا موجودًا من ARB وEXT [ a ] في الملف التعريفي الأساسي. [ 11 ]

تم التخلي عن التطوير النشط لـ OpenGL لصالح واجهة برمجة تطبيقات Vulkan ، التي صدرت عام 2016، والتي كانت تحمل الاسم الرمزي glNext خلال مراحل التطوير الأولية. في عام 2017، أعلنت مجموعة Khronos أن OpenGL ES لن تتلقى إصدارات جديدة [ 12 ] [ 13 ] ، ومنذ ذلك الحين ركزت المجموعة على تطوير Vulkan وتقنيات أخرى. [ 14 ] [ 15 ] ونتيجة لذلك، فإن بعض الإمكانيات التي توفرها وحدات معالجة الرسومات الحديثة، مثل تتبع الأشعة ، غير مدعومة في معيار OpenGL. مع ذلك، قد يتم توفير دعم للميزات الأحدث من خلال ملحقات OpenGL الخاصة بكل مُصنِّع. [ 16 ] [ 17 ]

الوثائق

أصدر مجلس مراجعة بنية OpenGL سلسلة من الأدلة بالتزامن مع المواصفات، والتي تم تحديثها لمواكبة التغييرات في واجهة برمجة التطبيقات (API). ويُشار إليها عادةً بألوان أغلفةها.

الكتاب الأحمر
دليل برمجة OpenGL، الطبعة التاسعة. ISBN 978-0-134-49549-1
الدليل الرسمي لتعلم OpenGL، الإصدار 4.5 مع SPIR-V
الكتاب البرتقالي
لغة التظليل OpenGL، الطبعة الثالثة. ISBN 0-321-63763-1
كتاب تعليمي ومرجعي للغة GLSL .

الكتب التاريخية (قبل OpenGL 2.0):

الكتاب الأخضر
برمجة OpenGL لنظام X Window. ISBN 978-0-201-48359-8
كتاب عن التفاعل مع X11 ومجموعة أدوات OpenGL المساعدة (GLUT).
الكتاب الأزرق
الدليل المرجعي لبرنامج OpenGL، الطبعة الرابعة. رقم ISBN 0-321-17383-X
هي في الأساس نسخة مطبوعة من صفحات دليل نظام التشغيل يونكس (man) لـ OpenGL.
يتضمن مخططًا قابلًا للطي بحجم ملصق يوضح بنية تطبيق OpenGL المثالي.
كتاب ألفا (غلاف أبيض)
برمجة OpenGL لنظامي التشغيل Windows 95 وWindows NT. رقم ISBN 0-201-40709-4
كتاب عن ربط OpenGL بنظام التشغيل Microsoft Windows.

يمكن الوصول إلى وثائق OpenGL أيضًا عبر صفحتها الرسمية على الإنترنت. [ 18 ]

المكتبات المرتبطة

صدرت الإصدارات الأولى من OpenGL مصحوبةً بمكتبةٍ مساعدة تُسمى مكتبة OpenGL المساعدة (GLU). وقد وفرت هذه المكتبة ميزاتٍ بسيطةً ومفيدةً، كان من غير المرجح أن تدعمها الأجهزة الحديثة آنذاك، مثل التجزئة ، وإنشاء خرائط MIP والأشكال الأولية . تم تحديث مواصفات GLU آخر مرة عام 1998، وهي تعتمد على ميزات OpenGL التي أصبحت الآن مهملة .

أدوات السياق والنوافذ

نظرًا لأن إنشاء سياق OpenGL عملية معقدة نوعًا ما، ولأنها تختلف بين أنظمة التشغيل ، فقد أصبح الإنشاء التلقائي لسياق OpenGL ميزة شائعة في العديد من مكتبات تطوير الألعاب وواجهات المستخدم ، بما في ذلك SDL و Allegro و SFML و FLTK و Qt . وقد صُممت بعض المكتبات خصيصًا لإنتاج نافذة تدعم OpenGL. وكانت أول مكتبة من هذا النوع هي OpenGL Utility Toolkit (GLUT)، والتي حلت محلها لاحقًا مكتبة freeglut . وتُعد GLFW بديلًا أحدث. [ 19 ]

  • صُممت هذه الأدوات لإنشاء وإدارة نوافذ OpenGL، وإدارة المدخلات، ولكن ليس أكثر من ذلك. [ 20 ]
    • GLFW – برنامج متعدد المنصات لإدارة النوافذ والتحكم في لوحة المفاتيح والماوس وعصا التحكم؛ وهو موجه أكثر نحو الألعاب.
    • فري غلوت – برنامج متعدد المنصات لإدارة النوافذ ومعالجة لوحة المفاتيح والماوس؛ واجهة برمجة التطبيقات الخاصة به هي مجموعة فرعية من واجهة برمجة تطبيقات غلوت، وهو أكثر استقرارًا وتحديثًا من غلوت.
    • مجموعة أدوات OpenGL المساعدة (GLUT) - معالج نوافذ قديم، لم يعد يتم صيانته.
  • يمكن للعديد من "مكتبات الوسائط المتعددة" إنشاء نوافذ OpenGL، بالإضافة إلى الإدخال والصوت والمهام الأخرى المفيدة للتطبيقات الشبيهة بالألعاب.
    • أليجرو 5 - مكتبة وسائط متعددة متعددة المنصات مزودة بواجهة برمجة تطبيقات C تركز على تطوير الألعاب
    • طبقة الوسائط المباشرة البسيطة (SDL) - مكتبة وسائط متعددة متعددة المنصات مزودة بواجهة برمجة تطبيقات C
    • SFML – مكتبة وسائط متعددة متعددة المنصات مزودة بواجهة برمجة تطبيقات C++ والعديد من الروابط الأخرى للغات مثل C# و Java و Haskell و Go
  • مجموعات أدوات الأدوات المصغّرة
    • FLTK – مكتبة أدوات C++ صغيرة متعددة المنصات
    • Qt – مجموعة أدوات C++ متعددة المنصات. توفر العديد من كائنات OpenGL المساعدة، والتي تخفي حتى الفرق بين OpenGL المكتبي وOpenGL ES
    • wxWidgets – مجموعة أدوات C++ متعددة المنصات لإنشاء عناصر واجهة المستخدم الرسومية

مكتبات تحميل الإضافات

نظراً للجهد الكبير المطلوب لتحديد وتحميل ملحقات OpenGL، تم تصميم بعض المكتبات التي تقوم بتحميل جميع الملحقات والوظائف المتاحة تلقائياً. ومن الأمثلة على ذلك مكتبة OpenGL Easy Extension (GLEE)، ومكتبة OpenGL Extension Wrangler (GLEW)، و glbinding . كما يتم تحميل الملحقات تلقائياً بواسطة معظم روابط اللغات، مثل Java OpenGL وPyOpenGL و WebGL .

التطبيقات

لقطة شاشة glxinfoتوضح معلومات حول تطبيق Mesa لـ OpenGL على نظام glxgears، وبرنامج لاختبار تطبيق OpenGL على نظام.

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

تاريخ

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

بحلول أوائل التسعينيات، كانت شركة Silicon Graphics (SGI) رائدة في مجال الرسومات ثلاثية الأبعاد لمحطات العمل. وأصبحت واجهة برمجة التطبيقات IRIS GL الخاصة بها [ 21 ] [ 22 ] المعيار الصناعي، حيث اعتُبرت IRIS GL أسهل في الاستخدام، كما أنها تدعم وضع العرض الفوري ، وبالتالي فهي أسرع [ 23 ] من المنافسين مثل PHIGS .

كما تمكن منافسو SGI (بما في ذلك Sun Microsystems و Hewlett-Packard و IBM ) من طرح أجهزة ثلاثية الأبعاد مدعومة بامتدادات تم إجراؤها على معيار PHIGS، مما ضغط على SGI لفتح مصدر إصدار من IRIS GL كمعيار عام يسمى OpenGL .

مع ذلك، كان لدى SGI العديد من العملاء الذين سيتطلب انتقالهم من IRIS GL إلى OpenGL استثمارات كبيرة. علاوة على ذلك، احتوت IRIS GL على وظائف API غير ذات صلة بالرسومات ثلاثية الأبعاد. على سبيل المثال، تضمنت واجهة برمجة تطبيقات (API) خاصة بالنوافذ ولوحة المفاتيح والماوس، ويعود ذلك جزئيًا إلى أنها طُوّرت قبل نظام X Window ونظام NeWS من Sun. [ 24 ] كانت مكتبات IRIS GL مرتبطة ارتباطًا وثيقًا بأجهزة الرسومات الخاصة بشركة SGI ، ولم يكن من الممكن نشرها كمصدر مفتوح كما هي بسبب براءات اختراع الأجهزة والأسرار التجارية. هذه العوامل استلزمت من SGI الاستمرار في دعم واجهات برمجة التطبيقات (APIs) المتقدمة والخاصة ببرنامجي Iris Inventor و Iris Performer ريثما ينضج دعم السوق لـ OpenGL.

كان أحد قيود IRIS GL هو اقتصارها على توفير الوصول إلى الميزات التي يدعمها الجهاز الأساسي. فإذا لم يدعم جهاز الرسومات ميزةً ما بشكلٍ أصلي، فلن يتمكن التطبيق من استخدامها. تغلب OpenGL على هذه المشكلة بتوفير تطبيقات برمجية للميزات غير المدعومة من قِبل الأجهزة، مما سمح للتطبيقات باستخدام رسومات متقدمة على أنظمة ذات قدرة منخفضة نسبيًا. وحد OpenGL الوصول إلى الأجهزة، ونقل مسؤولية تطوير برامج واجهة الأجهزة ( برامج تشغيل الأجهزة ) إلى مصنعي الأجهزة، وفوض وظائف النوافذ إلى نظام التشغيل الأساسي. مع وجود أنواع عديدة من أجهزة الرسومات، كان لتوحيد لغة عملها بهذه الطريقة أثرٌ بالغ، إذ منح مطوري البرامج منصةً عالية المستوى لتطوير برامج ثلاثية الأبعاد.

في عام ١٩٩٢، [ ٢٥ ] قادت شركة SGI إنشاء مجلس مراجعة بنية OpenGL (OpenGL ARB)، وهو مجموعة من الشركات التي ستتولى صيانة وتطوير مواصفات OpenGL في المستقبل. وبعد عامين، طرحت الشركة فكرة إصدار ما يُسمى " OpenGL++ " والذي تضمن عناصر مثل واجهة برمجة تطبيقات رسم المشهد (يُفترض أنها مبنية على تقنية Performer الخاصة بها ). تم تداول المواصفات بين عدد قليل من الجهات المهتمة، لكنها لم تُطرح كمنتج. [ ٢٦ ]

بعد إطلاقها عام 1996، أصبحت تقنية Direct3D من مايكروسوفت المنافس الرئيسي لتقنية OpenGL. وقّع أكثر من 50 مطور ألعاب رسالة مفتوحة إلى مايكروسوفت، نُشرت في 12 يونيو 1997، يدعون فيها الشركة إلى دعم OpenGL بشكل فعّال. [ 27 ] في 17 ديسمبر 1997، [ 28 ] أطلقت مايكروسوفت وشركة SGI مشروع Fahrenheit ، وهو جهد مشترك يهدف إلى توحيد واجهتي OpenGL وDirect3D (وإضافة واجهة برمجة تطبيقات لمخطط المشهد أيضًا). في عام 1998، انضمت شركة هيوليت-باكارد إلى المشروع. [ 29 ] أظهر المشروع في البداية بعض الأمل في تنظيم عالم واجهات برمجة تطبيقات رسومات الحاسوب ثلاثية الأبعاد التفاعلية، ولكن نظرًا للقيود المالية التي واجهتها SGI، والأسباب الاستراتيجية لدى مايكروسوفت، والافتقار العام للدعم الصناعي، تم التخلي عنه عام 1999. [ 30 ]

في يوليو 2006، صوّت مجلس مراجعة بنية OpenGL على نقل السيطرة على معيار واجهة برمجة تطبيقات OpenGL إلى مجموعة كرونوس. [ 31 ] [ 32 ]

دعم الصناعة

كان OpenGL المعيار المعتمد للعديد من برامج التصميم بمساعدة الحاسوب (مثل Blender ) والألعاب في تسعينيات القرن الماضي وأوائل الألفية الثانية، ويحظى بدعم واسع النطاق من جميع موردي الأجهزة تقريبًا. ورغم ظهور واجهات برمجة تطبيقات رسومية أحدث، مثل Vulkan وMetal، لا يزال OpenGL معيارًا شائع الاستخدام. وتُعزى هذه الأهمية المستمرة إلى عدة عوامل، منها التطوير المستمر عبر امتدادات جديدة وتحسينات في برامج التشغيل، وتوافقه مع مختلف المنصات، وتوفر طبقات التوافق مثل ANGLE وZink. تُمكّن هذه الطبقات OpenGL من العمل بكفاءة على Vulkan وMetal، مما يوفر للمطورين مسارًا للاستخدام المستمر أو الانتقال التدريجي. [ 33 ] [ 34 ]

مع ذلك، يشهد مجال واجهات برمجة تطبيقات الرسومات تحولاً، حيث تتجه بعض الشركات إلى الابتعاد عن OpenGL. في يونيو 2018، أوقفت Apple دعم واجهات برمجة تطبيقات OpenGL على جميع منصاتها ( iOS و macOS و tvOS )، وشجعت المطورين على استخدام واجهة برمجة تطبيقات Metal الخاصة بها ، والتي تم طرحها في عام 2014. [ 35 ]

بدأ مطورو الألعاب أيضًا في تبني واجهات برمجة التطبيقات (APIs) الأحدث. شركة id Software ، التي تستخدم OpenGL في ألعابها منذ أواخر التسعينيات في ألعاب مثل GLQuake [ 36 ] أو بعض ألعاب سلسلة Doom [ 37 ] ، انتقلت إلى Vulkan في محرك id Tech 7 الخاص بها عام 2016 [ 38 ] . وقد دعمت الشركة Vulkan لأول مرة في تحديث لمحرك id Tech 6. وكان أول استخدام مرخص لـ OpenGL من قبل الشركة في محرك Quake II ، المعروف أيضًا باسم id Tech 2 [ 39 ] . في مارس 2023، أزالت Valve دعم OpenGL من Dota 2 لصالح Vulkan [ 40 ] . وقامت Atypical Games، بدعم من Samsung، بتحديث محرك ألعابها لاستخدام Vulkan بدلاً من OpenGL على جميع المنصات غير التابعة لشركة Apple [ 41 ] .

توقفت مجموعة كرونوس ، وهي المجموعة المسؤولة عن تطوير OpenGL، عن تحديث OpenGL، وكان آخر إصدار لها في عام 2017. [ 42 ] ولم تتلقَّ العديد من تقنيات الرسومات الحديثة، مثل تتبع الأشعة المُسرَّع بواسطة الأجهزة ، وفك تشفير الفيديو على وحدة معالجة الرسومات ، وخوارزميات مُضادة التعرج المتقدمة مثل Nvidia DLSS [ 43 ] و AMD FSR . [ 44 ] ميزة أخرى حديثة، وهي Mesh Shaders ، كانت مدعومة في البداية فقط من خلال إضافة حصرية لشركة Nvidia، ولكن في عام 2025، تم إصدار إضافة OpenGL Mesh Shader متعددة البائعين. [ 45 ] [ 46 ] [ 47 ]

على الرغم من أن نظام التشغيل Fuchsia من جوجل يستخدم Vulkan بشكل أصلي ويتطلب وحدة معالجة رسومات متوافقة مع Vulkan، إلا أنه لا يزال يهدف إلى دعم OpenGL فوق Vulkan عبر طبقة الترجمة ANGLE. [ 48 ]

سجل الإصدارات

صدرت النسخة الأولى من OpenGL، الإصدار 1.0، في 30 يونيو 1992، على يد مارك سيغال وكورت أكلي . ومنذ ذلك الحين، جرى توسيع OpenGL بشكل دوري من خلال إصدار نسخة جديدة من المواصفات. تُحدد هذه الإصدارات مجموعة أساسية من الميزات التي يجب أن تدعمها جميع بطاقات الرسومات المتوافقة، والتي تُسهّل كتابة الإضافات الجديدة. عادةً ما تتضمن كل نسخة جديدة من OpenGL العديد من الإضافات التي تحظى بدعم واسع النطاق بين مُصنّعي بطاقات الرسومات، مع إمكانية تغيير تفاصيل هذه الإضافات.

تاريخ إصدارات OpenGL
إصدارتاريخ الافراج عنهسمات
1.030 يونيو 1992الإصدار الأولي.
1.14 مارس 1997 [ 49 ] [ 50 ]كائنات نسيجية، مصفوفات رؤوس
1.216 مارس 1998القوام ثلاثي الأبعاد، وBGRA، وتنسيقات البكسل المضغوطة ، [ 51 ] تقديم مجموعة فرعية من الصور مفيدة لتطبيقات معالجة الصور
1.2.114 أكتوبر 1998مفهوم امتدادات ARB
1.314 أغسطس 2001تعدد النسيج ، تعدد العينات، ضغط النسيج
1.424 يوليو 2002نسيج العمق، لغة GLSlang [ 52 ]
1.529 يوليو 2003كائن مخزن مؤقت للرؤوس (VBO)، استعلامات الحجب [ 53 ]
2.07 سبتمبر 2004GLSL 1.1، MRT ، نسيج غير مضاعف للعدد اثنين، صور نقطية، [ 54 ] استنسل ثنائي الجوانب [ 53 ]
2.12 يوليو 2006GLSL 1.2، كائن مخزن البكسل (PBO)، نسيج sRGB [ 53 ]
3.011 أغسطس 2008GLSL 1.3، مصفوفات النسيج، العرض المشروط، كائن مخزن الإطار (FBO) [ 55 ]
3.124 مارس 2009GLSL 1.4، النسخ، كائن مخزن مؤقت للنسيج، كائن مخزن مؤقت موحد، إعادة تشغيل بدائي [ 56 ]
3.23 أغسطس 2009GLSL 1.5، مُظلل الهندسة، نسيج متعدد العينات [ 57 ]
3.311 مارس 2010GLSL 3.30، الاحتفاظ بأكبر قدر ممكن من وظائف OpenGL 4.0، وظائف مزج جديدة، كائنات أخذ العينات، تنسيقات جديدة للنسيج والرؤوس
4.011 مارس 2010GLSL 4.00، التجزئة على وحدة معالجة الرسومات، تظليل بدقة 64 بت [ 58 ]
4.126 يوليو 2010GLSL 4.10، مخرجات تصحيح الأخطاء سهلة الاستخدام للمطورين، [ ب ] التوافق مع OpenGL ES 2.0 [ 59 ]
4.28 أغسطس 2011 [ 60 ]GLSL 4.20، تظليل مع عدادات ذرية، رسم تحويلات التغذية الراجعة، تجميع التظليل، تحسينات في الأداء
4.36 أغسطس 2012 [ 61 ]GLSL 4.30، معالجات حسابية تستفيد من التوازي في وحدة معالجة الرسومات، كائنات مخزن مؤقت لتخزين المعالجات، ضغط نسيج ETC2/EAC عالي الجودة، زيادة أمان الذاكرة، امتداد متانة متعدد التطبيقات، التوافق مع OpenGL ES 3.0 [ 62 ]
4.422 يوليو 2013 [ 63 ]GLSL 4.40، التحكم في وضع المخزن المؤقت، الاستعلامات غير المتزامنة الفعالة، تخطيط متغيرات التظليل، ربط الكائنات المتعددة الفعال، نقل تطبيقات Direct3D المبسط، امتداد النسيج بدون ربط، امتداد النسيج المتفرق [ 63 ]
4.511 أغسطس 2014 [ 8 ] [ 64 ]GLSL 4.50، الوصول المباشر إلى الحالة (DSA)، التحكم في التدفق، المتانة، واجهة برمجة تطبيقات OpenGL ES 3.1 وتوافق التظليل، ميزات محاكاة DX11
4.631 يوليو 2017 [ 11 ] [ 65 ]GLSL 4.60، معالجة هندسية وتنفيذ تظليل أكثر كفاءة، معلومات أكثر، لا يوجد سياق للأخطاء، تثبيت إزاحة المضلع، SPIR-V، ترشيح متباين الخواص

OpenGL 2.0

تاريخ الإصدار : 7 سبتمبر 2004

طُورت OpenGL 2.0 في الأصل من قِبل شركة 3Dlabs لمعالجة المخاوف من ركود OpenGL وافتقارها إلى توجه واضح. [ 66 ] اقترحت 3Dlabs عددًا من الإضافات الرئيسية للمعيار. رُفض معظم هذه الإضافات في ذلك الوقت من قِبل مجلس مراجعة التطبيقات (ARB)، أو لم تُعتمد بالشكل الذي اقترحته 3Dlabs. مع ذلك، اكتمل اقتراحهم للغة تظليل شبيهة بلغة C في نهاية المطاف، مما أدى إلى الصيغة الحالية للغة تظليل OpenGL ( GLSL أو GLslang). وكما هو الحال مع لغات التظليل الشبيهة بلغة التجميع التي حلت محلها، سمحت GLSL باستبدال وظائف أنابيب الرؤوس والقطع الثابتة ببرامج تظليل ، ولكن هذه المرة مكتوبة بلغة عالية المستوى شبيهة بلغة C.

تميز تصميم لغة GLSL بقلة التنازلات التي قدمها لمحدودية إمكانيات الأجهزة المتاحة آنذاك. ويعود هذا إلى نهج OpenGL السابق الذي وضع هدفًا طموحًا ومستقبليًا لمسرعات الرسومات ثلاثية الأبعاد، بدلًا من مجرد مواكبة حالة الأجهزة المتاحة حاليًا. وتتضمن مواصفات OpenGL 2.0 النهائية [ 67 ] دعمًا للغة GLSL 1.10.

OpenGL 2.1

تاريخ الإصدار : 2 يوليو 2006

يضيف OpenGL 2.1 دعمًا لكائنات مخزن البكسل، وقوام sRGB، وGLSL 1.20.

لونغز بيك و OpenGL 3.0

قبل إصدار OpenGL 3.0، كان الإصدار الجديد يحمل الاسم الرمزي Longs Peak . عند الإعلان عنه، قُدِّم Longs Peak كأول مراجعة رئيسية لواجهة برمجة التطبيقات (API) في تاريخ OpenGL. وقد تضمن هذا الإصدار تغييرًا جذريًا في طريقة عمل OpenGL، مما استدعى تعديلات جوهرية على واجهة برمجة التطبيقات.

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

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

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

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

كان من المقرر في البداية الانتهاء من لونغز بيك في سبتمبر 2007 تحت اسم OpenGL 3.0، لكن مجموعة كرونوس أعلنت في 30 أكتوبر أنها واجهت عدة مشكلات ترغب في معالجتها قبل إصدار المواصفات. [ 68 ] ونتيجة لذلك، تأخر إصدار المواصفات، ودخلت مجموعة كرونوس في حالة من التعتيم الإعلامي حتى إصدار المواصفات النهائية لـ OpenGL 3.0.

أثبتت المواصفات النهائية أنها أقل ثورية بكثير من مقترح لونغز بيك. فبدلاً من إزالة جميع وظائف الوضع الفوري والثابت (غير وضع التظليل)، أدرجتها المواصفات كميزات مهملة. لم يتم تضمين نموذج الكائنات المقترح، ولم يُعلن عن أي خطط لإدراجه في أي مراجعات مستقبلية. ونتيجة لذلك، ظلت واجهة برمجة التطبيقات (API) كما هي إلى حد كبير، مع ترقية بعض الإضافات الحالية إلى وظائف أساسية. أثار هذا القرار ضجة كبيرة بين بعض مجموعات المطورين، [ 69 ] حيث أعلن العديد منهم أنهم سيتحولون إلى DirectX احتجاجًا على ذلك. تمحورت معظم الشكاوى حول نقص التواصل من جانب كرونوس مع مجتمع المطورين، وتجاهل العديد من الميزات التي لاقت استحسانًا واسعًا. وشملت الإحباطات الأخرى اشتراط وجود أجهزة بمستوى DirectX 10 لاستخدام OpenGL 3.0، وغياب تظليل الهندسة والعرض المُنسخ كميزات أساسية.

وأفادت مصادر أخرى بأن رد فعل المجتمع لم يكن بالحدة التي تم تصويرها في البداية، [ 70 ] حيث أبدى العديد من البائعين دعمهم للتحديث. [ 71 ] [ 72 ]

OpenGL 3.0

تاريخ الإصدار : 11 أغسطس 2008

قدّمت OpenGL 3.0 آليةً لإيقاف الميزات القديمة لتسهيل مراجعة واجهة برمجة التطبيقات (API) مستقبلاً. يمكن تعطيل بعض الميزات، التي وُصفت بأنها قديمة، تمامًا عن طريق طلب سياق متوافق مع الإصدارات اللاحقة من نظام النوافذ. مع ذلك، لا يزال بالإمكان الوصول إلى ميزات OpenGL 3.0 إلى جانب هذه الميزات القديمة، وذلك عن طريق طلب سياق كامل .

تشمل الميزات المهملة ما يلي:

  • جميع عمليات معالجة الرؤوس والقطع ذات الوظائف الثابتة
  • العرض المباشر، باستخدام glBegin و glEnd
  • عرض القوائم
  • أهداف عرض الألوان المفهرسة
  • إصدار لغة تظليل OpenGL 1.30

دعم الأجهزة: سلسلة Nvidia GeForce 8 وما بعدها، وسلسلة ATI Radeon HD 2000 وما بعدها، ومعالجات Intel HD Graphics في معالجات Intel Sandy Bridge وما بعدها.

OpenGL 3.1

تاريخ الإصدار : 24 مارس 2009

أزالت OpenGL 3.1 جميع الميزات التي تم إيقافها في الإصدار 3.0، باستثناء الخطوط العريضة. بدءًا من هذا الإصدار، لا يمكن الوصول إلى الميزات الجديدة باستخدام سياق كامل ، أو إلى الميزات الموقوفة باستخدام سياق متوافق مع الإصدارات اللاحقة . يُستثنى من القاعدة الأولى ما إذا كان التطبيق يدعم امتداد ARB_compatibility ، ولكن هذا غير مضمون. يتضمن دعم GLSL 1.40.

دعم الأجهزة: يدعم Mesa معالج ARM Panfrost بالإصدار 21.0.

OpenGL 3.2

تاريخ الإصدار : 3 أغسطس 2009

طوّر OpenGL 3.2 آليات الإهمال التي قدمها OpenGL 3.0، وذلك بتقسيم المواصفات إلى ملف تعريف أساسي وملف تعريف توافق . تتضمن سياقات التوافق واجهات برمجة التطبيقات ذات الوظائف الثابتة التي أُزيلت سابقًا، وهي مكافئة لامتداد ARB_compatibility الذي صدر مع OpenGL 3.1، بينما لا تتضمنها السياقات الأساسية. كما تضمن OpenGL 3.2 ترقية إلى إصدار GLSL 1.50.

OpenGL 3.3

تاريخ الإصدار: 11 مارس 2010

يتضمن OpenGL 3.3 إضافات طفيفة، بهدف الحفاظ على أكبر قدر ممكن من وظائف OpenGL 4.0، مع ضمان دعم الأجهزة القديمة. [ 58 ] تشمل هذه الإضافات وظائف مزج جديدة، وكائنات أخذ العينات، وتنسيقات جديدة للنسيج والرؤوس. كما تمت إضافة دعم لإصدار GLSL 3.30، حيث تتوافق الإصدارات الرئيسية والثانوية الآن مع OpenGL.

OpenGL 4.0

تاريخ الإصدار : 11 مارس 2010

تم إصدار OpenGL 4.0 جنبًا إلى جنب مع الإصدار 3.3. [ 58 ] وقد تم تصميمه للأجهزة القادرة على دعم Direct3D 11.

كما هو الحال في OpenGL 3.0، يحتوي هذا الإصدار من OpenGL على عدد كبير من الامتدادات غير المهمة إلى حد ما، المصممة للكشف بشكل كامل عن قدرات الأجهزة من فئة Direct3D 11، مثل التجزئة.

دعم الأجهزة: سلسلة Nvidia GeForce 400 وما بعدها، وسلسلة AMD Radeon HD 5000 وما بعدها (يتم تنفيذ تظليل FP64 عن طريق المحاكاة على بعض وحدات معالجة الرسومات TeraScale)، ورسومات Intel HD في معالجات Intel Ivy Bridge وما بعدها. [ 73 ]

OpenGL 4.1

تاريخ الإصدار : 26 يوليو 2010

  • يبلغ الحد الأدنى "لحجم النسيج الأقصى" 16384 × 16384 لوحدات معالجة الرسومات التي تطبق هذه المواصفات. [ 74 ]
  • تحسين التوافق مع OpenGL ES 2.0 [ 75 ]
  • منافذ عرض متعددة لنفس سطح العرض، أو منفذ واحد لكل سطح. [ 76 ]

يدعم هذا النظام معالجات الرسوميات التالية: سلسلة Nvidia GeForce 400 وما بعدها، وسلسلة AMD Radeon HD 5000 وما بعدها (مع دعم مُظلِّلات FP64 عبر المحاكاة على بعض وحدات معالجة الرسوميات TeraScale)، ومعالجات Intel HD Graphics في معالجات Intel Haswell وما بعدها [ 73 ] (Linux Mesa: معالجات Ivy Bridge وما بعدها). بالإضافة إلى ذلك، يُعد هذا آخر إصدار أساسي يدعمه نظام macOS من Apple.

OpenGL 4.2

تاريخ الإصدار: 8 أغسطس 2011 [ 60 ]

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

دعم الأجهزة: سلسلة Nvidia GeForce 400 وما بعدها، وسلسلة AMD Radeon HD 5000 وما بعدها (مع تنفيذ تظليل FP64 عن طريق المحاكاة على بعض وحدات معالجة الرسومات TeraScale)، ومعالجات Intel HD Graphics في معالجات Intel Haswell وما بعدها. [ 73 ] (Linux Mesa: Ivy Bridge وما بعدها)

OpenGL 4.3

تاريخ الإصدار: 6 أغسطس 2012 [ 61 ]

  • معالجات التظليل الحسابية التي تستفيد من التوازي في وحدة معالجة الرسومات ضمن سياق خط أنابيب الرسومات
  • كائنات مخزن التخزين المؤقت للتظليل، مما يسمح للتظليل بقراءة وكتابة كائنات المخزن المؤقت مثل تحميل/تخزين الصور من الإصدار 4.2، ولكن من خلال اللغة بدلاً من استدعاءات الوظائف.
  • استعلامات عن معلمات تنسيق الصورة
  • ضغط نسيج ETC2/EAC كميزة قياسية
  • توافق كامل مع واجهات برمجة تطبيقات OpenGL ES 3.0
  • إمكانية تصحيح الأخطاء لتلقي رسائل تصحيح الأخطاء أثناء تطوير التطبيق
  • عرض الصور النسيجية لتفسير الصور النسيجية بطرق مختلفة دون تكرار البيانات
  • زيادة أمان الذاكرة وقوة التطبيقات المتعددة

دعم الأجهزة: سلسلة AMD Radeon HD 5000 والإصدارات الأحدث (مع تنفيذ تظليل FP64 عبر المحاكاة على بعض وحدات معالجة الرسومات TeraScale)، ومعالجات Intel HD Graphics في معالجات Intel Haswell والإصدارات الأحدث. [ 73 ] (Linux Mesa: معالجات Ivy Bridge بدون تقنية التكسية بالاستنسل، ومعالجات Haswell والإصدارات الأحدث)، وسلسلة Nvidia GeForce 400 والإصدارات الأحدث. تدعم محاكاة VIRGL للأجهزة الافتراضية الإصدار 4.3 والإصدارات الأحدث مع Mesa 20.

OpenGL 4.4

تاريخ الإصدار: 22 يوليو 2013 [ 63 ]

  • ضوابط استخدام كائن المخزن المؤقت المفروضة
  • استعلامات غير متزامنة في كائنات المخزن المؤقت
  • التعبير عن المزيد من عناصر التحكم في تخطيط متغيرات الواجهة في التظليلات
  • ربط فعال لأشياء متعددة في وقت واحد

دعم الأجهزة: سلسلة AMD Radeon HD 5000 وما بعدها (يتم تنفيذ تظليل FP64 عن طريق المحاكاة على بعض وحدات معالجة الرسومات TeraScale)، و Intel HD Graphics في معالجات Intel Broadwell وما بعدها (Linux Mesa: Haswell وما بعدها)، [ 77 ] سلسلة Nvidia GeForce 400 وما بعدها، [ 78 ] Tegra K1 .

OpenGL 4.5

تاريخ الإصدار: 11 أغسطس 2014 [ 8 ] [ 64 ]

  • الوصول المباشر إلى الحالة (DSA) - تتيح أدوات الوصول إلى الكائنات الاستعلام عن الحالة وتعديلها دون ربط الكائنات بالسياقات، مما يزيد من كفاءة ومرونة التطبيقات والبرمجيات الوسيطة. [ 79 ]
  • التحكم في التدفق - يمكن للتطبيقات التحكم في تدفق الأوامر المعلقة قبل تبديل السياق - مما يتيح تطبيقات متعددة الخيوط عالية الأداء؛
  • المتانة – توفير منصة آمنة للتطبيقات مثل متصفحات WebGL، بما في ذلك منع إعادة ضبط وحدة معالجة الرسومات من التأثير على أي تطبيقات أخرى قيد التشغيل؛
  • توافق واجهة برمجة التطبيقات OpenGL ES 3.1 وتوافق التظليل - لتمكين التطوير والتنفيذ السهل لأحدث تطبيقات OpenGL ES على أنظمة سطح المكتب.

دعم الأجهزة: سلسلة AMD Radeon HD 5000 والإصدارات الأحدث (يتم تنفيذ تظليل FP64 عن طريق المحاكاة على بعض وحدات معالجة الرسومات TeraScale)، و Intel HD Graphics في معالجات Intel Broadwell والإصدارات الأحدث (Linux Mesa: Haswell والإصدارات الأحدث)، و Nvidia GeForce 400 والإصدارات الأحدث، [ 78 ] و Tegra K1 و Tegra X1. [ 80 ] [ 81 ]

OpenGL 4.6

تاريخ الإصدار: 31 يوليو 2017 [ 8 ] [ 11 ] [ 65 ]

  • معالجة هندسية أكثر كفاءة، من جانب وحدة معالجة الرسومات
  • تنفيذ أكثر كفاءة للتظليل ( AZDO )
  • يمكن الحصول على مزيد من المعلومات من خلال الإحصائيات، واستعلامات تجاوز السعة، والعدادات.
  • أداء أفضل من خلال عدم وجود سياقات لمعالجة الأخطاء
  • يؤدي تقييد دالة إزاحة المضلع إلى حل مشكلة عرض الظلال
  • تظليلات SPIR-V
  • تحسين الترشيح غير المتجانس

دعم الأجهزة: سلسلة AMD Radeon HD 7000 وما بعدها (يتم تنفيذ تظليل FP64 عن طريق المحاكاة على بعض وحدات معالجة الرسومات TeraScale)، و Intel Skylake وما بعدها، و Nvidia GeForce 400 وما بعدها. [ 78 ]

دعم برامج التشغيل:

تطبيقات بديلة

أوقفت آبل دعم OpenGL في نظامي التشغيل iOS 12 و macOS 10.14 Mojave لصالح Metal ، ولكنه لا يزال متاحًا بدءًا من macOS 15 Sequoia (بما في ذلك أجهزة Apple Silicon ). [ 89 ] أحدث إصدار مدعوم من OpenGL هو 4.1 من عام 2011. [ 90 ] [ 91 ] مكتبة خاصة من Molten - مطوري MoltenVK - تُسمى MoltenGL، قادرة على ترجمة استدعاءات OpenGL إلى Metal. [ 92 ]

توجد عدة مشاريع تسعى لتطبيق OpenGL على Vulkan. وقد حققت واجهة Vulkan الخلفية لـ ANGLE من جوجل توافقًا مع معيار OpenGL ES 3.1 في يوليو 2020. [ 93 ] كما يتضمن مشروع Mesa3D برنامج تشغيل مماثلًا يُسمى Zink . [ 94 ]

أضاف نظام التشغيل Windows 11 من مايكروسوفت على معالجات Arm دعمًا لـ OpenGL 3.3 عبر GLon12، وهو تطبيق مفتوح المصدر لـ OpenGL مبني على DirectX 12 عبر Mesa Gallium . [ 95 ] [ 96 ] [ 97 ]

فولكان

فولكان، الذي كان يُعرف سابقًا باسم "مبادرة الجيل التالي من OpenGL" (glNext)، [ 98 ] [ 99 ] هو جهد إعادة تصميم شامل لتوحيد OpenGL وOpenGL ES في واجهة برمجة تطبيقات واحدة مشتركة لن تكون متوافقة مع الإصدارات السابقة من OpenGL. [ 100 ] [ 101 ] [ 102 ]

تم إصدار النسخة الأولية من واجهة برمجة تطبيقات Vulkan في 16 فبراير 2016.

انظر أيضاً

  • لغة التجميع ARB - لغة التظليل القديمة منخفضة المستوى الخاصة بـ OpenGL
  • Direct3D – المنافس الرئيسي لـ OpenGL
  • Glide (API) – واجهة برمجة تطبيقات رسومية كانت تُستخدم سابقًا في بطاقات 3dfx Voodoo
  • ميتال (واجهة برمجة التطبيقات) - واجهة برمجة تطبيقات رسومية لأنظمة iOS و macOS و tvOS و watchOS
  • OpenAL – مكتبة صوتية متعددة المنصات، مصممة لتشبه OpenGL
  • OpenGL ES – OpenGL للأنظمة المدمجة
  • OpenSL ES – واجهة برمجة تطبيقات للصوت على الأنظمة المدمجة، طورتها مجموعة كرونوس
  • OpenVG – واجهة برمجة تطبيقات لتسريع الرسومات ثنائية الأبعاد، طورتها مجموعة كرونوس
  • مواصفات واجهة RenderMan (RISpec) – واجهة برمجة التطبيقات المفتوحة من Pixar للعرض غير المتصل بالإنترنت بصور واقعية
  • VOGL – أداة تصحيح الأخطاء لـ OpenGL
  • فولكان – واجهة برمجة تطبيقات رسومية ثنائية وثلاثية الأبعاد منخفضة التكلفة ومتعددة المنصات، وهي "مبادرة OpenGL من الجيل التالي"
  • مسار الرسومات
  • WebGL
  • WebGPU

ملحوظات

  1. ARB وEXT هما مُعرّفان لامتدادات OpenGL. يرتبط كل امتداد بمعرّف مختصر مُستمد من اسم الشركة المُطوّرة له، مثل NV لشركة Nvidia . إذا اتفقت عدة شركات على تنفيذ نفس الوظيفة باستخدام نفس واجهة برمجة التطبيقات (API)، فقد يتم إصدار امتداد مشترك باستخدام المعرّف EXT. في مثل هذه الحالات، قد يُمنح مجلس مراجعة الهندسة المعمارية التابع لمجموعة Khronos الامتداد موافقته الصريحة، وفي هذه الحالة يُستخدم المعرّف ARB. [ 10 ]
  2. اختياري، تم تضمينه في OpenGL 4.3

مراجع

  1. "Khronos تُصدر OpenGL 4.6 مع دعم SPIR-V" .
  2. "شعارات وعلامات تجارية وإرشادات كرونوس" . كرونوس . تم الاطلاع عليه بتاريخ 18 يونيو 2026 .
  3. "نظام رسومات OpenGL: مواصفات" (ملف PDF) . الإصدار 4.0 (الملف التعريفي الأساسي). 11 مارس 2010.
  4. "نظرة عامة على SGI – OpenGL" . مؤرشف من الأصل في 31 أكتوبر 2004. تم الاطلاع عليه في 16 فبراير 2007 .
  5. بيدي، جون (يوليو 2012). "من هي الأجمل بينهن جميعًا؟" . عالم رسومات الحاسوب . تم الاسترجاع في 30 مايو 2018 .
  6. "OpenGL ARB ينقل التحكم في مواصفات OpenGL إلى مجموعة كرونوس" . مجموعة كرونوس . 31 يوليو 2006. تم الاطلاع عليه في 18 مارس 2021 .
  7. "نظرة عامة على عضوية كرونوس والأسئلة الشائعة" . Khronos.org . تم الاطلاع عليه في 7 نوفمبر 2012 .
  8. 1 2 3 4 "سجل كرونوس أوبن جي إل" . مجموعة كرونوس . تم الاطلاع عليه في 31 يوليو 2017 .
  9. "الدرس التعليمي 12 : ملحقات OpenGL" . www.opengl-tutorial.org . تم الاطلاع عليه في 7 أبريل 2026 . 
  10. "كيفية إنشاء ملحقات واجهة برمجة تطبيقات كرونوس" . مجموعة كرونوس . تم الاطلاع عليه في 31 يوليو 2017 .
  11. ١ ٢ ٣ "شركة كرونوس تُصدر OpenGL 4.6 مع دعم SPIR-V" . مجموعة كرونوس، ٣١ يوليو ٢٠١٧. مؤرشف من الأصل في ٣١ يوليو ٢٠١٧. تم الاطلاع عليه في ٣١ يوليو ٢٠١٧ .
  12. "Vulkan وOpenGL وOpenGL ES SIGGRAPH 2017: لا توجد خطة لإصدار نسخة أساسية جديدة لـ OpenGL ES" (ملف PDF) . مجموعة كرونوس . 2017. مؤرشف (ملف PDF) من الأصل في 22 مايو 2020. تم الاطلاع عليه في 16 يناير 2025 .
  13. "مستقبل OpenGL (مناقشة المنتدى)" . مجموعة كرونوس . 2020.
  14. ^ “أرشيف أخبار خرونوس” . مجموعة خرونوس . 28 نوفمبر 2022.
  15. ^ "مدونة خرونوس" . مجموعة خرونوس . 28 نوفمبر 2022.
  16. "GLSL_NV_ray_tracing" . GitHub .
  17. "GL_NV_mesh_shader" . GitHub .
  18. "OpenGL - أساس الصناعة للرسومات عالية الأداء" . مجموعة كرونوس . 19 يوليو 2011. مؤرشف من الأصل في 27 يوليو 2021. تم الاطلاع عليه في 18 مارس 2021 .
  19. "قائمة ببدائل GLUT، يتم تحديثها بواسطة" مجموعة كرونوس. مؤرشفة من الأصل في 19 يوليو 2018. تم الاطلاع عليها في 2 مايو 2013 .
  20. "مجموعات الأدوات وواجهات برمجة التطبيقات ذات الصلة" . www.opengl.org . OpenGL . تم الاطلاع عليه بتاريخ 8 أكتوبر 2014 .
  21. "IRIS GL، ملكية SGI" .
  22. كيلغارد، مارك (2008). "تاريخ OpenGL السابق: IRIS GL (شريحة)" . www.slideshare.net .
  23. "مقدمة: ما هو OpenGL؟" . OpenGLBook . تم الاطلاع عليه في 31 ديسمبر 2024 .
  24. "الملحق ب. الاختلافات بين OpenGL و IRIS GL" . tech-pubs.net . تم الاطلاع عليه في 3 أكتوبر 2025 .
  25. "إنشاء OpenGL ARB" . مؤرشف من الأصل في 22 فبراير 2007. تم الاطلاع عليه في 16 فبراير 2007 .
  26. "نهاية OpenGL++" . مجموعة كرونوس.
  27. "كبار مطوري الألعاب يدعون مايكروسوفت إلى دعم OpenGL بشكل فعّال" . الجيل القادم . العدد 32. إيماجن ميديا . أغسطس 1997. ص 17.  
  28. "إعلان فهرنهايت" . مؤرشف من الأصل في 27 سبتمبر 2007.
  29. "أعضاء فرقة فهرنهايت. 1998" . كمبيوترجرام إنترناشونال . 1998. مؤرشف من الأصل في 5 أكتوبر 2007.
  30. "نهاية فهرنهايت" . ذا ريجستر .
  31. «OpenGL ARB ستنقل التحكم في مواصفات OpenGL إلى مجموعة Khronos» . بيان صحفي من Khronos. 31 يوليو 2006.
  32. "OpenGL ARB ستنقل التحكم في مواصفات OpenGL إلى مجموعة Khronos" . أرشيف AccessMyLibrary.
  33. "OpenGL يحتفل بعيد ميلاده الثلاثين" . www.phoronix.com . تم الاطلاع عليه بتاريخ 7 ديسمبر 2024 .
  34. "OpenGL لم يمت، فليحيا Vulkan" . عالم الفلك العرضي . 9 أبريل 2023. تم الاطلاع عليه في 7 ديسمبر 2024 .
  35. سميث، رايان (5 يونيو 2018). "أبل تُوقف دعم OpenGL على جميع أنظمة التشغيل؛ وتحث المطورين على استخدام Metal" . www.anandtech.com . مؤرشف من الأصل في 6 يونيو 2018. تم الاطلاع عليه في 5 يونيو 2018 .
  36. "GLQuake" . ويكي كويك .
  37. eTeknix.com (29 يوليو 2016). "تحليل أداء رسومات Doom باستخدام OpenGL مقابل Vulkan" . eTeknix . تم الاطلاع عليه في 7 ديسمبر 2024 .
  38. "ويكي دوم: آي دي تك 7" . تم الاطلاع عليه بتاريخ 26 أكتوبر 2021 .
  39. "ترخيص التكنولوجيا: id Tech 2" . مؤرشف من الأصل في 8 نوفمبر 2009. تم الاطلاع عليه في 17 سبتمبر 2008 .
  40. داو، ليام (7 مارس 2023). "لعبة Dota 2 تُزيل دعم OpenGL، والبطل الجديد مويرتا متاح الآن، وتحديث كبير مُرتقب في أبريل" . GamingOnLinux . تم الاطلاع عليه بتاريخ 26 مارس 2023 .
  41. "جيت سيت فولكان : تأملات حول الانتقال إلى فولكان" . مؤرشف من الأصل في 18 أكتوبر 2021. تم الاطلاع عليه في 18 أكتوبر 2021 . 
  42. "OpenGL - أساس الصناعة للرسومات عالية الأداء" . مجموعة كرونوس . 19 يوليو 2011. مؤرشف من الأصل في 27 يوليو 2021. تم الاطلاع عليه في 23 يناير 2026 .
  43. "NVIDIA DLSS SDK" . github.com/NVIDIA/DLSS .
  44. "AMD FidelityFX-SDK" . github.com/GPUOpen-LibrariesAndSDKs/FidelityFX-SDK .
  45. مايكل لارابيل (9 أكتوبر 2025). "دمج امتداد OpenGL Mesh Shader" . فورونيكس .
  46. "عودة تقنية OpenGL في عام 2025 مع ملحقات Mesh Shader للألعاب" . مجموعة كرونوس . 28 أكتوبر 2025.
  47. مايك بلومنكرانتز (9 أكتوبر 2025). "مُظلِّلات الشبكة في العام الحالي" . Super. Good. Code .
  48. "Magma: نظرة عامة" . fuchsia.dev . تم الاطلاع عليه بتاريخ 26 مارس 2023 .
  49. كيلغارد، مارك ج. (2001). برمجة OpenGL لنظام X Window . برمجة الرسومات ( الطبعة السادسة المطبوعة). بوسطن، ماساتشوستس. ميونيخ: أديسون-ويسلي. ص 6. ISBN   978-0-201-48359-8.
  50. "نظام رسومات OpenGL: مواصفات" (ملف PDF) . 1.1. 4 مارس 1997.
  51. أستل، ديف (1 أبريل 2003). "تجاوز OpenGL 1.1 لنظام التشغيل Windows" . gamedev.net . تم الاطلاع عليه في 15 نوفمبر 2007 .
  52. ^ إيسورنا، جي إم (2015). محاكاة المواد البصرية : النظرية والتقنيات وتحليل الحالات . يو بي سي غراو. Arquitectura، Urbanisme i edificació (بالإسبانية). جامعة السياسة في كاتالونيا. ص. 191. ردمك   978-84-9880-564-2تم الاطلاع عليه بتاريخ 21 أغسطس 2019 .
  53. 1 2 3 "نظام رسومات OpenGL: مواصفات" (PDF) . 2.1. 1 ديسمبر 2006.
  54. "نقطة بدائية" .
  55. "نظام رسومات OpenGL: مواصفات" (ملف PDF) . الإصدار 3.0. 23 سبتمبر 2008.
  56. "نظام رسومات OpenGL: مواصفات" (ملف PDF) . 3.1. 28 مايو 2009.
  57. "نظام رسومات OpenGL: مواصفات" (ملف PDF) . 3.2 (الملف التعريفي الأساسي). 7 ديسمبر 2009.
  58. 1 2 3 "Khronos تطلق العنان لتسريع الرسومات المتطور والمتعدد المنصات مع OpenGL 4.0" . 11 مارس 2010.
  59. "Khronos يقود تطور الرسومات ثلاثية الأبعاد متعددة المنصات مع إصدار مواصفات OpenGL 4.1" . 26 يوليو 2010.
  60. ١ ٢ "مجموعة كرونوس تُثري رسومات ثلاثية الأبعاد متعددة المنصات بإصدار مواصفات OpenGL 4.2" . مجموعة كرونوس . ٨ أغسطس ٢٠١١. مؤرشف من الأصل في ٩ أغسطس ٢٠١١. تم الاطلاع عليه في ٨ أغسطس ٢٠١١ .
  61. ١ ٢ "شركة كرونوس تُصدر مواصفات OpenGL 4.3 مع تحسينات كبيرة" . ٦ أغسطس ٢٠١٢. مؤرشف من الأصل في ١٠ أغسطس ٢٠١٢. تم الاطلاع عليه في ٧ أغسطس ٢٠١٢ .
  62. "Khronos تُصدر مواصفات OpenGL 4.3 مع تحسينات كبيرة" . 6 أغسطس 2012.
  63. ١ ٢ ٣ "شركة كرونوس تُصدر مواصفات OpenGL 4.4" . ٢٢ يوليو ٢٠١٣. مؤرشف من الأصل في ٢٩ أكتوبر ٢٠١٣. تم الاطلاع عليه في ٢٣ يوليو ٢٠١٣ .
  64. ١ ٢ "مجموعة كرونوس تعلن عن تطورات رئيسية في نظام OpenGL البيئي - بيان صحفي من مجموعة كرونوس" . مجموعة كرونوس المحدودة، ١٠ أغسطس ٢٠١٤. مؤرشف من الأصل في ١٢ أغسطس ٢٠١٤. تم الاطلاع عليه في ١٧ أبريل ٢٠١٥ .
  65. 1 2 كيسينيتش، جون؛ بالدوين، ديف. "لغة تظليل OpenGL، الإصدار 4.60.7" . مجموعة كرونوس . تم الاطلاع عليه بتاريخ 21 أغسطس 2019 .
  66. أبي شحلة، فيدي (16 سبتمبر 2008). "OpenGL 3 (3DLabs وتطور OpenGL)" . موقع Tom's Hardware . تم الاطلاع عليه بتاريخ 24 أكتوبر 2010 .
  67. "نظام رسومات OpenGL: مواصفات" (PDF) . 2.0. 22 أكتوبر 2004.
  68. «أعلنت لجنة مراجعة OpenGL عن تحديث لـ OpenGL 3.0» . 30 أكتوبر 2007. مؤرشف من الأصل في 7 نوفمبر 2007. تم الاطلاع عليه في 31 أكتوبر 2007 .
  69. "إصدار OpenGL 3.0 يثير غضب المطورين - سلاش دوت" . Tech.slashdot.org. 11 أغسطس 2008. تم الاطلاع عليه في 7 نوفمبر 2012 .
  70. "مرت فعالية OpenGL BOF بشكل جيد، ولم تُشاهد أي ردود فعل غاضبة" .
  71. "المعيار الصناعي للرسومات عالية الأداء" . OpenGL. 18 أغسطس 2008. تم الاطلاع عليه في 31 يوليو 2017 .
  72. "توفر NVIDIA الآن برنامج تشغيل OpenGL 3.0 مبكرًا" .
  73. ١ ٢ ٣ ٤ "برنامج تشغيل Intel Iris و HD Graphics لنظام التشغيل Windows 7/8/8.1 64 بت" . مركز تنزيل Intel . مؤرشف من الأصل في ٢ أبريل ٢٠١٥.
  74. "الحد الأقصى المتوقع لحجم النسيج - الرسومات وبرمجة وحدة معالجة الرسومات" . GameDev.net .
  75. "OpenGL 4.1 (الملف التعريفي الأساسي) - 25 يوليو 2010" (ملف PDF) . Khronos.org .
  76. "تاريخ OpenGL - ويكي OpenGL" . Khronos.org .
  77. "تسريب واضح يكشف تفاصيل معالجات Intel Skylake-S وشرائح سلسلة 100" . NDTV Gadgets . 17 أبريل 2015.
  78. 1 2 3 لارابيل، مايكل (31 يوليو 2017). "إنفيديا تُصدر برنامج تشغيل لينكس 381.26.11 مع دعم OpenGL 4.6" . فورونيكس .
  79. «إصدار OpenGL 4.5 - مع إحدى أفضل ميزات Direct3D» . Ars Technica . 11 أغسطس 2014. تم الاطلاع عليه بتاريخ 17 أبريل 2015 .
  80. "SG4121: تحديث OpenGL لوحدات معالجة الرسومات من NVIDIA" . Ustream . مؤرشف من الأصل في 17 مايو 2015. تم الاطلاع عليه في 17 أبريل 2015 .
  81. كيلغارد، مارك (12 أغسطس 2014). "تحديث OpenGL 4.5 لوحدات معالجة الرسومات من NVIDIA" . تم الاطلاع عليه في 17 أبريل 2015 .
  82. لارابيل، مايكل (21 أغسطس 2019). "يدعم برنامج تشغيل OpenGL من إنتل لنظام لينكس الآن OpenGL 4.6 لـ Mesa 19.2" . فورونيكس .
  83. لارابيل، مايكل (27 نوفمبر 2019). "برنامج تشغيل RadeonSI من AMD يُفعّل OpenGL 4.6 أخيرًا" . فورونيكس .
  84. "إصدار برنامج تشغيل الرسومات AMD Adrenalin 18.4.1 (OpenGL 4.6، Vulkan 1.1.70) - Geeks3D" . www.geeks3d.com . مايو 2018. مؤرشف من الأصل في 11 مايو 2018. تم الاطلاع عليه في 10 مايو 2018 .
  85. "ملاحظات إصدار برنامج Radeon Software Adrenalin Edition 18.4.1" . support.amd.com . تم الاطلاع عليه بتاريخ 10 مايو 2018 .
  86. "إصدار برنامج تشغيل رسومات إنتل 25.20.100.6861 (OpenGL 4.6 + Vulkan 1.1.103) | Geeks3D" . 16 مايو 2019. تم الاطلاع عليه في 16 مايو 2019 .
  87. "برامج تشغيل DCH لنظام التشغيل Windows 10" . مركز تنزيل Intel . تم الاطلاع عليه بتاريخ 21 أغسطس 2019 .
  88. ^ "تم إصدار برنامج تشغيل NVIDIA R387.92 WHQL GeForce Gaming (OpenGL 4.6 + Vulkan 1.0.56) – Geeks3D" . www.geeks3d.com . 11 أكتوبر 2017 . تم الاسترجاع في 4 مايو، 2026 .
  89. "وثائق مطوري Apple" . developer.apple.com .
  90. كونينغهام، أندرو (7 أكتوبر 2019). "مراجعة آرس تكنيكا لنظام macOS 10.15 Catalina" . آرس تكنيكا .
  91. أكسون، صموئيل (6 يونيو 2018). "نهاية دعم OpenGL، بالإضافة إلى تحديثات أخرى لم تُعلن عنها آبل في المؤتمر الرئيسي" . آرس تكنيكا . تم الاطلاع عليه في 19 أكتوبر 2020 .
  92. "Vulkan، وOpenGL ES أسرع، على نظامي iOS وmacOS" . Molten . تم الاطلاع عليه بتاريخ 19 أكتوبر 2020 .
  93. مؤلفو مشروع ANGLE (14 أكتوبر 2020). "google/angle: تطبيق متوافق مع OpenGL ES لأنظمة Windows وMac وLinux وiOS وAndroid" . GitHub . تم الاطلاع عليه في 17 ديسمبر 2020 .
  94. "Zink" . أحدث وثائق مكتبة Mesa للرسومات ثلاثية الأبعاد .
  95. "حالة نظام ويندوز على معالجات Arm64: نظرة عامة" . تشيبس آند تشيز . 13 مارس 2022. تم الاطلاع عليه بتاريخ 23 أكتوبر 2023 .
  96. "تقديم OpenCL وOpenGL على DirectX" . Collabora | استشارات المصادر المفتوحة . تم الاطلاع عليه بتاريخ 23 أكتوبر 2023 .
  97. "نظرة معمقة على طبقات OpenGL عبر DirectX" . Collabora | استشارات المصادر المفتوحة . تم الاطلاع عليه بتاريخ 23 أكتوبر 2023 .
  98. دينغمان، هايدن (3 مارس 2015). "تعرّف على فولكان، تقنية الألعاب القوية والمتوافقة مع مختلف المنصات والتي تستهدف DirectX 12" . بي سي وورلد . تم الاطلاع عليه في 3 مارس 2015 .
  99. برايت، بيتر (3 مارس 2015). "كرونوس تكشف النقاب عن فولكان: أوبن جي إل مصمم للأنظمة الحديثة" . آرس تكنيكا . تم الاطلاع عليه في 3 مارس 2015 .
  100. "شركة كرونوس تعلن عن مبادرة الجيل التالي لتقنية OpenGL" . موقع AnandTech . تم الاطلاع عليه بتاريخ 20 أغسطس 2014 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  101. أنتوني، سيباستيان (11 أغسطس 2014). "إصدار OpenGL 4.5، والكشف عن الجيل التالي من OpenGL: منافس قوي لـ Mantle عبر المنصات، ومنافس لـ DX12" . إكستريم تك . مؤرشف من الأصل في 18 أغسطس 2014. تم الاطلاع عليه في 20 أغسطس 2014 .
  102. "شركة كرونوس تنشر عروضها التقديمية حول OpenGL-Next" . موقع فورونيكس. مؤرشف من الأصل بتاريخ 23 أغسطس 2014. تم الاطلاع عليه بتاريخ 22 أغسطس 2014 .

للمزيد من القراءة

  • شراينر، ديف؛ سيلرز، غراهام؛ وآخرون  . (30 مارس 2013). دليل برمجة OpenGL: الدليل الرسمي لتعلم OpenGL . الإصدار 4.3 (  الطبعة الثامنة). أديسون-ويسلي. ISBN 978-0-321-77303-6.
  • سيلرز، غراهام؛ رايت، ريتشارد س.؛ هيميل، نيكولاس (31 يوليو 2013). دليل OpenGL الشامل: دليل مرجعي شامل (  الطبعة السادسة). أديسون-ويسلي. ISBN 978-0-321-90294-8.
  • روست، راندي ج. (30 يوليو 2009). لغة تظليل OpenGL (  الطبعة الثالثة). أديسون-ويسلي. ISBN 978-0-321-63763-5.
  • لينجيل، إريك (2003). دليل ملحقات OpenGL . تشارلز ريفر ميديا. ISBN 1-58450-294-0.
  • مجلس مراجعة بنية OpenGL ؛ شراينر، ديف (2004). دليل مرجع OpenGL: الوثيقة المرجعية الرسمية لـ OpenGL . الإصدار 1.4. أديسون-ويسلي. ISBN 0-321-17383-X.
  • مجلس مراجعة بنية OpenGL ؛ شراينر، ديف؛ وآخرون  (2006). دليل برمجة OpenGL: الدليل الرسمي لتعلم OpenGL . الإصدار 2 (  الطبعة الخامسة). أديسون-ويسلي. ISBN 0-321-33573-2.