XRMediaBinding: createQuadLayer() 方法
createQuadLayer() 方法是 XRMediaBinding 介面的一部分,它返回一個 XRQuadLayer 物件。該物件代表一個在虛擬環境中佔據平坦矩形空間的圖層。
語法
createQuadLayer(video, options)
引數
video-
要顯示的
HTMLVideoElement。 options-
一個用於配置
XRQuadLayer的物件。該物件可以包含以下屬性,其中space是必需的。height可選-
一個指定圖層高度的數字。
invertStereo可選-
一個布林值,指定影片中每個檢視的自然位置是否應被反轉。預設為
false。 layout可選-
一個字串,指示影片的佈局。可能的值:
default-
該圖層支援會話的所有檢視。
mono-
分配一個
XRSubImage物件,並將其呈現給雙眼。 stereo-
使用者代理決定如何分配
XRSubImage(一個或兩個)和佈局(頂部/底部或左/右)。建議為stereo佈局使用texture-array紋理型別。 stereo-left-right-
分配單個
XRSubImage。左眼獲取紋理的左側區域,右眼獲取右側區域。此佈局旨在最大限度地減少對已為立體聲(例如立體聲影片或影像)的內容的繪圖呼叫。 stereo-top-bottom-
分配單個
XRSubImage。左眼獲取紋理的頂部區域,右眼獲取底部區域。此佈局旨在最大限度地減少對已為立體聲(例如立體聲影片或影像)的內容的繪圖呼叫。預設值為mono。
space必需-
一個
XRSpace物件,定義了圖層與使用者物理環境的空間關係。 transform可選-
一個
XRRigidTransform物件,定義了相對於space的偏移和方向。 width可選-
一個指定圖層寬度的數字。
返回值
一個 XRQuadLayer 物件。
示例
建立 XRQuadLayer 以顯示影片
建立一個 XRMediaBinding,並使用傳遞給 createQuadLayer() 的 HTMLVideoElement。使用上面列出的選項配置四邊形圖層,然後透過將其新增到 XRSession.updateRenderState() 的 layers 渲染狀態中,將其呈現給 XR 裝置。
function onXRSessionStarted(xrSession) {
const xrMediaBinding = new XRMediaBinding(xrSession);
const video = document.createElement("video");
video.src = "just-fascination.mp4";
const videoLayer = xrMediaBinding.createQuadLayer(video, {
space: xrReferenceSpace,
});
xrSession.updateRenderState({
layers: [videoLayer],
});
}
規範
| 規範 |
|---|
| WebXR Layers API Level 1 # dom-xrmediabinding-createquadlayer |
瀏覽器相容性
載入中…