X3D

Формат файла на основе XML для трехмерной компьютерной графики

X3D — Расширяемая 3D-графика
Расширение имени файла
  • .x3d (XML) , .x3dv (обычный текст; v = VRML), .x3db, .x3dz, .x3dbz, .x3dvz (сжатый; b = двоичный, z = gzip)
Тип интернет-СМИ
  • model/x3d+xml
  • model/x3d+vrml
  • model/x3d+binary
Первоначальный выпуск1997 ; 28 лет назад ( 1997 )
Последний релиз
4.0
2023 ; 2 года назад ( 2023 )
Тип формата3D компьютерная графика
Расширенный отVRML , XML , Gzip
СтандартИСО / МЭК 19775/19776/19777
Веб-сайтwww.web3d.org/x3d/what-x3d/

X3D ( Extensible 3D ) — это набор бесплатных стандартов ISO/IEC для декларативного представления трехмерной компьютерной графики . X3D включает в себя несколько форматов графических файлов, определения API языка программирования и спецификации времени выполнения для доставки и интеграции интерактивных сетевых трехмерных данных. Версия X3D 4.0 была одобрена консорциумом Web3D и находится на окончательном рассмотрении ISO/IEC в качестве пересмотренного международного стандарта (IS).

X3D специально разработан для работы на различных устройствах с использованием веб-архитектуры. X3D предоставляет ряд 3D-функций через профили, от базового обмена активами и CADInterchange до интерактивных, MPEG-4 Interactive, Medical, Immersive и полных профилей. Анатомически полная поддержка также доступна для структуры тела и движения Humanoid Animation (HAnim). «X» в X3D означает Extensible: к стандартной функциональности можно добавлять расширения компонентов пользовательских поставщиков и исследовательских компонентов.

Поддержка формата файла X3D включает XML , ClassicVRML, сжатое двоичное кодирование (CBE) и проект кодирования JSON . Поддержка семантической паутины также была продемонстрирована кодированием Turtle . X3D стал преемником языка моделирования виртуальной реальности (VRML) в 2001 году. [1] X3D предоставляет несколько расширений VRML (например, CAD , геопространственное , анимация гуманоидов , NURBS и т. д.), возможность кодировать сцену с использованием синтаксиса XML , а также синтаксиса VRML97, похожего на Open Inventor , или двоичного сжатия со строго типизированными API, включая ECMAScript , Java , Python и другие языки программирования.

X3D-рендеринг включает в себя как классические (например, Blinn-Phong ), так и современные методы физически обоснованного рендеринга (PBR), соответствующие возможностям glTF 2.0 . Также определено использование пользовательских шейдеров с использованием трех платформенно-специфичных языков шейдеров. Авторы могут использовать богатые мультимедийные возможности, включая различные форматы изображений и фильмов. Полностью пространственный акустический рендеринг использует возможности W3C Web Audio API , а также аудиовходы, оцифрованные с использованием MIDI 2.0 или других звуковых форматов.

Все кодировки файлов X3D и API-интерфейсы языка программирования имеют эквивалентную выразительную силу, соответствующую функциональным определениям в стандарте архитектуры X3D. Таким образом, X3D может работать с открытыми стандартами, включая XML , Document Object Model (DOM) , XPath и другие.

Пример

<?xml версия="1.0" кодировка="UTF-8"?> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "http://www.web3d.org/specifications/x3d-4.0.dtd"><X3D profile= "Interchange" version= "4.0" xmlns:xsd= "http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation= "http://www.web3d.org/specifications/x3d-4.0.xsd" > <Scene> <Shape DEF= "MyTriangle" > <IndexedFaceSet coordIndex= "0 1 2" > <Coordinate point= "0 0 0 1 0 0 0.5 1 0" /> </IndexedFaceSet> </Shape> </Scene> </X3D>              

Представление VRML такое же, как VRML § Example , за исключением того, что номера версий изменены для отражения последнего стандарта X3D ( #X3D V4.0 utf8). Идентифицирующее имя DEF также применяется в качестве идентификатора узла (id).

Список инструментов для JSON и двоичных форматов см. в Web3D. [2]

Приложения

Существует несколько приложений, большинство из которых являются программным обеспечением с открытым исходным кодом, [3] которые изначально анализируют и интерпретируют файлы X3D, включая редактор 3D-графики и анимации Blender [4] и клиент виртуального мира Sun Microsystems Project Wonderland . [5] Апплет X3D — это программа, которая запускается в веб-браузере и отображает контент в 3D, используя технологию 3D-графики OpenGL для отображения контента X3D в нескольких различных браузерах (IE, Safari, Firefox) в нескольких различных операционных системах [6] (Windows, Mac OS X, Linux). Однако X3D не получил такого широкого признания, как другие, более известные программные приложения.

В 2000-х годах многие компании, такие как Bitmanagement, улучшили уровень качества виртуальных эффектов в X3D до уровня качества DirectX 9.0c, но за счет использования собственных решений. Все основные функции, включая игровое моделирование, уже завершены. Они включают многопроходный рендеринг с настройкой низкого уровня для Z-буфера, BlendOp, AlphaOp, Stencil, [7] Multi-texture, [8] Shader с поддержкой HLSL и GLSL , [9] Render To Texture в реальном времени, Multi Render Target (MRT) и постобработку. [10] Многие демонстрации показывают, что X3D уже поддерживает lightmap , normal mapping , SSAO , CSM и отражение окружающей среды в реальном времени вместе с другими виртуальными эффектами. [11]

X3DOM

Стремясь стать 3D-стандартом для Интернета, X3D разработан для интеграции в страницы HTML5 , как и другие стандарты XML, такие как MathML и SVG . X3DOM — это предлагаемая синтаксическая модель и ее реализация в виде библиотеки скриптов [12] , которая демонстрирует, как эта интеграция может быть достигнута без плагина для браузера, используя только WebGL и JavaScript. [13]

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

X3D определяет несколько профилей (наборов компонентов) для различных уровней возможностей, включая X3D Core, X3D Interchange, X3D Interactive, X3D CADInterchange, X3D Immersive и X3D Full. Производители браузеров могут определять собственные расширения компонентов до их отправки на стандартизацию в Web3D Consortium . Затем проводится формальный обзор и утверждение ISO / IEC .

Соглашения о взаимодействии и сотрудничестве также действуют между консорциумом Web3D и консорциумом Всемирной паутины (W3C), консорциумом Open Geospatial Consortium (OGC), Digital Imaging and Communications in Medicine (DICOM) и Khronos Group .

Подмножество X3D — это XMT-A, вариант XMT , определенный в MPEG-4 Часть 11. Он был разработан для обеспечения связи между X3D и 3D-контентом в MPEG-4 (BIFS). [14]

Абстрактная спецификация для X3D (ISO/IEC 19775) была впервые одобрена ISO в 2004 году. Кодировки XML и ClassicVRML для X3D (ISO/IEC 19776) были впервые одобрены в 2005 году. [15]

Альтернативы

  • WebGL : JavaScript API для рендеринга интерактивной 3D-графики и 2D-графики в любом совместимом веб-браузере, управляемый Khronos Group
  • glTF : стандартный формат файла для трехмерных сцен и моделей, управляемый Khronos Group
  • COLLADA : формат обмена файлами для интерактивных 3D-приложений, управляемый Khronos Group
  • O3D : разработано Google
  • U3D : Международный стандарт ECMA ECMA-363
  • VRML : предшественник X3D
  • 3MF : Формат на основе XML, включающий данные трехмерного аддитивного производства, такие как свойства материалов.
  • A-Frame : основанный на HTML декларативный язык 3D-графов сцен и фреймворк взаимодействия, обычно используемый для WebVR.

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

Ссылки

  1. Пол Феста и Джон Борланд (19 мая 2005 г.). «Является ли 3D-сеть чем-то большим, чем просто пустые обещания?». CNET News.com . Архивировано из оригинала 12 ноября 2009 г.
  2. ^ "Конвертер таблиц стилей X3D в JSON". www.web3d.org .
  3. ^ "Проекты X3D с открытым исходным кодом". Web3d.org . Получено 2010-02-23 .Архивировано 6 февраля 2014 г. на Wayback Machine .
  4. ^ Экспорт модели Blender в X3D
  5. ^ "Project Wonderland". Research.sun.com. 2008-10-07 . Получено 2010-02-23 .Архивировано 17 июля 2009 г. на Wayback Machine .
  6. ^ "X3D applet". Members.shaw.ca . Получено 2010-02-23 .Архивировано 16 сентября 2012 г. на Wayback Machine .
  7. ^ "BS Contact DrawGroup". www.bitmanagement.com . Получено 10 сентября 2023 г. .
  8. ^ "Мультитекстурирование". Архивировано из оригинала 12 июля 2010 года.
  9. ^ "Компонент программируемых шейдеров". Архивировано из оригинала 12 июля 2010 года.
  10. ^ "BS Contact - Version 7.2 Release Notes". www.bitmanagement.com . Получено 10 сентября 2023 г. .
  11. ^ "m17design - YouTube". www.youtube.com . Получено 10 сентября 2023 г. .
  12. ^ "- x3dom.org" . Получено 10 сентября 2023 г. .
  13. ^ X3D и HTML5: предложение X3DOM, Web3D wiki. Архивировано 26 октября 2016 г. на Wayback Machine .
  14. ^ "X3D Interactive, X3D MPEG4 Interactive Profile Comparison" (PDF) . web3d.org . Получено 10 сентября 2023 г. .
  15. ^ X3D FAQ – «Каков статус спецификации X3D?» Архивировано 16 июля 2007 г. на Wayback Machine . Получено 30 ноября 2007 г.
  • Официальный сайт консорциума Web3D
  • X3D официальный сайт
  • Характеристики X3D: проверка схемы и DOCTYPE
  • X3DOM
Взято с "https://en.wikipedia.org/w/index.php?title=X3D&oldid=1266024742#X3DOM"