Появление 3D графики в Интернете — это следующий этап его развития, но программистам, которые хотят работать в новом измерении, в следующем году придётся сделать выбор между двумя конкурирующими технологиями: Flash и WebGL.
В течение многих лет технология Adobe Flash была единственным способом создания онлайн-игр, таких как Crush the Castle, Bloons, Desktop Tower Defense или Stunt Bike Pro. Но в то же время работали и сторонники веб-стандартов над созданием такой веб-технологии, которая была бы открытой, свободной от коммерческих лицензий и неуязвимой в плане безопасности (чего не скажешь о плагине Flash Player). Их труд воплощается в жизнь с приходом веб-шрифтов, 2D графики, технологий воспроизведения аудио и видео, эффектов анимации и других возможностей, которые раньше были возможны только при использовании Flash.
"Мы считаем, что 3D должен работать непосредственно за счет возможностей браузеров, без подключения сторонних плагинов", — сказал Тим Йоханссон, ведущий разработчик Opera.
Такая ситуация уже нам знакома. Хотя в случае с 3D существует одно отличие: похоже, что WebGL сразу же обгонит технологию Adobe Flash 3D.
"Технология WebGL скорее всего не будет завершена до начала 2011 года, хотя предварительная спецификация версии 1.0 может выйти до конца 2010-го", — заявил Владимир Вукицевич, главный инженер Mozilla, который помогает в разработке WebGL. Что еще более важно, разработчики Chrome, Firefox, Safari, Opera начали реализовывать WebGL в своих браузерах.
Хотя все немного сложнее, чем кажется — Microsoft не собирается реализовывать WebGL. Без поддержки WebGL в Internet Explorer веб-разработчики, работающие на широкий рынок, в значительной степени проигнорируют эту технологию. Особенно учитывая то, что Flash отлично работает и в IE.
По сути Microsoft окажут решающее влияние на будущее 3D в Интернете. Они без интереса относились к WebGL в прошлом, и сегодня никак не демонстрируют свою позицию. Если же в Microsoft решат принять WebGL в каком-либо виде — а к этому есть некоторые предпосылки — то IE9 со своим аппаратным ускорением прекрасно справиться с возложенными на него задачами.
Так или иначе, все это означает, что 3D будет все шире распространяться в Интернете. А это приведет к построению более мощных виртуальных миров в онлайн-играх, запускаемых в браузерах; добавлению нового измерения в сервисах онлайн-карт, такого как просмотр улиц; внедрению новых 2D и 3D интерфейсов в веб-приложения и на веб-сайты. Ведь 3D — не только для игр.
3D Flash и Molehill
Разработка 3D Flash от Adobe под кодовым названием Molehill (Слон), идёт полным ходом, но бета-версия не выйдет до середины 2011 года. "Я думаю, это произойдет в конце второго или начале третьего квартала 2011-го", — объявил Ануп Мурарка, директор Adobe по маркетингу продуктов для платформы Flash.
Хотя не следует исключать Adobe из этой гонки только потому, что они не первые. Flash имеет огромное сообщество приверженных разработчиков, а также мощные инструменты разработки и программирования. И когда наконец 3D технология будет внедрена во Flash, то она будет интегрирована в существующие инструменты разработки, и таким образом программисты получат доступ ко всем богатствам среды Flash, к которым они уже привыкли", — утверждает Мурарка.
В официальном сообщении компании Adobe большее внимание уделяется широкому распространению Flash на различные устройства, а не внедрению новых возможностей 3D графики. "Сегодня Flash установлен на 98% персональных компьютеров", — заявляют представители компании Adobe.
"В свое время существовало множество вариантов реализации 3D — других 3D плагинов, некоторые из которых мы использовали", — сказал Мурарка, — "Нашей же целью является, чтобы технология 3D во Flash была доступна всегда, без использования каких-либо плагинов."
Хотя на самом деле Adobe не сможет ускорить переход к 3D, даже соревнуясь с конкурирующими технологиями, потому что более высоким приоритетом в Adobe является поддержка мобильных устройств.
"Я думаю, большим достижением для нас за последние 18-24 месяца была реорганизация кода наших продуктов для возможности их работы на различных платформах. Разработка под различные устройства: настольные ПК, мобильные компьютеры и телевизоры, — нетривиальная задача", — сказал Мурарка, — "Создание совершенно новой технологии и движка 3D ещё более непростая задача."
Технология Molehill была представлена в октябре на конференции Adobe Max. Adobe показала, что Molehill имеет очень низкоуровневый интерфейс. Но другие компании — и в конечном счете и сама Adobe — будут разрабатывать высокоуровневый интерфейс над Molehill для тех, кто предпочитает иметь дело с более сложными 3D-объектами.
"С аппаратным ускорением Flash 3D должна быть способна отрисовывать образы, состоящие из сотен и тысяч полигонов на больших экранах с частотой 60 кадров в секунду", — сказали в Adobe. Скорее всего Flash 3D будет использовать интерфейс Microsoft DirectX 9 на Windows при передаче 3D инструкций видеокарте. На Linux и Mac OS X Molehill использует другой стандарт 3D интерфейса OpenGL 1.3, а на мобильных устройствах он будет использовать урезанный OpenGL ES 2.0, который доступен на новых телефонах iPhone и Android.
"Веб-сообщество в настоящее время ищет новые пути для модернизации плагинов — чтобы сделать их содержимое доступным для индексирования поисковыми системами, создать возможность взаимодействия с веб-страницами", — утверждают сотрудники корпорации Google в книге "20 Things I Learned About Browsers and the Web".
Кроме всего прочего у Flash существует собственный 3D плагин — Unity 3D. Он уже установлен на 40 миллионах компьютеров и используется в сотне онлайн-игр. Unity 3D — высокоуровневый игровой движок с большим количеством встроенных возможностей, хотя пока он не распространен в мобильном секторе Интернета и несравним с широтой распространения самого Flash.
Что касается WebGL
То, что OpenGL и WebGL оканчиваются на две одинаковые буквы, не является простым совпадением. WebGL является способом реализации возможностей OpenGL ES 2.0 в языке JavaScript. Оба стандарта поддерживаются консорциумом Khronos Group.
Эта совместимость с OpenGL является большим преимуществом WebGL.
"Существует множество обучающих и справочных ресурсов по OpenGL в Интернете и в печатных изданиях. Кроме того существуют курсы обучению OpenGL, и часто в университетах студенты также изучают OpenGL. Все знания OpenGL легко можно приспособить и для WebGL", — заявил Вукицевич.
"Возможно в начале немногие веб-разработчики будут использовать WebGL, но мы думаем, что такие JavaScript-фреймворки как jQuery (который предоставляет программные возможности для решения широкого круга задач) начнут интеграцию WebGL, или же появятся новые фреймворки, реализующие его", — сказал Генри Бридж, менеджер по продукции Google Chrome.
Google уже имеет один из таких фреймворков — плагин O3D. "Реализация WebGL в O3D уже пригодна к использованию", — говорит Бридж. "Другими популярными фреймворками являются SpiderGL и GLGE, но мы уверены, что их будет намного больше."
WebGL будет работать на мобильных телефонах. Это требование сегодняшнего дня с учетом того, что смартфоны набирают популярность и широко используются. Те из них, которые поддерживают OpenGL 2.0 будут использовать аппаратное ускорение, что очень существенно для работы в 3D.
Molehill также предназначен для работы на мобильных телефонах, но Apple запрещает использовать Flash на своих операционных системах iOS, что значительно подрывает позиции Flash с точки зрения кроссплатформенного использования.
WebGL и Microsoft
WebGL также имеет свои недостатки — Microsoft не собирается поддерживать его в Internet Explorer, в том числе и в разрабатываемом IE9.
DirectX является мощным преимуществом Microsoft, удерживающим игровую индустрию на платформе Windows, и не будет ничего странного в том, что в Microsoft не будут делать ничего, что могло бы подорвать их позиции на этом рынке.
Но равновесие сил среди операционных систем меняется. Mac OS X уступает по многим параметрам в компьютерных играх, но это не относится к iPhone и iPad, так как мобильный рынок горяч и быстро растет, на нём Microsoft выглядит сравнительно слабо и у OpenGL существуют преимущества.
Генри Бридж расчитывает на поддержку WebGL со стороны Microsoft, но он также считает, что WebGL ждет успех и без Microsoft. "Даже если они его не реализуют..., мы уверены, что аудитория, использующая WebGL, достаточно велика (и растет), для того чтобы заинтересовать разработчиков", — заявил Бридж.
Существуют предпосылки к тому, что Microsoft удастся убедить в необходимости поддержки WebGL.
В этом месяце во Франции члены консорциума W3C провели недельную конференцию по вопросам веб-стандартов. На этой конференции Майкл Чемпион, главный менеджер Microsoft по ПО, заявил в своей презентации, что "в Microsoft хотят видеть Веб нового поколения с инновациями, проведенными консорциумом W3C", и упомянул один конкретный вопрос для обсуждения: "Начало работы над 3D Canvas в W3C." В W3C уже курируют создание Canvas 2D для двухмерной графики; для WebGL положено начало в Canvas 3D и в использовании Canvas-интерфейса в HTML 5.
"Маловероятно, что стандарт будет развиваться только внутри Khronos, и мы ожидаем, что стандарт WebGL будет опубликован обоими консорциумами: и Khronos, и W3C", — сказал Вукицевич. "Мы как раз работаем над тем, чтобы это произошло во время выхода спецификации версии 1.0."
WebGL и DirectX
Другим препятствием у Microsoft для принятия WebGL является то, что OpenGL не очень хорошо поддерживается на Windows, где наиболее развитым и предпочтительным является интерфейс DirectX и его компоненты Direct3D.
Но в Google уже запустили проект под названием ANGLE, целью которого является перенос технологии WebGL в интерфейс DirectX. Такой подход "вполне зрелый", — утверждает Бридж. "В ближайшее вермя мы планируем использовать его в качестве способа рендеринга в WebGL на Windows, и планируем представить его в консорциум Khronos для проверки на совместимость в качестве реализации OpenGL ES 2.0."
"ANGLE действительно работает невероятно хорошо", — сказал Викицевич. "Я был немного неуверен в успехе такого подхода, но мы уже видим, что нет разницы в производительности между использованием непосредственно OpenGL или Direct3D с помощью ANGLE."
Mozilla также собирается использовать новый проект Google: "Мы будем интегрировать его в будущую бета-версию для осуществления поддержки WebGL", — сказал Вукицевич.
Это еще одна предпосылка к тому, что WebGL будет прекрасно работать на Windows. Но это все равно не решающий фактор.
По всей вероятности одновременно будет существовать и WebGL, и Molehill. И программистам придется считаться с ними обоими.
Новость основана на публикации "Battle lines drawn for 3D on the Web".
Статьи, близкие по теме
Опросы, близкие по теме
Комментарии
Опять майкрософт в угоду себе тормозят прогресс =(
да достали эти кретины!! Бил Гейтса на мыло!! Ещё и адоб зад подлизывает ему...