miércoles, 14 de septiembre de 2016

3D En el Navegador


3D En el Navegador

Los gráficos 3D, bien empleados, pueden ser una buena herramienta de marketing, ya que permiten mejorar el diseño, exponer los productos en venta o crear efectos sorprendentes que guíen a los usuarios hacia los objetivos de conversión.

A lo largo de la historia de la Web han ido surgiendo distintas tecnologías propietarias y abiertas que podían mostrar gráficos en 3D (3DXML, VRML, X3D, Flash, Silverlight, Java, etc.), pero nunca ninguna a llegado a ser soportada por todos los navegadores, obligando a los usuarios a instalar plugins. Esto hacía que la tecnología 3D fuera bastante molesta, ya que pedirle al usuario que instalara un plugin, era lo mejor que podías hacer para que abandonara la página. Esto se tuvo un cambio con la aparición de Windows 8.1, debido a que trae Internet Explorer 11 y éste permite hacer uso de una tecnología 3D llamada WebGL.

WebGL es una especificación estándar que está siendo desarrollada actualmente para mostrar gráficos en 3D en navegadores web. El WebGL permite mostrar gráficos en 3D acelerados por hardware en páginas web, sin la necesidad de plug-ins en cualquier plataforma que soporte OpenGL 2.0 u OpenGL ES 2.0. Técnicamente es un API para javascript que permite usar la implementación nativa de OpenGL ES 2.0 que será incorporada en los navegadores. WebGL es gestionado por el consorcio de tecnología sin ánimo de lucro Khronos Group .

WebGL creció desde los experimentos del canvas 3D comenzados por Vladimir Vukićević en Mozilla. El primero mostró un prototipo de Canvas 3D en 2006. A finales de 2007, tanto Mozilla  como Opera habían hecho sus propias implementaciones separadas. A principios de 2009 Mozilla y Khronos formaron el WebGL Working Group (Grupo de Trabajo del WebGL). El Grupo de Trabajo del WebGL incluye Apple, Google, Mozilla, y Opera, y WebGL ya está presente en las builds de Mozilla Firefox, Mozilla Fennec, Google Chrome y también en la versión de Safari incorporada en OS X Lion (Safari 5.1).

Notables primeras aplicaciones de WebGL incluyen Google Maps y Zygote Body.

*WebGL está basado en OpenGL ES 2.0 y proporciona una API para gráficos 3D. Se utiliza el elemento canvas HTML5 y se accede mediante interfaces Document Object Model. Gestión de memoria automática se proporciona como parte del lenguaje JavaScript.

*WebGL carece de las rutinas matemáticas matriz eliminadas en OpenGL 3.0. Esta funcionalidad debe ser proporcionada por el usuario en el espacio de código JavaScript; este código necesario se complementa con frecuencia con una biblioteca de matriz tal como glMatrix, TDL, o MJS.

Actualmente es soportado en Google Chrome, Internet Explorer (versión 11) y Mozilla Firefox aunque también funciona con limitaciones en Opera browser y en Safari bajo el sistema operativo de Apple para computadoras de escritorio. Como WebGL es una tecnología diseñada para trabajar directamente con el GPU (unidad de procesamiento gráfico) es difícil de codificar en comparación con otros estándares web más accesibles

Las escenas WebGL se pueden crear sin necesidad de programación utilizando una herramienta de creación de contenidos, como Blender o con Autodesk Maya. Las escenas luego se exportan a WebGL. Esto fue posible por primera vez con Inka3D, un plugin de exportación WebGL para Maya. También hay servicios para publicar contenido en línea 3D interactivo utilizando WebGL como p3d.in y Sketchfab. Unity Engine permite crear contenido (Videojuegos, apps, etc) para navegadores usando WebGL.


Como WebGL está diseñado para ejecutar en el lado del cliente con las operaciones de renderización pesadas realizadas por los usuarios en el GPU de la computadora, su código fuente puede ser relativamente fácilmente embebido en, por ejemplo, un microcontrolador PIC, o cualquier otro con la implementación de la pila TCP / IP, de modo que el microcontrolador actuará como servidor web y el resto de tareas se desarrollarán en el lado del cliente.

No hay comentarios:

Publicar un comentario