GPUExternalTexture

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表格

安全上下文:此功能仅在安全上下文(HTTPS)中可用,且仅在某些或所有支持的浏览器中可用。

GPUExternalTextureWebGPU API 的一个接口,它表示一个包装对象,其中包含一个 HTMLVideoElement 快照,该快照可用作 GPU 渲染操作中的纹理。

GPUExternalTexture 对象实例是使用 GPUDevice.importExternalTexture() 创建的。

实例属性

label 实验性

一个字符串,提供一个标签,可用于标识对象,例如在 GPUError 消息或控制台警告中。

示例

在 WebGPU 示例 视频上传示例 中,GPUExternalTexture 对象(通过 GPUDevice.importExternalTexture() 调用创建)用作绑定组条目 resource 的值,在通过 GPUDevice.createBindGroup() 调用创建 GPUBindGroup 时指定。

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

规范

规范
WebGPU
# gpuexternaltexture

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅