WebGPU es el nombre de trabajo de un futuro estándar web y API de JavaScript para gráficos y cómputo acelerados , con el objetivo de proporcionar "capacidades de computación y gráficos 3D modernos". Está desarrollado por la GPU W3C para Web Community Group con ingenieros de Apple , Mozilla , Microsoft , Google y otros. [1]
Autor (es) original (es) | W3C |
---|---|
Desarrollador (es) | W3C , Apple Inc. , Mozilla , Microsoft , Google , comunidad de código abierto |
Versión inicial | Inédito |
Repositorio | |
Plataforma | Plataforma web |
Disponible en | inglés |
Tipo | API |
Sitio web | webgpu |
A diferencia de WebGL , WebGPU no es un puerto directo de ninguna API nativa existente. Se basa en conceptos de Vulkan , Metal y Direct3D 12 y está destinado a proporcionar un alto rendimiento en estas modernas API de gráficos en plataformas móviles y de escritorio. [2]
El primer prototipo conceptual llamado NXT fue presentado a principios de 2017 por el equipo de Chromium .
Historia
El 8 de junio de 2016, Google mostró una presentación de "API de gráficos web explícitos" al grupo de trabajo de WebGL (durante la reunión presencial bianual). [3] La presentación exploró las ideas y los principios básicos de la construcción de una nueva API para eventualmente reemplazar a WebGL, también conocido como "WebGL Next".
El 24 de enero de 2017, Khronos organizó una reunión sin IP dedicada a la discusión de las ideas de "WebGL Next", que coincidió con la reunión del grupo de trabajo de WebGL en Vancouver. [4] El equipo de Google presentó el prototipo de NXT que implementa una nueva API que podrí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. Los representantes de Apple y Mozilla también mostraron sus prototipos construidos en Safari y Servo correspondientemente, los cuales replicaron estrechamente Metal API.
Grupo de trabajo del W3C
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 técnica de concepto y una propuesta bajo el nombre "WebGPU", basada en conceptos del Metal de Apple . [5] [6] [7] El nombre de WebGPU fue posteriormente adoptado por el grupo de la comunidad como un nombre de trabajo para el futuro estándar en lugar de solo la propuesta inicial de Apple. [2] Se ha cambiado el nombre de la propuesta inicial a "WebMetal" para evitar más confusión. [8]
El grupo comunitario "GPU para la Web" del W3C se lanzó el 16 de febrero de 2017. En este momento, todo Apple, Google y Mozilla tenían experimentos en el área, pero solo la propuesta de Apple se presentó oficialmente a las "propuestas de gpuweb". repositorio. [9] [10] [11] Poco después, el 21 de marzo de 2017, Mozilla presentó una propuesta para WebGL Next dentro del repositorio de Khronos, basada en el diseño de Vulkan. [12] [13]
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ó la intención de implementar el futuro estándar WebGPU. [2]
Tecnología
WebGPU usa su propio lenguaje de sombreado llamado WGSL que es trivialmente traducible a SPIR-V . [14] Esta elección es un compromiso entre tres propuestas: WebMetal textual de Apple, Web HLSL / WSL textual de Apple Safari y SPIR-V binario de Mozilla.
Implementación
Tanto Chrome como Firefox admiten WebGPU con SPIR-V, con trabajo en curso para el front-end de WGSL. Safari es compatible con WebGPU con WSL. [15]
Ver también
- Direct3D 12
- Grupo Khronos
- Metal (API)
- OpenGL
- Vulkan (API)
- WebCL
- WebGL
- Plataforma web
Referencias
- ^ "GPU para el grupo de comunidad web" . w3.org . Consultado el 11 de septiembre de 2018 .
- ^ a b c Wallez, Corentin (31 de mayo de 2018). "Intención de implementar: WebGPU" . blink-dev (lista de correo) . Consultado el 13 de agosto de 2018 .
- ^ Wallez, Corentin. "API de gráficos web explícitos" . Consultado el 25 de junio de 2019 .
- ^ Wallez, Corentin; Ninomiya, Kai. "Investigaciones de WebGL Next" . Consultado el 25 de junio de 2019 .
- ^ "Gráficos 3D de próxima generación en la Web" . WebKit . 2017-02-07 . Consultado el 13 de agosto de 2018 .
- ^ Apple busca posicionar Metal como parte del nuevo estándar de gráficos 3D para web ” . AppleInsider . Consultado el 13 de agosto de 2018 .
- ^ Claburn, Thomas (8 de febrero de 2017). "Apple alérgico a los estándares web presenta WebGPU, un estándar de gráficos web" . Consultado el 14 de agosto de 2017 .
- ^ "Prototipo y Demos de WebGPU" . WebKit . 2017-04-05 . Consultado el 10 de enero de 2019 .
- ^ Jackson, Dean (16 de febrero de 2017). "Bienvenida y primeros pasos" . public-gpu (lista de correo) . Consultado el 11 de septiembre de 2018 .
- ^ Jackson, Dean. "Agregar propuesta de WebGPU de Apple" . Consultado el 8 de marzo de 2019 .
- ^ Malyshau, Dzmitry. "Prototipado de una nueva API 3D para la Web" . Consultado el 16 de diciembre de 2016 .
- ^ Malyshau, Dzmitry (21 de marzo de 2017). "Definición de la plataforma web" . Consultado el 11 de septiembre de 2018 .
- ^ Malyshau, Dzmitry. "Contribución de Mozilla: API de obsidiana" . Consultado el 8 de marzo de 2019 .
- ^ Especificación del lenguaje de sombreado WebGPU
- ^ "Estado de implementación" . GitHub . gpuweb.
enlaces externos
- Página web oficial
- Especificación de WebGPU
- gpuweb en GitHub
- Propuesta de API de WebGPU para Apple Webkit en 2017
- GPU en el grupo de comunidad web en W3C