W3C опубликовал первые проекты стандарта WebGPU

El Представлен W3C В последнее время, первые проекты спецификаций WebGPU и WebGPU Shading Language (WGSL), которые определяют API-интерфейсы для выполнения операций графического процессора, таких как рендеринг и вычисления, а также язык шейдеров для написания программ на стороне графического процессора.

Эти спецификации концептуально похожи на API Vulkan, Metal и Direct3D 12. Спецификации были подготовлены рабочей группой, в которую вошли инженеры из Mozilla, Google, Apple и Microsoft.

Целью графического процессора для веб-рабочей группы является обеспечение интерфейса между веб-платформой и современной трехмерной графикой и вычислительными возможностями, присущими родным системным платформам. Узнайте больше о целях, объеме и результатах.

GPU для группы веб-сообщества разработали спецификации, принятые этой рабочей группой. Группа сообщества продолжает продвигать техническую работу над спецификациями и создавать новые функции. Эта рабочая группа работает с группой сообщества, чтобы сформировать спецификации для пути рекомендаций.

Концептуально, WebGPU отличается от WebGL так же, как графический API Vulkan отличается от OpenGL, но он не основан на конкретном графическом API, а представляет собой универсальный уровень, использующий те же низкоуровневые примитивы, что и в Vulkan, Metal и Direct3D.

WebGPU предоставляет приложениям JavaScript инструменты для низкоуровневого управления.об организации, обработка и передача команд на GPU, управление связанными ресурсами, памятью, буферами, объектами текстуры и скомпилированными графическими шейдерами. Такой подход позволяет достичь более высокой производительности графических приложений за счет снижения накладных расходов и повышения эффективности графического процессора.

Веб-графический процессор позволяет создавать сложные 3D-проекты для Интернета которые не работают так же, как в автономных программах, которые напрямую обращаются к Vulkan, Metal или Direct3D, но не привязаны к конкретным платформам.

Веб-графический процессор также предоставляет дополнительные возможности для переноса собственных графических программ в веб-форму путем компиляции в WebAssembly. Помимо трехмерной графики, WebGPU также охватывает возможности, связанные с аутсорсингом вычислений на стороне GPU и запуском шейдеров.

Ключевые особенности WebGPU:

  • Раздельное управление ресурсами, подготовительные работы и передача команд на GPU (в WebGL за все сразу отвечал один объект). Предоставляются три отдельных контекста: GPUDevice для создания ресурсов, таких как текстуры и штампы; GPUCommandEncoder для кодирования отдельных команд, включая этапы обработки и расчета; GPUCommandBuffer поставить в очередь на выполнение на графическом процессоре. Результат может быть визуализирован в области, связанной с одним или несколькими холстами, или визуализирован без визуализации (например, при выполнении вычислительных задач). Поэтапное размещение позволяет легко разделить операции создания ресурсов и подготовительные операции на разных контроллерах, которые могут выполняться в разных потоках.
  • Другой подход к работе со статусомс. WebGPU предлагает два объекта: GPURenderPipeline и GPUComputePipeline, что ты позволяют комбинировать разные состояния, предопределенные разработчиком, что позволяет браузеру не тратить ресурсы на дополнительную работу, например на восстановление шейдеров. Поддерживаемые состояния включают шейдеры, буферы вершин и макеты атрибутов, макеты присоединенных групп, слияние, глубину и шаблоны, а также форматы вывода постобработки.
  • Модель привязки, очень похожая на инструменты пула ресурсов Vulkan.. Чтобы сгруппировать ресурсы в группы, WebGPU предоставляет объект GPUBindGroup, который при вводе команд может быть связан с другими объектами того же типа для использования в шейдерах. Создание таких групп позволяет драйверу заранее предпринять необходимые подготовительные действия, а браузер позволяет браузеру гораздо быстрее изменять привязки ресурсов между вызовами отрисовки. Макет ссылок на ресурсы может быть предварительно определен с помощью объекта GPUBindGroupLayout.

Наконец, если вам интересно узнать об этом больше о заметке, вы можете проверить деталиЭто по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.