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
label
Experimental
-
A string providing a label that can be used to identify the object, for example in GPUError
messages or console warnings.
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
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
GPUExternalTexture |
113Currently supported on ChromeOS, macOS, and Windows only.
|
113Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
99Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
No |
No |
No |
No |
No |
label |
113Currently supported on ChromeOS, macOS, and Windows only.
|
113Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
99Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
No |
No |
No |
No |
No |
See also