GPURenderPassEncoder: beginOcclusionQuery()-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 beginOcclusionQuery()
-Methode der GPURenderPassEncoder
-Schnittstelle startet eine Occlusion-Query am angegebenen Index des relevanten GPUQuerySet
(bereitgestellt als Wert der occlusionQuerySet
-Deskriptoreigenschaft beim Aufruf von GPUCommandEncoder.beginRenderPass()
, um den Render-Pass auszuführen).
Syntax
beginOcclusionQuery(queryIndex)
Parameter
queryIndex
-
Der Index im
GPUQuerySet
, bei dem die Occlusion-Query beginnt.
Rückgabewert
Keiner (Undefined
).
Validierung
Die folgenden Kriterien müssen erfüllt sein, wenn beginOcclusionQuery()
aufgerufen wird, andernfalls wird ein GPUValidationError
generiert und der GPURenderPassEncoder
wird ungültig:
- Ein
GPUQuerySet
wurde in derocclusionQuerySet
-Deskriptoreigenschaft angegeben, als der ursprünglicheGPUCommandEncoder.beginRenderPass()
aufgerufen wurde. queryIndex
ist kleiner alsGPUQuerySet.count
.- In den
queryIndex
wurde im gleichen Render-Pass noch nicht geschrieben. - Eine Occlusion-Query ist für diesen Render-Pass nicht bereits aktiv (d.h. durch 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
Specification |
---|
WebGPU # dom-gpurenderpassencoder-beginocclusionquery |
Browser-Kompatibilität
Siehe auch
- Die WebGPU API