XRWebGLLayerInit - 表示在创建新的 XRWebGLLayer 对象时提供配置选项的字典

XRWebGLLayerInitWebXR 设备 API 的接口,表示在使用 XRWebGLLayer() 构造函数创建新的 XRWebGLLayer 对象时提供配置选项的字典。构造函数的可选 layerInit 参数必须采用一个符合此字典的对象。

属性

alpha 可选

一个布尔值,如果为 true,则将使用 alpha 通道建立帧缓冲区的颜色缓冲区。否则,颜色缓冲区将没有 Alpha 通道。默认值为 true

antialias 可选

一个布尔值,如果在上下文中渲染时要使用抗锯齿,则为 true。否则为 false。浏览器会选择要使用的抗锯齿方法;目前尚不支持请求特定模式。默认值为 true

depth 可选

一个布尔值,如果为 true,则请求新层具有深度缓冲区;否则,不分配深度层。默认为 true

framebufferScaleFactor 可选

一个浮点值,用于在合成过程中缩放图像,值为 1.0 表示帧缓冲区的默认像素大小。XRWebGLLayer 的静态函数 XRWebGLLayer.getNativeFramebufferScaleFactor() 返回比例为 1: 的像素比例,从而确保是设备的原始分辨率。默认值为 1.0

ignoreDepthValues 可选

一个布尔值,指示在合成场景时是否忽略深度缓冲区的内容。默认值为 false

stencil 可选

一个布尔值,如果为 true,则请求新层包括模板缓冲区。否则,将不分配模板缓冲区。默认值为 false

实例

此代码段使用给定的 XRSessionxrSession 对象和 WebGL 渲染上下文的 gl 对象,设置了会话的渲染层,并指定了 ignoreDepthValues 选项,指示深度缓冲区应不能使用(或根本不存在),并且任何给定点的距离信息的唯一来源是其相对于观看者的位置。

const layerOptions = {
  ignoreDepthValues: true
};

xrSession.updateRenderState({
  baseLayer: new XRWebGLLayer(xrSession, gl, layerOptions);
});

规范

规范 状态 备注
WebXR Device API
XRWebGLLayerInit 的定义
工作草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持7979 不支持 不支持 不支持 不支持
alpha7979 不支持 不支持 不支持 不支持
antialias7979 不支持 不支持 不支持 不支持
depth7979 不支持 不支持 不支持 不支持
framebufferScaleFactor7979 不支持 不支持 不支持 不支持
ignoreDepthValues7979 不支持 不支持 不支持 不支持
stencil7979 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持7979 未知 不支持 未知 不支持 不支持
alpha7979 未知 不支持 未知 不支持 不支持
antialias7979 未知 不支持 未知 不支持 不支持
depth7979 未知 不支持 未知 不支持 不支持
framebufferScaleFactor7979 未知 不支持 未知 不支持 不支持
ignoreDepthValues7979 未知 不支持 未知 不支持 不支持
stencil7979 未知 不支持 未知 不支持 不支持

相关链接