Articulo de referencia

WebGPU

{{cite web | title=WebGPU: W3C Candidate Recommendation Draft | url=https://www.w3.org/TR/webgpu/}} "},"domain":{"wt":"{{Plainlist|\n* [[General-purpose computing on graphics pr...

La API WebGPU es una API de JavaScript , Rust , C++ y C para el acceso eficiente a la unidad de procesamiento gráfico (GPU) multiplataforma . Utilizando las tecnologías subyacentes Vulkan , Metal o Direct3D 12 del sistema , WebGPU permite el procesamiento de gráficos, juegos y más, así como aplicaciones de IA y aprendizaje automático. WebGPU está diseñada para reemplazar a la antigua WebGL como el principal estándar gráfico para la web. [ 2 ]

En JavaScript, WebGPU puede ser proporcionada por un navegador web u otro entorno JavaScript como Node.js y Deno . Rust y C++ pueden usar sus respectivas implementaciones de la especificación WebGPU. Otros lenguajes como Python , Java y Go pueden usar WebGPU extendiendo la especificación del lenguaje C.

Google Chrome y Microsoft Edge lanzaron soporte para WebGPU por primera vez en abril de 2023. [ 2 ] [ 3 ] Safari estrenó soporte para WebGPU en junio de 2025 con Safari 26. [ 4 ] Firefox lanzó WebGPU por primera vez en julio de 2025 con Firefox 141. [ 3 ] El estándar W3C es una recomendación candidata.

Tecnología

WebGPU permite gráficos 3D dentro de un lienzo HTML . También cuenta con un sólido soporte para cálculos de GPU de propósito general . [ 5 ]

WebGPU utiliza su propio lenguaje de sombreado llamado WebGPU Shading Language (WGSL) , diseñado para ser fácilmente traducible a SPIR-V , hasta que las quejas provocaron una reorientación hacia un diseño más tradicional, similar al de otros lenguajes de sombreado. La sintaxis es similar a la de Rust . [ 6 ] Tint es un compilador de Google para WGSL. [ 7 ] Naga es un proyecto similar desarrollado para las necesidades de wgpu-rs. [ 8 ]

Implementaciones

Tanto Google Chrome como Firefox son compatibles con WebGPU y WGSL. Firefox y Deno utilizan la biblioteca wgpu de Rust. [ 9 ] Safari sigue las especificaciones originales de WebGPU y WGSL. [ 3 ]

La versión 113 de Chrome habilitó la compatibilidad inicial con WebGPU en dispositivos Windows con Direct3D 12 , dispositivos ChromeOS con Vulkan y macOS con Metal . [ 2 ] Esta compatibilidad con Android se habilitó en la versión 121. [ 3 ]

Historia

El 8 de junio de 2016, Google presentó la "API de gráficos web explícitos" al grupo de trabajo de WebGL (durante la reunión presencial semestral). [ 10 ] La presentación exploró las ideas y principios básicos para construir una nueva API que eventualmente reemplazaría a WebGL, también conocida como "WebGL Next".

El 24 de enero de 2017, Khronos organizó una reunión sin restricciones de propiedad intelectual dedicada a la discusión de ideas para "WebGL Next", que coincidió con la reunión del grupo de trabajo de WebGL en Vancouver. [ 11 ] El equipo de Google presentó el prototipo NXT, que implementaba una nueva API que podía ejecutarse en Chromium con OpenGL, o de forma independiente con OpenGL y Metal. NXT tomó prestados conceptos de todas las API nativas de Vulkan, Direct3D 12 y Metal. Representantes de Apple y Mozilla también mostraron sus prototipos, construidos en Safari y Servo respectivamente, los cuales replicaban fielmente la API de Metal.

El 7 de febrero de 2017, el equipo WebKit de Apple propuso la creación del grupo comunitario W3C para diseñar la API. Al mismo tiempo, anunciaron una prueba de concepto técnica y una propuesta bajo el nombre "WebGPU", basada en conceptos de Metal de Apple . [ 12 ] [ 13 ] [ 14 ] El nombre WebGPU fue posteriormente adoptado por el grupo comunitario como nombre provisional para el futuro estándar, en lugar de solo la propuesta inicial de Apple. [ 15 ] La propuesta inicial se renombró a "WebMetal" para evitar confusiones. [ 16 ]

El grupo comunitario "GPU para la Web" del W3C se lanzó el 16 de febrero de 2017. En ese momento, Apple, Google y Mozilla tenían experimentos en el área, pero solo la propuesta de Apple se presentó oficialmente al repositorio "gpuweb-proposals". [ 17 ] [ 18 ] [ 19 ] Poco después, el 21 de marzo de 2017, Mozilla presentó una propuesta para WebGL Next dentro del repositorio Khronos, basada en el diseño de Vulkan. [ 20 ] [ 21 ]

El 1 de junio de 2018, citando "la resolución de los problemas de más alto nivel" en el esfuerzo de estandarización entre navegadores, el equipo de Chrome de Google anunció su intención de implementar el futuro estándar WebGPU. [ 15 ]

El 13 de febrero de 2020, Google presentó Tint como una alternativa a la propuesta de lenguaje textual WHLSL para la API WebGPU, y el lenguaje finalmente se convirtió en el lenguaje de sombreado WebGPU estandarizado (WGSL) , y Tint pasó a ser el nombre del compilador dentro de Dawn, la implementación WebGPU de Chromium.

Referencias

  1. "WebGPU: Borrador de recomendación candidata del W3C" .
  2. 1 2 3 "Chrome incluye WebGPU" . Desarrolladores de Chrome . Consultado el 8 de abril de 2023 .
  3. 1 2 3 4 "Estado de implementación de WebGPU" . GitHub . Consultado el 16 de junio de 2025 .
  4. "Notas de la versión beta de Safari 26.0" . Consultado el 11 de julio de 2025 .
  5. "WebGPU API" . developer.mozilla.org . Consultado el 17 de marzo de 2024 .
  6. "WebGPU Shading Language" . gpuweb.github.io . Consultado el 17 de julio de 2025 .
  7. "tint - Git en Google" . dawn.googlesource.com . Consultado el 17 de julio de 2025 .
  8. gfx-rs/wgpu/naga , Rust Graphics Mages, 6 de agosto de 2025 , consultado el 8 de agosto de 2025
  9. wgpu , Rust Graphics Mages, 3 de enero de 2024 , consultado el 3 de enero de 2024
  10. Wallez, Corentin. "API de gráficos web explícitos" . Consultado el 25 de junio de 2019 .
  11. Wallez, Corentin; Ninomiya, Kai. "Investigaciones de WebGL Next" . Consultado el 25 de junio de 2019 .
  12. "Gráficos 3D de próxima generación en la web" . WebKit . 7 de febrero de 2017. Consultado el 13 de agosto de 2018 .
  13. "Apple busca posicionar Metal como parte del nuevo estándar de gráficos 3D para la web" . AppleInsider . Consultado el 13 de agosto de 2018 .
  14. Claburn, Thomas (8 de febrero de 2017). "Apple, alérgica a los estándares web, presenta WebGPU, un estándar de gráficos web" . The Register . Consultado el 14 de agosto de 2017 .
  15. "Prototipo y demostraciones de WebGPU" . WebKit . 5 de abril de 2017. Consultado el 10 de enero de 2019 .
  16. Jackson, Dean (16 de febrero de 2017). "Bienvenido y primeros pasos" . public-gpu (Lista de correo) . Consultado el 11 de septiembre de 2018 .
  17. Jackson, Dean. "Añadir la propuesta WebGPU de Apple" . GitHub . Consultado el 8 de marzo de 2019 .
  18. Malyshau, Dzmitry. "Prototipado de una nueva API 3D para la Web" . Recuperado el 16 de diciembre de 2016 .
  19. Malyshau, Dzmitry (2017-03-21). "Definiendo la plataforma web" . Recuperado el 2018-09-11 .
  20. Malyshau, Dzmitry. "Contribución de Mozilla: API de Obsidian" . GitHub . Consultado el 8 de marzo de 2019 .
  • Sitio web oficialEdita esto en Wikidata