Captura de tela de demonstração do WebGL Water por Evan Wallace
O consórcio de desenvolvedores Khronos Group anunciou que a tecnologia WebGL 2.0 para renderização de gráficos interativos 2D e 3D sem plug-ins é finalmente suportada em todos os principais navegadores (confira).
A especificação é compatível com Firefox e Chrome desde 2017. No entanto, isso não foi suficiente para sua implementação indolor. O suporte foi adicionado ao Edge em 2020, sendo o Safari 15 para macOS e iOS a atualização mais recente. Isso aconteceu após dois anos de trabalho intensivo dos engenheiros do Apple WebKit, que escolheram um caminho não padronizado, mas muito agradável para a comunidade de código aberto (mais sobre isso abaixo).
Agora, todos os desenvolvedores podem, em sã consciência, ignorar os fallbacks do 1.0, o que simplificará bastante o ecossistema gráfico da web.
O Khronos Group é um consórcio sem fins lucrativos de mais de 150 desenvolvedores na área de gráficos 3D, VR/AR, programação paralela, aceleradores gráficos e aprendizado de máquina. O consórcio cria e promove padrões gráficos como Vulkan, OpenGL, WebGL, SPIR-V, OpenCL, OpenVX, OpenXR, ANARI e glTF.
Introduzido em 2017, o WebGL 2.0 foi um avanço significativo em termos de recursos de computação gráfica. Ele forneceu o conjunto de recursos OpenGL ES 3.0. Principais novos recursos:
feedback da transformação por meio do objeto TransformFeedback;
renderização instantânea;
vários destinos de renderização;
objetos de buffers de memória uniformes gerais - Uniform Buffer Objects (UBO);
solicitações de sobreposição;
suporte de textura muito mais amplo do que o pipeline WebGL 1.0 original.
A nova especificação 2.0 foi suportada pelo Firefox e Chrome desde o início, mas levou muito tempo para se espalhar para todos os desenvolvedores WebGL. Durante anos, os desenvolvedores precisaram fornecer um substituto para o WebGL 1.0 para cobrir todos os navegadores e dispositivos populares. Agora não é. O lançamento do WebGL 2.0 em navegadores está completo e os autores de aplicativos podem usá-lo com confiança, diz o consórcio Khronos Group.
Um trabalho sério na implementação do WebGL 2.0 no Safari começou em junho de 2019. Isso resultou em vários efeitos colaterais agradáveis para a comunidade de código aberto. Tudo começou com o fato de que a Apple decidiu usar o mecanismo ANGLE gratuito. Como resultado, sua equipe de engenharia passou inúmeras horas melhorando o back-end do Metal.
O Safari agora funciona com WebGL em cima do Metal em dispositivos iOS e macOS recentes. As equipes de engenharia da Apple e do Google começaram a trabalhar juntas para trazer o ANGLE para o WebKit. Eles criam uma base de código comum para desenvolvimento e tradução do Chrome para o back-end ANGLE Metal também.
Demonstração do WebGL Aquarium, (c) Gregg Tavares, Human Engines
Esta demonstração pode ser sincronizada com várias máquinas via WebSockets.
Embora o WebGL 2.0 tenha alcançado amplo suporte em todos os principais navegadores, o trabalho na especificação continuará a melhorar a compatibilidade e a consistência.
O Futuro é WebGPU
Assim, o ecossistema gráfico tornou-se muito mais simples. O desenvolvimento adicional de aplicativos gráficos da Web nos próximos anos fornecerá interfaces de programação WebGPU.
O desenvolvimento da API WebGPU está em andamento ativamente no grupo de trabalho relevante do W3C. O último rascunho saiu em 14 de janeiro de 2022, ou seja, recentemente. Agora é um rascunho de trabalho. A tecnologia fornece aos navegadores recursos modernos de computação gráfica Direct3D 12, Metal e Vulkan.
A implantação completa de qualquer especificação leva tempo. O WebGL 1.0 foi lançado em março de 2011 e o suporte em 80% dos navegadores veio somente após 3,5 anos. O mesmo é verdade agora. O WebGL 2.0 alcançou os mesmos 80% no mesmo período de tempo. A jornada para WebGL 2.0 e WebGPU continuará mesmo depois que a especificação WebGPU for oficialmente aprovada.
Enquanto isso, o WebGL continua a evoluir. O Khronos Group anunciou recentemente a disponibilidade de pelo menos um formato de textura compactado (ETC2 ou S3TC) em todos os navegadores, bem como uma nova extensão multi-draw que melhora muito o desempenho de renderização por geometria em lote. A funcionalidade OES_draw_buffers_indexed permite técnicas avançadas de transparência que são independentes da ordem.
Na verdade, o WebGL é agora a plataforma gráfica 3D mais difundida e acessível do mundo.
O Grupo Khronos incentiva todos os desenvolvedores a migrar do WebGL 1.0 para o WebGL 2.0 e a participar de atividades online. Existe uma lista de discussão WebGL Dev List e um WebGL Chat no The Matrix (#webgl:mozilla.org).
bbabo.Net