Spec-Zone.ru › Web APIs

GPUDevice: createCommandEncoder() метод

Ограниченная доступность

Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальная: Это экспериментальная технология
Перед использованием в производстве тщательно проверьте таблицу совместимости с браузерами.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод createCommandEncoder() интерфейса GPUDevice создаёт GPUCommandEncoder, используемый для кодирования команд, которые должны быть выполнены графическим процессором.

Синтаксис

createCommandEncoder()
createCommandEncoder(descriptor)

Параметры

descriptor Необязательно

Объект, содержащий следующие свойства:

label Необязательно

Строка, предоставляющая метку, которая может использоваться для идентификации объекта, например, в сообщениях об GPUError или предупреждениях консоли.

Возвращаемое значение

Экземпляр объекта GPUCommandEncoder.

Примеры

В нашем демо-примере рендеринга несколько команд записываются через GPUCommandEncoder, созданный с помощью createCommandEncoder():

// ...

// Create GPUCommandEncoder
const commandEncoder = device.createCommandEncoder();

// Create GPURenderPassDescriptor to tell WebGPU which texture to draw into, then initiate render pass
const renderPassDescriptor = {
  colorAttachments: [
    {
      clearValue: clearColor,
      loadOp: "clear",
      storeOp: "store",
      view: context.getCurrentTexture().createView(),
    },
  ],
};

const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);

// Draw a triangle
passEncoder.setPipeline(renderPipeline);
passEncoder.setVertexBuffer(0, vertexBuffer);
passEncoder.draw(3);

// End the render pass
passEncoder.end();

// ...

Команды, закодированные с помощью GPUCommandEncoder, перекодируются в GPUCommandBuffer с помощью метода GPUCommandEncoder.finish(). Затем буфер команд передаётся в очередь через вызов submit(), готовый к обработке графическим процессором.

device.queue.submit([commandEncoder.finish()]);

Примечание: Изучите примеры WebGPU для поиска дополнительных примеров кодирования команд.

Спецификации

Спецификация
WebGPU
# dom-gpudevice-createcommandencoder

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
createCommandEncoder
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
превьюВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
превью 121 Нет 81 Нет 25.0 121

См. также

  • API WebGPU

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPUDevice/createCommandEncoder

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API