GPURenderPassEncoder: beginOcclusionQuery() Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
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 beginOcclusionQuery() Methode der GPURenderPassEncoder Schnittstelle startet eine Okklusionsabfrage am angegebenen Index des relevanten GPUQuerySet (bereitgestellt als Wert der occlusionQuerySet Deskriptoreigenschaft bei Aufruf von GPUCommandEncoder.beginRenderPass(), um den Render-Pass auszuführen).
Syntax
beginOcclusionQuery(queryIndex)
Parameter
queryIndex-
Der Index im
GPUQuerySet, bei dem die Okklusionsabfrage gestartet wird.
Rückgabewert
Keiner (undefined).
Validierung
Die folgenden Kriterien müssen beim Aufruf von beginOcclusionQuery() erfüllt sein, andernfalls wird ein GPUValidationError generiert und der GPURenderPassEncoder wird ungültig:
- Ein
GPUQuerySetwurde in derocclusionQuerySetDeskriptoreigenschaft angegeben, als der Ursprungs-[GPUCommandEncoder.beginRenderPass()](/de/docs/Web/API/GPUCommandEncoder/beginRenderPass)aufgerufen wurde. queryIndexist kleiner alsGPUQuerySet.count.- In den
queryIndexwurde im selben Render-Pass noch nicht geschrieben. - Eine Okklusionsabfrage ist für diesen Render-Pass nicht bereits aktiv (d.h. über einen vorherigen
beginOcclusionQuery()Aufruf).
Beispiele
// …
// Create a query set to hold the occlusion queries
const querySet = device.createQuerySet({
type: "occlusion",
count: 32,
});
// Render pass descriptor object, including the querySet
const renderPassDescriptor = {
colorAttachments: [
{
clearValue: clearColor,
loadOp: "clear",
storeOp: "store",
view: context.getCurrentTexture().createView(),
},
],
occlusionQuerySet: querySet,
};
// Begin the render pass
const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);
// Begin an occlusion query at index 0
passEncoder.beginOcclusionQuery(0);
// Run some rendering commands
passEncoder.setPipeline(renderPipeline);
passEncoder.setVertexBuffer(0, vertexBuffer);
passEncoder.draw(3);
// End the occlusion query
passEncoder.endOcclusionQuery();
// …
Spezifikationen
| Spezifikation |
|---|
| WebGPU> # dom-gpurenderpassencoder-beginocclusionquery> |
Browser-Kompatibilität
Siehe auch
- Die WebGPU API