XRProjectionLayer: fixedFoveation 属性

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

XRProjectionLayer 接口的 fixedFoveation 属性是一个数字,指示 XR 合成器对图层的 foveation 程度。固定 foveated 渲染 (FFR) 以比中心更低的解析度渲染眼睛纹理的边缘,并降低 GPU 负载。

它对低对比度纹理(如背景图像)非常有用,但对高对比度纹理(如文本或详细图像)则不太有用。作者可以在每帧的基础上调整级别,以在性能和视觉质量之间取得最佳平衡。

0 到 1 之间的数字。

  • 最小 foveation 量由 0(全分辨率)指示。
  • 最大 foveation 量由 1(边缘以较低的分辨率渲染)指示。

用户代理如何解释此范围内的数字取决于用户代理。更改 foveation 级别时,效果将在下一个 XRFrame 中可见。

请注意,某些用户代理可能实现某些级别的 foveation,因此您可能需要以较大的增量调整 foveation 级别才能看到效果。示例级别

  • 0:无 foveation
  • 1/3:低 foveation
  • 2/3:中等 foveation
  • 1.0:最大 foveation

某些设备不支持 foveated 渲染。在这种情况下,fixedFoveationnull,设置它将不会产生任何影响。

示例

动态设置固定 foveation 渲染级别

fixedFoveation 属性允许您在运行时和每帧设置 foveation 级别。要为给定的 XRProjectionLayer 设置最大 foveation,请使用 1 的值。

js
let glProjectionLayer = glBinding.createProjectionLayer(/* … */);
glProjectionLayer.fixedFoveation = 1; // maximum foveation

规范

规范
WebXR 图层 API 级别 1
# dom-xrprojectionlayer-fixedfoveation

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参见