jueves, 28 de noviembre de 2013

9.3 X3D

X3D (extensible 3D) es la próxima-generación del estandar abierto para la Web. Es el resultado de varios años de desarrollo por parte del Grupo de Trabajo X3D del Consorcio Web 3D y el reciente Grupo de Trabajo Browser. Este último ha trabajado de cerca con el Grupo de Trabajo X3D para crear una nueva Especificación X3D que reuna las necesidades de los Browser de las compañías y las necesidades de toda la comunidad. 



Esos requerimientos son:
  • Compatibilidad con el existente contenido VRML, browsers, y herramientas.
  • Mecanismo de extension que permita introducir nuevas características, vista rápida de avances, y adopción formal de esas extensiones dentro de la especificación.
  • Un perfil del "núcleo" pequeño y simple para la más amplia adopción posible del soporte X3D, importando y exportando.
  • Perfíl completo VRML (full) para soportar contenidos existentes.
  • Soporte para otras codificaciones includa XML para una firme integración con las tecnologías y herramientas WEB.
  • Arquitectura y proceso de avance para la especificación y tecnología rapidamente!.


Estos requisitos fueron logrados introduciendo una arquitectura basada-componente para apoyar extensiones, incompatibilidades, y errores, y codificaciones como problemas separados. Un componente representa una agrupación de rasgos relacionados, tales como una colección de nodos relacionados, una extensión al modelo de evento, o un nuevo soporte de script. 




En lugar de una especificación enorme que requiera adopción completa para complacer, una arquitectura basada en componentes que apoya la creación de "perfiles" diferentes qué pueden ser soportados individualmente. Estos perfiles son colecciones de componentes, y dos ejemplos de perfiles son el pequeño "núcleo" para soportar una simple animación no-interactiva, y el perfil "base" VRML-compatible para soportar mundos totalmente-interactivos. Pueden extenderse componentes individualmente o pueden modificarse a través de agregar nuevo "niveles", o pueden agregarse nuevos componentes para introducir nuevas características, como streaming. A través de este mecanismo, los avances de la especificación pueden moverse rápidamente porque el desarrollo en una área no retarda la especificación en conjunto. 

La nueva especificación está terminándose y estará pronto disponible para la revisión en Web3D.org. Esperanzadamente entonces las personas tendrán un entendiendo mejor de qué está pasando. Hasta entonces, aquí es una breve descripción, y un enlace a la página de la copia del funcionamiento de la nueva de especificación: http://www.openworlds.com/x3d/new/index.html


En términos más simples, X3D es VRML 97 en componentes, con un mecanismo para agregar nuevos componentes para extenderse más allá de la funcionalidad del VRML 97. X3D luce solo como VRML. Para convertir un archivo de VRML en un archivo X3D, usted agrega las siguientes líneas de comentario :
#X3D profile:base

si su contenido tiene rasgos que no son VRML estandar, usted agrega una línea como: 
#X3D component:streaming:

Esto le dice al browser que este contenido requiere la funcionalidad streaming, nivel 1. 
Esta podría ser una colección de nodos que soporten streaming, o podría ser una facilidad de nivel API. Si es una colección de nodos, esto podría activar al browser para cargar mundo que contenga las declaraciones EXTERNPROTO de esos nodos. 



Para que las personas que crean contenido no tengan que preocuparse por listar o incluir docenas de componentes, se crean Perfiles qué consiste en muchos componentes. De esta manera, usted puede especificar un perfil que puede tener perfeccionamientos en varias áreas funcionales. Por ejemplo, el perfil Base incluye nuevos componentes (PROTO, Audio, etc.) y nuevos niveles de componentes existentes (es decir el nodo de la Caja en el componente de la geometría) encima del Perfil del Núcleo, pero usted sólo especifica el perfil, no la lista de componentes; por ejemplo, 
#X3D profile:base 

Como los browsers avancen, se adoptarán componentes dentro de nuevos perfiles, para que el próximo perfil del browser pueda incluir componentes para NURBS y streamnig, etc. Esta es la arquitectura básica.

Ahora porque es difícil importar VRML totalmente, nosotros quisimos hacerlo fácil para las compañías que quieran importar y exportar algún nivel de X3D. Esto es por qué VRML se ha agrupado en componentes y perfiles. Los componentes se agrupan nodos o funcionalidades, por ejemplo, que el componente de la geometría agrupa los nodos VRML de geometría. Los componentes tienen niveles diferentes, la geometría nivel 1 no contiene el nodo de la Caja, pero el nivel 2 sí, etc. Como nuevos tipos de nodo de geometría se agregan, se agregan nuevos niveles a ese componente. 

Un perfil es una colección de componentes, para que el perfil del núcleo (X3D-1) consiste en componentes de nivel 1 que soportan geometría y animación. X3D-2 es el perfil VRML97 que soporta todos los nodos VRML 97 más la funcionalidad adicional de PROTOs y Scripts.

Una compañía que hace un producto X3D-1 sabe que puede importar contenido que es X3D-1 compatible, y ese contenido que genera puede leerse en browser X3D-1, X3D-2, y VRML97 . 

Note que no hemos mencionado XML. Eso es porque el soporte de XML no es requerido. Los browsers VRML97 actuales son X3D-2 complatibles. Este es un requisito básico de la especificación. XML es una codificación adicional, sólo como una codificación binaria. El XML y las APIs relacionadas son un mecanismo poderoso para integrar X3D con otras tecnologías Web, y mucho trabajo se ha hecho en este área por el Grupo de Trabajo para asegurar que X3D sea soportados por herramientas XML. Traductores también estarán disponibles para traducir contenido entre las codificaciones. Debido al alcance de las codificaciones, se han pasado las codificaciones a un documento separado. 



En resumen, todo el contenido de VRML y las herramientas trabajarán fuera del estante con X3D. Más X3D tendrá una manera de tener características no-VRML97 como Nurbs y GeoVRML soportadas como nuevos nodos nativos en todos los browsers dentro del alcance de la especificación ahora en lugar una extensión propietario. X3D también da una manera de que muchas compañías que apoyen importando y exportando de X3D a cualquier nivel fácilmente, y asegurándose que ellos lo apoyen bien en lugar de tener soporte defectuoso. Y da una manera a las compañías que desarrollen browsers X3D pequeños, eficaces que no necesiten el nivel de funcionalidad que VRML proporciona, ala Shout3D. Para mas adelante, da a las compañías de browser una forma para extender sus actuales browsers VRML97 con nuevos rasgos que puedan fácilmente y RÁPIDAMENTE ser incorporados en la especificación en lugar de quedarse como extension propietaria. Y las codificaciones de XML optativas y soporte proporcionan de un mecanismo para la firme integración con otras tecnologías del Web. 


No hay comentarios:

Publicar un comentario