Spec-Zone.ru › Web APIs

GPUDevice: importExternalTexture() метод

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

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

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

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

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

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

Метод importExternalTexture() интерфейса GPUDevice принимает объект HTMLVideoElement или VideoFrame в качестве входных данных и возвращает объект-обёртку GPUExternalTexture, содержащий моментальный снимок видео, который можно использовать в качестве кадра в операциях рендеринга в GPU.

Синтаксис

importExternalTexture(descriptor)

Параметры

descriptor

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

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

Перечисление, определяющее цветовое пространство для кадра видео. Возможные значения: "srgb" и "display-p3". Если опущено, значение по умолчанию colorSpace - "srgb".

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

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

source

Источник видео снимка, HTMLVideoElement или VideoFrame.

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

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

Обратите внимание, что момент истечения срока действия (удаления) объекта GPUExternalTexture зависит от источника:

  • Объекты GPUExternalTexture со ссылкой на HTMLVideoElement истекают, как только они используются (например, в группе связей).
  • Объекты GPUExternalTexture со ссылкой на VideoFrame истекают только когда VideoFrame закрыт, например, через вызов VideoFrame.close().

Проверка

При вызове importExternalTexture() должны быть соблюдены следующие условия, в противном случае генерируется GPUValidationError и возвращается недопустимый объект GPUExternalTexture:

  • Моментальный снимок видео должен быть пригоден к использованию (например, источник видео загружен правильно и не имеет ширины или высоты 0).

Исключения

SecurityError DOMException

Генерируется, если данные источника видео находятся в другом домене.

Примеры

В примере WebGPU загрузки видео вызов importExternalTexture() используется в качестве значения для записи группы связей resource, когда создается GPUBindGroup с помощью вызова GPUDevice.createBindGroup():

//...

const uniformBindGroup = device.createBindGroup({
  layout: pipeline.getBindGroupLayout(0),
  entries: [
    {
      binding: 1,
      resource: sampler,
    },
    {
      binding: 2,
      resource: device.importExternalTexture({
        source: video,
      }),
    },
  ],
});

//...

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

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

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

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

Spec-Zone.ru

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