X3D

Formato de archivo basado en XML para gráficos de computadora en 3D

X3D: gráficos 3D extensibles
Extensión de nombre de archivo
  • .x3d (XML) , .x3dv (texto sin formato; v = VRML), .x3db, .x3dz, .x3dbz, .x3dvz (comprimido; b = binario, z = gzip)
Tipo de medio de Internet
  • model/x3d+xml
  • model/x3d+vrml
  • model/x3d+binary
Lanzamiento inicial1997 ; hace 27 años ( 1997 )
Último lanzamiento
4.0
2023 ; hace 1 año ( 2023 )
Tipo de formatoGráficos de computadora en 3D
Extendido desdeVRML , XML y Gzip
EstándarISO / IEC 19775/19776/19777
Sitio webwww.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.

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"><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]

Aplicaciones

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]

X3DOM

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]

Normalización

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]

Alternativas

  • WebGL : API de JavaScript para renderizar gráficos 3D y 2D interactivos en cualquier navegador web compatible, administrada por Khronos Group
  • glTF : un formato de archivo estándar para escenas y modelos tridimensionales administrado por Khronos Group
  • COLLADA : formato de archivo de intercambio para aplicaciones 3D interactivas, gestionado por el Grupo Khronos
  • O3D : desarrollado por Google
  • U3D : Norma internacional ECMA-363
  • VRML : precursor del X3D
  • 3MF : un formato basado en XML que incluye datos de fabricación aditiva en 3D, como propiedades del material.
  • A-Frame : un lenguaje de gráficos de escena 3D declarativo basado en HTML y un marco de interacción comúnmente utilizado para WebVR

Véase también

Referencias

  1. ^ Paul Festa y John Borland (19 de mayo de 2005). "¿Es una web en 3D algo más que promesas vacías?". CNET News.com . Archivado desde el original el 12 de noviembre de 2009.
  2. ^ "Convertidor de hojas de estilo X3D a JSON". www.web3d.org .
  3. ^ "Proyectos de código abierto X3D". Web3d.org . Consultado el 23 de febrero de 2010 .Archivado el 6 de febrero de 2014 en Wayback Machine .
  4. ^ Exportación de modelos de Blender a X3D
  5. ^ "Proyecto Wonderland". Research.sun.com. 2008-10-07 . Consultado el 2010-02-23 .Archivado el 17 de julio de 2009 en Wayback Machine .
  6. ^ "Applet X3D". Members.shaw.ca . Consultado el 23 de febrero de 2010 .Archivado el 16 de septiembre de 2012 en Wayback Machine .
  7. ^ "BS Contact DrawGroup" (Contacto de BS DrawGroup). www.bitmanagement.com . Consultado el 10 de septiembre de 2023 .
  8. ^ "Multitexturización". Archivado desde el original el 12 de julio de 2010.
  9. ^ "Componente de sombreadores programables". Archivado desde el original el 12 de julio de 2010.
  10. ^ "BS Contact - Notas de la versión 7.2" www.bitmanagement.com . Consultado el 10 de septiembre de 2023 .
  11. ^ "m17design - YouTube". www.youtube.com . Consultado el 10 de septiembre de 2023 .
  12. ^ "- x3dom.org" . Consultado el 10 de septiembre de 2023 .
  13. ^ X3D y HTML5: propuesta X3DOM, wiki de Web3D. Archivado el 26 de octubre de 2016 en Wayback Machine .
  14. ^ "Comparación de perfiles interactivos X3D, X3D MPEG4" (PDF) . web3d.org . Consultado el 10 de septiembre de 2023 .
  15. ^ Preguntas frecuentes sobre X3D: "¿Cuál es el estado de la especificación X3D?" Archivado el 16 de julio de 2007 en Wayback Machine . Recuperado el 30 de noviembre de 2007.
  • Sitio web oficial del Consorcio Web3D
  • Sitio web oficial de X3D
  • Especificaciones X3D: Validación de esquemas y DOCTYPE
  • X3DOM
Obtenido de "https://es.wikipedia.org/w/index.php?title=X3D&oldid=1251965480"