XRWebGLLayer: свойство ignoreDepthValues
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.
Экспериментально: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости браузеров.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Только для чтения XRWebGLLayer свойство ignoreDepthValues имеет значение типа Boolean, которое равно true если сеанс был настроен на игнорирование значений в буфере глубины во время отрисовки сцены. Если буфер глубины используется для определения положения вершин, это свойство равно false.
Значение ignoreDepthValues может быть установлено только при создании XRWebGLLayer, установив соответствующее значение в options параметре конструктора.
Значение
Значение типа Boolean, равное true если буфер глубины контекста WebGL используется при вычислении расположений точек в 3D-мире. В противном случае, если это true, значения буфера глубины используются для размещения объектов в сцене. Поскольку XR композитор по умолчанию использует буфер глубины, это значение равно false , если явно не задано иное при создании XRWebGLLayer с помощью его конструктора, XRWebGLLayer().
Примечания по использованию
Когда свойство ignoreDepthValues имеет значение false, XR композитор использует значения, найденные в буфере глубины, которые должны быть точными для сцены, чтобы потенциально улучшить качество и комфортность для зрителя.
Ширина буфера глубины составляет framebufferWidth элементов, а высота — framebuffer элементов. Каждое значение в буфере указывает глубину, на которой находится соответствующий пиксель, и имеет значение от 0.0 до 1.0.
Значение пикселя буфера глубины 0.0 соответствует глубине, заданной depthNear сеанса, а значение 1.0 соответствует глубине, заданной depthFar.
Глубина в сочетании с координатами каждой отрисовываемой точки позволяет более точно представить сцену в 3D-пространстве.
Примеры
Если веб-приложение, использующее WeXR, рендерит контент без использования буфера глубины — или если содержимое буфера глубины недействительно — вы должны отключить использование буфера глубины для рендеринга WebXR, установив ignoreDepthValues в значение true при создании XRWebGLLayer. Это демонстрируется в фрагменте кода ниже:
const glLayerOptions = {
ignoreDepthValues: true,
};
let glLayer = new XRWebGLLayer(xrSession, gl, glLayerOptions);
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
ignoreDepthValues |
79 | 79 | Нет | 66 | Нет | 79 | Нет | 57 | Нет | 11.2 | Нет |
См. также
- WebXR Device API
- Методы, связанные с буфером глубины WebGL:
depthFunc(),clearDepth()
© 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/ignoreDepthValues