XRRenderState: baseLayer 属性
baseLayer
属性是 XRRenderState
接口的只读属性,它返回 XRWebGLLayer
实例,该实例是位图图像的来源,并描述了如何在设备中呈现图像。
此属性是只读的;但是,您可以使用 XRSession.updateRenderState
间接更改其值。
值
一个 XRWebGLLayer
对象,在呈现场景的每一帧时用作世界内容的来源。
请查看下面的示例,了解如何使用 updateRenderState()
设置用于呈现场景的当前 XRWebGLLayer
。
示例
您可以通过调用 updateRenderState()
来设置用于呈现的 XRWebGLLayer
,例如
js
let canvas = document.querySelector("canvas");
gl = canvas.getContext("webgl", { xrCompatible: true });
setNewWebGLLayer();
function setNewWebGLLayer(gl) {
if (!gl) {
/* WebGL not available */
return;
}
xrSession.updateRenderState({
baseLayer: new XRWebGLLayer(xrSession, gl),
});
}
在这里,第一行获得的画布是 WebGL 将要绘制到的画布。该上下文被传递到 XRWebGLLayer()
中,以创建一个 XRWebGLLayer
,它在呈现时使用 WebGL 上下文 gl
的内容作为世界图像的来源。
规范
规范 |
---|
WebXR 设备 API # dom-xrrenderstate-baselayer |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。