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

瀏覽器相容性

另見