Фаренгейт (графический API) - Fahrenheit (graphics API)

Фаренгейт была попыткой создать единый высокоуровневый API за 3D компьютерная графика объединить Direct3D и OpenGL. Он был разработан в первую очередь Microsoft и SGI а также включены работы из HP -MS совместными усилиями.

Direct3D и OpenGL - это низкоуровневые API, которые концентрируются в основном на этапах рендеринга 3D конвейер рендеринга. Программы, использующие эти API, должны предоставлять значительный объем кода для обработки остальной части конвейера. Фаренгейт надеялся предоставить единый API, который выполнял бы большую часть этой работы, а затем вызывать либо Direct3D, либо OpenGL для последних шагов.

Большая часть первоначального проекта Fahrenheit была заброшена, и Microsoft и SGI в конце концов отказались от попыток совместной работы. В конце концов, только граф сцены часть системы Фаренгейта, известная как XSG, был выпущен релиз, выпуск которого был прекращен вскоре после этого.

История

Фон

В 1990-х годах SGI OpenGL был де-факто стандарт для 3D компьютерной графики. До середины 90-х на разных платформах использовались различные нестандартные решения, но сила SGI на рынке графики в сочетании с усилиями Совет по обзору архитектуры OpenGL (ARB), привела к быстрой стандартизации OpenGL в большинстве графическая рабочая станция рынок. В середине 1990-х годов Microsoft лицензировала OpenGL для своих Windows NT Операционная система как его основная 3D-система; Microsoft позиционировала NT как систему класса рабочих станций, и OpenGL требовался для того, чтобы стать настоящим конкурентом в этой области. Первоначальная поддержка была выпущена в Windows NT Workstation версии 3.5 в 1994 году.[1]

Непонятным было то, что Microsoft в феврале 1995 г. RenderMorphics.[2] Их Лаборатория реальности Продукт представлял собой 3D-библиотеку, написанную специально для игровых целей, ориентированную в первую очередь на рынок «младшего» уровня. После переименования в Direct3D 3.0, Microsoft выпустила его в качестве основного 3D API для Windows 95 и игровое программирование. Это вызвало массовые дебаты как внутри Microsoft, так и за ее пределами, о достоинствах двух API и о том, следует ли продвигать Direct3D.[3][4][5]

В середине 90-х SGI работала над серией попыток предоставить API более высокого уровня поверх OpenGL, чтобы упростить программирование. К 1997 году это превратилось в их OpenGL ++ система, а сохраненный режим C ++ API поверх OpenGL. Они предложили использовать модифицированную версию в качестве единого API поверх OpenGL или нового высокопроизводительного низкоуровневого API, над которым, как известно, работает Microsoft (не на основе Reality Lab). Это не только скроет детали реализации и сделает войну OpenGL / DirectX излишней, но в то же время предложит значительно лучшие высокоуровневые интерфейсы для более надежной объектно-ориентированный среда разработки.

Работа над OpenGL ++ затянулась в ARB до 1997 года. Хотя SGI выделила ресурсы на проект, чтобы предоставить образец реализации, похоже, они были недовольны общим прогрессом и жаловались: «Было проделано много работы, но относительно мало общения».[6] Microsoft, в частности, недвусмысленно заявила, что не будет поддерживать эту работу, и SGI чувствовала, что их поддержка будет иметь важное значение для любых дальнейших усилий.

Объявление

Совместный пресс-релиз в декабре 1997 г.[7] за которым последовало объявление на собрании ARB в начале 1998 г. SGI,[8] объявила, что работа над OpenGL ++ прекращена, и SGI в партнерстве с Microsoft создала новую систему под кодовым названием «Fahrenheit». SGI должна была предоставить основной API среднего размера, используемый в большинстве приложений, График сцены по Фаренгейту,[9] а также модифицированная версия для обработки очень больших моделей из CAD Приложения, Большая модель по Фаренгейту. Microsoft предоставит новый движок низкоуровневого рендеринга для Windows, известный как Низкий уровень Фаренгейта, по сути, замена версии Direct3D на основе Reality Lab.[10] Официальный анонс проекта был на СИГГРАФ 1998 для выпуска в конце 1999 или начале 2000 года.[11]

Фаренгейт стал основным направлением развития SGI. Их MIPS Рабочие станции на базе компьютеров быстро теряли лидерство в производительности, которое было у них в начале 1990-х, и у компании были серьезные проблемы, так как средний ПК медленно, но верно вторгался на рынок высококачественной графики. SGI рассматривала Фаренгейт как стратегию выхода; после завершения они смогут перейти на линейку ПК, при этом предлагая лучшие инструменты разработки для теперь уже универсального API. Хотя работы по портированию не начались, такие инструменты, как Открыть Inventor и OpenGL Performer в будущем планировалось разместить на уровне Fahrenheit, что означало, что они могли предоставить единую полнофункциональную систему разработки для Fahrenheit после ее поставки, поддерживая как своих существующих клиентов, так и новых.[10]

Аннулирование

К 1999 году стало ясно, что Microsoft не собиралась выпускать Low Level; хотя официально он работал над этим, почти не было выделено ресурсов на создание кода.[11] В то же время Microsoft активно инвестировала в DirectX 7.0 (похожий на 3.0 в основном только по названию). Без низкого уровня Fahrenheit не мог быть доставлен в Windows, и проект застопорился. В конце концов SGI отказалась от работы над Fahrenheit[12] и начал планировать другие продукты Scene Graph, которые стали последними в серии подобных проектов.

К 2000 году DirectX 7.0 был на рынке и оказался довольно популярным. DirectX стал основным API во время расцвета 3D-игр в конце 1990-х годов. Microsoft выпустила Fahrenheit Scene Graph как XSG в том же году, но сделала это с примечанием о том, что он не будет поддерживаться. Никаких новых версий XSG никогда не выпускалось, и все страницы, относящиеся к Fahrenheit или XSG, на веб-страницах Microsoft и SGI с тех пор исчезли. Поддержка OpenGL с аппаратным ускорением была удалена из включенных видеодрайверов в Windows XP, хотя большинство производителей видеокарт предоставляют свои собственные реализации.

Описание

По сравнению с Открыть Inventor или Ирис исполнитель, конструкция XSG включала в себя несколько новаторских идей. Примитивы композиции и методы обхода позволяют приложениям создавать сцены таким образом, который лучше всего подходит для структуры визуализируемых данных, но затем применять оптимизатор графа сцены для реструктуризации сцены для более эффективного рендеринга без изменения внешнего вида сцены. Разработчик просто делал то, что казалось естественным, и система заставляла это работать быстро.

Конвейерный рендеринг позволял многопоточному приложению создавать сцену, отбирать ее примитивы и отображать ее в разных потоках (заимствуя из конвейера Performer app-cull-draw). Представление примитивных данных сцены было оптимизировано, чтобы минимизировать объем хранимых данных, чтобы избежать их полного дублирования на поточной основе.

Одной из уникальных особенностей XSG была возможность заменить большинство встроенных методов обхода графа вашими собственными версиями. Разработчики могут написать новые функции для быстрого обхода своих известных методов хранения данных внутри XSG, а затем связать их с существующими путями отрисовки.

Дэвид Блайт, главный архитектор Fahrenheit в SGI, работал в Microsoft над DirectX до 2010 года. Он также был главным архитектором графического программного обеспечения в Intel.

Смотрите также

Рекомендации

  1. ^ PC Magazine, 20 декабря 1994 г.
  2. ^ "История RenderMorphics и Reality Lab". Программное обеспечение Qube. Архивировано из оригинал на 2008-12-23. Получено 2009-01-25.
  3. ^ Турротт, Пол (16 июля 1997 г.). «Open GL против Direct3D: дебаты продолжаются». Windows для ИТ-специалистов. Архивировано из оригинал 5 февраля 2010 г.. Получено 2009-01-25.
  4. ^ Терротт, Пол (21 июля 1997 г.). «Direct3D против OpenGL продолжается: id и Алекс Сент-Джон наносят ответный удар». Windows для ИТ-специалистов. Архивировано из оригинал 5 февраля 2010 г.. Получено 2009-01-25.
  5. ^ Microsoft и 3D-графика: пример подавления инноваций и конкуренции В архиве 23 октября 2007 г. Wayback Machine
  6. ^ «Заметки о заседании Подкомитета по интересам OpenGL ++ ARB». OpenGL. 6 июня 1997 г.. Получено 2009-01-25.
  7. ^ «Silicon Graphics и Microsoft создают стратегический альянс, чтобы определить будущее графики». ВИД НА ГОРУ, Калифорния: Microsoft. 1997-12-17. Архивировано из оригинал на 2009-01-22. Получено 2009-01-25.
  8. ^ Пиявка, Джон (9–10 марта 1998 г.). «Заметки о встрече АРБ». Солт-Лейк-Сити, Юта: OpenGL. Получено 2009-01-25.
  9. ^ Дана, Дженни (сентябрь 1998 г.). «API-интерфейсы инициативы по Фаренгейту». Силиконовая долина. СИГГРАФ. Архивировано из оригинал на 2007-08-07. Получено 2009-01-25.
  10. ^ а б Фаренгейт FAQ, Архив FAQ по SGI от Wayback Machine
  11. ^ а б "Что такое / было по Фаренгейту?". DirectX.com. Архивировано из оригинал на 2008-04-21. Получено 2009-01-25.
  12. ^ «HP готовится к использованию графических процессоров по Фаренгейту». Computergram International. 1999-10-19. Получено 2009-01-25.