Расширение имени файла |
|
---|---|
Тип интернет-СМИ |
|
Первоначальный выпуск | 1997 ( 1997 ) |
Последний релиз | 4.0 2023 ( 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]
Стремясь стать 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]