XRView:requestViewportScale() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

XRView 接口的 requestViewportScale() 方法用于请求用户代理将此视口的请求视口比例设置为给定值。这用于动态视口缩放,允许使用每帧都可更改的缩放因子渲染到 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 Device API
# dom-xrview-requestviewportscale

浏览器兼容性

另见