XRWebGLSubImage: colorTexture property
Limited availability
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 colorTexture của giao diện XRWebGLSubImage đại diện cho đối tượng WebGLTexture màu sắc cho XRCompositionLayer để kết xuất.
Giá trị
Một WebGLTexture mờ đục. Xem WebXR opaque textures để biết chi tiết.
Ví dụ
>Sử dụng colorTexture
Thuộc tính colorTexture có thể được truyền vào WebGL2RenderingContext.framebufferTextureLayer() để gắn texture màu sắc vào một framebuffer.
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
| Specification |
|---|
| WebXR Layers API Level 1> # dom-xrwebglsubimage-colortexture> |