XRView: метод requestViewportScale()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментальная: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости с браузерами.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Метод requestViewportScale() интерфейса XRView запрашивает, чтобы пользовательский агент установил запрошенный масштаб области просмотра для этой области просмотра на заданное значение. Это используется для динамического масштабирования области просмотра, что позволяет рендерить подмножество области просмотра WebXR с помощью коэффициента масштабирования, который может изменяться в каждом кадре анимации.
Синтаксис
requestViewportScale(scale)
Параметры
scale-
Число, большее 0,0 и меньшее или равное 1,0, представляющее коэффициент масштаба.
Возвращаемое значение
None (undefined).
Динамическое масштабирование области просмотра
Динамическое масштабирование области просмотра позволяет приложениям использовать только подмножество доступной framebuffer. Эта функция может быть недоступна на всех системах, так как зависит от поддержки драйвера, поэтому желательно убедиться, что requestViewportScale() существует перед её вызовом.
Параметр scale может быть числом, большим 0,0 и меньшим или равным 1,0.
В качестве альтернативы можно использовать свойство XRView.recommendedViewportScale, которое содержит рекомендуемое значение пользовательского агента, основанное на внутренних эвристиках. Если пользовательский агент не предоставляет рекомендуемый масштаб области просмотра, его значение равно null, и вызов requestViewportScale() игнорируется.
Примеры
Следующий пример показывает, как запросить и применить новый масштаб области просмотра. Вызов XRWebGLLayer.getViewport() применяет изменение и возвращает обновлённую область просмотра.
for (const view of pose.views) {
if (view.requestViewportScale) {
view.requestViewportScale(0.8);
// or use view.requestViewportScale(view.recommendedViewportScale);
}
const viewport = glLayer.getViewport(view);
}
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
requestViewportScale |
90 | 90 | Нет | 76 | Нет | 90 | Нет | 64 | Нет | 15.0 | Нет |
См. также
© 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/XRView/requestViewportScale