Введение

Формат файла для представления 3D интерактивной векторной графики, преемник языка.

VRML (Virtual Reality Modeling Language, произносится «вермал» или по инициалам, изначально – до 1995 года – известный как язык разметки виртуальной реальности) – это стандартный формат файла для представления трехмерной (3D) интерактивной векторной графики, разработанный специально для Всемирной паутины. Он был вытеснен X3D.

Формат файла WRL

VRML — это формат текстового файла, в котором, например, вершины и ребра 3D-полигона могут быть заданы вместе с цветом поверхности, текстурами с UV-картированием, блеском, прозрачностью и так далее. К графическим компонентам могут быть привязаны URL-адреса, чтобы веб-браузер мог загрузить веб-страницу или новый VRML-файл из Интернета при нажатии пользователем на конкретный графический компонент. Анимация, звуки, освещение и другие аспекты виртуального мира могут взаимодействовать с пользователем или запускаться внешними событиями, такими как таймеры. Специальный узел Script позволяет добавлять программный код (например, написанный на Java или ECMAScript) в VRML-файл. Файлы VRML обычно называют «мирами» и имеют расширение (например, .wrl). VRML-файлы представляют собой обычный текст и обычно хорошо сжимаются с помощью gzip, что удобно для более быстрой передачи по Интернету (некоторые сжатые gzip-файлы используют расширение .gz). Многие программы для 3D-моделирования могут сохранять объекты и сцены в формате VRML.

Стандартизация

Консорциум Web3D был создан для дальнейшего коллективного развития формата. VRML (и его преемник, X3D) были приняты в качестве международных стандартов Международной организацией по стандартизации (ISO) и Международной электротехнической комиссией (IEC). Первая версия VRML была специфицирована в ноябре 1994 года. Эта версия была разработана на основе и очень тесно соответствовала API и формату файла программного компонента Open Inventor, первоначально разработанного SGI. Разработка версии 2.0 осуществлялась под руководством временной рабочей группы VRML Architecture Group (VAG). Рабочий проект был опубликован в августе 1996 года. Официальное сотрудничество между VAG и SC24 ISO/IEC началось в 1996 году, и VRML 2.0 был представлен в ISO для утверждения в качестве международного стандарта. Текущая и функционально завершенная версия – VRML97 (ISO/IEC 14772-1:1997). В настоящее время VRML заменен X3D (ISO/IEC 19775-1).

Появление, популярность и техническое обновление конкурентов

Термин VRML был придуман Дэйвом Раггеттом в статье под названием "Расширение WWW для поддержки платформенно-независимой виртуальной реальности", представленной на Первой конференции World Wide Web в 1994 году, и впервые обсужден на WWW94 VRML BOF, организованной Тимом Бернерсом-Ли, где Марк Пессе представил демо-версию Labyrinth, разработанную им совместно с Тони Паризи и Питером Кеннардом. VRML был представлен более широкой аудитории на курсе SIGGRAPH "VRML: Использование 3D для просмотра веб-страниц" в августе 1995 года. В октябре 1995 года на выставке Internet World компания Template Graphics Software (TGS) продемонстрировала 3D/VRML плагин для бета-версии Netscape 2.0 от Netscape Communications. В 1997 году была завершена новая версия формата – VRML97 (также известная как VRML2 или VRML 2.0), которая стала стандартом ISO/IEC. VRML97 использовался в Интернете на некоторых личных веб-страницах и сайтах, таких как "CyberTown", предлагавший 3D-чат с использованием программного обеспечения Blaxxun, а также в программе Sony SAPARi, предустановленной на компьютерах Vaio с 1997 по 2001 год. Формат поддерживался компанией SGI Cosmo Software; когда SGI провела реструктуризацию в 1998 году, это подразделение было продано VREAM Division компании Platinum Technology, которая затем была приобретена Computer Associates, отказавшейся от разработки и распространения программного обеспечения. Чтобы восполнить этот пробел, в последующие несколько лет появилось множество проприетарных веб-форматов 3D, включая Microsoft Chrome и Adobe Atmosphere, которые больше не поддерживаются. Функциональные возможности VRML в основном остались прежними, в то время как графика в реальном времени продолжала совершенствоваться. Консорциум VRML изменил свое название на Web3D Consortium и начал работу над преемником VRML – X3D. SGI поддерживала веб-сайт vrml.sgi.com, на котором регулярно публиковались короткие выступления персонажа по имени "Floops" – VRML-персонажа в VRML-мире. Floops был создан компанией Protozoa. H-Anim – это стандарт для анимированных гуманоидов, основанный на VRML, а затем и на X3D. Первоначальная версия 1.0 стандарта H-Anim планировалась к представлению в конце марта 1998 года. VRML так и не получил широкого распространения. Одной из причин этого могло быть недостаточное количество доступной полосы пропускания. В период популярности VRML большинство пользователей, как частных, так и корпоративных, использовали медленное dial-up подключение к Интернету. Эксперименты с VRML проводились в основном в сфере образования и научных исследований, где особенно ценится открытая спецификация. В настоящее время он был переработан в X3D. Интерактивный профиль MPEG 4 (ISO/IEC 14496) был основан на VRML (а теперь на X3D), и X3D в значительной степени обратно совместим с ним. VRML также широко используется в качестве формата файла для обмена 3D-моделями, особенно из CAD-систем. В OpenVRML доступна бесплатная кроссплатформенная реализация VRML. Его библиотеки можно использовать для добавления поддержки VRML и X3D в приложения, а также доступен плагин GTK+ для отображения VRML/X3D-миров в веб-браузерах. В 2000-х годах многие компании, такие как Bitmanagement, повысили уровень качества виртуальных эффектов в VRML до уровня DirectX 9.0c, но за счет использования проприетарных решений. Все основные функции, такие как моделирование игр, уже реализованы. Они включают многопроходный рендеринг с низкоуровневыми настройками для Z-буфера, BlendOp, AlphaOp, Stencil, Multi texture, шейдеры с поддержкой HLSL и GLSL, рендеринг в реальном времени в текстуры (Render To Texture), Multi Render Target (MRT) и постобработку (PostProcessing). Многие демонстрации показывают, что VRML уже поддерживает lightmap, normalmap, SSAO, CSM и отражение окружающей среды в реальном времени, а также другие виртуальные эффекты.

Ранняя критика

В марте 1998 года в эссе для ACM "Игривость в 3D-пространствах: почему Quake лучше, чем VRML, и что это означает для разработки программного обеспечения", Клэй Ширки резко раскритиковал VRML как "технологию, ищущую применение", в то время как "Quake делает что-то одно хорошо, а не многое плохо. Сообщество VRML так и не смогло создать ничего столь же привлекательного – и не вопреки благим намерениям участников, а именно из-за них. Каждый раз, когда разработчики VRML подходят к задаче представления пространства на экране, у них нет четкой причины выбирать между детализацией и скоростью рендеринга, между созданием объектов и созданием пространств, поскольку VRML не служит никакой конкретной цели, кроме самой себя. Зачастую, наличие конкретной, ближайшей задачи для решения позволяет четко выделить достоинства проекта и придать ему достаточно ясности, чтобы он мог существовать независимо."