GPUDevice: importExternalTexture() Methode
        
        
          Limited availability
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die importExternalTexture() Methode der GPUDevice-Schnittstelle nimmt ein HTMLVideoElement oder ein VideoFrame Objekt als Eingabe und gibt ein GPUExternalTexture Wrapper-Objekt zurück, das einen Schnappschuss des Videos enthält, der als Frame in GPU-Rendering-Operationen verwendet werden kann.
Syntax
importExternalTexture(descriptor)
Parameter
descriptor- 
Ein Objekt, das die folgenden Eigenschaften enthält:
colorSpaceOptional- 
Ein enumerierter Wert, der den Farbraum angibt, der für den Video-Frame verwendet werden soll. Mögliche Werte sind
"srgb"und"display-p3". Wenn weggelassen, ist der Standardwert fürcolorSpace"srgb". labelOptional- 
Eine Zeichenfolge, die ein Label bereitstellt, das zur Identifizierung des Objekts verwendet werden kann, z. B. in
GPUError-Nachrichten oder Konsolenwarnungen. source- 
Die
HTMLVideoElementoderVideoFrame-Quelle des Video-Schnappschusses. 
 
Rückgabewert
Eine Instanz des GPUExternalTexture-Objekts.
Beachten Sie, dass der Zeitpunkt, wann das GPUExternalTexture-Objekt verfällt (zerstört wird), davon abhängt, was seine Quelle ist:
GPUExternalTexture-Objekte mit einerHTMLVideoElement-Quelle verfallen, sobald sie verwendet werden (zum Beispiel in einer Bind-Gruppe).GPUExternalTexture-Objekte mit einerVideoFrame-Quelle verfallen nur, wenn dasVideoFramegeschlossen wird, zum Beispiel durch einenVideoFrame.close()-Aufruf.
Validierung
Die folgenden Kriterien müssen erfüllt sein, wenn importExternalTexture() aufgerufen wird, andernfalls wird ein GPUValidationError erzeugt und ein ungültiges GPUExternalTexture-Objekt zurückgegeben:
- Der Video-Schnappschuss ist verwendbar (z. B. die Videoquelle ist ordnungsgemäß geladen und hat keine Breite oder Höhe von 0).
 
Ausnahmen
SecurityErrorDOMException- 
Wird ausgelöst, wenn die Videoquelldaten cross-origin sind.
 
Beispiele
Im WebGPU-Beispiel Video Uploading sample wird ein importExternalTexture()-Aufruf als Wert eines Bind-Gruppe-Eintrags resource verwendet, der beim Erstellen einer GPUBindGroup über einen GPUDevice.createBindGroup()-Aufruf spezifiziert wird:
// …
const uniformBindGroup = device.createBindGroup({
  layout: pipeline.getBindGroupLayout(0),
  entries: [
    {
      binding: 1,
      resource: sampler,
    },
    {
      binding: 2,
      resource: device.importExternalTexture({
        source: video,
      }),
    },
  ],
});
// …
Spezifikationen
| Specification | 
|---|
| WebGPU> # dom-gpudevice-importexternaltexture>  | 
            
Browser-Kompatibilität
Loading…
Siehe auch
- Die WebGPU API