Navegación 3D en Internet: VRML. RESUMEN El presente texto compila y resume diferentes aspectos ligados a la naciente técnica de introducción de sistemas de navegación 3D y entornos de realidad virtual dentro de Internet. A partir de una visión histórica de su breve existencia, se profundiza en el standard mismo, revisando el trabajo que esta desarrollándose en estos momentos a nivel global para su perfeccionamiento, e incidiendo en las repercusiones futuras de su implantación. INTRODUCCIÓN “One must look at a display screen, as a window through wich one beholds a virtual world. The challenge to computer graphics is to make the picture in the window look real, sound real, and the objects act real”. Ivan Sutherland, 1965 The Ultimate Display El nacimiento, en 1991, de la World Wide Web, abrió el paso a una nueva dimensión, en términos de accesibilidad y funcionalidad dentro de Internet. Por vez primera, los usuarios y programadores de la red podían acceder a varios tipos de servicios (FTP, Gopher, Telnet, etc.) a través de un nuevo y consistente mecanismo. Como valor añadido, la WWW incluyó dos nuevos servicios, el HTTP, como sistema de transferencia de ficheros altamente eficiente, y el URL, que definió una nueva forma de localizar conjuntos de datos donde quiera que estos se encontrasen dentro del dominio Internet. La primera gran consecuencia de la presencia de la WWW es sin duda el tremendo impulso que ha dado a la facilidad de uso de la información; Internet es ahora más útil que nunca, y los datos contenidos en ella son más fáciles de encontrar de lo que fueron jamás. A través de la WWW, los varios millones de servidores presentes en Internet pueden ser tratados como una única fuente de datos, como un solo documento de compleja estructura en el que puede hallarse cualquier información que se necesite. 1 Sin embargo, esta manera de presentar los contenidos en forma fundamentalmente textual y pictórica tiene sus limitaciones. Por una parte, la manera jerárquica de enlazar los temas hace difícil percibir el conjunto desde una página individual; es frecuente visitar servidores Web, tales como el Museo del Louvre, donde todo su contenido se traduce en una serie de imágenes adheridas a unos textos, de tal forma que la riqueza de información presente en el edificio de un museo se limita a un formato similar al de su guía de visita. La letra impresa apenas tiene quinientos años, mientras que desde hace milenios tenemos en nuestros cerebros la más potente herramienta de visualización conocida. Los seres humanos “navegamos” en tres dimensiones, nacemos en ellas y tenemos una impresionante capacidad de localización y organización espacial. Se hace patente por tanto, la necesidad de interfaces para la visita de la red, que conlleven no solo la experimentación de espacios tridimensionales sino que además puedan descubrir una nueva metódica de presentación de contenidos, interacción entre los usuarios, simulación de fenómenos, y en definitiva mejoren las formas de la transmisión del conocimiento. VIRTUAL REALITY MODELING LANGUAGE. REVISIÓN HISTÓRICA En los últimos años hemos sido testigos de la eclosión de los gráficos por computador, con su capacidad de generación de imágenes y animaciones de calidad cada vez mayor. Paralelamente, han ido apareciendo toda una serie de tecnologías, que se enmarcan en el campo de la llamada “Realidad virtual”, donde nuevos interfaces hacen que el usuario cambie el entorno real por otro generado en tiempo real por el computador. El primer trabajo que reunió estas técnicas en una aplicación capaz a su vez de enlazarse con la Web fue desarrollada en 1993 por Mark Pesce (the Community Company) y Tony Parisi (Intervista), bajo el nombre de “labyrinth” (Fig.1), y presentada en la First International Conference on the World Wide Web en Ginebra en Febrero de 1994. De dicho congreso salió una firme voluntad de desarrollar un lenguaje común para describir escenas 3D dentro de la WWW, una analogía al HTML para incluir realidad virtual. Allí surgió el término VRML, inicialmente acrónimo de Virtual Reality Markup Language, en el que la palabra “Markup” fue posteriormente sustituida por la más adecuada “Modeling” en referencia al término “modelado” que es el usado para describir la construcción de geometrías tridimensionales por computador. 2 Figura 1. Labyrinth El diseño de un standard La Web enseña una filosofía abierta basada en compartir ideas e investigar de forma conjunta. Siguiendo esta pauta, la creación de un standard como el VRML no debía estar limitada a un grupo reducido, sino al contrario, estar abierta a la comunidad de Internet. Se abrió para ello una lista de correo electrónico (aún en funcionamiento) en el servidor de WIRED para discutir la nueva especificación. Ésta debería incluir un lenguaje para la descripción de geometrías tridimensionales y cumplir los siguientes requerimientos: —Independencia de la plataforma. —Extensibilidad. —Capacidad de operar en conexiones sobre bajo ancho de banda. Con la nueva especificación, sería posible transmitir información geométrica a través de la red, e incluir en ella enlaces “hiperlinks” para permitir el salto entre geometrías, documentos, etc. La inclusión de parámetros de comportamiento (físicos, de interacción multiusuario, etc.) se dejaría para una futura revisión. Un mes más tarde de la apertura de la lista de e-mail, más de dos mil personas estaban ya discutiendo las características del nuevo formato y dada la inconsistencia de intentar 3 desarrollar por completo un nuevo lenguaje, se optó por buscar uno que cumpliese la mayor cantidad posible de los requerimientos. Varios candidatos fueron evaluados, tales como el Object Oriented Geometry Language (OOGL) de la Universidad de Minessotta, el Cyberspace Development Format (CDF) de Autodesk y el Manchester Scene Description Language (MSDL) de la Universidad de Manchester entre muchos otros, sin embargo, finalmente se optó por la librería de programación Open Inventor de Silicon Graphics. Dado que la adopción de un standard perteneciente a una compañía es absolutamente contrario a la propia filosofía de la Web, más inclinada hacia el software “abierto”, se sugirió a SGI la posibilidad de ceder el formato Open Inventor al dominio público, sin restricciones, para que la comunidad de Internet pudiese trabajar sobre él sin problemas legales. Silicon Graphics accedió, convirtiéndose con ello en uno de los grandes impulsores de este sistema. La comunidad discutió durante varios meses el subconjunto del Open Inventor, que con algunas extensiones, dio lugar a la primera especificación del VRML. La consideración quizá más importante, la interactividad, se dejó a un lado en esta versión 1.0, dado lo complicado de interactuar entre plataformas tan diferentes como ordenadores basados en Windows, Macintosh, Unix, etc. Pareció necesario definir asimismo un equivalente del HTML para describir características de comportamiento (Behaviour), para una próxima revisión, y lanzar a la comunidad Internet un standard, que aunque capaz de transmitir tan solo geometría, ya era de por sí suficientemente útil. El primer borrador del standard fue presentado por Tony Parisi (Intervista) y Gavin Bell (SGI) en Octubre de 1994 en la Second International Conference on the World Wide Web, celebrada en Chicago. Poco después, Paul Strams y Gavin Bell (SGI) desarrollaron QvLib, un intérprete VRML con el que podrían empezar a implementarse las primeras aplicaciones basadas en este lenguaje. QvLib fue asimismo puesto a disposición del público por Silicon Graphics. En Enero de 1995, Template Graphics Software y Silicon Graphics decidieron construir conjuntamente un visualizador VRML. El programa fue desarrollado por SGI para sus propias plataformas, mientras que TGS se encargo de implementarlo en otros sistemas. La aplicación Webspace (Fig. 2) fue lanzada en todo el mundo el 3 de Abril de 1995. Una semana después, ya existían más de cincuenta servidores VRML en todo el mundo, que un mes más tarde ya eran varios cientos. Coincidiendo con la entrada de la primavera, este hecho fue llamado “Equinoccio VRML” (pronunciado desde entonces “vermel” en analogía a la pronunciación inglesa de la palabra “vernal”). 4 Figura 2. TGS Webspace VRML. ESPECIFICACIÓN 1.0 Generalidades El lenguaje de Modelado de Realidad Virtual, es un lenguaje destinado a describir simulaciones interactivas con múltiples participantes, dentro de un conjunto de mundos virtuales dentro de Internet hiperenlazados a través de la World Wide Web. La versión 1.0 del standard VRML permite la creación de escenarios virtuales en tres dimensiones, con unos modelos de comportamiento bastante limitados. Estos escenarios pueden contener objetos que a su vez actúan de hiperenlaces que conducen a otros escenarios, a documentos HTML, o a cualquier otro objeto de tipo MIME válido (sonidos, video, etc). Cuando el usuario selecciona un objeto que contiene un hiperenlace, el visualizador MIME correspondiente se activa, e igualmente, cuando desde un programa de presentación WWW (tales como Netscape o Mosaic) se selecciona un enlace VRML, el correspondiente visualizador VRML (tal como Webspace) se activa. Por tanto se podría decir que los visualizadores VRML y los presentadores WWW son complementarios, y representan en conjunto un buen medio de navegar por la red. En futuras versiones de VRML se pretende incorporar modelos de comportamiento complejos, tales como animaciones, procesos físicos e interacción multiusuario en tiempo real. 5 Descripción del formato Básicamente, el código VRML contiene una descripción de una escena formada por objetos, llamados nodos. Estos nodos contienen información de tipo geométrico, de características del material, de formas de iluminación, de hiperenlaces, etc. Los nodos en una escena se ordenan de forma jerárquica en unas estructuras llamadas grafos de escena. Dentro de estos grafos, la posición de los nodos es importante ya que los nodos situados antes pueden afectar a los situados después. Para limitar el efecto del influjo de los nodos en los nodos posteriores se define un tipo especial de nodo, el separador que aísla unas partes de la escena de otras. Los nodos pueden también contener otros nodos y en ese caso hablamos de grupos nodales. En un grupo nodal, el nodo-padre transmite las operaciones por las que se ve afectado a sus nodos-hijo. El separador representa en sí mismo un tipo de grupo nodal. Un ejemplo en pseudo-código de lo anterior puede verse en la figura siguiente (Figura 3). Ejemplo Separador Cámara Luz general Separador Luz-1 Separador Translación Esfera Separador Rotación Translación Cubo Translación Esfera Separador Luz-2 Material Separador Translación Cono Separador Translación Rotación Cubo Figura 3. 6 Las características que definen un nodo son las siguientes: • Tipo de objeto. Debe definirse si el nodo en cuestión es un cubo, una esfera, un tipo de material, una rotación... • Parámetros que definen al objeto y le diferencian de otros objetos de su misma clase, así, en el caso de una esfera deberá definirse su radio, en una luz su color, posición, etc. Estos parámetros reciben el nombre de campos. • Nombre. No es obligatorio, aunque puede ser útil para futuras referencias al nodo. • Nodos-hijo. Solo es necesario en el caso de grupos nodales. La sintaxis genérica para definir este tipo de objetos es la siguiente: DEF nombre_del_objeto tipo_de_objeto { campos nodos-hijo } donde solo el valor tipo_de_objeto y las llaves son obligatorias, los demás valores dependen de las características del objeto que se está definiendo. Como se ha dicho, las piezas de información fundamentales de un fichero VRML son los nodos, de los que existen 36 formas. Estos pueden agruparse según el tipo de información que contienen como sigue: • Nodos que especifican geometría: AsciiText Cone Cube Cylinder IndexedFaceSet IndexedLineSet PointSet Sphere • Nodos que especifican propiedades: —Propiedades de la geometría Coordinate3 Material FontStyle MaterialBinding Info Normal LOD NormalBinding Texture Texture2Transform TextureCoordinate2 ShapeHints —Transformaciones espaciales MatrixTransform Transform Rotation Translation Scale 7 —Cámaras OrtographicCamera PerspectiveCamera —Luces DirectionalLight PointLight SpotLight • Grupos nodales Group Separator Switch TransformSeparator WWWAnchor • Otros tipos WWWInline La descripción puntual de cada una de estas formas de nodo va más allá del objetivo de este escrito. En la bibliografía adjunta se cita dónde encontrar la especificación completa para un estudio más exhaustivo de la misma. El documento oficial de la especificación 1.0 del VRML facilita un ejemplo concreto de código en el que se representa una luminaria compuesta de formas simples, un grupo de paredes y una referencia a una figura que se obtiene de otro lugar en la red. Todo ello iluminado por una luz, sirviendo dicha figura como hiperenlace a su vez de un texto HTML. #VRML V1.0 ascii Separator { Separator { # Simple track-light geometry: Translation { translation 0 4 0 } Separator { Material { emissiveColor 0.1 0.3 0.3 } Cube { width 0.1 height 0.1 depth 4 } } 8 Rotation { rotation 0 1 0 1.57079 } Separator { Material { emissiveColor 0.3 0.1 0.3 } Cylinder { radius 0.1 height .2 } } Rotation { rotation -1 0 0 1.57079 } Separator { Material { emissiveColor 0.3 0.3 0.1 } Rotation { rotation 1 0 0 1.57079 } Translation { translation 0 -.2 0 } Cone { height .4 bottomRadius .2 } Translation { translation 0 .4 0 } Cylinder { radius 0.02 height .4 } } } SpotLight { # Light from above location 0 4 0 direction 0 -1 0 intensity 0.9 cutOffAngle 0.7 } Separator { # Wall geometry; just three flat polygons Coordinate3 { point [ -2 0 -2, -2 0 2, 2 0 2, 2 0 -2, -2 4 -2, -2 4 2, 2 4 2, 2 4 -2] } IndexedFaceSet { coordIndex [ 0, 1, 2, 3, -1, 0, 4, 5, 1, -1, 0, 3, 7, 4, -1 ] } } WWWAnchor { # A hyperlinked cow: name "http://www.foo.edu/CowProject/AboutCows.html" Separator { Translation { translation 0 1 0 } WWWInline { # Reference another object name "http://www.foo.edu/3DObjects/cow.wrl" } } } } 9 El resultado de visualizar el codigo anterior seria el siguiente (Figura 4): Figura 4. The VRML Architecture Group. VRML 1.1. EXTENSIONES. Además del trabajo de discusión realizado por todos los participantes de la VRML mailing list existe un grupo constituido por diez investigadores, pertenecientes a las diferentes áreas de experimentación relacionadas con el VRML, dicho grupo es conocido como VAG (VRML Architecture Group). Esta agrupación se está encargando de la extensión de la especificación 1.0 hacia sus futuras versiones. El primer resultado del trabajo de estas personas fue la realización de un primer borrador, fechado el 16 de Diciembre de 1995, de la versión 1.1 del VRML. En dicha versión se modifican algunos de los nodos existentes, y se añaden los siguientes: Background CollideStyle DirectedSound ElevationGrid GeneralCylinder NavigationInfo PointSound WorldInfo Como se deduce de los nombres arriba descritos, una vez aprobado el borrador (lo cual sucederá, siguiendo la normativa IETF, cuando estén disponibles dos implementaciones independientes en diferentes plataformas) VRML permitirá, por un lado, un modelo de comportamiento básico, como es la detección de colisiones, la inclusión de sonido, y la posibilidad de utilizar formas de modelado generativo a través del nodo GeneralCylinder que permitirán una amplísima variedad geométrica, entre otras mejoras. 10 La versión 1.1 también define un mecanismo de generación de prototipos para poder extender la variedad de tipos de nodo dentro de un fichero VRML así como la parametrización de la geometría y comportamientos, a través de las declaraciones PROTO y EXTERNPROTO. Independientemente de la especificación 1.1, algunas aplicaciones VRML tales como Webspace y Netscape Live 3D incluyen algunas extensiones del lenguaje para permitir ciertas capacidades accesorias. El cuadro siguiente lista estas extensiones. Backgrounds Cameras Webspace X X Netscape X X Collision- Title SceneInfo Viewer ViewerSpeed — X X X X X — — — — Detection Live 3D APLICACIONES VRML. BROWSERS El funcionamiento del VRML La forma genérica de operar de un browser (cliente) VRML es en todo punto similar a la de un cliente HTML. Como sabemos, la WWW se compone básicamente de dos componentes esenciales, esto es, el servidor y el cliente, donde éste reacciona ante la actuación del usuario (por ejemplo, seleccionando un tema con el ratón) pidiendo a aquél la información seleccionada. Cuando un servidor WWW recibe una petición de información, la interpreta y trata de contestarla enviando el documento solicitado más una información de contexto, con la que se especifica al cliente el tipo de datos que se envían (texto, fotografías, vídeo...). Esta información de contexto está codificada en un formato denominado MIME (Multimedia Internet Mail Extensions), y especifica tanto el tipo genérico como la subclase a la que pertenece la aplicación. Por ejemplo, el formato MIME para vídeo MPEG sería vídeo/mpeg. No todos los clientes HTML son capaces de presentar todos los tipos de información (por ejemplo Netscape puede reproducir imágenes, pero no vídeo MPEG). En el caso de que el cliente no pueda presentar esta información, normalmente pregunta al usuario acerca de qué hacer con ella (guardar en disco, cancelar, configurar una aplicación auxiliar...). En el caso de 11 que el usuario haya configurado una aplicación auxiliar para el tipo MIME recibido, el cliente HTML lanza esa aplicación para mostrar el documento enviado por el servidor. Para recibir un documento VRML utilizando un cliente genérico basta con configurarlo para utilizar una aplicación externa, tal como Webspace usando el tipo MIME para documentos VRML, que tiene la forma x-world/x-vrml. Algunos clientes VRML son capaces por sí solos de hacer peticiones de documentos a un servidor, esto es, sin necesidad de lanzar previamente un cliente HTML, sin embargo, otras precisan de la ayuda de éste, y en ese caso gestionan la petición a través de una llamada a este último. Una vez el documento ha llegado al cliente VRML ,bien directamente, bien a través de un cliente HTML, es interpretado y transmitido al módulo de presentación (rendering) que se encarga de transformar la información recibida en objetos visibles. Normalmente se incluyen herramientas de navegación que permiten que el usuario mueva la cámara a través de la escena. No es necesario que el documento recibido contenga todos los objetos de la escena a visualizar. Parte de ellos pueden estar en otros lugares de la red, apareciendo en el documento tan solo su indicación. Es el cliente el que se encarga de contactar con las localizaciones (URL) necesarias para traer la escena completa. Como se ha dicho anteriormente, en una escena pueden existir hiperenlaces. Esto es, seleccionando un objeto, el cliente puede enviarnos a otro lugar de la red donde aparece otra escena, aunque los hiperenlaces no tienen que estar necesariamente referidos a otros objetos VRML, sino que se puede acceder a cualquier tipo MIME válido. Si en la escena hay un objeto representando un televisor, seleccionándolo, el cliente puede buscar un fragmento de vídeo en la red, llamar a una aplicación exterior y presentarlo en otra ventana del monitor. Las versiones más recientes de clientes WWW incluyen módulos o “Plug Ins” que permiten interpretar directamente un modelo VRML sin necesidad de invocar a un programa externo. Ello se hace bien intercalando las presentaciones de hipertexto y geometría, o bien usando una subdivisión de ventanas que presente de forma simultanea ambos tipos de información. Actualmente existe una gran gama de aplicaciones que permiten la lectura y navegación sobre formato VRML, aunque gran parte de ellos están todavía en versión beta. El cuadro adjunto indica la disponibilidad para cada plataforma. 12 win3.x win95 winNT SGI Dec Mac PPC HP Sun AIX Linux Fuente win3. win95 winNT SGI Dec Mac PPC HP Sun AI Linu Fuente AmberGL browser CyberGate Cyber Passage CyberPassage VRML 2.0 Cosmo * VRML 2.0 Epress VR Beta * Pioneer GLView i3D Kinetix Topper * Live3D * NAVFlyer Pueblo Renaissance TerraForm SDSC Web View V-Realm * IE VE VRML Add-In Virtus Voyager Vizia 3D viewer VR Scout VRML Equino VRWeb web3d Webspace WebOOGL Whurlwind WIRL * Worldview * Netscape - Internet Explorer plug-in Cuadro clientes VRML 13 Además de éstas, hay otras aplicaciones disponibles tales como herramientas de autor (Fountain, Wespace Author, Studio Pro, etc.) y convertidores de formatos de todo tipo a VRML. HACIA LA ESPECIFICACIÓN 2.0 Como se ha dicho anteriormente, una de las cuentas pendientes de la especificación 1.0, quizá la más importante, es la introducción de pautas de comportamiento en las escenas VRML. Un cliente capaz sin más de examinar globalmente una geometría puede ser útil en algunos casos, como el análisis de piezas mecánicas, sin embargo, en muchos otros, el usuario espera cierta interacción con la escena. En un paseo por un motivo arquitectónico, resulta extrañamente sorprendente comprobar cómo las paredes no ofrecen resistencia a ser cruzadas, y puede provocar cierta desorientación el comprobar que con un movimiento erróneo del ratón, el observador puede encontrarse debajo del suelo del edificio que está visitando. El incluir un mecanismo de detección de colisiones, parece por tanto importante para mejorar la navegación en los mundos virtuales. Igualmente parece necesario la introducción de patrones de comportamiento de tipo físico como gravedad, movimiento de mecanismos, etc. (Fig. 5) Por otra parte, el espíritu del VRML es, desde su nacimiento, el de un sistema orientado a la interacción multiusuario, por lo que gran parte de los esfuerzos realizados desde la primera especificación se han encaminado hacia la introducción de estas capacidades. Figura 5. Evolución del VRML 14 La posibilidad de utilizar patrones de comportamiento en un sistema va mas allá de la simple descripción de objetos. En un lenguaje capaz de soportar dichas características, deben aparecer formas de parametrizar los objetos, y definir operaciones, funciones y procedimientos, de hacer uso de librerías y contar además con un lenguaje de script para la introducción externa de valores. Así pues, parece que la solución del problema consistiría en dotar al VRML de las capacidades presentes en algunos de los lenguajes clásicos de programación. Sin embargo, el enfoque utilizado no ha consistido tanto en la invención de otro nuevo lenguaje (¡ ya hay más que suficientes !), como en la adopción de alguno de los existentes; la lista de candidatos incluye Hot Java, Perl, C++ e incluso Pascal. Varias empresas e instituciones que han desarrollado entornos de este tipo han propuesto la incorporación de sus sistemas a la futura especificación VRML 2.0. Entre los ponentes destacan: VRBS.- El Virtual Reality Behavior System. Desarrollado por el Centro de Supercomputación de San Diego (SDSC), propone la implementación de un sistema basado en Perl. BEF.- Behavior Format. Desarrollado por The BE Software Company. Basado en Pascal. VRML+ .- Desarrollado por Worlds Inc. extiende la funcionalidad del VRML con nuevas funciones de movimiento, comunicación multiusuario, e inclusión de personajes Avatar (gráficos que representan a cada participante en una multiconferencia). Una aplicación interesante del VRML+ es la denominada WebChat, un sistema conversacional entre varios participantes dentro de un escenario virtual. (Fig. 6) Figura 6. Worlds Chat 15 La especificación VRML 2.0 esta aún siendo debatida. Con el fin de concentrar esfuerzos y ahorrar tiempo a la comunidad vermel, el VAG lanzó en enero de 1996 una petición de propuestas sobre lo que debería ser la futura versión 2.0 del lenguaje. Seis propuestas fueron recibidas un mes más tarde que pasaron a ser debatidas en la VRML mailing list durante dos meses más. La relación de las mismas es la que sigue: • Active VRML - Microsoft • Dinamic Worlds - GMD y otros • HoloWeb - Sun • Moving Worlds - Silicon Graphics, Sony, Worlds Inc, Paper Software y otros • Out of This World - Apple • Reactive Virtual Environment - IBM Japón Tras un claro consenso, la propuesta Moving Worlds se eligió como base para el trabajo en la futura especificación. De la misma se han realizado ya tres borradores sucesivos, esperándose la versión definitiva para agosto de 1996. Para entonces se habrá pasado en apenas dos años desde que se acuño el término VRML a disponer de todo un nuevo conjunto de aplicaciones interactivas multiusuario, con capacidades de simulación, y enlazadas a traves de la red mundial, basadas en un nuevo estandard ampliamente consensuado. Aportaciones del standard 2.0 Son muchas las mejoras que la nueva especificación aporta sobre la anterior. Una nueva forma de describir nodos y grafos, asi como una serie de nuevos elementos que multiplican la potencia del VRML dotándole de nuevas capacidades que pasan a enumerarse a continuación: • Geometría: Nuevas formas geométricas. Superficies de extrusión y barrido. Rejillas infinitas para generación de horizontes. Nuevas texturas permiten incluir vídeo, animaciones, etc. sobre las superficies. Control individualizado del tipo de sombreado de cada objeto. • Entorno Fondos, niebla. Nivel de detalle variable para los objetos. Vistas predefinidas. Control de tipo de navegación. Detección de colisiones. Sonido Eventos. Direccionamiento de sucesos. Sensores de proximidad y visibilidad. Sensores de actuación del usuario. 16 • Control dinámico Sensores de tiempo. Interpoladores de posición, orientación, color, escalares, etc. Programabilidad. Java VRML Script Expandibilidad. Nodos prototipo, y prototipos externos. A pesar de esta versión no esta oficialmente aprobada, ya es posible contar con herramientas de autor tales como Cosmo o CyberPassage Conductor, y aplicaciones multiusuario tales como Alpha World, Moondo, o CyberPassage, en las que varias personas pueden compartir un mismo modelo, interactuar y crear nuevas geometrías y enlaces en un universo virtual compartido. (Fig. 7). Figura 7. Alpha Worlds VRML x.x .PERSPECTIVAS Es fácil intuir que los logros realizados hasta el momento no son mas que la punta del iceberg de una nueva y potente tecnología que hará su eclosión en los próximos años. Máquinas más potentes permitirán a los usuarios de los próximos años manejar mundos virtuales cada vez mas complejos, y de una manera cada vez mas sensorial con el uso de accesorios específicos de realidad virtual (guantes de datos, cascos, sensores de movimiento etc.) cada vez más cómodos y ligeros . El VRML no es solo un lenguaje, es una nueva filosofía de acceso a un mundo de participación. En pocos años empezará a ser frecuente encontrar a personas diseñando en colaboración, visitando establecimientos virtuales, recibiendo clases o simplemente 17 divirtiéndose juntos en la Red. Ello conllevará además un cambio radical en el diseño de los futuros espacios en los que se realizarán estas actividades. Si la arquitectura del mundo real usa las formas que conocemos, ello es debido a la existencia de condicionantes como el clima, la gravedad, el soleamiento o los materiales y técnicas de construcción disponibles. ¿Como habría de diseñarse un espacio en el que cada uno de esos parámetros pudiese modificarse a voluntad?. Los futuros ciberarquitectos habrán de replantear conceptos básicos de diseño tales como distancia y tamaño, o sin ir mas lejos, arriba y abajo. BIBLIOGRAFÍA: AMES L. NADEAU R. The VRML Sourcebook. John Wiley & Sons. 1996 MORELAND J, NADEAU D. The Virtual Reality Behavior System (VRBS) . VRML 95 First Annual Symposium on The Virtual Reality Modeling Language Proceedings. ACM PESCE M. VRML Browsing and Building Cyberspace.Macmillan Computer Publishing 1995 SUTHERLAND I. The Ultimate Display. Computer Graphics V26#3 ACM SIGGRAPH SIGGRAPH 95. VRML: Using 3D to Surf th Web. Course #12 notes. ACM SIGGRAPH SUMMITT P., SUMMITT M:. Creating Cool) 3D Web Worlds with VRML.IDG Books 1996 REFERENCIAS EN INTERNET VRML Repository http://www.sdsc.edu/vrml BELL G, PARISI A, PESCE M. The Virtual Reality Modeling Language Version 1.0 Especification http://vrml.wired.com/vrml.tech/vrml10-3.html BELL G, et al. The Virtual Reality Modeling Language Version 1.1 Draft http://vrml.wired.com/vrml.tech/vrml10-3.html KENNARD P, PESCE M, PARISI A. Cyberspace http://vrml.wired.com/concepts/pesce-www.html MEYER T, CONNER D. Adding Behavior to VRML http://www.cd.brown.edu/reasearch/graphics/research/papers/vrmlbehaviors.html MICROSOFT CORP: A Brief Introduction to Active VRML. http://www.microsoft.com/intdev/inttech/avintro.htm MITRA. VRML Extensions and Implementation choices. http://earth.path.net:80/mitra/papers/vrml-extensions.html MITRA et al. Moving Worlds:behaviors for VRML http://earth.path.net/mitra/papers/behaviors/Behaviors.html PESCE M. How VRML works. http://www.mcp.com/general/news7/contents.html/n4988s.html PESCE M. VRML Backgrounder. http://vrml.wired.com/arch/1010.html STEREMBERG et al. VRML+ Technical Documentation http://www.worlds.net/products/vrmlplus/technical BELL G. MARRIN C. CAREY R. The VRML 2.0 Specification (Final Draft) http://webspace.sgi.com/moving-worlds/ 18