Un navegador WebGL ™ es un programa diseñado no solo para mostrar documentos básicos en lenguaje de marcado de hipertexto (HTML), JavaScript® y hojas de estilo en cascada (CSS) que están en línea, sino también para interpretar el subconjunto especial de estas especificaciones conocidas como WebGL ™. Técnicamente, WebGL ™ no es un lenguaje independiente, sino una biblioteca de gráficos que usa el elemento de lienzo del motor de renderizado 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 renderizar gráficos tridimensionales (3D) avanzados mucho más rápido de lo que sería posible de otra manera 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 el soporte nativo generalmente tienen complementos de terceros que exponen los componentes HTML necesarios. Si bien un navegador WebGL ™ es capaz de renderizar gráficos 3D rápidamente debido al acceso directo proporcionado a una tarjeta gráfica de computadora, esto 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 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 la versión estándar del lenguaje HTML 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 puede que no sea tan preciso como se requiere. Dentro de un navegador WebGL ™ compatible, JavaScript® está vinculado a una biblioteca de gráficos de bajo nivel y se dibuja directamente en el elemento de lienzo HTML5, proporcionando una plataforma para gráficos que se pueden enviar 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 de biblioteca OpenGL® estándar diseñadas para funcionar con dispositivos móviles. Una razón por la que 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 la capacidad para ejecutar un programa WebGL ™ y tampoco tienen una solución fácil que no sea la de reemplazar el hardware de gráficos instalado.
Las principales preocupaciones sobre la seguridad y protección de un navegador WebGL ™ han impedido que algunos de los principales desarrolladores de navegadores implementen completamente el soporte para WebGL ™. Esto se reduce principalmente al acceso directo que proporciona el navegador al código WebGL ™. Cuando se usa maliciosamente, 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 puerta de enlace para ejecutar o plantar código informático dañino.