Spec-Zone.ru › Web APIs

XRWebGLSubImage: свойство depthStencilTexture

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

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

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

Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене тщательно проверьте таблицу совместимости браузеров.

Только для чтения depthStencilTexture свойство интерфейса XRWebGLSubImage представляет собой объект depth/stencil WebGLTexture для XRCompositionLayer для рендеринга.

Значение

Непрозрачный WebGLTexture. Подробнее см. Непрозрачные текстуры WebXR.

Использование depthStencilTexture

Свойство depthStencilTexture можно передать в WebGL2RenderingContext.framebufferTextureLayer(), чтобы подключить текстуру глубины к буферу кадров.

const xrGlBinding = new XRWebGLBinding(xrSession, gl);
const layer = xrGlBinding.createProjectionLayer({
  textureType: "texture-array",
});
const framebuffer = gl.createFramebuffer();

xrSession.updateRenderState({ layers: [layer] });
xrSession.requestAnimationFrame(onXRFrame);

function onXRFrame(time, xrFrame) {
  xrSession.requestAnimationFrame(onXRFrame);

  gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
  const viewport = xrGlBinding.getSubImage(layer, xrFrame).viewport;
  gl.viewport(viewport.x, viewport.y, viewport.width, viewport.height);

  for (const view in xrViewerPose.views) {
    const subImage = xrGlBinding.getViewSubImage(layer, view);
    gl.framebufferTextureLayer(
      gl.FRAMEBUFFER,
      gl.COLOR_ATTACHMENT0,
      subImage.colorTexture,
      0,
      subImage.imageIndex,
    );
    gl.framebufferTextureLayer(
      gl.FRAMEBUFFER,
      gl.DEPTH_ATTACHMENT,
      subImage.depthStencilTexture,
      0,
      subImage.imageIndex,
    );

    // Render from the viewpoint of xrView
  }
}

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

Спецификация
API уровней WebXR Layers 1
# dom-xrwebglsubimage-depthstenciltexture

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
depthStencilTexture Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет Нет

См. также

  • WebGL2RenderingContext.framebufferTextureLayer()

© 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/XRWebGLSubImage/depthStencilTexture

Spec-Zone.ru

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