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 beginnt eine Okklusionsabfrage am angegebenen Index des relevanten GPUQuerySet
(bereitgestellt als Wert der occlusionQuerySet
Descriptor-Eigenschaft, wenn GPUCommandEncoder.beginRenderPass()
aufgerufen wird, um den Renderpass auszuführen).
Syntax
beginOcclusionQuery(queryIndex)
Parameter
queryIndex
-
Der Index im
GPUQuerySet
, an dem die Okklusionsabfrage begonnen werden soll.
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 im selben Renderpass noch nicht beschrieben. - Für diesen Renderpass ist nicht bereits eine Okklusionsabfrage 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
Specification |
---|
WebGPU # dom-gpurenderpassencoder-beginocclusionquery |
Browser-Kompatibilität
Siehe auch
- Die WebGPU API