VRML ( Virtual Reality Modeling Language , pronunciado vermal o por sus siglas, originalmente conocido —antes de 1995— como Virtual Reality Markup Language) es un formato de archivo estándar para representar gráficos vectoriales interactivos tridimensionales (3D) , diseñado particularmente teniendo en mente la World Wide Web . Ha sido reemplazado por X3D . [1]
VRML es un formato de archivo de texto donde, por ejemplo, se pueden especificar vértices y bordes para un polígono 3D junto con el color de la superficie, texturas mapeadas con UV , brillo , transparencia , etc. [2] [3] Las URL se pueden asociar con componentes gráficos para que un navegador web pueda obtener una página web o un nuevo archivo VRML de Internet cuando el usuario haga clic en el componente gráfico específico. Las animaciones , sonidos , iluminación y otros aspectos del mundo virtual pueden interactuar con el usuario o pueden ser activados por eventos externos como temporizadores . Un nodo de script especial permite la adición de código de programa (por ejemplo, escrito en Java o ECMAScript ) a un archivo VRML.
Los archivos VRML se denominan comúnmente "mundos" y tienen la extensión .wrl (por ejemplo, island.wrl). Los archivos VRML están en texto simple y generalmente se comprimen bien con gzip , lo que resulta útil para transferirlos por Internet más rápidamente (algunos archivos comprimidos con gzip usan la extensión .wrz ). Muchos programas de modelado 3D pueden guardar objetos y escenas en formato VRML.
El Consorcio Web3D se ha formado para promover el desarrollo colectivo del formato. VRML (y su sucesor, X3D ), han sido aceptados como estándares internacionales por la Organización Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional (IEC).
La primera versión de VRML se especificó en noviembre de 1994. Esta versión se especificó a partir de, y se parecía mucho a, la API y el formato de archivo del componente de software Open Inventor , desarrollado originalmente por SGI . El desarrollo de la versión 2.0 fue guiado por el Grupo de Arquitectura VRML (VAG) ad hoc. [4] Se publicó un borrador de trabajo en agosto de 1996. [5] La colaboración formal entre el VAG y el SC24 de ISO/IEC comenzó en 1996 [6] y VRML 2.0 se presentó a ISO para su adopción como estándar internacional. La versión actual y funcionalmente completa es VRML97 (ISO/IEC 14772-1:1997). VRML ahora ha sido reemplazado por X3D (ISO/IEC 19775-1).
El término VRML fue acuñado por Dave Raggett en un artículo llamado "Extending WWW to support Platform Independent Virtual Reality" [7] presentado en la Primera Conferencia World Wide Web [8] en 1994, y discutido por primera vez en el BOF VRML WWW94 establecido por Tim Berners-Lee , donde Mark Pesce presentó la demostración de Labyrinth que desarrolló con Tony Parisi [9] y Peter Kennard . [10] VRML fue presentado a una audiencia más amplia en el Curso SIGGRAPH , VRML: Using 3D to Surf the Web [11] en agosto de 1995. En octubre de 1995, en Internet World, Template Graphics Software (TGS) demostró un complemento 3D/VRML para la versión beta de Netscape 2.0 de Netscape Communications . [12]
En 1997 se finalizó una nueva versión del formato, llamada VRML97 (también conocida como VRML2 o VRML 2.0), y se convirtió en un estándar ISO/IEC. VRML97 se utilizó en Internet en algunas páginas personales y sitios como " CyberTown ", que ofrecía chat en 3D utilizando Blaxxun Software, así como el programa SAPARi de Sony , que se preinstaló en las computadoras Vaio desde 1997 hasta 2001. [13] El formato fue defendido por Cosmo Software de SGI; cuando SGI se reestructuró en 1998, la división se vendió a la División VREAM de Platinum Technology , que luego fue absorbida por Computer Associates , que no desarrolló ni distribuyó el software. Para llenar el vacío, surgieron una variedad de formatos web 3D propietarios durante los siguientes años, incluidos Microsoft Chrome y Adobe Atmosphere , ninguno de los cuales es compatible en la actualidad. Las capacidades de VRML se mantuvieron en gran medida iguales, mientras que los gráficos 3D en tiempo real siguieron mejorando. El Consorcio VRML cambió su nombre a Consorcio Web3D y comenzó a trabajar en el sucesor de VRML: X3D . [14]
La SGI tenía un sitio web en vrml.sgi.com en el que se presentaban una serie de breves actuaciones periódicas de un personaje llamado "Floops", que era un personaje de VRML en un mundo de VRML. Floops fue una creación de una empresa llamada Protozoa. [15] [16]
H-Anim es un estándar para humanoides animados, que se basa en VRML y, posteriormente, en X3D. La versión inicial 1.0 del estándar H-Anim estaba prevista para su presentación a finales de marzo de 1998. [17]
El VRML nunca ha tenido un uso muy serio y generalizado. [18] Una razón para esto puede haber sido la falta de ancho de banda disponible . [19] En el momento de la popularidad del VRML, la mayoría de los usuarios, tanto comerciales como personales, usaban un acceso telefónico a Internet lento .
La experimentación con VRML se ha centrado principalmente en la educación y la investigación, donde se valora más una especificación abierta. [20] Ahora se ha rediseñado como X3D . El perfil interactivo MPEG-4 (ISO/IEC 14496) se basaba en VRML [21] (ahora en X3D), y X3D es en gran medida compatible con versiones anteriores. VRML también se utiliza ampliamente como formato de archivo para el intercambio de modelos 3D, en particular de sistemas CAD . [22]
Hay disponible una implementación gratuita de VRML en tiempo de ejecución multiplataforma en OpenVRML . Sus bibliotecas se pueden usar para agregar compatibilidad con VRML y X3D a las aplicaciones, y hay disponible un complemento GTK+ para renderizar mundos VRML/X3D en navegadores web.
En la década de 2000, muchas empresas como Bitmanagement mejoraron el nivel de calidad de los efectos virtuales en VRML al nivel de calidad de DirectX 9.0c, pero a expensas de utilizar soluciones propietarias. Todas las características principales, como el modelado de juegos, ya están completas. Incluyen renderizado multi-pass con configuración de bajo nivel para Z-buffer, BlendOp, AlphaOp, Stencil, [23] Multi-textura, [24] Shader con soporte HLSL y GLSL, [25] Render To Texture en tiempo real, Multi Render Target (MRT) y PostProcessing. [26] Muchas demostraciones muestran que VRML ya admite lightmap, normalmap, SSAO, CSM y Realtime Environment Reflection junto con otros efectos virtuales. [27]
Este ejemplo muestra la misma escena que X3D § Ejemplo .
#VRML V2.0 utf8Forma { geometría IndexedFaceSet { índice de coordenadas [ 0, 1, 2 ] coord Coordenada { punto [ 0, 0, 0, 1, 0, 0, 0.5, 1, 0 ] } }}
En un ensayo de ACM de marzo de 1998 , "Playfulness in 3D Spaces -- Why Quake is better than VRML, and what it means for software design", Clay Shirky criticó duramente a VRML como una "tecnología en busca de un problema", mientras que "Quake hace algo bien en lugar de muchas cosas mal... La comunidad VRML no ha logrado crear nada tan convincente, no a pesar de las mejores intenciones de la comunidad, sino debido a ellas. Cada vez que los profesionales de VRML abordan el problema de cómo representar el espacio en la pantalla, no tienen ninguna razón concreta para hacer una concesión particular entre detalle y velocidad de renderizado, o hacer objetos o crear espacios, porque VRML no sirve para nada más que para sí mismo. Muchas veces, tener una necesidad particular y de corto plazo que resolver pone de relieve las virtudes de un proyecto y le da la suficiente claridad para vivir por sí mismo". [28]