X3D ( Extensible 3D ) es un conjunto de estándares ISO/IEC libres de regalías para la representación declarativa de gráficos 3D por computadora . X3D incluye múltiples formatos de archivo gráfico, definiciones de API de lenguajes de programación y especificaciones de tiempo de ejecución para la entrega e integración de datos 3D interactivos compatibles con redes. La versión 4.0 de X3D ha sido aprobada por el Consorcio Web3D y se encuentra en revisión final por ISO/IEC como un Estándar Internacional (IS) revisado.
X3D está diseñado específicamente para funcionar en diversos dispositivos mediante la arquitectura web. Ofrece una amplia gama de funcionalidades 3D a través de perfiles, desde el intercambio básico de recursos y CAD hasta perfiles interactivos, interactivos MPEG-4, médicos, inmersivos y completos. También cuenta con soporte anatómico exhaustivo para la estructura y el movimiento del cuerpo en animación humanoide (HAnim). La "X" de X3D significa extensible: se pueden añadir extensiones de componentes personalizados de proveedores e investigación a la funcionalidad estándar.
El soporte de formato de archivo X3D incluye XML , ClassicVRML, codificación binaria comprimida (CBE) y un borrador de codificación JSON . También se ha demostrado el soporte para la Web Semántica 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 tipo 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 clásicos (como Blinn-Phong ) y modernos de renderizado basado en la física (PBR) compatibles con 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 funciones multimedia avanzadas, incluyendo diversos formatos de imagen y vídeo. La renderización de audio totalmente espacializada aplica las capacidades de la API Web Audio de W3C , además de entradas de audio digitalizadas mediante MIDI 2.0 u otros formatos de sonido.
Todas las codificaciones de archivos X3D y las API de lenguajes de programación tienen una capacidad expresiva equivalente, que coincide con las definiciones funcionales del estándar de arquitectura X3D. Por lo tanto, X3D puede trabajar con estándares abiertos como XML , el Modelo de Objetos del Documento (DOM) , XPath y otros.
Ejemplo
<?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"><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>La representación VRML es la misma que en 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 identificativo como identificador de nodo (id).
Para formatos JSON y binarios, consulte Web3D para obtener una lista de herramientas. [ 2 ]
Aplicaciones
Hay varias aplicaciones, la mayoría de las cuales son software de código abierto, [ 3 ] que analizan e interpretan archivos X3D de forma nativa, incluyendo el editor de gráficos y animación 3D Blender [ 4 ] y el cliente de mundo virtual Project Wonderland de Sun Microsystems . [ 5 ] Un applet 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 tenido una aceptación tan amplia como la de otras aplicaciones de software más destacadas.
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 costa 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 para 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 , mapeo normal , SSAO , CSM y reflexión de entorno en tiempo real junto con otros efectos virtuales. [ 11 ]
X3DOM
Con el objetivo de convertirse en el estándar 3D para la Web, X3D está diseñado para integrarse en las 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 biblioteca de scripts [ 12 ] demuestra cómo se puede lograr esta integración sin un complemento del navegador, utilizando únicamente WebGL y JavaScript. [ 13 ]
Normalización
X3D define varios perfiles (conjuntos de componentes) para distintos niveles de funcionalidad, entre los que se incluyen 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 al Consorcio Web3D para su estandarización. Posteriormente, ISO / IEC realiza la revisión y aprobación formal .
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), la Iniciativa de 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 el 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 ]
Alternativas
- WebGL : API de JavaScript para la representación de gráficos 3D interactivos y gráficos 2D en cualquier navegador web compatible, gestionada por el Grupo Khronos.
- glTF : un formato de archivo estándar para escenas y modelos tridimensionales gestionado por el Grupo Khronos.
- COLLADA : formato de archivo de intercambio para aplicaciones 3D interactivas, gestionado por el Grupo Khronos.
- O3D : desarrollado por Google
- U3D : Norma internacional ECMA-363 de Ecma
- VRML : precursor de X3D
- 3MF : Un formato basado en XML que incluye datos de fabricación aditiva 3D, como las propiedades del material.
- A-Frame : Un lenguaje de grafos de escena 3D declarativo basado en HTML y un marco de interacción comúnmente utilizado para WebVR.
Véase también
- Active Worlds , una plataforma de chat 3D multiusuario de realidad virtual .
- Formato de archivo de fabricación aditiva
- Blaxxun , una plataforma de chat 3D multiusuario de realidad virtual.
- Flux , editor/navegador VRML/X3D de descarga gratuita, ahora descontinuado.
- Lista de lenguajes de marcado de gráficos vectoriales
- MeshLab es un sistema de procesamiento de mallas de código abierto que puede exportar VRML/X3D.
- Especificación de papel Open XML
- OZ Virtual
- Seamless3d , software de modelado 3D gratuito y de código abierto para Microsoft Windows.
- Lista de motores de juego
- Recorrido virtual
- Software de entorno virtual
- Web3D y Consorcio Web3D
Referencias
- ↑ Paul Festa y John Borland (19 de mayo de 2005). "¿Es la web 3D algo más que promesas vacías?" . CNET News.com . Archivado del original el 12 de noviembre de 2009.
- ↑ "Convertidor de X3D a hoja de estilo JSON" . www.web3d.org .
- ↑ "Proyectos de código abierto X3D" . Web3d.org. Archivado del original el 6 de febrero de 2014. Consultado el 23 de febrero de 2010 ..
- ↑ Exportación de modelos de Blender a X3D
- ↑ "Proyecto Wonderland" . Research.sun.com. 7 de octubre de 2008. Archivado del original el 17 de julio de 2009. Consultado el 23 de febrero de 2010 ..
- ↑ "Applet X3D" . Members.shaw.ca. Archivado del original el 16 de septiembre de 2012. Consultado el 23 de febrero de 2010 ..
- ↑ "BS Contact DrawGroup" . www.bitmanagement.com . Consultado el 10 de septiembre de 2023 .
- ↑ "Multitexturizado" . Archivado del original el 12 de julio de 2010.
- ↑ "Componente de sombreadores programables" . Archivado del original el 12 de julio de 2010.
- ↑ "BS Contact - Notas de la versión 7.2" . www.bitmanagement.com . Consultado el 10 de septiembre de 2023 .
- ↑ "m17design - YouTube" . www.youtube.com . Consultado el 10 de septiembre de 2023 .
- ↑ "- x3dom.org" . Consultado el 10 de septiembre de 2023 .
- ↑ X3D y HTML5: Propuesta X3DOM , wiki de Web3D. Archivado el 26 de octubre de 2016 en Wayback Machine .
- ↑ "X3D Interactive, X3D MPEG4 Interactive Profile Comparison" (PDF) . web3d.org . Consultado el 10 de septiembre de 2023 .
- ↑ Preguntas frecuentes sobre X3D: "¿Cuál es el estado de la especificación X3D?" Archivado el 16 de julio de 2007 en Wayback Machine . Consultado el 30 de noviembre de 2007.
Enlaces externos
- Sitio web oficial del consorcio Web3D
- Sitio web oficial de X3D
- Especificaciones X3D: Validación de esquemas y DOCTYPE
- X3DOM
- formatos de archivo de gráficos 3D
- Estándares gráficos
- ISO/IEC 19775
- Lenguajes de marcado de gráficos vectoriales
- Realidad virtual