Spec-Zone.ru › Web APIs

GPURenderPassEncoder: метод beginOcclusionQuery()

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает во всех широко используемых браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Экспериментально: Это экспериментальная технология
Перед использованием в рабочей среде внимательно проверьте таблицу совместимости с браузерами по ссылке Таблица совместимости.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод beginOcclusionQuery() интерфейса GPURenderPassEncoder начинает запрос на проверку непрозрачности в указанном индексе соответствующего набора запросов GPUQuerySet (переданного в качестве значения свойства дескриптора occlusionQuerySet при вызове GPUCommandEncoder.beginRenderPass() для запуска прохода отрисовки).

Синтаксис

beginOcclusionQuery(queryIndex)

Параметры

queryIndex

Индекс в наборе запросов GPUQuerySet для начала запроса проверки непрозрачности.

Возвращаемое значение

Ничего (Undefined).

Валидация

При вызове beginOcclusionQuery() должны быть соблюдены следующие критерии, иначе будет сгенерирована ошибка GPUValidationError, и интерфейс GPURenderPassEncoder станет недействительным:

  • В свойстве дескриптора occlusionQuerySet при вызове исходного метода GPUCommandEncoder.beginRenderPass() был указан набор запросов GPUQuerySet.
  • Значение queryIndex меньше значения GPUQuerySet.count.
  • Данные для queryIndex еще не были записаны в текущем проходе отрисовки.
  • Для данного прохода отрисовки уже не активен запрос проверки непрозрачности (т.е. через предыдущий вызов beginOcclusionQuery()).

Примеры

// ...

// 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();

// ...

Спецификации

Спецификация
WebGPU
# dom-gpurenderpassencoder-beginocclusionquery

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
beginOcclusionQuery
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
Нет
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
превью 121 Нет 81 Нет 25.0 121

См. также

  • API WebGPU

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPURenderPassEncoder/beginOcclusionQuery

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API