Skip to main content

¿Qué es un navegador WebGL ™?

Un navegador WebGL ™ es un programa diseñado no solo para mostrar el lenguaje básico de marcado de hipertexto (HTML), JavaScript® y documentos de hojas de estilo en cascada (CSS) que están en línea, sino también para interpretar el subconjunto especial de estas especificaciones conocido como WebGL ™. Técnicamente, WebGL ™ no es un lenguaje independiente, sino una biblioteca de gráficos que utiliza el elemento de lienzo del motor de representación del navegador para crear un puente entre el código WebGL ™, el hardware de gráficos y el navegador. Esto le da al navegador WebGL ™ la capacidad de representar gráficos tridimensionales (3D) avanzados mucho más rápido de lo que sería posible usando otros tipos de complementos y más convenientemente que cuando se usan programas compilados por separado dentro del navegador. Casi todos los principales navegadores web admiten WebGL ™ de forma nativa, aunque los navegadores que no implementan soporte nativo generalmente tienen complementos de terceros que exponen los componentes HTML necesarios. Si bien un navegador WebGL ™ es capaz de representar gráficos en 3D rápidamente debido al acceso directo proporcionado a una tarjeta gráfica de computadora, esta también es la fuente de agujeros de seguridad potencialmente grandes que podrían permitir que un programa malicioso ejecute código dañino en una computadora remota.

En esencia, un navegador WebGL ™ contiene un código que vincula específicamente las funciones incluidas en una biblioteca de gráficos de manera que sean accesibles a través de JavaScript®. Bajo el lenguaje HTML estándar versión 5 (HTML5), hay un elemento especial conocido como lienzo que se puede usar para dibujar directamente en un área de una pantalla sin tener que usar complementos, o para trabajar con etiquetas HTML o CSS que podría no ser tan preciso como se requiere. Dentro de un navegador WebGL ™ compatible, JavaScript® está vinculado a una biblioteca de gráficos de bajo nivel y dibuja directamente al elemento de lienzo HTML5, proporcionando una plataforma para gráficos que se pueden insertar directamente desde una tarjeta gráfica a un dispositivo de visualización.

Las bibliotecas utilizadas son las bibliotecas de sistemas integrados OpenGL® (OpenGL ES®), que son un subconjunto de las funciones estándar de la biblioteca OpenGL® diseñadas para funcionar con dispositivos móviles. Una razón por la cual es posible un navegador WebGL ™ es la naturaleza liviana de las bibliotecas WebGL ™, que no consumen grandes cantidades de recursos y no contienen algunas de las funciones más intensivas del procesador de la implementación completa de OpenGL®. Sin embargo, un problema recurrente con un navegador WebGL ™ es que los controladores y el hardware de una computadora o dispositivo deben ser capaces de ejecutar una aplicación OpenGL ES®. Algunos sistemas operativos, dispositivos, hardware e incluso controladores no tienen las capacidades para ejecutar un programa WebGL ™ y tampoco tienen una solución fácil para reemplazar el hardware de gráficos instalado.

Las principales preocupaciones con respecto a la seguridad de un navegador WebGL ™ han impedido que algunos desarrolladores importantes del navegador implementen completamente el soporte para WebGL ™. Esto se reduce principalmente al acceso directo que el navegador proporciona al código WebGL ™. Cuando se usa de manera maliciosa, la tarjeta gráfica puede manipularse para causar daños a través del sistema host o, en el peor de los casos, puede usarse como una puerta de enlace para ejecutar o plantar código informático dañino.