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, управление связанными ресурсами, памятью, буферами, объектами текстуры и скомпилированными графическими шейдерами. Такой подход позволяет достичь более высокой производительности графических приложений за счет снижения накладных расходов и повышения эффективности графического процессора.

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

WebGPU также предоставляет дополнительные возможности для переноса собственных графических программ в веб-форму путем компиляции в 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

bool (истина)