فهرنهايت (واجهة برمجة تطبيقات الرسومات)
كان مشروع فهرنهايت محاولة لإنشاء واجهة برمجة تطبيقات موحدة عالية المستوى لرسومات الحاسوب ثلاثية الأبعاد لتوحيد Direct3D و OpenGL . وقد صُمم المشروع بشكل أساسي من قبل مايكروسوفت و SGI ، وشمل أيضًا عملاً من جهد مشترك بين HP ومايكروسوفت.
تُعدّ Direct3D وOpenGL واجهات برمجة تطبيقات منخفضة المستوى تُركّز بشكل أساسي على خطوات العرض في مسار معالجة الرسومات ثلاثية الأبعاد . ويتعيّن على البرامج التي تستخدم هذه الواجهات كتابة قدر كبير من التعليمات البرمجية للتعامل مع بقية مسار المعالجة. وكانت شركة Fahrenheit تأمل في توفير واجهة برمجة تطبيقات واحدة تُنجز معظم هذا العمل، ثم تستدعي إما Direct3D أو OpenGL للخطوات الأخيرة.
تم التخلي عن جزء كبير من مشروع فهرنهايت الأصلي، وتخلت مايكروسوفت وشركة إس جي آي في نهاية المطاف عن محاولات التعاون. في النهاية، لم يُصدر سوى جزء مخطط المشهد من نظام فهرنهايت، المعروف باسم XSG ، والذي توقف تطويره بعد فترة وجيزة.
تاريخ
خلفية
في تسعينيات القرن الماضي، كان OpenGL من SGI المعيار الفعلي لرسومات الحاسوب ثلاثية الأبعاد. قبل منتصف التسعينيات، استخدمت منصات مختلفة حلولًا مخصصة متنوعة، لكن قوة SGI في سوق الرسومات، إلى جانب جهود مجلس مراجعة بنية OpenGL (ARB)، أدت إلى توحيد معيار OpenGL بسرعة في معظم محطات عمل الرسومات . في منتصف التسعينيات، رخصت مايكروسوفت OpenGL لنظام التشغيل Windows NT كنظامها الأساسي للرسومات ثلاثية الأبعاد؛ إذ كانت مايكروسوفت تسعى لتسويق NT كنظام من فئة محطات العمل، وكان OpenGL ضروريًا للمنافسة الحقيقية في هذا المجال. صدر الدعم الأولي في Windows NT Workstation الإصدار 3.5 عام 1994. [ 1 ]
زاد الأمر تعقيدًا استحواذ مايكروسوفت على شركة ريندرمورفيكس في فبراير 1995. [ 2 ] كان منتجهم "رياليتي لاب " مكتبة ثلاثية الأبعاد مصممة خصيصًا لأغراض الألعاب، وموجهة بالدرجة الأولى إلى سوق الأجهزة منخفضة التكلفة. بعد إعادة تسميتها إلى دايركت ثري دي 3.0 ، أطلقتها مايكروسوفت كواجهة برمجة التطبيقات ثلاثية الأبعاد الرئيسية لنظام ويندوز 95 وبرمجة الألعاب. أثار هذا جدلًا واسعًا، داخل مايكروسوفت وخارجها، حول مزايا واجهتي برمجة التطبيقات وما إذا كان ينبغي الترويج لدايركت ثري دي أم لا. [ 3 ] [ 4 ] [ 5 ]
خلال منتصف التسعينيات، عملت شركة SGI على سلسلة من الجهود لتوفير واجهة برمجة تطبيقات (API) عالية المستوى مبنية على OpenGL لتسهيل البرمجة. وبحلول عام ١٩٩٧، تطورت هذه الجهود إلى نظام OpenGL++ ، وهو واجهة برمجة تطبيقات C++ بنمط الاحتفاظ مبنية على OpenGL. اقترحت الشركة استخدام نسخة معدلة كواجهة برمجة تطبيقات واحدة مبنية إما على OpenGL أو على واجهة برمجة تطبيقات جديدة عالية الأداء ومنخفضة المستوى كانت مايكروسوفت تعمل عليها (غير مبنية على Reality Lab). لم يقتصر الأمر على إخفاء تفاصيل التنفيذ وجعل المنافسة بين OpenGL وDirectX غير ضرورية، بل وفر أيضًا واجهات عالية المستوى أفضل بكثير لبيئة تطوير كائنية التوجه أكثر قوة .
استمر العمل على OpenGL++ في مجلس مراجعة التطبيقات (ARB) طوال عام 1997. ورغم أن شركة SGI خصصت موارد للمشروع لتوفير نموذج تطبيقي، إلا أنها بدت غير راضية عن التقدم المحرز بشكل عام، واشتكت قائلة: "لقد بُذل جهد كبير، ولكن التواصل كان ضعيفًا نسبيًا". [ 6 ] وقد صرحت مايكروسوفت تحديدًا بوضوح تام أنها لن تدعم هذا الجهد، ورأت SGI أن دعمها سيكون ضروريًا لأي جهود مستقبلية.
إعلان
في بيان صحفي مشترك صدر في ديسمبر 1997، [ 7 ] أعقبه إعلانٌ في اجتماع مجلس مراجعة التطبيقات (ARB) في أوائل عام 1998 من قِبل شركة SGI، [ 8 ] أُعلن فيه عن التخلي عن العمل على OpenGL++ ودخول SGI في شراكة مع مايكروسوفت لإنتاج نظام جديد يحمل الاسم الرمزي "فهرنهايت". كان من المقرر أن تُوفر SGI واجهة برمجة التطبيقات (API) الرئيسية "متوسطة الحجم" المستخدمة في معظم التطبيقات، وهي Fahrenheit Scene Graph ، [ 9 ] بالإضافة إلى نسخة مُعدلة للتعامل مع النماذج الكبيرة جدًا من تطبيقات التصميم بمساعدة الحاسوب (CAD) ، وهي Fahrenheit Large Model . أما مايكروسوفت، فكانت ستُوفر مُحرك عرض جديد منخفض المستوى لنظام ويندوز يُعرف باسم Fahrenheit Low Level ، وهو في الأساس بديلٌ لنسخة Direct3D القائمة على Reality Lab. [ 10 ] أُعلن عن المشروع رسميًا في مؤتمر SIGGRAPH 1998، وكان من المُقرر إصداره في أواخر عام 1999 أو أوائل عام 2000. [ 11 ]
أصبح برنامج Fahrenheit محور التركيز الرئيسي للتطوير في شركة SGI. فقد بدأت محطات العمل الخاصة بهم، المبنية على معالجات MIPS، تفقد بسرعة تفوقها في الأداء الذي كانت تتمتع به في أوائل التسعينيات، وواجهت الشركة مشكلة حقيقية مع دخول أجهزة الكمبيوتر الشخصية، ببطء ولكن بثبات، إلى سوق الرسومات المتطورة. رأت SGI في Fahrenheit استراتيجية خروج؛ فبمجرد اكتماله، ستتمكن من الانتقال إلى مجموعة منتجات تعتمد على أجهزة الكمبيوتر الشخصية مع الاستمرار في تقديم أفضل أدوات التطوير لواجهة برمجة التطبيقات (API) العالمية. على الرغم من عدم بدء أي أعمال نقل، فقد كان من المقرر في المستقبل دمج مجموعات أدوات مثل Open Inventor و OpenGL Performer مع Fahrenheit، مما يعني أنها ستتمكن من توفير نظام تطوير واحد متكامل الوظائف لـ Fahrenheit عند إصداره، لدعم عملائها الحاليين والجدد على حد سواء. [ 10 ]
إلغاء
بحلول عام ١٩٩٩، كان من الواضح أن مايكروسوفت لا تنوي إطلاق Low Level؛ فرغم عملها الرسمي عليه، لم تُخصص موارد تُذكر لإنتاج الكود البرمجي. [ ١١ ] في الوقت نفسه، كانت مايكروسوفت بصدد استثمار ضخم في DirectX 7.0 (المشابه لـ 3.0 في الاسم فقط). وبدون Low Level، لم يكن من الممكن إطلاق Fahrenheit على نظام ويندوز، فتوقف المشروع. وفي النهاية، تخلت SGI عن العمل على Fahrenheit [ ١٢ ] وبدأت التخطيط لمنتجات أخرى تعتمد على Scene Graph، والتي أصبحت آخر مشروع في سلسلة من هذه المشاريع.
بحلول عام 2000، كان DirectX 7.0 متوفرًا في السوق، وحقق شعبية واسعة. أصبح DirectX واجهة برمجة التطبيقات الرئيسية خلال ازدهار ألعاب ثلاثية الأبعاد في أواخر التسعينيات. أصدرت مايكروسوفت برنامج Fahrenheit Scene Graph باسم XSG في العام نفسه، لكنها أشارت إلى عدم دعمه. لم تُصدر أي إصدارات جديدة من XSG، واختفت جميع الصفحات المتعلقة بـ Fahrenheit أو XSG من مواقع مايكروسوفت وSGI الإلكترونية. تم إسقاط دعم OpenGL المُسرّع بواسطة الأجهزة من برامج تشغيل الفيديو المضمنة في نظام التشغيل Windows XP ، على الرغم من أن معظم مصنعي بطاقات الفيديو يقدمون تطبيقاتهم الخاصة.
وصف
بالمقارنة مع Open Inventor أو Iris Performer ، تضمن تصميم XSG بعض الأفكار المبتكرة. فقد سمحت عناصر التركيب الأساسية وطرق التصفح للتطبيقات بإنشاء مشاهد بطريقة تتناسب مع بنية البيانات المعروضة، ثم تطبيق مُحسِّن رسم بياني للمشهد لإعادة هيكلة المشهد من أجل عرض أكثر كفاءة دون تغيير مظهره. ببساطة، كان على المطور القيام بما يبدو طبيعيًا، وكان النظام يُنجز المهمة بسرعة.
أتاحت تقنية العرض المتسلسل لتطبيق متعدد الخيوط إنشاء المشهد، وحذف عناصره الأولية، وعرضه في خيوط مختلفة (بالاستعانة بنموذج Performer app-cull-draw pipeline). وقد تم تحسين تمثيل بيانات المشهد الأولية لتقليل حجم البيانات المخزنة، وذلك لتجنب تكرارها بالكامل في كل خيط على حدة.
من أبرز ميزات XSG الفريدة إمكانية استبدال معظم الطرق المدمجة لتصفح الرسم البياني بنسخ خاصة. إذ يستطيع المطورون كتابة دوال جديدة لتصفح طرقهم المعروفة لتخزين البيانات داخل XSG بسرعة، ثم ربطها بمسارات العرض الحالية.
عمل ديفيد بليث، المهندس المعماري الرئيسي لبرنامج فهرنهايت في شركة SGI، في شركة مايكروسوفت على DirectX حتى عام 2010. كما شغل منصب كبير مهندسي برامج الرسومات في شركة إنتل.
انظر أيضاً
مراجع
- ↑ مجلة الكمبيوتر الشخصي، 20 ديسمبر 1994
- ↑ "تاريخ برنامج RenderMorphics و Reality Lab" . شركة Qube Software. مؤرشف من الأصل بتاريخ 23 ديسمبر 2008. تم الاطلاع عليه بتاريخ 25 يناير 2009 .
- ↑ ثوروت، بول (16 يوليو 1997). "OpenGL مقابل Direct3D: النقاش مستمر" . Windows IT Pro. مؤرشف من الأصل في 5 فبراير 2010. تم الاطلاع عليه بتاريخ 25 يناير 2009 .
- ↑ ثوروت، بول (21 يوليو 1997). "مواجهة Direct3D وOpenGL مستمرة: شركة id وأليكس سانت جون يردان بقوة" . مجلة Windows IT Pro. مؤرشف من الأصل في 5 فبراير 2010. تاريخ الاسترجاع: 25 يناير 2009 .
- ↑ مايكروسوفت ورسومات ثلاثية الأبعاد: دراسة حالة في قمع الابتكار والمنافسة. مؤرشفة في 23 أكتوبر 2007 على موقع Wayback Machine.
- ↑ "ملاحظات اجتماع اللجنة الفرعية المعنية بـ OpenGL ++ ARB" . OpenGL. 6 يونيو 1997. تم الاطلاع عليه بتاريخ 25 يناير 2009 .
- ↑ "سيليكون غرافيكس ومايكروسوفت تُشكلان تحالفًا استراتيجيًا لرسم ملامح مستقبل الرسومات" . ماونتن فيو، كاليفورنيا: مايكروسوفت. ١٧ ديسمبر ١٩٩٧. مؤرشف من الأصل في ٢٢ يناير ٢٠٠٩. تم الاطلاع عليه في ٢٥ يناير ٢٠٠٩ .
- ↑ ليتش، جون (9-10 مارس 1998). "ملاحظات اجتماع مجلس مراجعة التطبيقات" . سولت ليك سيتي، يوتا: OpenGL. مؤرشف من الأصل في 16 مايو 2008. تم الاطلاع عليه في 25 يناير 2009 .
- ↑ دانا، جيني (سبتمبر 1998). "واجهات برمجة تطبيقات مبادرة فهرنهايت" . وادي السيليكون . سيغراف. مؤرشف من الأصل في 7 أغسطس 2007. تم الاطلاع عليه في 25 يناير 2009 .
- الأسئلة الشائعة حول فيلم فهرنهايت 1 و 2 ، أرشيف Wayback Machine للأسئلة الشائعة لشركة SGI
- 1 2 "ما هو/كان فهرنهايت؟" . DirectX.com. مؤرشف من الأصل بتاريخ 21-04-2008 . تم الاطلاع عليه بتاريخ 25-01-2009 .
- ↑ "شركة إتش بي تُجهّز محركات رسومات فهرنهايت" . مجلة كمبيوترجرام الدولية . ١٩٩٩-١٠-١٩ . تاريخ الاسترجاع: ٢٠٠٩-٠١-٢٥ .
- واجهات برمجة تطبيقات الرسومات ثلاثية الأبعاد
- واجهات برمجة تطبيقات الرسم البياني ثلاثي الأبعاد
- DirectX
- OpenGL
