XRWebGLSubImage.depthStencilTexture
The read-only depthStencilTexture property of the XRWebGLSubImage interface represents the depth/stencil WebGLTexture object for the XRCompositionLayer to render.
Value
An opaque WebGLTexture. See WebXR opaque textures for details.
Using depthStencilTexture
The depthStencilTexture property can be passed to WebGL2RenderingContext.framebufferTextureLayer() to attach the depth texture to a framebuffer.
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);
let viewport = xrGlBinding.getSubImage(layer, xrFrame).viewport;
gl.viewport(viewport.x, viewport.y, viewport.width, viewport.height);
for (let view in xrViewerPose.views) {
let 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
}
}
Specifications
No specification found
No specification data found for api.XRWebGLSubImage.depthStencilTexture.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.
Browser compatibility
No compatibility data found for api.XRWebGLSubImage.depthStencilTexture.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.