O que é o 3D WebGL ™?
A Biblioteca Gráfica Baseada na Web (WebGL ™) é uma interface de programação abstrata (API) projetada para permitir o uso de gráficos tridimensionais (3D) diretamente em um navegador da web sem a necessidade de software ou plug-ins separados do navegador principal . A diferença entre o 3D WebGL ™ e outras linguagens gráficas 3D baseadas em navegador - como a VRML (virtual reality markup language) - é que o 3D WebGL ™ permite acesso direto à unidade de processamento gráfico (GPU) na placa de vídeo de hardware presente no computador. Outra diferença é que o 3D WebGL ™ não é uma linguagem separada, mas uma API implementada através da linguagem de script JavaScript® que é entendida nativamente por quase todos os navegadores da web. Embora esse tipo de acesso direto e de baixo nível ao hardware do sistema de computador seja um dos pontos fortes do WebGL ™, também é um dos maiores problemas, porque apresenta uma série de problemas de segurança que não são facilmente resolvidos.
Um desenvolvimento importante que tornou possível o 3D WebGL ™ é a introdução do elemento canvas na versão 5 da especificação HyperText Markup Language 5 (HTML5). O elemento canvas permite acesso de baixo nível a uma viewport que pode ser desenhada e mantida em um estilo consistente com os tipos existentes de APIs de renderização em outras linguagens de programação de computadores. A API WebGL ™ trabalha com essa tela acelerada para fornecer a capacidade de renderizar cenas complexas muito rapidamente, sem precisar depender da emulação de software em diferentes plataformas ou implementações.
A API do 3D WebGL ™ não apenas usa o elemento de tela, mas também é baseada na Open Graphics Library for Embedded Systems (OpenGL ES®). Esta é uma versão portátil da biblioteca OpenGL® padrão, projetada para ser portátil, não apenas entre diferentes sistemas operacionais de computador, mas também em qualquer dispositivo que exija o uso de gráficos 3D de baixo nível. Esse tamanho reduzido permite que a biblioteca seja integrada a qualquer navegador para praticamente qualquer dispositivo.
A implementação do 3D WebGL ™ permite o desenvolvimento de programas interativos que podem ser executados diretamente de um site ou baixados e executados como um aplicativo independente no navegador da web. Ele pode ser usado para criar videogames 3D, software educacional, simulações e software de visualização 3D para pesquisas comerciais e científicas. Ao usar o navegador como o aplicativo wrapper, os ambientes 3D podem ser desenvolvidos sem a necessidade de se preocupar com o código repetitivo de clichê para interfaces básicas.
Uma das maiores desvantagens do uso do 3D WebGL ™ e que está impedindo sua aceitação generalizada com certas empresas de manufatura de software e hardware, é o risco à segurança que ela apresenta. A capacidade de um programa acessar a GPU pode dar a um programa malicioso a capacidade de forçar o sistema do computador host a executar código nocivo. Também foi demonstrado que ataques de negação de serviço (DOS) são possíveis usando a API WebGL ™. Por esse motivo, existem algumas grandes empresas de computadores que se recusam a dar suporte total ao WebGL ™ em seus produtos.