XRRenderState: baseLayer 属性
XRRenderState 接口的只读 **baseLayer** 属性返回 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),
});
}
在这里,第一行获得的 canvas 是 WebGL 将要绘制的 canvas。该上下文被传递给 XRWebGLLayer() 以创建一个 XRWebGLLayer,该 XRWebGLLayer 在呈现时使用 WebGL 上下文 gl 的内容作为世界图像的来源。
规范
| 规范 |
|---|
| WebXR Device API # dom-xrrenderstate-baselayer |
浏览器兼容性
加载中…