GPURenderBundleEncoder: setPipeline() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

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 setPipeline()-Methode der GPURenderBundleEncoder-Schnittstelle legt die GPURenderPipeline fest, die für nachfolgende Render-Bundle-Befehle verwendet werden soll.

Hinweis: Diese Methode ist funktional identisch mit ihrem Äquivalent auf GPURenderPassEncodersetPipeline().

Syntax

js
setPipeline(pipeline)

Parameter

pipeline

Die GPURenderPipeline, die für nachfolgende Render-Bundle-Befehle verwendet werden soll.

Rückgabewert

Keiner (Undefined).

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenn setPipeline() aufgerufen wird, andernfalls wird ein GPUValidationError erzeugt und der GPURenderBundleEncoder wird ungültig:

Beispiele

js
function recordRenderPass(passEncoder) {
  if (settings.dynamicOffsets) {
    passEncoder.setPipeline(dynamicPipeline);
  } else {
    passEncoder.setPipeline(pipeline);
  }
  passEncoder.setVertexBuffer(0, vertexBuffer);
  passEncoder.setBindGroup(0, timeBindGroup);
  const dynamicOffsets = [0];
  for (let i = 0; i < numTriangles; ++i) {
    if (settings.dynamicOffsets) {
      dynamicOffsets[0] = i * alignedUniformBytes;
      passEncoder.setBindGroup(1, dynamicBindGroup, dynamicOffsets);
    } else {
      passEncoder.setBindGroup(1, bindGroups[i]);
    }
    passEncoder.draw(3, 1, 0, 0);
  }
}

Der obige Ausschnitt stammt aus dem WebGPU Samples Animometer-Beispiel.

Spezifikationen

Specification
WebGPU
# dom-gpurendercommandsmixin-setpipeline

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch