GPURenderPipeline: getBindGroupLayout() 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 getBindGroupLayout()
Methode der GPURenderPipeline
Schnittstelle gibt das GPUBindGroupLayout
Objekt der Pipeline mit dem angegebenen Index zurück (d.h. enthalten im ursprünglichen Aufruf von GPUDevice.createRenderPipeline()
oder GPUDevice.createRenderPipelineAsync()
für das Pipeline-Layout).
Falls die GPURenderPipeline
mit layout: "auto"
erstellt wurde, ist diese Methode die einzige Möglichkeit, 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
Ein GPUBindGroupLayout
Objektinstanz.
Validierung
Die folgenden Kriterien müssen erfüllt sein, wenn getBindGroupLayout()
aufgerufen wird. Andernfalls wird ein GPUValidationError
erzeugt und ein ungültiges GPUBindGroupLayout
Objekt zurückgegeben:
index
ist kleiner als die Anzahl derGPUBindGroupLayout
Objekte, die im Pipeline-Layout verwendet werden.
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
Siehe auch
- Die WebGPU API