GPUExternalTexture
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The GPUExternalTexture
interface of the WebGPU API represents a wrapper object containing an HTMLVideoElement
snapshot that can be used as a texture in GPU rendering operations.
A GPUExternalTexture
object instance is created using GPUDevice.importExternalTexture()
.
Instance properties
Examples
In the WebGPU samples Video Uploading sample, a GPUExternalTexture
object (created via a GPUDevice.importExternalTexture()
call) is used as the value of a bind group entry resource
, specified when creating a GPUBindGroup
via a GPUDevice.createBindGroup()
call:
//...
const uniformBindGroup = device.createBindGroup({
layout: pipeline.getBindGroupLayout(0),
entries: [
{
binding: 1,
resource: sampler,
},
{
binding: 2,
resource: device.importExternalTexture({
source: video,
}),
},
],
});
//...
Specifications
Specification |
---|
WebGPU # gpuexternaltexture |
Browser compatibility
BCD tables only load in the browser
See also
- The WebGPU API