WebGL ve la luz

Por Ernesto Badillo
3d aceleracion de gráficos chrome chrome 9 google webgl

Este 3 de Febrero, Google Chrome 9 fué liberado y así Chrome se ha convertido en el primer navegador en soportar, en una versión pública y hablitado por default, WebGL.

Por primera vez vemos gráficos 3D acelerados por hardware en el navegador.

Ofrecer este soporte no ha sido fácil para Google debido sobre todo a tres razones:

  1. WebGL es un API de modo inmediato. Lo que esto significa es que cada frame que aparece en la pantalla es dibujado de principio a fin con javascript. Si tomamos en cuenta que un rendimiento óptimo es de alrededor de 50 frames por segundo, resulta obvia la preocupación de que javascript pudiera no ser lo suficientemente rápido. Preocupación que es bien conocida en Google. Inluso hace unos años Google apostaba por un API de más alto nivel (modo retenido) para gráficos 3D en el navegador: O3D. Sin embargo, en Mayo de 2010, google decidió que su engine de javascript era lo suficientemente rápido para correr WebGL y anunció que estaría deprecando este proyecto en favor de WebGL e incluso que las nuevas versiones de O3D iban a correr sobre WebGL como una manera de probar su implementación.

  2. WebGL se basa en OpenGL el cuál es un API en C que, aunque está disponible por default en windows, Microsoft ha decidido, como parte de sus planes de dominación para DirectX, que sus drivers no usen aceleración por hardware. Para darle la vuelta a este problema google ha tenido que desarrollar un proyecto que implementa una capa de abstracción y que traduce las llamadas al API de WebGL en llamadas al API de DirectX en caso de que OpenGL no esté disponible con aceleración por hardware. Dicho proyecto se llama Angle.

  3. WebGL no será soportado por Internet Explorer 9. Microsoft ha decidido enfocarse en brindar aceleración por hardware a las páginas existentes y a su canvas de html5 a través de Direct2D sobre todo. Esto significa que los desarrolladores no podremos esperar que nuestras aplicaciones WebGL puedan ser usadas con cualquier navegador. La solución de google para esto es Chrome Frame: Un plugin para internet explorer que esencialmente ejecuta chrome dentro de internet explorer. Después de todo, es más fácil pedirle al usuario que instale un plugin en su navegador, que pedirle que cambie su navegador.

Pues bien, google ha podido con estos obstáculos: acabo de descargar Chrome 9 y WebGL simplemente funciona. Ver la animación de una medusa nadando suavemente dentro de mi navegador a 58 FPS es una experiencia totalmente nueva. Esto es algo que le abre la puerta a toda una nueva gama de aplicaciones en el navegador; sobre todo de visualización de datos y juegos.

Como prueba pueden ver los siguientes videos o, si ya tienen, Chrome 9 vayan al sitio oficial de demos WebGL de Crhome.


comments powered by Disqus