Introducción
WebGL es el nuevo estándar para gráfica 3D en el web y forma parte de la familia de tecnologías HTML5. Para programar WebGl sólo se necesitan conocimientos de HTML, JavaScript y
alguna biblioteca para crear o mostrar gráfica 3D, como podría ser Three.js
WebGL es desarrollado y mantenido por el Khronos Group, organización de estándars que también administra
OpenGL, COLLADA y otras especificaciones.
La definición oficial de WebGL, tal cual está escrita en el sitio de Khronos, en inglés, es la siguiente:
WebGL is a royalty-free, cross-platform API that brings OpenGL ES 2.0 to the web as a 3D drawing context
within HTML, exposed as low-level Document Object Model interfaces. It uses the OpenGL shading language,
GLSL ES, and can be cleanly combined with other web content that is layered on top or underneath the 3D
content. It is ideally suited for dynamic 3D web applications in the JavaScript programming language, and will
be fully integrated in leading web browsers.
De esta definición podemos desprender las siguientes ideas clave:
-
WebGL es una API: WebGL es accesado vía una interfaz en JavaScript, no hay tags como en HTML. La renderización del 3D en WebGL es análogo a la 2D
vía el elemento
Canvas. De hecho el acceso a WebGL a través del elemento Canvas, es por medio de un contexto específico para WebGL.
-
WebGL está basado en OpenGL ES 2.0: OpenGL ES es una adaptación del estándar 3D de renderización OpenGL. "ES" va por "embedded systems"
lo que indica que ha sido adaptado para su uso en dispositivos móviles, ya sea smartphones o tablets. Por lo tanto OpenGL ES 2.0 es la API que provee gráfica 3D a iPhones,
iPads y dispositivos Android. Esto implica que WebGL puede cumplir mejor con especificaciones gráficas web 3D del tipo cross-platform y
cross-browser.
-
WebGL se combina con los demás contenidos web: Las capas WebGL pueden estar arriba o debajo de cualquier otro contenido web. El canvas 3D puede tomar ya sea una
parte de la página o todo su contenido. Se puede desarrollar el contenido 3D en WebGL y el resto del contenido usando el clásico HTML o HTML5. El browser
realizará la tarea de renderización gráfica logrando una continuidad en la apreciación del usuario.
-
WebGL está diseñado para aplicaciones dinámicas web: WebGL ha sido diseñado teniendo en mente que el contenido será visto vía web.
WebGL comenzó con OpenGL ES, pero ha sido adaptado con características específicas que se adaptan a los web browsers, usando JavaScript, por lo que su
renderización vía web es amigable.
-
WebGL es cross-platform: WebGL puede correr en cualquier sistema operativo, en dispositivos que van desde smartphones y tablets a computadores de escritorio.
-
WebGL es royalty-free: Como todas las especificaciones web, WebGL es libre. Nadie pedirá pago de regalías por su uso.
Home | →