Spec-Zone.ru › Web APIs

GPURenderPassEncoder: метод setScissorRect()

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

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

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

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

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

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

Метод setScissorRect() интерфейса GPURenderPassEncoder задаёт область обрезки, используемую на стадии растеризации. После преобразования в координаты области просмотра все фрагменты, выходящие за пределы области обрезки, будут отброшены.

Синтаксис

setScissorRect(x, y, width, height)

Параметры

x

Число, представляющее минимальное значение X области обрезки в пикселях.

y

Число, представляющее минимальное значение Y области обрезки в пикселях.

width

Число, представляющее ширину области обрезки в пикселях.

height

Число, представляющее высоту области обрезки в пикселях.

Примечание: Если вызов setScissorRect() не выполнен, по умолчанию используются значения (0, 0, attachment width, attachment height) для каждого прохода рендеринга.

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

None (Undefined).

Проверка

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

  • x + width меньше или равно ширине прикреплений рендеринга прохода рендеринга (см. примечание ниже).
  • y + height меньше или равно высоте прикреплений рендеринга прохода рендеринга (см. примечание ниже).

Примечание: Смотрите цвета и прикрепления глубины/знаков, указанные в описателе GPUCommandEncoder.beginRenderPass(); ширина и высота основаны на ширине и высоте GPUTexture, из которых берутся их view.

Примеры

Базовый фрагмент

В типичном рендеринге на холсте можно использовать следующее, чтобы отбросить рендеринг за пределами левого верхнего квадранта холста:

passEncoder.setScissorRect(0, 0, canvas.width / 2, canvas.height / 2);

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

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

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

Рабочие столы Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
setScissorRect
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
preview 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/setScissorRect

Spec-Zone.ru

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