XRMediaBinding: createEquirectLayer() 方法
XRMediaBinding 介面的 createEquirectLayer() 方法返回一個 XREquirectLayer 物件,該物件是一個將等距柱狀編碼資料對映到球體內部的圖層。
語法
createEquirectLayer(video, options)
引數
video-
要顯示的
HTMLVideoElement。 options-
用於配置
XREquirectLayer的物件。該物件可以具有以下屬性,並且space是必需的。centralHorizontalAngle可選-
一個數字,表示球體的中心水平角度(以弧度為單位)。預設值:
6.28318(2π)。 invertStereo可選-
一個布林值,指定影片中每個檢視的自然位置是否應被反轉。預設為
false。 layout可選-
一個字串,指示影片的佈局。可能的值:
default-
該圖層支援會話的所有檢視。
mono-
分配一個
XRSubImage物件,並將其呈現給雙眼。 stereo-
使用者代理決定如何分配
XRSubImage(一個或兩個)和佈局(頂部/底部或左/右)。建議為stereo佈局使用texture-array紋理型別。 stereo-left-right-
分配單個
XRSubImage。左眼獲取紋理的左側區域,右眼獲取右側區域。此佈局旨在最大限度地減少對已為立體聲(例如立體聲影片或影像)的內容的繪圖呼叫。 stereo-top-bottom-
分配單個
XRSubImage。左眼獲取紋理的頂部區域,右眼獲取底部區域。此佈局旨在最大限度地減少對已為立體聲(例如立體聲影片或影像)的內容的繪圖呼叫。預設值為mono。
lowerVerticalAngle可選-
一個數字,表示球體的較低垂直角度(以弧度為單位)。預設值:
-1.570795(-π/2)。 radius可選-
一個數字,表示球體的半徑。預設值
0.0。 space必需-
一個
XRSpace物件,定義了圖層與使用者物理環境的空間關係。 transform可選-
一個
XRRigidTransform物件,定義了相對於space的偏移和方向。 upperVerticalAngle可選-
一個數字,表示球體的較高垂直角度(以弧度為單位)。預設值:
1.570795(π/2)。
返回值
一個 XREquirectLayer 物件。
示例
建立一個 XREquirectLayer 來顯示影片
建立一個 XRMediaBinding 並使用傳遞給 createEquirectLayer() 的 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.createEquirectLayer(video, {
space: xrReferenceSpace,
});
xrSession.updateRenderState({
layers: [videoLayer],
});
}
規範
| 規範 |
|---|
| WebXR Layers API Level 1 # dom-xrmediabinding-createequirectlayer |
瀏覽器相容性
載入中…