¿Qué es 3D WebGL ™?
La biblioteca gráfica basada en web (WebGL ™) es una interfaz de programación abstracta (API) diseñada para permitir el uso de gráficos tridimensionales (3D) directamente en un navegador web sin la necesidad de software o complementos separados del navegador principal . La diferencia entre 3D WebGL ™ y otros lenguajes gráficos 3D basados en navegador, como el lenguaje de marcado de realidad virtual (VRML), es que 3D WebGL ™ permite el acceso directo a la unidad de procesamiento de gráficos (GPU) en la tarjeta de visualización de hardware presente en el computadora. Otra diferencia es que 3D WebGL ™ no es un lenguaje separado sino una API implementada a través del lenguaje de secuencias de comandos JavaScript® que se entiende de forma nativa por casi todos los navegadores web. Si bien este tipo de acceso directo de bajo nivel al hardware del sistema informático es uno de los puntos fuertes de WebGL ™, también es uno de los problemas más importantes, ya que presenta una serie de problemas de seguridad que no se resuelven fácilmente.
Un desarrollo importante que ha hecho posible 3D WebGL ™ es la introducción del elemento del lienzo en la versión 5 de la especificación del lenguaje de marcado de hipertexto (HTML5). El elemento de lienzo permite el acceso de bajo nivel a una ventana gráfica que se puede dibujar y mantener en un estilo coherente con los tipos existentes de API de representación en otros lenguajes de programación de computadoras. La API WebGL ™ funciona con este lienzo acelerado para proporcionar la capacidad de representar escenas complejas muy rápidamente sin tener que depender de la emulación de software en diferentes plataformas o implementaciones.
La API 3D WebGL ™ no solo usa el elemento de lienzo, sino que también se basa en la Open Graphics Library for Embedded Systems (OpenGL ES®). Esta es una versión portátil de la biblioteca estándar OpenGL® que está diseñada para ser portátil no solo entre diferentes sistemas operativos de computadora, sino también en cualquier dispositivo que requiera el uso de gráficos 3D de bajo nivel. Esta pequeña huella permite que la biblioteca se integre en cualquier navegador para casi cualquier dispositivo.
La implementación de 3D WebGL ™ permite el desarrollo de programas interactivos que pueden ejecutarse directamente desde un sitio web o descargarse y ejecutarse como una aplicación independiente dentro del navegador web. Se puede utilizar para crear videojuegos en 3D, software educativo, simulaciones y software de visualización 3D para investigación científica y empresarial. Al usar el navegador como la aplicación de envoltura, los entornos 3D se pueden desarrollar sin tener que preocuparse por el código repetitivo repetitivo para las interfaces básicas.
Uno de los mayores inconvenientes del uso de 3D WebGL ™, y uno que impide su aceptación generalizada con ciertas empresas de fabricación de software y hardware, es el riesgo de seguridad que presenta. La capacidad de un programa para acceder a la GPU puede dar a un programa malicioso la capacidad de obligar al sistema informático host a ejecutar código dañino. También se ha demostrado que los ataques de denegación de servicio (DOS) son posibles utilizando la API WebGL ™. Por esta razón, hay algunas compañías de computadoras importantes que se niegan a admitir completamente WebGL ™ en sus productos.