XRView: requestViewportScale() 方法

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

安全上下文:此功能仅在 安全上下文(HTTPS)中可用,且仅在部分或所有 支持的浏览器 中可用。

requestViewportScale()XRView 接口的一个方法,用于请求用户代理将此视口的请求视口比例设置为给定值。这用于动态视口缩放,允许使用可以在每个动画帧中更改的比例因子渲染到 WebXR 视口的一部分。

语法

js
requestViewportScale(scale)

参数

scale

大于 0.0 且小于或等于 1.0 的数字,表示比例因子。

返回值

无(undefined)。

动态视口缩放

动态视口缩放允许应用程序仅使用可用 framebuffer 的一部分。此功能可能并非在所有系统上都可用,因为它取决于驱动程序支持,因此您可能需要确保 requestViewportScale() 存在后再调用它。

scale 参数可以是大于 0.0 且小于或等于 1.0 的数字。

或者,您可以使用 XRView.recommendedViewportScale 属性,该属性包含基于内部启发式算法的用户代理推荐的值。如果用户代理不提供推荐的视口比例,则其值为 null,并且对 requestViewportScale() 的调用将被忽略。

示例

以下示例演示如何请求和应用新的视口比例。对 XRWebGLLayer.getViewport() 的调用应用更改并返回更新的视口。

js
for (const view of pose.views) {
  if (view.requestViewportScale) {
    view.requestViewportScale(0.8);
    // or use view.requestViewportScale(view.recommendedViewportScale);
  }
  const viewport = glLayer.getViewport(view);
}

规范

规范
WebXR 设备 API
# dom-xrview-requestviewportscale

浏览器兼容性

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

另请参阅