domingo, 1 de diciembre de 2013

U9 lenguajes de Realidad Virtual

9.1. Lenguajes de Realidad Virtual

VRML es un acrónimo para Virtual Reality Modeling Language (Lenguaje para Modelado de Realidad Virtual). Permite describir objetos 3D y combinarlos en escenas y mundos virtuales y se utiliza para crear simulaciones interactivas, que incorporen animaciones, contenidos multimedia y participación multiusuario en tiempo real a los cuales se accede a través de la Web.

X3D (extensible 3D) es la nueva generación del estándar abierto para la Web basado en XML. Este es un estándar extensible que puede ser soportado fácilmente por herramientas de creación, browsers propietarios, y otras aplicaciones 3D, sea para importar o exportar. Reemplaza a VRML, pero también proporciona compatibilidad con los contenidos y browsers VRML existentes.

Para ver mundos creados en estos lenguajes es necesaria la instalación previa de un plugin para que los navegadores interpreten la información. Ambos lenguajes son gratuitos y puedes acceder a sus respectivas especificaciones.

Estos lenguajes tienen la gran ventaja de que las mejores herramientas de modelado como pueden ser AutoCad, 3D Studio Max, Rhino, Blender... disponen de herramientas de exportación a estos formatos, lo que permite su fácil desarrollo y su implementación en entornos web.

A pesar de la existencia de diferentes plug-ins para su visualización con navegadores web, la prestigiosa firma alemana Bitmanagement Software ha creado uno especial que permite la visualización de los mundos en 3D estereoscópico para exposición mediante sistemas de proyección y monitores en estéreo activo y pasivo, monitores autoestéreo y anáglifo.

Mediante este plug-in implementamos el software necesario para nuestros sistemas, pudiendo a través de un potente SDK efectuar conexiones con todos los periféricos existentes para Realidad Virtual.

Todo ello nos ha llevado a un acuerdo de distribución con dicha firma mediante el cual estamos autorizados a vender y dar soporte a sus productos en países de habla hispana.

9.2. VRML

El VRML es un lenguaje computacional. Aunque presenta similitudes con otros lenguajes de cómputo como BASIC o "C", el VRML ha sido diseñado en forma específica para manejar gráficas computacionales. El VRML contiene varias características integradas que facilitan la creación de modelos detallados.

El lenguaje de VRML es la razón más importante por lo que este programa es ahora un poderoso lenguaje gráfico. El VRML es la adaptación de un lenguaje desarrollado en la compañía Silicon Graphics. El predecesor del VRML fue Open Inventor, un sistema desarrollado con el fin de crear un lenguaje gráfico con múltiples capacidades. Open Inventor fue diseñado por la firma de SGL, para que los programadores pudieran elaborar ambientes realistas en tercera dimensión con un mínimo de conocimientos sobre programación en gráficas también pueden aprovechar sus características avanzadas. Los desarrolladores de Open Inventor tomaron los mejores componentes de los lenguajes gráficos existentes en aquella época y los sintetizaron en un solo conjunto que, a pesar de tener una gran capacidad expresiva y flexibilidad, resultaba fácil de aprender y entender.

Sin embargo, Open Inventor no es idéntico al VRML. Este último cuenta con ciertas características que lo hacen compatibles con el Word Wide Web y ha mejorado algunas de las opciones originadas con Open Inventor, pero aún así necesitaba mayor flexibilidad. Es por eso que Gavin Bell uno de los desarrolladores de Open Inventor SGI, es también uno de los principales Arquitectos del VRML. Gavin volcó su experiencia en el diseño del VRML y en las modificaciones de su antecesor, al eliminar algunas características poco útiles y agregar otros factores necesarios para el manejo del Web.

El VRML es un lenguaje para descripción de escenas no un lenguaje de programación. Algunos lenguajes de cómputo como "C", primero compilan el programa y después se ejecutan.

El sistema VRML pasa por un análisis sintáctico antes de ser desplegado en pantalla. La descripción de escenas es un proceso estático, pues los elementos no cambian cuando el archivo VRML se carga. De hecho, es posible cambiar el punto de vista, pero no la escena misma.

                VRML (sigla del inglés Virtual Reality Modeling Language. "Lenguaje para Modelado de Realidad Virtual") - formato de archivo normalizado que tiene como objetivo la representación de escenas u objetos interactivos tridimensionales; diseñado particularmente para su empleo en la web. Se usa por medio de comandos en inglés, los cuales agregan y determinan las características.

El lenguaje VRML posibilita la descripción de una escena compuesta por objetos 3D a partir de prototipos basados en formas geométricas básicas o de estructuras en las que se especifican los vértices y las aristas de cada polígono tridimensional y el color de su superficie. VRML permite también definir objetos 3D multimedia, a los cuales se puede asociar un enlace de manera que el usuario pueda acceder a una página web, imágenes, vídeos u otro fichero VRML de Internet cada vez que haga click en el componente gráfico en cuestión.

El Consorcio Web3D fue creado para desarrollar este formato. Su primera especificación fue publicada en 1995; la versión actual funcionalmente completa es la VRML 97 (ISO/IEC DIS 14772-1). VRML, es la base en la que se ha desarrollado X3D - Extensible 3D.

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 rápidamente.

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 un área no retarda la especificación en conjunto.

¿Qué es X3D?

                X3D (extensible 3D) es la próxima-generación del estándar abierto para la Web. Este es un estándar extensible que puede ser soportado fácilmente por herramientas de creación, browsers propietarios, y otras aplicaciones 3D, sea para importar y exportar. Reemplaza VRML, pero también proporciona compatibilidad con los contenidos y browsers VRML existentes. El contenido actual VRML podrá ser usado sin modificación en cualquier browser X3D-2, el contenido nuevo X3D-a y X3D-2 lo es en aplicaciones VRML existentes. 

X3D discute las limitaciones de VRML. Este se especifica totalmente, por lo que el contenido será totalmente compatible. Es extensible, lo que significa que X3D puede usarse para hacer una pequeña y eficiente animación 3D, o puede usarse para soportar lo ultimo en extensiones Streaming o de Renderizado. Soporta codificaciones múltiples y APIs, para que pueda integrarse fácilmente con browsers Web a través de XML o con otras aplicaciones. Además para ir cerrando el circulo con XML, X3D es la tecnología detrás del soporte 3D del MPEG-4. 

¿Cómo luce X3D?

                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. 

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: 1 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) consista 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 soporten 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 más adelante, dar 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 extensión propietaria. Y las codificaciones de XML optativas y soporte proporcionan de un mecanismo para la firme integración con otras tecnologías del Web. 

¿Por qué X3D es más extensible que VRML? 

Un componente puede contener muchos nodos (es decir el perfil Nurbs contiene todos los nodos del nurbs relacionados). También, un componente puede agregar otras áreas de funcionalidad, como el soporte de un nuevo lenguaje de scripting, o requisitos de la interface del usuario, etc. Un componente también puede ser simplemente una colección de externprotos. 

VRML tiene sólo el mecanismo de Externproto para la extensibilidad, pero ningún mecanismo real por crear grupos de extensiones de funcionalidad. El componente, nivel, y los mecanismos del perfil X3D permiten esto. Y mientras los browsers individuales pueden llevar a cabo perfiles usando protos y externprotos, no se fuerza a las compañías de browser hacer esto. 

Más, los componentes pueden ser más que sólo nodos. Puede ser áreas funcionales enteras. Por ejemplo, podríamos decidir que necesitamos en-línea ECMAScript dentro del archivo X3D en algún punto. El mecanismo del componente permite este tipo de extensión.

Vídeo Complementario:



Conclusión:

                En esta unidad aprendimos a analizar y conocer las herramientas con las q trabaja la realidad virtual comprendiendo que no solamente existen estas dos herramientas mencionadas, pero si son las que proporcionan un mejor apoyo.

Bibliografía:




No hay comentarios:

Publicar un comentario