GPURenderPipeline: Methode getBindGroupLayout()
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, bevor Sie diese produktiv verwenden.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die getBindGroupLayout()
-Methode der GPURenderPipeline
-Schnittstelle gibt das GPUBindGroupLayout
-Objekt der Pipeline mit dem angegebenen Index zurück (d.h. in der ursprünglichen GPUDevice.createRenderPipeline()
oder GPUDevice.createRenderPipelineAsync()
-Aufrufpipeline-Layout enthalten).
Wenn die GPURenderPipeline
mit layout: "auto"
erstellt wurde, ist diese Methode die einzige Möglichkeit, um die von der Pipeline generierten GPUBindGroupLayout
s abzurufen.
Syntax
getBindGroupLayout(index)
Parameter
index
-
Eine Zahl, die den Index des zurückzugebenden
GPUBindGroupLayout
darstellt.
Rückgabewert
Eine Instanz des GPUBindGroupLayout
-Objekts.
Validierung
Die folgenden Kriterien müssen erfüllt sein, wenn getBindGroupLayout()
aufgerufen wird, andernfalls wird ein GPUValidationError
generiert und ein ungültiges GPUBindGroupLayout
-Objekt zurückgegeben:
index
ist kleiner als die Anzahl der im Pipeline-Layout verwendetenGPUBindGroupLayout
-Objekte.
Beispiele
Hinweis: Sie können vollständige funktionierende Beispiele mit getBindGroupLayout()
in Aktion in den WebGPU-Beispielen sehen.
// ...
// Create a render pipeline using layout: "auto" to automatically generate
// appropriate bind group layouts
const fullscreenQuadPipeline = device.createRenderPipeline({
layout: "auto",
vertex: {
module: device.createShaderModule({
code: fullscreenTexturedQuadWGSL,
}),
entryPoint: "vert_main",
},
fragment: {
module: device.createShaderModule({
code: fullscreenTexturedQuadWGSL,
}),
entryPoint: "frag_main",
targets: [
{
format: presentationFormat,
},
],
},
primitive: {
topology: "triangle-list",
},
});
// ...
// Create a bind group with the auto-generated layout from the render pipeline
const showResultBindGroup = device.createBindGroup({
layout: fullscreenQuadPipeline.getBindGroupLayout(0),
entries: [
{
binding: 0,
resource: sampler,
},
{
binding: 1,
resource: textures[1].createView(),
},
],
});
// ...
Spezifikationen
Specification |
---|
WebGPU # dom-gpupipelinebase-getbindgrouplayout |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Das WebGPU API