Библиотека Android Jetpack WebGPU предоставляет идиоматические привязки Kotlin к стандарту WebGPU , обеспечивая высокопроизводительную, современную 3D-графику и вычислительные возможности в ваших приложениях Android.
WebGPU — это преемник WebGL и идейный потомок OpenGL, разработанный с нуля с учетом принципов работы современных графических процессоров и обеспечивающий кроссплатформенный, безопасный и эргономичный доступ к возможностям графических процессоров.
Почему именно WebGPU?
- Упрощенное использование : В то время как Vulkan является основным низкоуровневым графическим API на Android, WebGPU предлагает современный, высокоуровневый API, который более удобен в использовании и значительно менее многословен по сравнению с Vulkan .
- Пакетная обработка и сериализация. WebGPU записывает несколько команд в буферы команд , что является частью его архитектуры для минимизации избыточности протокола. Это также сводит к минимуму необходимость вызова внешних методов при использовании привязок Kotlin.
- Универсальная поддержка : код шейдеров WebGPU (WGSL) может напрямую использоваться в различных реализациях WebGPU на разных платформах, включая веб.
- Оптимизированные вычисления : Бесперебойное, не требующее копирования совместное использование буферов между вычислительными и графическими задачами повышает производительность и упрощает разработку по сравнению с устаревшими API.
Для кого предназначена эта библиотека?
Эта библиотека предназначена для создания высокопроизводительных приложений, требующих прямого доступа к графическому процессору:
- Фильтры обработки изображений и видео
- Визуализация данных
- Вывод машинного обучения
- Игры и симуляции
Примечание : Это графический API, а не игровой движок. Вы сами отвечаете за управление циклом рендеринга, матрицами камеры и графом сцены.
Основные концепции WebGPU
Понимание основных объектов WebGPU и принципов их взаимодействия имеет важное значение для разработки приложений WebGPU.
Концепция | Описание |
Пример | Точка входа в WebGPU, предоставляющая доступ к адаптерам и интерфейсам. |
Адаптер | Представляет собой конкретный графический процессор (GPU) на устройстве. |
Устройство | Ваше логическое соединение с графическим процессором, где создаются ресурсы. |
Очередь | Механизм, используемый для отправки команд на графический процессор. |
Модуль шейдера | Ваш код для графического процессора, написанный на языке шейдинга WebGPU (WGSL). |
Трубопроводы | Объекты, описывающие всё состояние графического процессора (шейдеры, смешивание) для задачи. |
Группы связывания | Связывает буферы данных (например, текстуры) с шейдерами. |
Командный кодировщик | Объект, используемый для формирования последовательности команд графического процессора в буфер команд. |