Фаренгейт (графический API)
«Фаренгейт» был попыткой создать единый высокоуровневый API для компьютерной 3D-графики, чтобы объединить Direct3D и OpenGL . Он был разработан в первую очередь Microsoft и SGI , а также включал в себя работу HP совместную и Microsoft.
Direct3D и OpenGL — это API-интерфейсы низкого уровня, которые концентрируются в первую очередь на этапах рендеринга конвейера 3D- рендеринга . Программы, использующие эти API, должны предоставлять значительный объем кода для обработки остальной части конвейера. Фаренгейт надеялся предоставить единый API, который будет выполнять большую часть этой работы, а затем вызывать Direct3D или OpenGL для последних шагов.
Большая часть первоначального проекта «Фаренгейт» была заброшена, а Microsoft и SGI в конечном итоге отказались от попыток совместной работы. В конце концов, только часть графа сцены системы Фаренгейта, известная как XSG , была выпущена и вскоре после этого была прекращена.
История
[ редактировать ]Фон
[ редактировать ]В 1990-х годах OpenGL от SGI был фактическим стандартом компьютерной 3D-графики. До середины 90-х годов на разных платформах использовались различные индивидуальные решения, но сила SGI на графическом рынке в сочетании с усилиями Совета по обзору архитектуры OpenGL (ARB) привела к быстрой стандартизации OpenGL на большинстве графических рабочих станций. рынок. В середине 1990-х годов Microsoft лицензировала OpenGL для своей Windows NT операционной системы в качестве основной 3D-системы; Microsoft позиционировала NT как систему класса рабочих станций, и OpenGL был необходим для того, чтобы стать реальным конкурентом в этой области. Первоначальная поддержка была реализована в Windows NT Workstation версии 3.5 в 1994 году. [1]
Смущающую ситуацию вызвала покупка Microsoft компании RenderMorphics в феврале 1995 года . [2] Их продукт Reality Lab представлял собой 3D-библиотеку, написанную специально для игровых целей и ориентированную в первую очередь на рынок «бюджетных» игр. После переименования его в Direct3D 3.0 Microsoft выпустила его в качестве основного 3D API для Windows 95 и программирования игр. Это вызвало массовые дебаты как внутри Microsoft, так и за ее пределами о достоинствах двух API и о том, следует ли продвигать Direct3D. [3] [4] [5]
В середине 90-х SGI работала над рядом усилий по предоставлению API более высокого уровня поверх OpenGL, чтобы упростить программирование. К 1997 году это превратилось в систему OpenGL++ — с сохраненным режимом API C++ поверх OpenGL. Они предложили использовать модифицированную версию в качестве единого API поверх OpenGL или нового высокопроизводительного низкоуровневого API, над которым, как известно, работала Microsoft (не на основе Reality Lab). Это не только скроет детали реализации и сделает войну OpenGL/DirectX ненужной, но в то же время предложит значительно лучшие высокоуровневые интерфейсы для более надежной объектно-ориентированной среды разработки.
Работа над OpenGL++ в ARB продолжалась до 1997 года. Хотя SGI выделила ресурсы на проект, чтобы предоставить образец реализации, похоже, они были недовольны общим прогрессом и жаловались: «Работы было много, но общения относительно мало». [6] Microsoft, в частности, недвусмысленно заявила, что не будет поддерживать эти усилия, и SGI считала, что их поддержка будет необходима для продвижения любых усилий вперед.
Объявление
[ редактировать ]Совместный пресс-релиз в декабре 1997 г. [7] за которым последовало заявление SGI на заседании ARB в начале 1998 года: [8] объявил, что работа над OpenGL++ была прекращена, и SGI заключила партнерское соглашение с Microsoft для создания новой системы под кодовым названием «Фаренгейт». SGI должна была предоставить основной API «среднего размера», используемый в большинстве приложений, Fahrenheit Scene Graph . [9] а также модифицированная версия для работы с очень большими моделями из САПР приложений — Большая модель по Фаренгейту . Microsoft предоставит новый механизм низкоуровневого рендеринга для Windows, известный как Fahrenheit Low Level , который, по сути, заменит версию Direct3D на базе Reality Lab. [10] О проекте было официально объявлено на SIGGRAPH 1998, релиз которого запланирован на конец 1999 или начало 2000 года. [11]
Фаренгейт стал основным направлением разработки SGI. Их рабочие станции на базе MIPS быстро теряли лидерство в производительности, которое они имели в начале 1990-х годов, и у компании были серьезные проблемы, поскольку средний ПК медленно, но верно вторгался на рынок высококачественной графики. SGI рассматривала градус Фаренгейта как стратегию выхода; после завершения они смогут перейти на линейку на базе ПК, сохраняя при этом лучшие инструменты разработки для теперь универсального API. Несмотря на то, что работа по переносу не началась, такие наборы инструментов, как Open Inventor и OpenGL Performer, в будущем планировалось использовать на уровне Fahrenheit, а это означало, что они могли бы предоставить единую полнофункциональную систему разработки для Fahrenheit при ее поставке, поддерживая как своих существующих клиентов, так и новых. . [10]
Отмена
[ редактировать ]К 1999 году стало ясно, что Microsoft не намерена предоставлять низкий уровень; хотя официально над этим работали, на фактическое создание кода почти не было выделено ресурсов. [11] В то же время Microsoft активно инвестировала в DirectX 7.0 (похожий на версию 3.0, в основном только по названию). Без Low Level «Фаренгейт» не мог быть выпущен на Windows, и проект застопорился. В конце концов SGI отказалась от работы над Фаренгейтом. [12] и начал планировать другие продукты Scene Graph, которые стали последними в серии подобных проектов.
К 2000 году DirectX 7.0 появился на рынке и оказался довольно популярным. DirectX стал основным API во время развития 3D-игр в конце 1990-х годов. В том же году Microsoft выпустила график сцен по Фаренгейту под названием XSG, но сделала это с примечанием о том, что он не будет поддерживаться. Никаких новых версий XSG никогда не выпускалось, и с тех пор все страницы, связанные с Фаренгейтом или XSG, на веб-страницах Microsoft и SGI исчезли. Поддержка OpenGL с аппаратным ускорением была исключена из включенных в состав видеодрайверов Windows XP , хотя большинство производителей видеокарт предоставляют свои собственные реализации.
Описание
[ редактировать ]По сравнению с Open Inventor или Iris Performer , конструкция XSG включала в себя некоторые новые идеи. Примитивы композиции и методы обхода позволяли приложениям создавать сцены способом, наиболее подходящим для структуры визуализируемых данных, а затем применять оптимизатор графа сцены для реструктуризации сцены для более эффективного рендеринга без изменения внешнего вида сцены. Разработчик просто делал то, что казалось естественным, и система заставляла это работать быстро.
Конвейерный рендеринг позволял многопоточному приложению создавать сцену, отбирать ее примитивы и визуализировать ее в разных потоках (заимствовано из конвейера App-cull-draw Performer). Представление примитивных данных сцены было оптимизировано, чтобы минимизировать объем хранимых данных и избежать их полного дублирования для каждого потока.
Одной из уникальных особенностей XSG была возможность заменить большинство встроенных методов обхода графа собственными версиями. Разработчики могли бы написать новые функции для быстрого обхода известных методов хранения данных внутри XSG, а затем связать их с существующими путями рендеринга.
Дэвид Блайт, главный архитектор Фаренгейта в SGI, работал в Microsoft над DirectX до 2010 года. Он также был главным архитектором графического программного обеспечения в Intel.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Журнал PC, 20 декабря 1994 г.
- ^ «История лаборатории рендерморфики и реальности» . Программное обеспечение Qube. Архивировано из оригинала 23 декабря 2008 г. Проверено 25 января 2009 г.
- ^ Терротт, Пол (16 июля 1997 г.). «Open GL против Direct3D: дебаты продолжаются» . Windows ИТ-специалист. Архивировано из оригинала 5 февраля 2010 года . Проверено 25 января 2009 г.
- ^ Терротт, Пол (21 июля 1997 г.). «Противостояние Direct3D и OpenGL продолжается: id и Алекс Сент-Джон наносят ответный удар» . Windows ИТ-специалист. Архивировано из оригинала 5 февраля 2010 года . Проверено 25 января 2009 г.
- ^ Microsoft и 3D-графика: пример подавления инноваций и конкуренции. Архивировано 23 октября 2007 г., в Wayback Machine.
- ^ «Заметки о заседании подкомитета по интересам OpenGL ++ ARB» . OpenGL. 6 июня 1997 года . Проверено 25 января 2009 г.
- ^ «Silicon Graphics и Microsoft образуют стратегический альянс, чтобы определить будущее графики» . Маунтин-Вью, Калифорния: Microsoft. 17 декабря 1997 г. Архивировано из оригинала 22 января 2009 г. Проверено 25 января 2009 г.
- ^ Лич, Джон (9–10 марта 1998 г.). «Записки заседания АРБ» . Солт-Лейк-Сити, Юта: OpenGL . Проверено 25 января 2009 г.
- ^ Дана, Дженни (сентябрь 1998 г.). «API Инициативы по Фаренгейту» . Силиконовая долина . СИГГРАФ. Архивировано из оригинала 7 августа 2007 г. Проверено 25 января 2009 г.
- ^ Jump up to: а б Часто задаваемые вопросы по Фаренгейту , Архив часто задаваемых вопросов SGI от Wayback Machine
- ^ Jump up to: а б «Что такое/было по Фаренгейту?» . DirectX.com. Архивировано из оригинала 21 апреля 2008 г. Проверено 25 января 2009 г.
- ^ «HP готовит графические процессоры Fahrenheit» . Компьютерграм Интернэшнл . 19 октября 1999 г. Проверено 25 января 2009 г.