XRWebGLLayer: свойство fixedFoveation
Ограниченная доступность
Эта функция не является Baseline, так как она не работает во всех широко используемых браузерах.
Экспериментально: Это экспериментальная технология
Перед использованием в продуктовой среде внимательно изучите таблицу совместимости браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Свойство fixedFoveation интерфейса XRWebGLLayer — число, указывающее степень фовеации, используемой XR-компостером. Фиксированное фовеационное рендерирование (FFR) рендерит края текстур глаза с меньшим разрешением, чем центр, уменьшая нагрузку на GPU.
Это полезно для текстур с низким контрастом, таких как фоновые изображения, но менее полезно для высококонтрастных текстур, таких как текст или детализированные изображения. Авторы могут изменять уровень в режиме реального времени, чтобы достичь наилучшего компромисса между производительностью и качеством изображения.
Значение
Число от 0 до 1.
- Минимальная степень фовеации — 0 (полное разрешение).
- Максимальная степень фовеации — 1 (края рендерятся с меньшим разрешением).
Как именно пользовательский агент интерпретирует числа в этом диапазоне — зависит от него. При изменении уровня фовеации эффект будет виден в следующем XRFrame.
Обратите внимание, что некоторые пользовательские агенты могут реализовать определенные уровни фовеации, поэтому вам может потребоваться изменять уровень фовеации большими значениями, чтобы увидеть эффект. Примеры уровней:
-
0: отсутствие фовеации -
1/3: низкая фовеация -
2/3: средняя фовеация -
1.0: максимальная фовеация
Некоторые устройства не поддерживают фовеационное рендерирование. В этом случае fixedFoveation имеет значение null и его установка не повлияет на работу.
Примеры
Динамическая установка уровня фиксированного фовеационного рендеринга
Свойство fixedFoveation позволяет устанавливать уровень фовеации во время выполнения и для каждого кадра. Для установки максимальной фовеации для данного XRWebGLLayer используйте значение 1.
let glLayer = xrSession.renderState.baseLayer; glLayer.fixedFoveation = 1; // maximum foveation
Спецификации
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
fixedFoveation |
Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
См. также
© 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/XRWebGLLayer/fixedFoveation