久久精品一区二区三区四区_国产91久久久久久久免费_99免费在线视频_亚洲免费成人网

Mozilla工程師展示如何將WebGL應用移植到WebVR

VR/AR
2018
09/15
13:34
87870
分享
評論

在數個月前,我將一款Pathfinder演示應用程序移植到WebVR。那是一次有趣的經歷,而我感覺自己在將WebGL應用移植到WebVR的過程中學到了一推事情。我認為這些經驗教訓應該會對大家有所幫助,尤其是缺乏Web編程經驗的WebVR新人。

Pathfinder是一款用Rust語言編寫的基于GPU的字體光柵化器,它包含一個在服務器端運行Rust代碼的演示應用程序,但都在TypeScript網站的WebGL中完成所有的GPU工作。

我們有一個展示Mozilla Monument的3D演示作品,將其作為演示3D文本光柵化的一種方式。我希望做的事情是將其轉換為WebVR應用程序,支持你通過移動頭部來瀏覽紀念碑,而非使用鍵盤的方向鍵。

我在著手研究這個問題的時候相當熟悉OpenGL和WebGL,但對VR或WebVR幾乎沒有任何知識背景。三年前我編寫了一個Android Cardboard應用程序,但也就僅此而已。

我希望這篇文章能夠為類似的開發者提供幫助。

1。 什么是WebVR

WebVR是一組用于在Web上編寫VR應用程序的API。它允許我們請求跳轉到VR模式,這時我們就可以直接將影像渲染到VR顯示器,而不是渲染到平面瀏覽器。當用戶使用Cardboard或Daydream等設備時,用戶需要將智能手機塞進頭顯之中。

WebVR API有助于切換至或離開VR模式,獲取姿態信息,在VR中渲染,以及處理設備輸入。新的WebXR Device API規范正在對一系列的事項進行優化。

2。 我需要什么設備來支持WebVR嗎?

理想情況下,一款優秀的VR設備可以更容易地測試你的工作,但根據你需要的分辨率,Daydream或Cardboard已經足夠。你甚至可以在沒有頭顯的情況下進行測試,不過畫面看起來會很怪異和出現扭曲。

對于本地測試,Chrome提供了一個非常有用的WebVR API模擬擴展。你可以使用其中的開發者工具面板來調整姿態,而且你可以獲得無扭曲的顯示。

火狐支持WebVR,而在啟動一定的flag情況下,Chrome Canary同樣予以支持。這個polyfill應該能兼容更多的瀏覽器。

3。 工作原理

我認為在我開始的時候,不理解這部分內容是我產生許多困惑和錯誤的根源。API的核心基本上是“將某些內容渲染到畫布,然后再變出魔術”,而我當時無法確定魔法是如何產生。

基本上,有一些我們應該做的事情,然后瀏覽器(或polyfill)同樣有一些額外的工作需要完成。

一旦我們進入VR模式,只要設備請求幀,就會觸發回調。在這個回調中,我們可以訪問姿態信息。利用姿態信息,我們可以確定每只眼睛應該看到的內容,并以某種形式將其提供給WebVR API。

WebVR API期望的事情是,我們將每個眼睛的視圖渲染至畫布,水平分割(當我們初始化它時,這個畫布將傳遞給API)。這是我們這一邊要做的事情,然后瀏覽器(或polyfill)完成剩下的工作。它將使用我們渲染的畫布作為紋理,并且對于每只眼睛,它會扭曲渲染的一半以適當地使用設備中的透鏡。例如,Daydream和Cardboard的扭曲遵循這個polyfill中的代碼。

值得注意的是,作為應用程序開發者,我們不必擔心這一點,因為WebVR API將會為我們處理它。我們只需要將每只眼睛的未扭曲視圖渲染至畫布,左邊視圖到左半邊,右邊視圖到右半邊,而瀏覽器將處理其余的視圖。

4。 移植WebGL應用

webvr.info和MDN提供了一些很好的資源。webvr.info有一堆簡潔的樣本,如果你像我一樣,搗鼓它們能夠幫助你更好地學習。

4.1 進入VR模式

首先,我們需要訪問VR顯示器并進入VR模式:

進入VR本身:

現在我們已經進入VR,下一步是什么?在上面的代碼片段中,我們有一個render()調用,它正在完成大部分的艱苦工作。由于我們從一個現有的WebGL應用程序開始,我們已經有了這樣的功能:

這看起來很好,但請注意我們是為雙眼渲染相同的影像,而且根本沒有處理頭部運動。為了實現這一點,我們需要使用WebVR從VRFrameData對象提供的透視圖和視圖矩陣。

VRFrameData對象包含一個姿態構件,其中包含所有頭部姿態信息(位置,方向,甚至是速度和加速度)。但為了在渲染時正確定位camera,VRFrameData提供了我們可以直接使用的投影和視圖矩陣。我們可以這樣做:

在圖形中,我們經常發現我們需要處理模型,視圖和投影矩陣。模型矩陣定義了我們希望在空間坐標中渲染的對象位置,視圖矩陣定義了camera空間和世界空間之間的變換,而投影矩陣則處理剪輯空間和camera空間之間的變換。有時候我們會處理其中一些組合,比如“模型-視圖”矩陣。

你可以在webvr.info的立體渲染示例中看到立方體群代碼使用這些矩陣。

我們的應用程序很可能已經具備模型/視圖/投影矩陣的概念。如果沒有,我們可以在頂點著色器中使用視圖矩陣預乘我們的位置。我們的代碼看起來將是這樣:

這應該能解決問題。現在移動頭部應該能觸發場景中的移動。你可以通過這個演示應用程序看到代碼的應用,它是利用本文提及的技術來將一個旋轉三角形WebGL應用程序轉換為WebVR兼容的三角形瀏覽應用程序。

如果我們有進一步的輸入,我們可能需要使用Gamepad API來設計一個適用于典型VR控制器的VR界面,但這超出了本文的范圍。

來源:87870

THE END
廣告、內容合作請點擊這里 尋求合作
VR
免責聲明:本文系轉載,版權歸原作者所有;旨在傳遞信息,不代表砍柴網的觀點和立場。

相關熱點

近日,Adobe 宣布將在明天的荷蘭廣播電視展(IBC)上推出新一代視頻工具,以實現更無縫的視頻編輯過程。Adobe表示,將全面支持VR180度內容。
VR
近日,看到科技正式推出全球首個8K 3D全景VR直播系統。同時,看到科技還宣布已獲得富士康投資,雙方將聯合打造8K VR全景的生態系統。
VR
迪士尼動畫的首部VR短片《Cycles》于上月的SIGGRAPH大會上進行了首映,這部短片只有三分鐘,但卻向我們展示了一個家庭在50年里的酸甜苦辣。
VR
隨著經濟的飛速發展,快節奏的生活大大增加了人們在工作和生活上的壓力,因此心理健康問題也頻頻出現。近日,EvolVR利用VR來尋找一種鍛煉身體和心靈的方法,以放松身心。
VR
近日,Psytec Games開發的第一人稱冒險類VR游戲《Windlands》宣布登陸Oculus Rift。
VR
最新文章

相關推薦

1
3
久久精品一区二区三区四区_国产91久久久久久久免费_99免费在线视频_亚洲免费成人网

    9000px;">

      日韩高清一区在线| 中文字幕 久热精品 视频在线 | 一区二区三区欧美在线观看| 国产欧美一区二区三区在线看蜜臀| 欧美日韩成人综合在线一区二区| 丁香婷婷综合五月| 久久99精品久久只有精品| 偷窥少妇高潮呻吟av久久免费| 亚洲欧美日韩在线| 欧美刺激午夜性久久久久久久| 欧美性xxxxxxxx| 欧美视频一区二| 欧美日韩一区高清| 欧美性高清videossexo| 五月天亚洲精品| 天堂在线亚洲视频| 激情欧美日韩一区二区| 激情都市一区二区| 97se亚洲国产综合自在线| 一本大道av一区二区在线播放| 91国偷自产一区二区三区成为亚洲经典| 成人av在线一区二区三区| www.亚洲精品| 欧美日韩国产影片| 精品国产91乱码一区二区三区 | 欧美国产成人在线| 中文字幕一区二区三区四区| 亚洲精品ww久久久久久p站| 亚洲成av人影院| 国产一区二区三区在线观看免费| 国产98色在线|日韩| 欧美日韩高清一区二区三区| 久久一区二区三区四区| 婷婷综合五月天| av在线播放一区二区三区| 欧美成人免费网站| 日韩国产欧美视频| 色噜噜狠狠一区二区三区果冻| 久久午夜免费电影| 久久精品国产精品亚洲综合| 色婷婷综合久久久中文一区二区| 日韩一级片网站| 老司机免费视频一区二区| 欧美视频一区二区三区| 亚洲人成人一区二区在线观看| 九九九精品视频| 欧美久久久久久蜜桃| 亚洲成人tv网| 欧美一区二区三区色| 激情久久久久久久久久久久久久久久| 色一情一乱一乱一91av| 亚洲一区在线观看免费观看电影高清 | 欧美午夜寂寞影院| 亚洲私人影院在线观看| 色悠久久久久综合欧美99| 亚洲免费av观看| 欧美一区二区三区四区五区| 国产在线视频精品一区| 亚洲视频香蕉人妖| 欧美在线你懂的| 国产在线播放一区三区四| 欧美激情中文字幕一区二区| 色哦色哦哦色天天综合| 麻豆91免费观看| 精品少妇一区二区三区在线播放| 国产一区二区0| 亚洲第一福利一区| 亚洲图片你懂的| 精品少妇一区二区三区视频免付费| 91原创在线视频| 国产一区二区三区最好精华液| 亚洲视频免费在线| 日韩欧美一区二区免费| 欧美色男人天堂| 成人va在线观看| 国产精品一线二线三线| 日日夜夜免费精品| 亚洲一区二区三区爽爽爽爽爽| 久久精品欧美一区二区三区不卡| 欧美理论在线播放| 欧美日韩成人激情| 欧美日韩国产综合草草| 欧美午夜精品免费| 欧美最猛性xxxxx直播| 91同城在线观看| 欧美影视一区二区三区| 777欧美精品| 精品免费国产一区二区三区四区| 欧美男男青年gay1069videost| 欧美日韩一级片在线观看| 欧美性三三影院| 欧美一卡二卡在线观看| 欧美精品一区二区久久婷婷| 中文幕一区二区三区久久蜜桃| 亚洲欧洲性图库| 免费成人av在线播放| 国产成人av影院| 在线不卡免费av| 日本一区二区在线不卡| 午夜精品福利视频网站| 精久久久久久久久久久| 91小视频免费观看| 日韩欧美一级二级三级久久久| 久久美女艺术照精彩视频福利播放| 久久免费视频色| 一区二区三区中文免费| 狠狠久久亚洲欧美| 欧美日韩欧美一区二区| 国产精品视频麻豆| 美女免费视频一区| 欧美日韩aaaaa| 亚洲综合精品自拍| 99久久精品国产毛片| 国产精品午夜春色av| 国产精品1区2区3区在线观看| 欧美剧情片在线观看| 亚洲午夜免费视频| 色激情天天射综合网| 中文字幕av资源一区| www.66久久| 亚洲情趣在线观看| 欧美亚州韩日在线看免费版国语版| 国产日韩欧美不卡在线| 99久久伊人网影院| 亚洲综合久久av| 色94色欧美sute亚洲线路二| 久久久久国产精品免费免费搜索 | 欧美色综合影院| 樱花影视一区二区| 欧美主播一区二区三区美女| 亚洲激情男女视频| 在线不卡中文字幕播放| 日韩**一区毛片| 国产欧美综合在线| 免费三级欧美电影| 久久久777精品电影网影网| 国产呦萝稀缺另类资源| 日韩一二三区视频| 成人h动漫精品一区二区| 亚洲美女免费视频| 欧美女孩性生活视频| 蜜桃精品视频在线| 国产欧美一区二区三区沐欲| 成人涩涩免费视频| 午夜亚洲国产au精品一区二区| 精品国产免费一区二区三区香蕉| 成人av在线一区二区| 亚洲精品写真福利| 777午夜精品免费视频| 99精品热视频| 国产成人亚洲精品狼色在线| 精品一区二区三区香蕉蜜桃| 亚洲素人一区二区| 欧美激情一二三区| 久久噜噜亚洲综合| 日韩精品一区二区在线| 7777精品伊人久久久大香线蕉| 色诱视频网站一区| 欧美中文字幕一区| 色婷婷精品大视频在线蜜桃视频| 韩国精品久久久| 国产精品一级二级三级| 国产精一品亚洲二区在线视频| 蜜臂av日日欢夜夜爽一区| 爽好多水快深点欧美视频| 婷婷六月综合网| 亚洲欧美一区二区三区孕妇| 日韩欧美中文字幕公布| 欧美tk丨vk视频| 欧美激情综合网| 综合久久久久久| 亚洲制服丝袜av| 五月婷婷综合网| 国产精品99久久久久久宅男| 成人毛片视频在线观看| 欧美在线一二三四区| 91精品在线免费观看| 欧美国产日本视频| 五月开心婷婷久久| 成人h精品动漫一区二区三区| 欧美日韩在线三区| 国产精品久久久久永久免费观看 | 欧美精品一区二区在线观看| 中文字幕欧美一| 免费欧美日韩国产三级电影| 成人性视频网站| 日韩欧美一级二级三级| 一区二区三区精品| 白白色亚洲国产精品| 日韩一区二区三区在线| 亚洲精品成人少妇| 成人精品视频一区二区三区尤物| 午夜精品久久久久久久蜜桃app| 欧美日韩一区二区三区四区五区| 日韩一区二区电影| 青青国产91久久久久久| 91久久一区二区| 一二三区精品视频| 日本伦理一区二区| 中文字幕在线观看一区二区|