WebGPU — это рабочее имя будущего веб-стандарта и JavaScript API для аппаратно-ускоренной графики и вычислений, нацеленное предоставить «новейшую 3D графику и вычислительные возможности». Разработан рабочей группой W3C «GPU for the Web» совместно с инженерами из Apple, Mozilla, Microsoft, Google и других компаний.

В отличие от WebGL, WebGPU не является прямым портом какого-либо существующего нативного API. Он основан на API, предоставляемых Vulkan, Metal, и Direct3D 12 и предназначен для обеспечения высокой производительности через мобильные и настольные платформы. Мобильные платформы будут ограничены в создании объектов которые потребуют современных графических API (упомянутых выше).

Первый концептуальный прототип под названием NXT был продемонстрирован в начале 2017 года командой Chromium.

Команда разработчиков Google Chrome назвала его «преемником» API-интерфейсов JavaScript WebGL/2.

История 8 июня 2016 года Google представил презентацию «Явное API веб-графики» (англ. Explicit web graphics API) в рабочей группе WebGL (во время личной встречи, проводимой два раза в год). В презентации были рассмотрены основные идеи и принципы создания нового API, который в конечном итоге заменит WebGL, также известный как «WebGL Next».

24 января 2017 года компания Khronos провела встречу, посвященную обсуждению идей «WebGL Next», совпавшую с заседанием рабочей группы WebGL в Ванкувере. Команда Google представила прототип NXT, реализующий новый API, который может работать в Chromium с OpenGL или автономно с OpenGL и Metal. NXT заимствовал концепции всех API-интерфейсов Vulkan, Direct3D 12 и Metal. Представители Apple и Mozilla также продемонстрировали свои прототипы, построенные на Safari и Servo соответственно, оба из которых полностью копируют Metal API.

Рабочая группа W3C 7 февраля 2017 года команда Apple WebKit предложила создать группу сообщества W3C для разработки API. В то же время они объявили техническое доказательство концепции и предложение под названием «WebGPU», основанный на концепциях Apple Metal. Название WebGPU было позже принято группой сообщества в качестве рабочего названия для будущего стандарта, а не просто первоначального предложения Apple. Первоначальное предложение было переименовано в «WebMetal», чтобы избежать дальнейшей путаницы.

Группа сообщества W3C «GPU для Интернета» была запущена 16 февраля 2017 года. В то время все компании Apple, Google и Mozilla проводили эксперименты в этой области, но только предложение Apple было официально представлено в репозиторий «gpuweb-предложений».

21 марта 2017 года Mozilla представила предложение по WebGL Next в репозитории Khronos, основанное на дизайне Vulkan.

1 июня 2018 года команда Google Chrome объявила о намерении внедрить будущий стандарт WebGPU, сославшись на «решение наиболее важных проблем» в рамках кросс-браузерной стандартизации.

Технология WebGPU использует собственный язык шейдеров под названием WGSL, который легко переводится на SPIR-V. Этот выбор является компромиссом между тремя предложениями: текстовый WebMetal от Apple, текстовый Web HLSL / WSL от Apple Safari и двоичный SPIR-V от Mozilla. Tint — это компилятор для WGSL, созданный Google.

Реализация И Chrome, и Firefox поддерживают WebGPU с помощью SPIR-V, при этом продолжается работа над интерфейсом WGSL. Safari поддерживает WebGPU с WSL.

См. также Khronos Group OpenGL WebCL Web platform

Примечания Комментарии

Источники

Ссылки

WebGPU specification

WebGPU API Proposal for Apple Webkit in 2017 GPU on the Web Community Group at W3C

Категория:Кроссплатформенное программное обеспечение Категория:Веб-разработка