Технологии для создания и отображения 3D графики в браузере
Автор: Хамидулин Т.Г.
Журнал: Экономика и социум @ekonomika-socium
Рубрика: Информационные и коммуникативные технологии
Статья в выпуске: 7 (38), 2017 года.
Бесплатный доступ
В этой статье мы рассмотрим, как API-интерфейсы среднего уровня могут помочь веб-разработчикам создавать уникальный 3D-контент, который больше, чем просто дубликаты автономного настольного приложения на веб-странице. Также рассмотрим некоторых идеи, которые используют технологию 3D-браузера таким образом, который не был бы возможен в среде рабочего стола.
3d графика, браузер
Короткий адрес: https://sciup.org/140124455
IDR: 140124455
Текст научной статьи Технологии для создания и отображения 3D графики в браузере
Несмотря на то, что технологии трехмерной графики, используемые в компьютерных приложениях, за прошедшие 15 лет продвинулись далеко вперёд, web-разработчики не имели родной для web технологии, позволяющей работать с трёхмерной графикой.
Компании, работающие над проектами, для которых необходимо использование 3D в браузере, вынуждены были разрабатывать для этого собственные плагины или использовать сторонние. Такой подход сопряжен с необходимостью либо содержать отдельную команду для поддержки плагина, либо быть ограниченным тем уровнем функционала и поддержки, который предлагали компании создающие решения для 3D графики в браузере.
С развитием HTML, web-разработчики получали новые возможности для создания все более и более сложных web-приложений. Изначально HTML предлагал только возможность отображения статического контента, но с добавлением поддержки языка JavaScript появилась возможность реализации более сложных видов взаимодействий с пользователем и отображения динамического контента. В стандарте HTML5 добавились дополнительные возможности, включая поддержку двухмерной графики в виде тега canvas. Таким образом появилась возможность размещать на страницах разные графические элементы, от танцующих мультипликационных персонажей до вывода анимации, соответствующей вводу пользователя. Рассмотрим несколько технологий.
WebGL
WebGL (веб-графическая библиотека) - это библиотека программного обеспечения, связанная с графикой, которая предназначена для интеграции расширенного языка программирования JavaScript с OpenGL ES (OpenGL для встроенных систем) для создания ускоренной 3D-графики.
WebGL предоставляет 3D-графические API-интерфейсы для холста HTML5 без каких-либо плагинов для браузера
WebGL - это мощный API, который включен в состав Firefox, Chrome и Safari. Этот API обеспечивает привязку JavaScript к функциям Open GL ES, что позволяет обеспечить аппаратное ускорение 3D-контента на вебстранице. Этот API, в то время как мощный, его использование требует значительного понимания 3D-программирования и 3D-математики. Вебразработчики могут обнаружить, что это непривлекательно или слишком много хлопот из-за его низкого уровня. Один из способов упростить использование веб-разработчиками WebGL заключается в предоставлении API среднего уровня.
Создание технологии WebGL стало шагом вперед, позволившим отображать и манипулировать трехмерной графикой на web-страницах с помощью JavaScript. Благодаря WebGL, разработчики могут создавать продвинутые пользовательские интерфейсы, трехмерные игры и использовать трехмерную графику для визуализации различной информации из Интернета. Несмотря на внушительные возможности, WebGL отличается от других технологий доступностью и простотой в использовании, что способствует её быстрому распространению.
Некоторые задачи, где может использоваться WebGL:
-
• браузерные игры — весь игровой процесс происходит непосредственно в окне браузера;
-
• медицина – различные виды хирургии, стоматологии, и др. — доктор дистанционно может ознакомиться с моделью проблемной области пациента, проводить виртуальные операции и др.;
-
• презентации на сайте — позволит пользователю подробно показать план объектов строительства, с возможностью совершения виртуального тура;
-
• on-line проектирование - 3D-проектирование, с возможностью одновременной работы нескольких пользователей.
Достоинства WebGL:
-
• работает в браузере без установки стороннего ПО (плагинов);
-
• кроссплатформенность (работа в различных ОС, в том числе мобильных);
-
• открытость стандарта. Не требует лицензионных отчислений;
-
• основан на знакомой разработчикам технологии OpenGL;
-
• интегрируется с другими браузерными технологиями;
-
• вы можете заниматься разработкой приложений с трехмерной графикой, используя только текстовый редактор и браузер;
-
• вы можете использовать всю широту возможностей браузеров.
Кроме того, существует множество библиотек и игровых движков, использующие WebGL. Они позволяют не создавать весь 3D контент с нуля и упрощают разработку приложения.
C3DL
C3DL - это библиотека JavaScript, которая предоставляет некоторые базовые функции 3D для веб-разработчиков, которые хотят разрабатывать 3D-контент в браузере, не вникая в тонкости WebGL и 3D-математики. C3DL имеет следующие функции:
-
• Загрузка модели Collada
-
• Выбор мыши
-
• Система освещения
-
• Система камеры
-
• Система частиц
-
• Линии и точки
-
• Система эффектов, которая позволяет применять заменяемый шейдер для изменения внешнего вида.
Processing - это язык программирования с открытым исходным кодом, первоначально разработанный Бен Фрай и Кейси Реасом. Язык был реализован с помощью Java, и для его использования через Интернет требуется подключаемый модуль. В 2008 году Джон Ресиг создал частичную реализацию 2D-контекста для обработки с использованием JavaScript и Canvas, позволяя использовать Обработку в любом веб-браузере, который поддерживает элемент HTML5
Заключение. Добавление 3D в среду браузера позволит использовать уникальные возможности для приложений. Например, возможность визуально 3D-сцен в браузере позволит совместное редактирование 3D-сцен. Библиотеки более высокого уровня, такие как C3DL и Processing.js, сделают ее более доступной для веб-разработчиков, которые не хотят иметь дело с деталями 3D-математики и низкого уровня
Список литературы Технологии для создания и отображения 3D графики в браузере
- Мацудо К. «WebGL: программирование трехмерной графики» /К. Мацудо, Л. Роджер. -ДМК Пресс, 2015 С. -494
- «Blend4Web.Руководство пользователя»/
- «3D в вебе -выбор технологии»/
- «List of WebGL frameworks»/