Spec-Zone.ru › Web APIs

GPURenderPipeline

Ограниченное использование

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

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

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

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

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

Интерфейс GPURenderPipeline из API WebGPU представляет собой конвейер, который управляет стадиями шейдеров вершин и фрагментов, и может использоваться в GPURenderPassEncoder или GPURenderBundleEncoder.

Экземпляр объекта GPURenderPipeline может быть создан с помощью методов GPUDevice.createRenderPipeline() или GPUDevice.createRenderPipelineAsync().

Свойства экземпляра

label Экспериментальная

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

Методы экземпляра

getBindGroupLayout() Экспериментальная

Возвращает объект GPUBindGroupLayout конвейера с заданным индексом (т.е. включён в макет конвейера исходного вызова GPUDevice.createRenderPipeline() или GPUDevice.createRenderPipelineAsync()).

Примеры

Примечание: В примерах WebGPU представлено множество других примеров.

Базовый пример

Наш базовый демонстрационный пример рендеринга предоставляет пример создания описателя конвейера рендеринга, который затем используется для создания GPURenderPipeline с помощью вызова createRenderPipeline().

// ...

const vertexBuffers = [
  {
    attributes: [
      {
        shaderLocation: 0, // position
        offset: 0,
        format: "float32x4",
      },
      {
        shaderLocation: 1, // color
        offset: 16,
        format: "float32x4",
      },
    ],
    arrayStride: 32,
    stepMode: "vertex",
  },
];

const pipelineDescriptor = {
  vertex: {
    module: shaderModule,
    entryPoint: "vertex_main",
    buffers: vertexBuffers,
  },
  fragment: {
    module: shaderModule,
    entryPoint: "fragment_main",
    targets: [
      {
        format: navigator.gpu.getPreferredCanvasFormat(),
      },
    ],
  },
  primitive: {
    topology: "triangle-list",
  },
  layout: "auto",
};

const renderPipeline = device.createRenderPipeline(pipelineDescriptor);

// ...

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

Спецификация
WebGPU
# gpurenderpipeline

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
GPURenderPipeline
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
предварительная версияВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
предварительная версия 121 Нет 81 Нет 25.0 121
getBindGroupLayout
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
предварительная версияВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
предварительная версия 121 Нет 81 Нет 25.0 121
label
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/GPURenderPipeline

Spec-Zone.ru

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