GPURenderPassEncoder: Methode beginOcclusionQuery()
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 beginOcclusionQuery()
-Methode der GPURenderPassEncoder
-Schnittstelle beginnt eine Occlusion Query am angegebenen Index des betreffenden GPUQuerySet
(bereitgestellt als Wert der occlusionQuerySet
-Descriptor-Eigenschaft bei der Ausführung von GPUCommandEncoder.beginRenderPass()
zur Durchführung des Render-Passes).
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
erzeugt und der GPURenderPassEncoder
wird ungültig:
- Ein
GPUQuerySet
wurde in derocclusionQuerySet
-Descriptor-Eigenschaft angegeben, als der ursprünglicheGPUCommandEncoder.beginRenderPass()
aufgerufen wurde. queryIndex
ist kleiner alsGPUQuerySet.count
.- Der
queryIndex
wurde nicht bereits im gleichen Render-Pass beschrieben. - 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
BCD tables only load in the browser
Siehe auch
- Die WebGPU API