XRWebGLSubImage: imageIndex property
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Thuộc tính chỉ đọc imageIndex của giao diện XRWebGLSubImage là một số đại diện cho vị trí offset vào mảng texture nếu lớp được yêu cầu với texture-array; null trong trường hợp khác.
Giá trị
Một số hoặc null nếu lớp không được yêu cầu với texture-array.
Sử dụng imageIndex
Thuộc tính imageIndex có thể được truyền vào WebGL2RenderingContext.framebufferTextureLayer() để gắn các texture độ sâu và màu sắc vào một framebuffer với chỉ mục lớp đúng.
js
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
}
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebXR Layers API Level 1> # dom-xrwebglsubimage-imageindex> |