OpenGL ES

OpenGL للأنظمة المدمجة ( OpenGL ES أو GLES ) هي مجموعة فرعية من واجهة برمجة تطبيقات OpenGL لعرض رسومات الحاسوب ، وتُستخدم لعرض رسومات ثنائية وثلاثية الأبعاد، مثل تلك المستخدمة في ألعاب الفيديو، والتي عادةً ما يتم تسريعها باستخدام وحدة معالجة الرسومات (GPU). صُممت هذه الواجهة للأنظمة المدمجة مثل الهواتف الذكية، وأجهزة الكمبيوتر اللوحية، ووحدات تحكم ألعاب الفيديو، وأجهزة المساعد الرقمي الشخصي (PDA). تُعد OpenGL ES "واجهة برمجة تطبيقات الرسومات ثلاثية الأبعاد الأكثر استخدامًا على الإطلاق".

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

الإصدارات

توجد الآن عدة إصدارات من مواصفات OpenGL ES. تم تصميم OpenGL ES 1.0 استنادًا إلى مواصفات OpenGL 1.3، وتم تعريف OpenGL ES 1.1 استنادًا إلى مواصفات OpenGL 1.5، وتم تعريف OpenGL ES 2.0 استنادًا إلى مواصفات OpenGL 2.0. هذا يعني، على سبيل المثال، أنه من السهل نقل تطبيق مكتوب لـ OpenGL ES 1.0 إلى OpenGL 1.3 المكتبي؛ وبما أن OpenGL ES هو إصدار مُبسط من واجهة برمجة التطبيقات (API)، فقد يكون العكس صحيحًا أو غير صحيح، وذلك بحسب الميزات المُستخدمة.

يأتي OpenGL ES مزودًا بإصداره الخاص من لغة التظليل (OpenGL ES SL)، وهو يختلف عن OpenGL SL . [ 2 ]

يحتوي الإصداران 1.0 و 1.1 على ملفات تعريف مشتركة (CM) وملفات تعريف مشتركة خفيفة (CL)، والفرق هو أن ملف التعريف المشترك الخفيف يدعم فقط دعم نوع بيانات النقطة الثابتة بدلاً من دعم نوع بيانات النقطة العائمة ، بينما يدعم الملف المشترك كليهما.

OpenGL ES 1.0

تم إصدار OpenGL ES 1.0 للجمهور في 28 يوليو 2003. يعتمد OpenGL ES 1.0 على واجهة برمجة التطبيقات الأصلية OpenGL 1.3، مع إزالة العديد من الوظائف وإضافة القليل منها. أحد الاختلافات الرئيسية بين OpenGL وOpenGL ES هو أن OpenGL ES ألغى الحاجة إلى وضع استدعاءات مكتبة OpenGL بين علامتي `--` glBeginو`--` glEnd. ومن الاختلافات المهمة الأخرى تغيير دلالات استدعاء وظائف العرض الأساسية لصالح مصفوفات الرؤوس، وإضافة أنواع بيانات النقطة الثابتة لإحداثيات الرؤوس. كما أُضيفت سمات لدعم القدرات الحسابية للمعالجات المدمجة بشكل أفضل، والتي غالبًا ما تفتقر إلى وحدة الفاصلة العائمة (FPU). تم حذف العديد من الوظائف وعناصر العرض الأساسية الأخرى في الإصدار 1.0 لإنتاج واجهة خفيفة الوزن، بما في ذلك:

  • أشكال العرض الرباعية والمضلعة؛
  • texgen، وline، وpolygon stipple؛
  • لا يتم دعم وضع المضلع وعرض المضلع المضاد للتشويش، على الرغم من أن العرض باستخدام العينات المتعددة لا يزال ممكنًا (بدلاً من أجزاء حدود ألفا)؛
  • ARB_Imageعمليات فئة البكسل، والصور النقطية، والقوام ثلاثي الأبعاد غير مدعومة؛
  • تم التخلص من العديد من أوضاع الرسم الأكثر تقنية، بما في ذلك المخزن المؤقت الأمامي ومخزن التجميع المؤقت؛
  • عمليات الصور النقطية لنسخ وحدات البكسل بشكل فردي، والمقيّمين، وعمليات اختيار المستخدم غير مسموح بها؛
  • تمت إزالة قوائم العرض والتعليقات، وكذلك عمليات الدفع والسحب لسمات الحالة؛
  • وتمت إزالة بعض معايير المواد، بما في ذلك معايير الوجه الخلفي ومستويات القص المحددة من قبل المستخدم.

الإصدار الفعلي هو 1.0.0.2. [ 3 ]

اسم الامتدادفرز #رقمتفاصيل
إحداثيات بايت OESامتداد OpenGL ES رقم 14(سابقًا OpenGL Extension #291)
نسيج مضغوط ذو لوحة ألوان OESامتداد OpenGL ES رقم 6(سابقًا OpenGL Extension #294)
OES_fixed_pointامتداد OpenGL ES رقم 9(سابقًا OpenGL Extension #292)
مصفوفة استعلام OESامتداد OpenGL ES رقم 16(سابقًا OpenGL Extension #296)
تنسيق قراءة OESامتداد OpenGL ES رقم 17(سابقًا OpenGL Extension رقم 295)
دقة مفردة OESامتداد OpenGL ES رقم 18(سابقًا OpenGL Extension رقم 293)
خياريميسا (معظم السائقين)
نسيج OES_compressed_ETC1_RGB8امتداد OpenGL ES رقم 5

OpenGL ES 1.1

أضافت OpenGL ES 1.1 ميزات مثل الدعم الإلزامي للنسيج المتعدد، ودعم مُحسّن للنسيج المتعدد (بما في ذلك عمليات دمج النسيج وعمليات الضرب النقطي )، والتوليد التلقائي لخرائط MIP ، وكائنات مخزن الرؤوس ، واستعلامات الحالة، ومستويات قص المستخدم، وتحكم أكبر في عرض النقاط. [ 4 ] الإصدار الحالي هو 1.1.12. [ 5 ]

اسم الامتدادفرز #رقم
OES_draw_textureامتداد OpenGL ES رقم 7
OES_matrix_getامتداد OpenGL ES رقم 11
مصفوفة حجم نقطة OESامتداد OpenGL ES رقم 14
OES_point_spriteامتداد OpenGL ES رقم 15
خياريميسا (جميع السائقين)
كائن إطار المخزن المؤقت OESOpenGL ES Extension #10 (أصبح جزءًا أساسيًا في ES 2.0) [ 6 ]
صورة OES_EGLامتداد OpenGL ES رقم 23
OES_EGL_image_externalامتداد OpenGL ES رقم 87
OES_required_internalformatامتداد OpenGL ES قيد التحديد

OpenGL ES 2.0

تم إصدار OpenGL ES 2.0 للجمهور في مارس 2007. [ 7 ] وهو مبنيٌّ بشكلٍ عام على OpenGL 2.0، ولكنه يُلغي معظم مسار معالجة الرسومات ذي الوظائف الثابتة لصالح مسار قابل للبرمجة، في خطوةٍ تُشبه الانتقال من OpenGL 3.0 إلى 3.1. [ 8 ] يقتصر تدفق التحكم في المُظلِّلات عمومًا على التفرع الأمامي والحلقات التي يُمكن تحديد الحد الأقصى لعدد التكرارات فيها بسهولة أثناء وقت الترجمة. [ 9 ] تم استبدال جميع ميزات معالجة الرسومات تقريبًا في مرحلتي التحويل والإضاءة، مثل تحديد المواد ومعلمات الإضاءة التي كانت تُحدَّد سابقًا بواسطة واجهة برمجة التطبيقات ذات الوظائف الثابتة، بمُظلِّلات يكتبها مُبرمج الرسومات. ونتيجةً لذلك، فإن OpenGL ES 2.0 غير متوافق مع الإصدارات السابقة OpenGL ES 1.1. استمرت بعض أوجه عدم التوافق بين إصدار سطح المكتب من OpenGL وOpenGL ES 2.0 حتى OpenGL 4.1، الذي أضاف GL_ARB_ES2_compatibilityالامتداد. [ 10 ] الإصدار الحالي هو 2.0.25. [ 11 ]

قامت مجموعة كرونوس بكتابة وثيقة تصف الاختلافات بين OpenGL ES 2.0 و OpenGL 2.0 العادي. [ 12 ]

اسم الامتدادفرز #رقم
خريطة مكعب نسيج OESامتداد OpenGL ES رقم 20
OES_texture_npotامتداد OpenGL ES رقم 37
عمق OES 24امتداد OpenGL ES T24
نسيج عمق OESامتداد OpenGL ES رقم 44
OES_element_index_uintامتداد OpenGL ES رقم 26
OES_fbo_render_mipmapامتداد OpenGL ES رقم 27
OES_get_program_binaryامتداد OpenGL ES رقم 47
OES_mapbufferامتداد OpenGL ES T29
قالب عمق التعبئة OESامتداد OpenGL ES43
OES_rgb8_rgba8امتداد OpenGL ES30
OES_stencil8امتداد OpenGL ES33
OES_vertex_half_floatامتداد OpenGL ES38
إضافيفي ميسا (جميع السائقين)
صورة OES_EGLملحق OpenGL ES رقم 23 (يختلف في الإصدار 1.1)
OES_EGL_image_externalملحق OpenGL ES رقم 87 (يختلف في الإصدار 1.1)
نسيج ثلاثي الأبعاد OESOpenGL ES Extension #34 (أصبح جزءًا أساسيًا في ES 3.0) [ 13 ]
OES_texture_float_linear OES_texture_half_float_linearامتداد OpenGL ES رقم 35، تم توسيعه في ES 3.0 و 3.1
OES_texture_float OES_texture_half_floatامتداد OpenGL ES رقم 36، تم توسيعه في ES 3.0 و 3.1
المشتقات القياسية OESامتداد OpenGL ES رقم 45
كائن مصفوفة رؤوس OESOpenGL ES Extension #71 (أصبح جزءًا أساسيًا في ES 3.0) [ 13 ]
سياق OES_surfaceless_contextامتداد OpenGL ES رقم 116
خريطة مكعب نسيج عمق OESامتداد OpenGL ES رقم 136
EXT_texture_filter_anisotropicامتداد OpenGL ES رقم 41
EXT_texture_type_2_10_10_10_REVامتداد OpenGL ES T42
EXT_texture_compression_dxt1امتداد OpenGL ES رقم 49
EXT_texture_format_BGRA8888امتداد OpenGL ES رقم 51
EXT_discard_framebufferامتداد OpenGL ES رقم 64
EXT_blend_minmaxامتداد OpenGL ES رقم 65
EXT_read_format_bgraامتداد OpenGL ES رقم 66
EXT_multi_draw_arraysامتداد OpenGL ES رقم 69
عمق التجزئة الخارجيامتداد OpenGL ES رقم 86
EXT_unpack_subimageامتداد OpenGL ES رقم 90
EXT_texture_rgامتداد OpenGL ES103
EXT_draw_buffersامتداد OpenGL ES رقم 151
EXT_compressed_ETC1_RGB8_sub_textureامتداد OpenGL ES رقم 188
NV_draw_buffersامتداد OpenGL ES رقم 91
NV_fbo_color_attachmentsامتداد OpenGL ES T92
NV_read_bufferامتداد OpenGL ES93
NV_read_depth_stencilامتداد OpenGL ES رقم 94
ANGLE_texture_compression_dxtامتداد OpenGL ES رقم 111

OpenGL ES 3.0

تم إصدار مواصفات OpenGL ES 3.0 [ 14 ] علنًا في أغسطس 2012. [ 15 ] وهي متوافقة مع الإصدارات السابقة OpenGL ES 2.0، ومتوافقة جزئيًا مع WebGL 2.0، [ 16 ] حيث صُممت WebGL 2.0 لتتمتع بدرجة عالية من التوافق مع OpenGL ES 3.0. [ 17 ] الإصدار الحالي من معيار OpenGL ES 3.0 هو 3.0.6، وقد صدر في نوفمبر 2019. [ 18 ]

تتضمن الوظائف الجديدة في مواصفات OpenGL ES 3.0 ما يلي:

اسم الامتدادفرز #رقمتفاصيل
KHR_context_flush_controlامتداد OpenGL ES رقم 191(خاص بـ GL_KHR_context_flush_control فقط)
إضافيفي ميسا (جميع السائقين)
OES_texture_compression_astcامتداد OpenGL ES رقم 162
مشبك حدود النسيج الخارجيامتداد OpenGL ES رقم 182
EXT_draw_elements_base_vertexامتداد OpenGL ES رقم 204
OES_EGL_image_external_essl3امتداد OpenGL ES T220
MESA_shader_integer_functionsامتداد OpenGL ES رقم 495

OpenGL ES 3.1

تم إصدار مواصفات OpenGL ES 3.1 [ 20 ] علنًا في مارس 2014. تتضمن الوظائف الجديدة في OpenGL ES 3.1 ما يلي: [ 21 ]

يتوافق OpenGL ES 3.1 مع الإصدارات السابقة OpenGL ES 2.0 و 3.0، مما يُمكّن التطبيقات من دمج الميزات الجديدة تدريجيًا. الإصدار الحالي هو 3.1 (نوفمبر 2016). [ 22 ]

اسم الامتدادفرز #رقم
ARB_arrays_of_arraysتمديد ARB رقم 120
ARB_compute_shaderتمديد ARB رقم 122
ARB_explicit_uniform_locationتمديد مجلس مراجعة الحسابات رقم 128
ARB_framebuffer_no_attachmentsتمديد مجلس مراجعة الأصول رقم 130
استعلام واجهة برنامج ARBتمديد مجلس مراجعة الحسابات الإدارية 134
عدادات ARB_shader_atomic_countersتمديد مجلس مراجعة الحسابات الإدارية114
ARB_shader_image_load_storeتمديد مجلس مراجعة الحسابات رقم 115
ARB_shader_storage_buffer_objectتمديد مجلس مراجعة الأصول رقم 137
ARB_separate_shader_objectsتمديد مجلس مراجعة شؤون الموظفين رقم 97
ARB_stencil_texturingتمديد مجلس مراجعة الحسابات الإدارية رقم 138
ARB_vertex_attrib_bindingتمديد مجلس مراجعة الحسابات رقم 125
ARB_draw_indirectتمديد مجلس مراجعة الحسابات رقم 87
ARB_shading_language_packingتمديد مجلس مراجعة الأصول رقم 116
حجم صورة تظليل ARBتمديد مجلس مراجعة الأصول رقم 136
ARB_texture_storage_multisampleتمديد مجلس مراجعة الأصول رقم 141
ARB_texture_multisampleتمديد مجلس مراجعة الأصول رقم 67
مزيج الأعداد الصحيحة للتظليل الخارجيامتداد OpenGL ES رقم 161
خياريميسا (جميع برامج التشغيل OpenGL ES 3.1+)
مواقع عينات ARBتمديد مجلس مراجعة الأصول رقم 181
عرض نسيج OESامتداد OpenGL ES رقم 218
تنسيقات صور NVامتداد OpenGL ES رقم 200
EXT_render_snormامتداد OpenGL ES رقم 206
EXT_texture_norm16امتداد OpenGL ES رقم 207

OpenGL ES 3.2

تم إصدار مواصفات OpenGL ES 3.2 [ 23 ] علنًا في أغسطس 2015. وتشمل الإمكانيات الجديدة في OpenGL ES 3.2 ما يلي:

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

الحالة الفعلية هي 3.2.6 يوليو 2019. [ 24 ] [ 25 ]

اسم الامتدادفرز #رقم
معادلة المزج KHR المتقدمةامتداد OpenGL ES رقم 168
EXT_color_buffer_floatامتداد OpenGL ES رقم 137
KHR_debugامتداد OpenGL ES رقم 118
KHR_robustnessامتداد OpenGL ES رقم 190
صورة OES_copy_imageامتداد OpenGL ES رقم 208
OES_draw_buffers_indexedامتداد OpenGL ES رقم 209
OES_draw_elements_base_vertexامتداد OpenGL ES رقم 219
OES_geometry_shaderامتداد OpenGL ES رقم 210
OES_gpu_shader5امتداد OpenGL ES رقم 211
تظليل عينات OESامتداد OpenGL ES رقم 169
متغيرات عينة OESامتداد OpenGL ES رقم 170
OES_shader_image_atomicامتداد OpenGL ES رقم 171
OES_shader_io_blocksامتداد OpenGL ES رقم 213
OES_shader_multisample_interpolationامتداد OpenGL ES رقم 172
OES_tessellation_shaderامتداد OpenGL ES رقم 214
OES_texture_border_clampامتداد OpenGL ES رقم 215
مخزن نسيج OESامتداد OpenGL ES رقم 216
OES_texture_cube_map_arrayامتداد OpenGL ES رقم 217
OES_texture_stencil8امتداد OpenGL ES رقم 173
OES_texture_storage_multisample_2d_arrayامتداد OpenGL ES رقم 174
KHR_texture_compression_astc_ldrملحق OpenGL ES رقم 117 (خاص بتقنية LED فقط)
OES_primitive_bounding_boxامتداد OpenGL ES رقم 212
خياريميسا (جميع برامج التشغيل OpenGL ES 3.2+)
KHR_texture_compression_astc_hdrامتداد OpenGL ES رقم 117 (يتضمن LDR)، امتداد ARB رقم 118
معادلة KHR_blend_equation_advanced_coherentامتداد OpenGL ES رقم 168
KHR_texture_compression_astc_sliced_3dامتداد OpenGL ES رقم 249 (امتداد ARB رقم 189)

مصفوفة OES_viewport

امتداد OpenGL ES رقم 267

تم تطوير بعض الإضافات الأخرى أو هي قيد التطوير في Mesa للإصدار التالي من OpenGL ES (انظر Mesamatrix).

الجيل التالي من واجهات برمجة التطبيقات هو Vulkan. [ 26 ]

استخدام المنصة

للاطلاع على القائمة الكاملة للشركات ومنتجاتها المتوافقة، انظر هنا

OpenGL ES 1.0

أضافت OpenGL ES 1.0 واجهة برمجة تطبيقات رسومية ثلاثية الأبعاد رسمية إلى نظامي التشغيل Android [ 27 ] و Symbian OS v8.0a [ 28 ] [ 29 ] ، بالإضافة إلى QNX [ 30 ]. كما يدعمها جهاز PlayStation 3 كإحدى واجهات برمجة التطبيقات الرسومية الرسمية [ 31 ] (إلى جانب مكتبة libgcm منخفضة المستوى ) باستخدام مكتبة Cg من Nvidia بدلاً من GLSL. [ 32 ] ويتضمن جهاز PlayStation 3 أيضًا العديد من ميزات الإصدار 2.0 من OpenGL ES.

OpenGL ES 1.1

يدعم الإصدار 1.1 من OpenGL ES ما يلي:

OpenGL ES 2.0

بدعم من:

OpenGL ES 3.0

بدعم من:

مدعومة من قبل بعض الإصدارات الحديثة من وحدات معالجة الرسومات هذه: [ 43 ] [ 44 ]

OpenGL ES 3.1

مدعوم من قبل أنظمة التشغيل Windows وLinux وAndroid (منذ الإصدار 5.0) على الأجهزة المزودة بالأجهزة وبرامج التشغيل المناسبة، [ 45 ] بما في ذلك:

  • سلسلة Adreno 400 [ 46 ] [ 47 ]
  • سلسلة Adreno 500 (Mesa 18.1 لنظامي Linux و Android)
  • معالج AMD Terascale وبنية GCN الفعلية (Windows، Linux (r600، radeonSI))
  • معالج رسومات Intel HD لسلسلة Intel Atom Z3700 (أندرويد)
  • معالج رسومات Intel HD لسلسلة Intel Celeron N و J (أندرويد)
  • معالج رسومات Intel HD لأجهزة Intel Pentium N و J (أندرويد)
  • معالجات Intel HD Graphics Haswell وما فوق (Linux Mesa: Ivy Bridge السابقة بدون نسيج الاستنسل تقريبًا) [ 39 ]
  • سلسلة Mali T6xx (midgard) وما بعدها [ 48 ] (أندرويد، لينكس)
  • سلسلة Nvidia GeForce 400 وما بعدها (Windows، Linux)
  • Nvidia Tegra K1 (Android، Linux)
  • إنفيديا تيغرا إكس 1 (أندرويد)
  • سلسلة PowerVR 6، 6XE، 6XT، 7XE و7XT (لينكس، أندرويد)
  • سلسلة Vivante GC2000 وما بعدها (اختياري مع GC800 و GC1000) [ 49 ]
  • panfrost: دعم ARM panfrost (Linux Mesa 22.0)
  • v3d: برنامج تشغيل Broadcom VideoCore في Mesa (Linux)
  • VIRGL: برنامج تشغيل افتراضي للأجهزة الافتراضية في عام 2018 مع Mesa 18.1 (انظر Mesamatrix.net)
  • LLVMpipe: برنامج تشغيل في Mesa 20.2 (Linux)
  • softpipe: برنامج تشغيل في Mesa 20.3 (Linux)
  • Zink: برنامج تشغيل المحاكاة في Mesa 21.1 (Linux)
  • d3d12: برنامج تشغيل لينكس WSL2 لأنظمة مايكروسوفت 10+ (Mesa 22.0)
  • معالجات الرسوميات Apple M1 و M2 في نظام Fedora Asahi Remix (Linux)

حزمة ملحقات أندرويد

حزمة ملحقات أندرويد (AEP) هي مجموعة من ملحقات OpenGL ES 3.1، مُجمّعة في ملحق واحد طرحته جوجل عام 2014. يُمكّن هذا التطبيقات من استخدام جميع ميزات مجموعة الملحقات، مع اختبار وجود ملحق واحد فقط. أُضيفت حزمة ملحقات أندرويد (AEP) رسميًا إلى نظام أندرويد لولي بوب لتوفير ميزات إضافية مثل التجزئة، بالإضافة إلى الميزات الموجودة رسميًا في إصدار GLES 3.1. يتكون تحديث OpenGL ES 3.2 بشكل كبير من إضافات حزمة ملحقات أندرويد (AEP)، الموجودة بالفعل في OpenGL على أجهزة سطح المكتب. [ 50 ]

OpenGL ES 3.2

استخدام OpenGL ES 3.2 على نظام لينكس (مع AMDGPU )

يُقدّم OpenGL ES 3.2، الذي يتضمن حزمة ملحقات Android (AEP)، عددًا من التحسينات الطفيفة مقارنةً بإصدار العام الماضي OpenGL ES 3.1. ويستفيد كلا الإصدارين من ميزات مماثلة من حزمة ملحقات Android. وبفضل حزمة ملحقات Android، ستدعم الأجهزة المتوافقة مع OpenGL ES 3.2 تقنية التجزئة (Tessellation) لإضافة تفاصيل هندسية إضافية، ومُظلّلات هندسية جديدة، وضغط نسيج ASTC لتقليل استهلاك عرض النطاق الترددي للذاكرة، وأهداف عرض الفاصلة العائمة لعمليات حسابية عالية الدقة، وميزات تصحيح أخطاء جديدة للمطورين. هذه الميزات المتقدمة موجودة بالفعل في مواصفات OpenGL 4 الكاملة للمجموعة. [ 51 ] [ 52 ]

يدعم أنظمة التشغيل Windows وLinux وAndroid (منذ الإصدار 6.0 ممكن، ويتطلب الإصدار 7.0+ Vulkan 1.0 وOpenGL ES 3.2) على الأجهزة المزودة بالأجهزة وبرامج التشغيل المناسبة، بما في ذلك:

  • Adreno 420 والإصدارات الأحدث (أندرويد، لينكس (freedreno))
  • معمارية AMD GCN (ويندوز، لينكس (Mesa 18.2 مع radeonSI))
  • معالج رسومات Intel HD من نوع Skylake وما فوق (Linux) [ 39 ]
  • Mali-T760 والإصدارات الأحدث (أندرويد، لينكس)
  • سلسلة Nvidia GeForce 400 (Fermi) والإصدارات الأحدث (Windows، Linux) [ 53 ]
  • VIRGL: برنامج تشغيل افتراضي للأجهزة الافتراضية في عام 2018 مع Mesa 18.1 (انظر Mesamatrix.net)
  • LLVMpipe: برنامج تشغيل في Mesa 20 (Linux)
  • Zink: برنامج تشغيل محاكاة Vulkan في Mesa 21.2 (Linux)

الإيقاف التدريجي في منصات أبل

تم إيقاف دعم OpenGL ES (وOpenGL) في أنظمة تشغيل Apple لصالح واجهة برمجة تطبيقات الرسومات Metal الخاصة بها ، ولكنها ظلت تعمل حتى نظام iOS 12 على الأقل . [ 54 ]

المستقبل

لا توجد حاليًا أي خطة لإصدار نسخة أساسية جديدة من OpenGL ES، حيث يُعتقد أن اعتماد Vulkan سيؤدي إلى استبدالها في التطبيقات المدمجة والمحمولة. ويستمر تطوير إضافات OpenGL ES حتى عام 2017. [ 55 ]

التوافق مع OpenGL

تم إنشاء بعض المكتبات لمحاكاة استدعاءات OpenGL باستخدام GL ES:

انظر أيضاً

مراجع

  1. "شعارات وعلامات تجارية وإرشادات كرونوس" . كرونوس . تم الاطلاع عليه بتاريخ 18 يونيو 2026 .
  2. "ما هي إصدارات GLSL التي يمكنني استخدامها في OpenGL ES 2.0؟" . Stack Overflow.
  3. بليث، ديفيد. "مواصفات ملف تعريف OpenGL ES Common/Common-Lite - الإصدار 1.0.02 (مع الشرح)" (ملف PDF) . registry.khronos.org . مؤرشف (ملف PDF) من الأصل بتاريخ 22 سبتمبر 2024.
  4. "OpenGL ES 1.1+ و ES 2.0" (ملف PDF) . developer.amd.com . مؤتمر مطوري الألعاب. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 24 فبراير 2021.
  5. منشي، آفتاب؛ ليتش، جون (24 أبريل 2008). "مواصفات ملف تعريف OpenGL ES Common/Common-Lite - الإصدار 1.1.12 (المواصفات الكاملة)" (ملف PDF) . registry.khronos.org . مؤرشف (ملف PDF) من الأصل في 31 ديسمبر 2024.
  6. "stack overflow: glGenFramebuffersOES vs glGenFramebuffers؟" . تم الاطلاع عليه بتاريخ 19-04-2022 .
  7. "بيانات صحفية من كرونوس - OpenGL ES 2.0" . Khronos.org. 5 مارس 2007. مؤرشف من الأصل بتاريخ 28 ديسمبر 2010. تم الاطلاع عليه بتاريخ 23 ديسمبر 2010 .
  8. إدوارد أنجيل، ديف شراينر، رسومات الحاسوب التفاعلية: منهج من أعلى إلى أسفل باستخدام OpenGL القائم على التظليل ، الطبعة السادسة، ص. xxi-xxii، ISBN 978-0-13-254523-5
  9. "لغة تظليل OpenGL® ES" (ملف PDF) . Khronos.org . تم الاطلاع عليه بتاريخ 16 فبراير 2013 .
  10. "نظام رسومات OpenGL®: مواصفات (الإصدار 4.1 (الملف التعريفي الأساسي)" (PDF) . 25 يوليو 2010.
  11. منشي، آفتاب؛ ليتش، جون (2 نوفمبر 2010). "مواصفات ملف تعريف OpenGL ES المشترك - الإصدار 2.0.25 (المواصفات الكاملة)" (ملف PDF) . registry.khronos.org . مؤرشف (ملف PDF) من الأصل في 12 مارس 2025.
  12. "OpenGL© ES – Common Profile Specification 2.0.25 (Difference Specification)" (PDF) . 2 نوفمبر 2010.
  13. 1 2 "دليل برمجة OpenGL ES 3.0" (ملف PDF) . شركة بيرسون للتعليم . تم الاطلاع عليه بتاريخ 18-04-2022 .
  14. ^ "سجل Khronos OpenGL ES - مجموعة Khronos Group Inc" . Register.khronos.org .
  15. "شركة كرونوس تُصدر مواصفات OpenGL ES 3.0 للارتقاء برسومات الأجهزة المحمولة ثلاثية الأبعاد إلى مستوى جديد" . كرونوس. 2012-08-06 . تاريخ الاسترجاع: 2012-08-06 .
  16. "WebGL: رسومات ثنائية وثلاثية الأبعاد للويب" . موزيلا . تم الاطلاع عليه بتاريخ 30-06-2023 .
  17. "مواصفات WebGL 2.0" . registry.khronos.org .
  18. ليتش، جون؛ ليبتشاك، بنج (1 نوفمبر 2019). "OpenGL ES - الإصدار 3.0.6" (ملف PDF) . registry.khronos.org . مؤرشف (ملف PDF) من النسخة الأصلية في 31 يناير 2025.
  19. "مواصفات GLSL ES 3.0" (ملف PDF) . كرونوس . تم الاطلاع عليه بتاريخ 30-06-2023 .
  20. ^ "سجل Khronos OpenGL ES - مجموعة Khronos Group Inc" . Register.khronos.org .
  21. "Khronos تُصدر مواصفات OpenGL ES 3.1" . Khronos.org. 2014-03-17 . تاريخ الاسترجاع: 2014-03-17 .
  22. ليتش، جون (3 نوفمبر 2016). "OpenGL ES - الإصدار 3.1" (ملف PDF) . registry.khronos.org . مؤرشف (ملف PDF) من الأصل في 22 سبتمبر 2024.
  23. ^ "سجل Khronos OpenGL ES - مجموعة Khronos Group Inc" . Register.khronos.org .
  24. ليتش، جون (5 مايو 2022). "OpenGL ES - الإصدار 3.2" (ملف PDF) . registry.khronos.org . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 22 سبتمبر 2024.
  25. "لغة تظليل OpenGL ES - الإصدار 3.20.8" (ملف PDF) . registry.khronos.org . 14 أغسطس 2023. مؤرشف (ملف PDF) من الأصل في 24 يناير 2025.
  26. "الجيل القادم من OpenGL يصبح Vulkan: تفاصيل إضافية منشورة" . مؤرشف من الأصل في 4 مارس 2015.
  27. "منصة أندرويد" . مطورو أندرويد .
  28. "ورقة بيانات منتج نظام التشغيل سيمبيان الإصدار 8.0" . 30-03-2008. مؤرشف من الأصل في 30-03-2008 . تم الاطلاع عليه في 30-03-2008 .
  29. دويدر، جانيل (9 ديسمبر 2022). "OpenGL ES - تطوير ألعاب سيمبيان" . 25 عامًا من البرمجة . مؤرشف من الأصل في 14 يناير 2023. تم الاطلاع عليه في 14 يناير 2023 .
  30. "استخدام OpenGL ES" . منصة تطوير برمجيات QNX (الإصدار 6.5.0) . QNX . تم الاطلاع عليه بتاريخ 8 يناير 2011 .
  31. "عرض توضيحي لـ OpenGL ES بصيغة PPT" . مجموعة كرونوس . 21 نوفمبر 2021.
  32. "عرض تقديمي حول OpenGL ES/PSGL بصيغة PPT" . سوني . كرونوس. 21 نوفمبر 2021.
  33. "مجموعة تطوير البرامج OpenGL ES متوفرة لهاتف نوكيا 6630" . منتديات كرونوس . 22-09-2004 . تاريخ الاطلاع: 14-01-2023 .
  34. "الجديد في هذا الإصدار التجريبي" . ملاحظات الإصدار - تطبيق جافا بلاك بيري . ريسيرش إن موشن . مؤرشف من الأصل بتاريخ 2009-12-02 . تم الاطلاع عليه بتاريخ 2009-12-08 .
  35. كوه، داميان (29 نوفمبر 2009). "ما يمكن توقعه من هواتف بلاك بيري الذكية" . سي نت آسيا . مؤرشف من الأصل في 13 ديسمبر 2009. تم الاطلاع عليه في 8 ديسمبر 2009 .
  36. 1 2 "نظرة عامة على PDK" . مركز مطوري HP Palm. مؤرشف من الأصل بتاريخ 2011-01-01 . تم الاطلاع عليه بتاريخ 2010-12-23 .
  37. "DMP تعلن عن اعتماد نينتندو لبطاقة PICA 200 المتوافقة مع معيار OpenGL ES 1.1" . 21-06-2010 . تاريخ الاطلاع: 02-06-2013 .
  38. "مواصفات نظام أندرويد 2.2" . 1 يوليو 2010. مؤرشف من الأصل بتاريخ 11 أكتوبر 2010.
  39. 1 2 3 4 "امتدادات وإمكانيات Mesa OpenGL" . people.freedesktop.org .
  40. 1 2 "امتدادات وإمكانيات Mesa OpenGL" . people.freedesktop.org .
  41. "برنامج مايمو - نوكيا > جهاز نوكيا N900 المحمول > المواصفات الفنية" . شركة نوكيا. مؤرشف من الأصل بتاريخ 29 أكتوبر 2009. تم الاطلاع عليه بتاريخ 12 يناير 2010 .
  42. "iOS 8 للمطورين" . مطورو Apple.
  43. ^ "منتجات خرونوس المتوافقة" . 21 نوفمبر 2021.
  44. ساج، أنشيل (11 أبريل 2013). "حالة OpenGL ES 3.0: من يملك ماذا؟" . الجانب المشرق للأخبار . مؤرشف من الأصل في 15 يونيو 2013. تم الاطلاع عليه في 22 ديسمبر 2015 .
  45. "منتجات متوافقة مع OpenGL ES3.1" . تم الاطلاع عليه بتاريخ 11-08-2014 .
  46. "وحدات معالجة الرسومات Adreno™" . كوالكوم . تم الاسترجاع في 11 أغسطس 2014 .
  47. "GL ES 3.1 على Adreno 3xx؟" . تم الاطلاع عليه بتاريخ 11-08-2014 .
  48. "استكشاف معمارية مالي ميدغارد من ARM" . AnandTech. مؤرشف من الأصل في 5 يوليو 2014. تم الاطلاع عليه بتاريخ 11 أغسطس 2014 .
  49. "Vivante Vega Cores for 3D" . Vivante. مؤرشف من الأصل بتاريخ 17-10-2014 . تم الاطلاع عليه بتاريخ 10-12-2014 .
  50. "Khronos تُطلق OpenGL ES 3.2 وامتدادات GL جديدة، ولكن بدون Vulkan هذا الأسبوع" . 10 أغسطس 2015. تم الاطلاع عليه في 11 أغسطس 2015 .
  51. "OpenGL ES 3.2 وVulkan - كل ما تحتاج لمعرفته" . Android Authority . 15 أغسطس 2015. تاريخ الاسترجاع: 22 ديسمبر 2015 .
  52. "حالة واجهة برمجة تطبيقات الرسومات ثلاثية الأبعاد: سيغراف 2015" (ملف PDF) . كرونوس . ستشحن الصناعة أكثر من 1.7 مليار جهاز في عام 2015.
  53. "أصدرت NVIDIA برامج تشغيل جاهزة للألعاب 358.50 للعبة Star Wars Battlefront" . AnandTech. مؤرشف من الأصل في 8 أكتوبر 2015. تم الاطلاع عليه في 7 أكتوبر 2015 .
  54. شركة آبل. "ما الجديد في نظام iOS - مطورو آبل" . developer.apple.com . تاريخ الاسترجاع: 7 أغسطس 2018. ستستمر التطبيقات المبنية باستخدام OpenGL ES في العمل على نظام iOS 12، ولكن تم إيقاف دعم OpenGL ES في نظام iOS 13.
  55. كرونوس. "فولكان، أوبن جي إل، وأوبن جي إل إي إس" (ملف PDF) . www.khronos.org . تاريخ الاسترجاع: 24 أبريل 2020 .
  56. "p3/regal: Regal for OpenGL" . GitHub. 18 أكتوبر 2021.
  57. ماكوتشان، جون (7 سبتمبر 2012). "نظرة معمقة: إدخال Regal OpenGL إلى Native Client" . غاماسوترا.
  58. "GL4ES - برنامج تشغيل OpenGL لأجهزة GLES" . GitHub .

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

  • جينسبيرغ، دان؛ بورنومو، بوديريجانتو؛ شرينر، ديف. مونشي، عفتاب (2014). دليل برمجة برنامج OpenGL ES 3.0 . أديسون ويسلي بروفيشنال. رقم ISBN 978-0-321-93388-1.
  • بولي، كاري؛ ارنيو، تومي؛ ميتينين، فيل؛ رويميلا، كيمو وفارالا، جاني (2007). رسومات ثلاثية الأبعاد للجوال مع OpenGL ES وM3G . مورجان كوفمان. رقم ISBN 978-0-12-373727-4.
  • أستل، ديف ودورنيل، ديفيد (2004). تطوير الألعاب باستخدام OpenGL ES . كورس تكنولوجي بي تي آر. رقم ISBN 1-59200-370-2.
  • بولي، كاري؛ آرنيو، تومي؛ رويميلا، كيمو؛ وفارالا، جاني (2005). "تصميم واجهات برمجة الرسومات للأجهزة المحمولة". مجلة IEEE لرسومات الحاسوب وتطبيقاتها . 25 (6). IEEE CG&A 2005: 66-75 . Bibcode : 2005ICGA...25f..66P . doi : 10.1109/MCG.2005.129 . PMID: 16315479. S2CID : 8177273 .