Extensión de nombre de archivo |
|
---|---|
Tipo de medio de Internet |
|
Lanzamiento inicial | 1997 ( 1997 ) |
Último lanzamiento | 4.0 2023 ( 2023 ) |
Tipo de formato | Gráficos de computadora en 3D |
Extendido desde | VRML , XML y Gzip |
Estándar | ISO / IEC 19775/19776/19777 |
Sitio web | www.web3d.org/x3d/que-es-x3d/ |
X3D ( Extensible 3D ) es un conjunto de estándares ISO/IEC libres de regalías para la representación declarativa de gráficos de computadora en 3D . X3D incluye múltiples formatos de archivos de gráficos, definiciones de API de lenguaje de programación y especificaciones de tiempo de ejecución tanto para la entrega como para la integración de datos 3D interactivos con capacidad de red. La versión 4.0 de X3D ha sido aprobada por el Consorcio Web3D y está bajo revisión final por parte de ISO/IEC como Estándar Internacional (IS) revisado.
X3D está diseñado específicamente para funcionar en distintos dispositivos mediante el uso de la arquitectura web. X3D ofrece una variedad de funciones 3D a través de perfiles, desde intercambio de activos básicos y CADInterchange hasta perfiles interactivos, interactivos MPEG-4, médicos, inmersivos y completos. También se encuentra disponible un soporte anatómico completo para la estructura y el movimiento del cuerpo en animación humanoide (HAnim). La "X" en X3D significa extensible: se pueden agregar extensiones de componentes de investigación y proveedores personalizados a la funcionalidad estándar.
El soporte de formato de archivo X3D incluye XML , ClassicVRML, Compressed Binary Encoding (CBE) y un borrador de codificación JSON . La compatibilidad con la Web semántica también se ha demostrado mediante una codificación Turtle . X3D se convirtió en el sucesor del Lenguaje de modelado de realidad virtual (VRML) en 2001. [1] X3D proporciona múltiples extensiones a VRML (por ejemplo , CAD , geoespacial , animación humanoide , NURBS , etc.), la capacidad de codificar la escena utilizando una sintaxis XML , así como la sintaxis similar a Open Inventor de VRML97, o compresión binaria , con API fuertemente tipadas que incluyen ECMAScript , Java , Python y otros lenguajes de programación.
La renderización X3D incluye métodos de renderización basados en la física (PBR) tanto clásicos (por ejemplo, Blinn-Phong ) como modernos que coinciden con las capacidades de glTF 2.0 . También se define el uso de sombreadores personalizados mediante tres lenguajes de sombreado específicos de la plataforma. Los autores pueden emplear capacidades multimedia enriquecidas que incluyen varios formatos de imágenes y películas. La renderización auditiva completamente espacializada aplica capacidades de API de audio web W3C , además de entradas de audio digitalizadas mediante MIDI 2.0 u otros formatos de sonido.
Todas las codificaciones de archivos y API de lenguajes de programación de X3D tienen un poder expresivo equivalente y coinciden con las definiciones funcionales del estándar de arquitectura X3D. Por lo tanto, X3D puede trabajar con estándares abiertos, incluidos XML , Document Object Model (DOM) , XPath y otros.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 4.0//EN" "http://www.web3d.org/specifications/x3d-4.0.dtd"><Perfil X3D = "Intercambio" versión= "4.0" xmlns:xsd= "http://www.w3.org/2001/XMLSchema-instance" xsd:noNamespaceSchemaLocation= "http://www.web3d.org/specifications/x3d-4.0.xsd" > <Escena> <Forma DEF= "MiTriángulo" > <IndexedFaceSet coordIndex= "0 1 2" > < Punto de coordenadas= "0 0 0 1 0 0 0.5 1 0" /> </IndexedFaceSet> </Forma> </Escena> </X3D>
La representación VRML es la misma que la de VRML § Example , excepto que los números de versión se modifican para reflejar el último estándar X3D ( #X3D V4.0 utf8
). También se aplica un nombre DEF de identificación como identificador de nodo (id).
Para formatos JSON y binarios, consulte Web3D para obtener una lista de herramientas. [2]
Existen varias aplicaciones, la mayoría de las cuales son software de código abierto, [3] que analizan e interpretan de forma nativa archivos X3D, incluido el editor de gráficos y animación 3D Blender [4] y el cliente de mundo virtual de Sun Microsystems Project Wonderland . [5] Un subprograma X3D es un programa de software que se ejecuta dentro de un navegador web y muestra contenido en 3D, utilizando la tecnología de gráficos 3D OpenGL para mostrar contenido X3D en varios navegadores diferentes (IE, Safari, Firefox) en varios sistemas operativos diferentes [6] (Windows, Mac OS X, Linux). Sin embargo, X3D no ha recibido una aceptación tan amplia como la de otras aplicaciones de software más notables.
En la década de 2000, muchas empresas como Bitmanagement mejoraron el nivel de calidad de los efectos virtuales en X3D al nivel de calidad de DirectX 9.0c, pero a expensas de utilizar soluciones propietarias. Todas las características principales, incluido el modelado de juegos, ya están completas. Incluyen renderizado multipaso con configuración de bajo nivel para Z-buffer, BlendOp, AlphaOp, Stencil, [7] Multi-textura, [8] Shader con soporte HLSL y GLSL , [9] Render To Texture en tiempo real, Multi Render Target (MRT) y posprocesamiento. [10] Muchas demostraciones muestran que X3D ya admite lightmap , normal mapping , SSAO , CSM y reflexión del entorno en tiempo real junto con otros efectos virtuales. [11]
En su afán por convertirse en el estándar 3D para la Web, X3D está diseñado para integrarse en páginas HTML5 al igual que otros estándares XML como MathML y SVG . X3DOM es un modelo de sintaxis propuesto y su implementación como una biblioteca de scripts [12] que demuestra cómo se puede lograr esta integración sin un complemento de navegador, utilizando solo WebGL y JavaScript. [13]
X3D define varios perfiles (conjuntos de componentes) para distintos niveles de capacidad, incluidos X3D Core, X3D Interchange, X3D Interactive, X3D CADInterchange, X3D Immersive y X3D Full. Los fabricantes de navegadores pueden definir sus propias extensiones de componentes antes de enviarlas para su estandarización al Consorcio Web3D . La revisión y aprobación formal la realiza luego la ISO / IEC .
También existen acuerdos de enlace y cooperación entre el Consorcio Web3D y el Consorcio World Wide Web (W3C), el Consorcio Geoespacial Abierto (OGC), Imágenes digitales y comunicaciones en medicina (DICOM) y el Grupo Khronos .
Un subconjunto de X3D es XMT-A, una variante de XMT , definida en MPEG-4 Parte 11. Fue diseñada para proporcionar un vínculo entre X3D y contenido 3D en MPEG-4 (BIFS). [14]
La especificación abstracta para X3D (ISO/IEC 19775) fue aprobada por primera vez por la ISO en 2004. Las codificaciones XML y ClassicVRML para X3D (ISO/IEC 19776) fueron aprobadas por primera vez en 2005. [15]