
          .gif)

Софья Разумовская, "CR"
X градусов по "Фаренгейту"
|
Рассказы о том, что из себя представляет новое соглашение между Silicon Graphics Inc. (SGI) и Microsoft Corp. для создания нового графического API или о том, какой из существующих API - Direct3D или OpenGL - больше нравится производителям видеоакселераторов, разработчикам программного обеспечения и пользователям - это, в сущности, повторение старой, всем известной, но пока еще не надоевшей сказки о том, как добрые и хорошие Билл Гейтс и Microsoft стали еще добрее и лучше после того, как "скушали" очередную жертву своего неумеренного аппетита.
Борьба за рынок. Была. Есть. Будет?
С ростом производительности персональных компьютеров и появления видеоакселераторов нового поколения трехмерная графика быстро распространилась в большинстве сфер жизни пользователей: дома, в малом и среднем офисе, в игровых залах. Одновременно с развитием новых технологий ускорения видеоизображения началось на первый взгляд скрытоя, но ожесточенное сражение производителей чипсетов, видеокарт и программного обеспечения по завоеванию любви и признания у конечного потребителя. Немногие пользователи задумываются о том, что параллельно этой конкуретной борьбе идет другая, более глобальная - за признание одного из промышленных стандартов большинством разработчиков компьютерных игр и производителями графического hardware. "Товаром" в данном случае является один из прикладных программных интерфейсов (API, application programming interfaces) - Direct3D компании Microsoft и OpenGL компании Silicon Graphics.
OpenGL является попыткой Silicon Graphics сделать универсальной или открыть ("open") свою графическую библиотеку (graphic library - "GL"), разработанную и применяющуюся на графических станциях высокого класса. Обладая большим опытом работы в сфере быстрой и качественной реализации трехмерной графики, в свое время SGI решил завоевать сердца более широкого круга пользователей ПК, упростив графические коды API, но оставив его достаточно мощным для ускорения работы современных видеокарт с современными программами.
С другой стороны, появившийся несколько лет назад на рынке, но столь же стремительно развивающийся, как и все Microsoft'овские продукты, Direct3D был создан в продолжение DirectX специально для игровых приложений. Возможно, потому, что у Microsoft не было ясной, годами проверенной концепции реализации графического кода, Direct3D заслужил у большинства разработчиков репутацию трудного в использовании API.
Несмотря на формальное признание технологического равенства двух API и даже наличие ряда преимуществ при работе с OpenGL, Direct3D является представителем самого-самого-самого влиятельного гиганта компьютерного мира последних лет. Microsoft настолько стремительно подавляет своих конкурентов, что неудивительно предположить скорую добровольную "сдачу" многих производителей в пользу поддержки Direct3D. Вероятно, она уже началась, а разработка совместного API компаниями Microsoft и SGI в рамках проекта "Фаренгейт" - всего лишь соблюдение приличий.
Чем же конкретно может победить Microsoft в данной борьбе и как убедит разработчиков игр использовать Direct3D, а не OpenGL, который им больше нравится? Ответ заключается в том, что разработчики находятся в зависимости от производителей hardware, которые аппаратно реализуют поддержку API. Теоретически API могут реализовываться независимо от "железа", но практически именно аппаратная поддержка является самой быстрой и эффективной для воспроизведения трехмерной графики. Поскольку сейчас большое число производителей 3D-hardware стоят за Microsoft, то сначала появляются драйверы с поддержкой Direct3D, а вслед за ними - насыщенные графикой игры, "заточенные" под тот же интерфейс. Хорошо еще, что программистам не нужно писать игровые драйверы для каждой конкретной видеокарты, а только использовать команды Direct3D.
Большинство разработчиков игровых приложений высказывают личное мнение в пользу OpenGL, аргументируя это множеством его преимуществ по сравнению с Direct3D, но, по роду своей деятельности, они вынуждены подстраиваться под тот интерфейс, который выберут производители "железа". Широко известны резкие высказывания ведущего программиста компании id Software Джона Кармака против использования детища Microsoft, заявляющего, что "нет ни одной стоящей технической причины для сущестования Direct3D".
Программисты находят много преимуществ OpenGL перед Direct3D. Например, такой стандартный, но не полный набор (http://www.xs4all.nl/~ericsmal/:)
- Легкость и простота работы с OpenGL, что экономит разработчику время и деньги.
- Поддержка всех платформ (Win95, Win NT, MacOS, BeOS, OS/2, последние версии UNIX).
- Каждая комманда в Direct3D занимает в четыре раза (некоторые говорят, что в два раза) больше программного кода, чем в OpenGL.
- OpenGL расположен ближе к аппаратной реализации ускорения графики, что делает его работу более эффективной.
- OpenGL легко используется в разработках другими компаниями без вовлечения в свои проекты Silicon Graphics, чего нельзя сказать о Microsoft.
- OpenGL предоставляет возможность полного контроля над процессом визуализации.
Проект "Фаренгейт"
В декабре прошлого года два ведущих производителя графических API заявили всему миру о новом совместном проекте под кодовым названием "Фаренгейт" для создания нового универсального API. В результате компьютерная индустрия получит возможность создавать более мощные приложения визуализации данных на основе единой расширяемой архитектуры.
Другими словами, через пару лет разработчики графических программных продуктов, игр, Интернет-приложений, пакетов для создания и обработки цифрового фото и видеоизображения, медицинских и научных приложений для ускорения трехмерной графики будут пользоваться новыми интерфейсами на основе мультимедийной архитектуры Microsoft DirectX для персональных компьютеров с операционными системами Windows и для рабочих станций Silicon Graphics, работающих под UNIX-платформой. Фаренгейт вберет в себя все технологические решения существующих API: Direct3D®, DirectDraw®, OpenGL®, OpenGL Scene Graph™, OpenGL Optimizer™.
Silicon Graphics и Microsoft имеют семилетний опыт совместной деятельности по разработке OpenGL для Windows NT. Возникновение нового проекта говорит не столько о доброжелательном отношении двух сторон друг к другу, сколько о необходимости и выгодности их альянса.
SGI понимает, что подавляющее большинство рынка графических продуктов попало под влияние Windows как основной платформы для потребительских, коммерческих и даже профессиональных приложений. Время божественного поклонения фантастическим по производительности суперкомпьютерам Cray проходит, и было бы неверно терять потенциальных клиентов. Microsoft, хотя успел завоевать почти всех и вся, но не может остановить свой рост, постоянно расширяя зоны влияния. Перспективы завоевания рынка 3D-продуктов заманчивы, но Microsoft не хватает опыта создания мощного и логически стройного API. Таким образом, Silicon Graphics находит в "Фаренгейте" моральную и материальную поддержку пошатнувшегося благосостояния, а Microsoft набирается "ума-разума" и присваивает результаты многолетней работы над OpenGL.
На "Фаренгейт" можно посмотреть и как на популяризацию высокотехнологичного профессионального продукта OpenGL для общепотребительских целей Microsoft Windows. Совместная деятельность будет направлена не только на создание нового API, но и на развитие существующих: OpenGL - для профессиональных графических приложений под Windows, Direct3D - для потребительских и игровых приложений под Windows.
В рамках проекта "Фаренгейт" будут созданы три компонента:
- Фаренгейт - низкоуровневый API, который станет основным графическим интерфейсом как для потребительских, так и для профессиональных Windows-приложений. Он станет продолжением ряда Direct3D, DirectDraw и OpenGL, сохранив вместе с тем полную совместимость с приложениями и драйверами, написанными для Direct3D и функциональную совместимость с технологией OpenGL. Выпуск планируется в 2000 году.
- Фаренгейт - Scene Graph API будет создан на базе существующего интерфейса Scene Graph компании Silicon Graphics и предоставит программистам более высокий уровень абстрагирования для создания приложений под Windows и IRIX. Разработчики получат возможность работать с высокоуровневыми структурами данных и алгоритмами, что повысит общую производительность графических систем и поможет улучшить работу насыщенных графикой приложений. Ожидается в первой половине 1999 года.
- Фаренгейт Large Model Visualization Extensions (LMVE, расширения для визуализации сложных моделей) будет создан на основе интерфейса OpenGL Optimizer с учетом дополнительных функций DirectModel (совместный продукт Hewlett-Packard и Microsoft). Он будет связан с работой Scene Graph API. Модели расширенной визуализации позволят выполнять интерактивные манипуляции с такими сложными трехмерными объектами как, например, модель автомобиля. LMVE будет иметь функции многоступенчатого упрощения графики, с помощью которой программисты смогут легко писать приложения, взаимодействующие с очень большими графическими базами данных. Ожидается в первой половине 1999 года.
Сразу после подписания соглашения инженеры обеих компаний займутся созданием и распространением новых интерфейсов, а также DDK и SDK к ним. Проект пользуется вниманием со стороны разработчиков hardware и software, в частности Intel, предоставляющей максимальную поддержку своего процессора Pentium II.
Главный вывод из всего сказанного выше остается таким же, как и в начале статьи. Microsoft становится все сильнее и могущественнее за счет своей "прожорливости" и чужого "ума". Фактически, новый Фаренгейт API станет продолжением архитектуры DirectX под платфортой Windows, а это отодвигает на задний план все заслуги Silicon Graphics и преимущества ее OpenGL. Как верно заметили на dz-online, даже в ссылках для более подробной информации о новом интерфейсе два партнера проявили себя по-разному. Silicon Graphics предлагает обратиться на http://www.sgi.com/fahrenheit/, а Microsoft - на http://www.microsoft.com/directx/.
Вникнув в глобальные проблемы выбора производителей и разработчиков, стоит порадоваться отсутствию таковых у нас, простых смертных. Пожалуй, мы уже привыкли к ситуации, когда пользуешься тем, что уже кто-то выбрал за нас. Пожелаем им мудрости!
Выдержки из статьи "Direct3D vs OpenGL" Эрика Смолли публикуются с разрешения автора (ericsmal@xs4all.nl)
|

          .gif)
|