Saltar al contenido

Agregar soporte WebGL a Google Chrome y otros navegadores Web

29/12/2011

Muchos usuarios nos han escrito sobre el soporte WebGL para los navegadores web, principalmente para WebGL en Google Chrome. Vamos a ver como habilitar somporte WebGL en Google Chrome y otro navegadores web.

Primero que nada, vamos a entender el concepto básico de lo que es WebGL, luego vamos a habilitar el soporte. Presta atención que hay datos importantes a considerar tanto para los diferentes navegadores como sistemas operativos. Empecemos con lo básico:

¿Que es WebGL?

Permite que el contenido web utilice un API basada en OpenGL ES 2.0, con la finalidad de hacer representación de gráficos 3D en un navegador web con formato HTML (solo para navegadores que lo soportan). En palabras mas sencillas: “Hacer uso de la aceleración gráfica de las tarjetas de video para mostrar contenido en 3D en los navegadores web“, creo es lo mismo verdad?.

Todos sabemos que las GPU de tarjetas gráficas han sido destinadas al sector juegos, principalmente, y a aplicaciones basadas en diseño 3D o arquitectura. Ahora, los navegadores web también están en la misma capacidad de usar la GPU de la tarjeta gráfica para hacer mejor uso de aplicaciones o juegos que según vemos todo apunta a la nube.

Agregar soporte WebGL a Google Chrome

Por suerte, el soporte WebGL ya viene activado para las últimas versiones de Chrome, tanto para la versión en desarrollo Chrome Canary como para la versión estable. Pero en algunos casos, asumo que es por las características del ordenador, el soporte webgl no viene activado, estos son los pasos para agregar soporte WebGL a Chrome:

Paso 1: Abre el navegador Chrome, en la barra de direcciones escribe lo siguiente: about:flags ó chrome://flags/

Paso 2: Desde esta página podemos habilitar soporte adicional al navegador web, en nuestro caso para WebGL, necesitas “habilitar” los siguientes experimentos:

  • WebGL (Importante)
  • Ignorar la lista de renderización por software (Opcional si no funciona con el primero)
  • Canvas 2D acelerado por GPU (opcional)

Paso 3: reinicia el navegador Chrome y accede a la página http://code.google.com/p/webglsamples/ o también a http://www.chromeexperiments.com/webgl

Te dejo una captura de pantalla como una muestra que si funciona:

WebGL en Chrome Windows 7

Nota Importante: Los pasos mencionados arriba son válidos para cualquier ordenador de escritorio con sistema Windows o Linux (no probé en Mac), también funciona normal para los ordenadores portátiles (laptops). Sin embargo, en algunos ordenadores portátiles es necesario activar por hardware el aceleramiento 3D y habilitar el GPU para ser usado por aplicaciones.

Agregar soporte WebGL a otros navegadores web

De momento no todos los navegadores tienen soporte a WebGL, en el caso de Opera, es necesario instalar Opera 12 Alpha.

En Safari también se tiene que activar, desde el terminal debe escribir: “defaults write com.apple.Safari WebKitWebGLEnabled -bool YES”

En Firefox, la versión 4.0 ya tiene soporte para WebGL, sin embargo con Firefox 9.01 (reciente versión) no funciona WebGL, poner aquí el procedimiento seria poco útil. Cuando tenga la solución o información del por qué Firefox 9 tiene serios problemas con WebGL; escribiré al respecto.

Nota: si alguno de ustedes logró activar el soporte WebGL a Firefox 9, no dudes en dejar tu comentario.

Soporte WebGL en Linux Ubuntu 11.10

En mi caso, por motivos de pruebas tengo instalado Linux Ubuntu 11.10 en una Notebook con 2GB de RAM, procesador Intel Celeron T3500. He realizado todo el procedimiento que explico lineas arriba para Google Chrome (versión 16.0.912.63), sin embargo el soporte para WebGL no funciona. Si alguien sabe como, no duden en dejar sus comentarios para actualizar este post con su respectivo crédito.

En Firefox (versión 9.0.1) el soporte a WebGL si funciona bien, prueba de ello te dejo una captura de pantalla.

WebGL en Firefox Ubuntu 11.10

Eso es todo, con esto tienes instalado el Soporte WebGL para tu navegador favorito, si te ayudó debes compartir este contenido.