Spec-Zone.ru › Web APIs

XRWebGLSubImage: свойство colorTexture

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

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

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

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

Только для чтения colorTexture свойство интерфейса XRWebGLSubImage представляет собой объект цвета WebGLTexture для отрисовки XRCompositionLayer.

Значение

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

Примеры

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

Свойство colorTexture можно передать в 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
  }
}

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

Спецификация
WebXR Layers API Уровень 1
# dom-xrwebglsubimage-colortexture

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

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

См. также

  • 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/colorTexture

Spec-Zone.ru

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