china0114.com-日韩欧美中文免费,免费视频一区,免费视频一区,国产精品色网

公眾號(hào)
關(guān)注微信公眾號(hào)
移動(dòng)端
創(chuàng)頭條企服版APP

研發(fā)實(shí)戰(zhàn):Oculus發(fā)布ASW 2.0開發(fā)者指南

5236

原標(biāo)題:研發(fā)實(shí)戰(zhàn):Oculus發(fā)布ASW 2.0開發(fā)者指南

來(lái)源:映維網(wǎng) 作者 廣州客

Oculus在2018年4月發(fā)布了涵蓋Asynchronous Spacewarp 1.0(異步空間扭曲;ASW)和Positional Timewarp(定位時(shí)間扭曲;PTW)的ASW 2.0,并旨在實(shí)現(xiàn)更高質(zhì)量和更低延遲的VR體驗(yàn)。

最近Oculus再次介紹了有關(guān)ASW 2.0的更多技術(shù)細(xì)節(jié),以及如何確保你的VR應(yīng)用能夠兼容ASW 2.0的技巧。下面是映維網(wǎng)的具體整理:

1. 從ASW到PTW

當(dāng)Oculus在2016年帶來(lái)了ATW(Asynchronous Timewarp;異步時(shí)間扭曲)之后,發(fā)布PTW是合乎邏輯的下一步,只是當(dāng)時(shí)Oculus發(fā)現(xiàn)了一個(gè)充滿前景的解決方案。這顯然是ASW。ASW可以在時(shí)間方面平滑各種運(yùn)動(dòng)線索(如動(dòng)畫和頭顯追蹤),而PTW只能在時(shí)間方面校正頭顯追蹤。從這個(gè)意義來(lái)說(shuō),ASW看起來(lái)像是一種升級(jí)版PTW,但Oculus很快意識(shí)到PTW存在ASW尚未完全能夠?qū)崿F(xiàn)的優(yōu)勢(shì)。

Oculus在2017年推出了Oculus Dash,以及允許VR應(yīng)用程序提供深度緩沖的選項(xiàng),從而支持其利用名為ovrLayerEyeFovDepth的新圖層類型來(lái)幫助深度合成。如下面的截圖所示,深度緩沖區(qū)用于在VR應(yīng)用程序的內(nèi)容穿插Oculus Dash內(nèi)容時(shí)應(yīng)用X射線效果。同時(shí),Oculus的Engine-Integrations團(tuán)隊(duì)開始在Unreal 4和Unity中使用這種圖層類型。

大多數(shù)VR應(yīng)用程序都經(jīng)過(guò)優(yōu)化并能夠以本機(jī)頭顯刷新率運(yùn)行,但只是在單獨(dú)運(yùn)行時(shí)是這樣。當(dāng)Oculus Dash出現(xiàn)并使得CPU或GPU超過(guò)其性能預(yù)算時(shí),這可能導(dǎo)致應(yīng)用程序出現(xiàn)丟幀。在這種情況下,Oculus運(yùn)行時(shí)系統(tǒng)將自動(dòng)將ASW應(yīng)用于VR應(yīng)用程序。但由于ASW在任何給定時(shí)間內(nèi)僅限于一個(gè)合成器層,如果Oculus Dash和VR應(yīng)用程序無(wú)法同時(shí)以所述速率運(yùn)行,將需要一種不依賴ASW并能平滑Oculus Dash內(nèi)容移動(dòng)的方法。這正是PTW有發(fā)揮作用的時(shí)候。當(dāng)Oculus為Oculus Dash打磨PTW時(shí),Oculus繼續(xù)優(yōu)化ASW,令其能夠以與PTW配合使用,并且進(jìn)一步提高時(shí)間穩(wěn)定性。這就是ASW 2.0的誕生過(guò)程。

2. ASW 1.0 vs 2.0

下面這個(gè)視頻是ASW 1.0和ASW 2.0應(yīng)用至《Robo Recall》時(shí)的效果對(duì)比。白色箭頭是調(diào)試指南,其說(shuō)明了每個(gè)圖塊的計(jì)算運(yùn)動(dòng)矢量,并由ASW用于內(nèi)容運(yùn)動(dòng)扭曲。

所述視頻幫助說(shuō)明了兩者的主要差異。對(duì)于ASW 1.0,請(qǐng)注意布告板的視差(由于頭部運(yùn)動(dòng))僅由ASW補(bǔ)償。由于ASW 2.0能夠利用PTW,相同的視差將注冊(cè)最小的ASW校正,因?yàn)樗饕蒔TW處理。如預(yù)期一樣,旋轉(zhuǎn)風(fēng)扇葉片依然由ASW校正,而椅子和幾何邊緣的微小校正則主要?dú)w功于在PTW之后由ASW運(yùn)動(dòng)矢量進(jìn)行的去除遮擋和視圖相關(guān)著色。

3. 結(jié)合ASW和PTW

為了進(jìn)一步理解ASW是如何與PTW結(jié)合使用,我們首先需要明白ASW的流程。以下是Oculus運(yùn)行時(shí)使用ASW所需步驟的細(xì)分:

ASW捕獲由合焦VR應(yīng)用程序提交的先前和當(dāng)前ovrLayerEyeFov幀的紋理。通過(guò)時(shí)間扭曲前一幀,ASW生成“pre-warp frame”并使用當(dāng)前幀的姿態(tài)。ASW將當(dāng)前幀和pre-warp frame紋理轉(zhuǎn)換為GPU視頻編碼器友好型資源。ASW將兩個(gè)幀紋理發(fā)送到GPU視頻編碼器以進(jìn)行對(duì)應(yīng)分析。ASW從GPU視頻編碼器輸出采集“運(yùn)動(dòng)矢量”。ASW后處理并轉(zhuǎn)換運(yùn)動(dòng)矢量以進(jìn)行幀外推。ASW將內(nèi)容打包并注入至合成器層,仿佛它是來(lái)自于VR應(yīng)用程序。Compositor像以往一樣利用ASW注入的ovrLayerEyeFov圖層內(nèi)容進(jìn)行時(shí)間扭曲和變形。

如步驟#2和#8所示,我們依賴于時(shí)間扭曲(Timewarp;TW)。在最初的ASW實(shí)現(xiàn)中,由于缺乏用于PTW的深度緩沖區(qū),所以當(dāng)時(shí)使用的TW重投影技術(shù)是Orientation Timewarp(方向時(shí)間扭曲;OTW)。但隨著越來(lái)越多的VR應(yīng)用程序開始提供深度緩沖區(qū),可以應(yīng)用PTW。訣竅是確保在上述兩個(gè)步驟中的TW-重投影技術(shù)(無(wú)論是OTW還是PTW)是同一類型。這確保了在ASW或TW中能夠校正頭顯移動(dòng)重投影,但不是同時(shí)在兩個(gè)地方校正,因?yàn)檫@會(huì)導(dǎo)致視覺偽影。當(dāng)深度不可用時(shí)(即VR應(yīng)用程序提交ovrLayerEyeFov而非ovrLayerEyeFovDepth),Oculus運(yùn)行時(shí)會(huì)自動(dòng)回到ASW 1.0。

4. PTW風(fēng)格

PTW能夠以多種不同的方式實(shí)現(xiàn)。Oculus的要求中有幾個(gè)非常重要的點(diǎn):

為PTW使用盡可能少的GPU周期,從而允許VR應(yīng)用程序最大化其GPU使用率。無(wú)需處理與上一視圖位置的顯著重投影偏差,因?yàn)槊總€(gè)新的VR-app渲染將使用非常接近前一個(gè)的新頭顯目標(biāo)姿態(tài)。PTW的每次重投影結(jié)果僅在瞬間可見(通常小于20毫秒),因?yàn)閂R應(yīng)用程序以非常高的速率提供新圖像。

熟悉實(shí)時(shí)圖形知識(shí)的人士應(yīng)該知道類似的技術(shù),例如視差映射、視差遮擋映射、高度圖光柵化等等。在大多數(shù)技術(shù)中,著色器將對(duì)高度圖紋理進(jìn)行采樣,從而確定紋理樣本查找的補(bǔ)償量。PTW所使用的深度緩沖區(qū)同時(shí)可以認(rèn)為是旋轉(zhuǎn)到面向camera的高度圖。

為了評(píng)估各種權(quán)衡,Oculus多年來(lái)嘗試了眾多不同的PTW技術(shù)。諸如視差-遮擋映射之類的技術(shù)更精確,但需要花費(fèi)更多的GPU周期。我們選擇的技術(shù)類似于稀疏-視差-映射技術(shù),因?yàn)樗兄谖覀儗?shí)現(xiàn)上述所有要點(diǎn)。與OTW相比,我們的PTW開銷非常低,同時(shí)足以幫助解決由于頭顯轉(zhuǎn)換而在OTW中看到的抖動(dòng)偽影。在大多數(shù)情況下,PTW與OTW的GPU性能損失將在幀定時(shí)噪點(diǎn)中丟失。

5. 深度緩沖區(qū)

PTW主要依賴于深度緩沖區(qū),盡管網(wǎng)絡(luò)存在大量關(guān)于深度緩沖區(qū)的信息,但下面不妨再深入挖掘一下。深度緩沖區(qū)在實(shí)時(shí)渲染中發(fā)揮著重要作用,隨著時(shí)間的推移和GPU性能優(yōu)化的結(jié)合,它們的內(nèi)部表示變得更加復(fù)雜。但在其核心,深度緩沖區(qū)是由GPU在光柵化3D場(chǎng)景時(shí)所生成的值的2D陣列,其中緩沖區(qū)中的每個(gè)元素存儲(chǔ)對(duì)應(yīng)顏色緩沖元素的深度值。由于深度緩沖區(qū)通常作為光柵化的副產(chǎn)品生成并供GPU用于遮擋剔除,所以生成深度緩沖區(qū)的成本是主要考量因素。對(duì)于PTW,在渲染VR應(yīng)用程序時(shí)并生成深度緩沖區(qū)后,可以預(yù)期VR應(yīng)用程序會(huì)將內(nèi)容作為ovrLayerEyeFovDepth圖層的一部分提交。從那時(shí)起,Oculus運(yùn)行時(shí)合成器在Timewarp&Distortion階段處理剩余的PTW重投影。

深度緩沖區(qū)可以以浮點(diǎn)或標(biāo)準(zhǔn)化整數(shù)格式保持值,但這種原始值不直接表示給定像素的距離。相反,深度值是在光柵化期間利用投影矩陣進(jìn)行計(jì)算。投影矩陣會(huì)將每個(gè)頂點(diǎn)和像素轉(zhuǎn)換成最終的深度值并存儲(chǔ)在存儲(chǔ)器中。對(duì)于投影矩陣能夠?qū)⒕€性距離變換為可以存儲(chǔ)在深度緩沖器中的值,這可以視為有效映射線性距離值,并為更接近于用戶的元素帶來(lái)更高精度的方式。

不同的內(nèi)容可以調(diào)用不同的映射方案和剪切邊界。例如,早期是采用基于整數(shù)的低精度深度格式,camera平截頭體的近剪切平面和遠(yuǎn)剪切平面的距離是令人感到沮喪的重要原因。在最近幾年里出現(xiàn)了浮點(diǎn)值,投影矩陣可以將遠(yuǎn)剪切平面映射到無(wú)限遠(yuǎn)。線性距離到最終深度值的映射使得高精度浮點(diǎn)能夠派上用場(chǎng)。請(qǐng)記住,一旦給定頂點(diǎn)進(jìn)行了變換并柵格化為三角形,GPU將自動(dòng)剪切投影范圍和平截頭體之外的元素。

由于這一切的考慮,Oculus在Oculus Rift PC SDK中創(chuàng)建了輔助函數(shù),而應(yīng)用開發(fā)者可以在創(chuàng)建投影矩陣時(shí)予以使用。Oculus同時(shí)提供了允許通過(guò)常用方法來(lái)創(chuàng)建投影矩陣的枚舉。以下是SDK中OVR_CAPI_Util.h文件的摘錄,其說(shuō)明了用于指定投影矩陣的修飾符。有關(guān)每個(gè)枚舉的說(shuō)明,請(qǐng)參閱PC SDK文檔。

enum ovrProjectionModifier {

ovrProjection_LeftHanded,

ovrProjection_FarLessThanNear,

ovrProjection_FarClipAtInfinity,

ovrProjection_ClipRangeOpenGL

};

對(duì)于PTW,Oculus感興趣的是追蹤空間units中每個(gè)像素到渲染camera的距離。如果VR應(yīng)用程序僅提交深度緩沖區(qū)而不包括其他元數(shù)據(jù),Oculus運(yùn)行時(shí)系統(tǒng)將沒(méi)有足夠的信息來(lái)重新計(jì)算像素的原始線性距離。到目前為止,我們不難看出VR-app使用的投影矩陣是PTW算法所需的信息之一。但PTW不需要整個(gè)矩陣,只需要與渲染元素的Z和W坐標(biāo)有關(guān)的部分。為了從投影矩陣中提取必要的組件,SDK同時(shí)提供了一個(gè)可以整齊地打包稱為ovrTimewarpProjectionDesc,以及一個(gè)名為ovrTimewarpProjectionDesc_FromProjection的輔助函數(shù)的最小信息量的結(jié)構(gòu)。如果開發(fā)者不希望將自己的矩陣格式轉(zhuǎn)換為SDK格式,你可以查看函數(shù)的實(shí)現(xiàn),并簡(jiǎn)單地提取必要的組件。

另一個(gè)需要的數(shù)據(jù)是,VR應(yīng)用程序用于渲染units的世界和視圖比例。在某些渲染引擎中,world-unit轉(zhuǎn)換比例不是作為投影矩陣的一部分進(jìn)行處理。這需要特別注意,因?yàn)橛螒蛞娴? unit是1厘米,而Oculus Rift PC SDK總是以米為單位處理unit,即1 unit是1米。當(dāng)所述引擎渲染距離為4米的平面時(shí),應(yīng)用于深度緩沖區(qū)的投影矩陣倒數(shù)將產(chǎn)生400個(gè)unit的距離。但在PTW算法中,我們只希望計(jì)算4個(gè)unit。所以在這個(gè)示例中,除非投影矩陣中已經(jīng)獲得了這個(gè)比例系數(shù),否則將向Oculus運(yùn)行時(shí)提供0.01的渲染比例系數(shù)。VR應(yīng)用程序可以使用ovrViewScaleDesc struct單獨(dú)將這個(gè)值提交給SDK。

6. API局限性

當(dāng)前的深度提交API存在一定的限制,比如說(shuō):

FovDepth層中提交的深度和顏色緩沖區(qū)需要使用匹配的分辨率。不支持深度緩沖區(qū)的“color”格式,例如OVR_FORMAT_R32_FLOAT。不包含多重采樣(MSAA)的OVR_FORMAT_D32_FLOAT(即MSAA)是目前最佳的方式。其他格式可能會(huì)導(dǎo)致Oculus運(yùn)行時(shí)系統(tǒng)出現(xiàn)資源復(fù)制或解析。

7. 總結(jié)和最后的想法

為了將PTW用于一個(gè)給定的VR應(yīng)用程序,Oculus Rift PC運(yùn)行時(shí)需要開發(fā)者采取下面的步驟:

將深度緩沖區(qū)柵格化或復(fù)制到ovrLayerEyeFovDepth圖層的DepthTexture交換鏈中。在圖層的ProjectionDesc數(shù)據(jù)member中提供投影矩陣參數(shù)。在提交圖層時(shí),使用ovrViewScaleDesc struct提供HmdSpaceToWorldScaleInMeters參數(shù)。

值得一提的是,如果你選擇的是Unreal 4或Unity,最新的Oculus引擎集成已經(jīng)提供了將深度緩沖區(qū)提交到Oculus Rift PC運(yùn)行時(shí)系統(tǒng)的必要工具。

你同時(shí)可以查看已更新的OculusRoomTiny和OculusWorldDemo樣本,并了解提交深度緩沖區(qū)所需的步驟。OculusWorldDemo同時(shí)在菜單中提供了其他工具(可通過(guò)“Tab”鍵進(jìn)行切換),其可以幫助了解PTW是如何提供幫助。你只需導(dǎo)航到Timewarp菜單,增加幀時(shí)間以降低幀速率,然后在Layers→Main Layer選項(xiàng)下打開/關(guān)閉深度提交即可。返回搜狐,查看更多

責(zé)任編輯:

聲明:該文章版權(quán)歸原作者所有,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與本網(wǎng)聯(lián)系。
您閱讀這篇文章花了0
轉(zhuǎn)發(fā)這篇文章只需要1秒鐘
喜歡這篇 0
評(píng)論一下 0
凱派爾知識(shí)產(chǎn)權(quán)全新業(yè)務(wù)全面上線
評(píng)論
試試以這些內(nèi)容開始評(píng)論吧
登錄后發(fā)表評(píng)論
凱派爾知識(shí)產(chǎn)權(quán)全新業(yè)務(wù)全面上線
寧波城市站
金華城市站
×
#熱門搜索#
精選雙創(chuàng)服務(wù)
歷史搜索 清空

Tel:18514777506

關(guān)注微信公眾號(hào)

創(chuàng)頭條企服版APP

china0114.com-日韩欧美中文免费,免费视频一区,免费视频一区,国产精品色网
av电影一区二区| 久久九九影视网| 久久亚洲一区二区三区明星换脸 | 51久久夜色精品国产麻豆| 国产精品女主播av| 精品一区二区影视| 欧美日韩国产影片| 亚洲女爱视频在线| 丁香婷婷深情五月亚洲| 欧美电影免费观看高清完整版在线观看| 一区二区三区色| 成人深夜视频在线观看| 精品国产百合女同互慰| 日韩av电影免费观看高清完整版| 色国产精品一区在线观看| 久久久国产精华| 紧缚奴在线一区二区三区| 欧美精品九九99久久| 亚洲综合一区在线| 色狠狠综合天天综合综合| 中文字幕中文字幕中文字幕亚洲无线| 国产麻豆视频一区| 久久综合九色综合欧美亚洲| 另类小说视频一区二区| 91精品国产综合久久久久久久| 亚洲午夜电影网| 在线观看日韩国产| 亚洲情趣在线观看| 91日韩在线专区| 国产精品国产a| 成人av在线一区二区| 国产色综合一区| 国产成人综合亚洲网站| 精品成人一区二区三区四区| 美女免费视频一区二区| 欧美一区二区女人| 日本在线不卡视频一二三区| 欧美日韩小视频| 亚洲va国产天堂va久久en| 欧美体内she精高潮| 亚洲一区在线观看免费 | 国产欧美一区二区精品性色超碰 | 91免费观看在线| 亚洲欧洲三级电影| 99视频一区二区三区| 亚洲欧洲精品一区二区精品久久久 | 亚洲成年人网站在线观看| 色婷婷国产精品| 亚洲一区二区欧美激情| 欧美日韩激情在线| 爽好久久久欧美精品| 欧美一区二区在线看| 裸体健美xxxx欧美裸体表演| 欧美电影免费观看高清完整版在线观看| 全部av―极品视觉盛宴亚洲| 欧美成人精精品一区二区频| 国产一区二区三区在线看麻豆| 久久久国产精品不卡| 风间由美一区二区三区在线观看| 国产精品欧美精品| 色香蕉久久蜜桃| 亚洲h动漫在线| 91精品国产一区二区| 蜜桃av噜噜一区| 久久久777精品电影网影网| 成人午夜激情视频| 亚洲另类中文字| 91超碰这里只有精品国产| 麻豆成人免费电影| 国产三级欧美三级| 91免费看视频| 日韩和的一区二区| 欧美精品一区二区三区蜜桃| 成人免费视频视频在线观看免费| 亚洲黄色小说网站| 91麻豆精品国产自产在线 | 3atv一区二区三区| 精品一区二区三区蜜桃| 国产精品三级视频| 在线免费观看日韩欧美| 蜜桃av噜噜一区二区三区小说| 国产欧美日韩精品一区| 色综合天天综合网天天狠天天| 无码av中文一区二区三区桃花岛| 精品播放一区二区| 91麻豆精品一区二区三区| 日韩av中文字幕一区二区| 国产日韩亚洲欧美综合| 在线免费精品视频| 国产在线一区二区综合免费视频| 国产精品萝li| 6080国产精品一区二区| 国产成人亚洲综合色影视| 亚洲综合在线第一页| 精品国产91九色蝌蚪| 色婷婷综合久久久中文字幕| 麻豆精品一区二区三区| 最新成人av在线| 日韩区在线观看| 99久久精品情趣| 麻豆极品一区二区三区| 国产精品久久久久久久久快鸭 | 亚洲尤物视频在线| 久久久高清一区二区三区| 欧美性受xxxx| 丰满少妇在线播放bd日韩电影| 亚洲成av人片在线观看无码| 国产亚洲精品bt天堂精选| 欧美日韩亚洲不卡| av网站免费线看精品| 另类的小说在线视频另类成人小视频在线 | 久久久久青草大香线综合精品| 91国在线观看| 精品一区二区三区免费毛片爱| 亚洲精品v日韩精品| www久久精品| 欧美日韩精品三区| jvid福利写真一区二区三区| 麻豆精品在线观看| 亚洲一区二区四区蜜桃| 中文字幕第一区| 精品国产乱码久久久久久影片| 欧美色网一区二区| youjizz久久| 国产一区激情在线| 日韩精品高清不卡| 樱桃视频在线观看一区| 久久精品视频在线看| 日韩一区二区在线免费观看| 91成人免费电影| www.日韩在线| 国产传媒欧美日韩成人| 奇米亚洲午夜久久精品| 亚洲一区二区三区视频在线播放 | av不卡在线观看| 国内精品国产成人| 日日骚欧美日韩| 亚洲女性喷水在线观看一区| 国产欧美日韩不卡免费| 精品国产免费一区二区三区四区| 欧美精品免费视频| 欧美伊人久久大香线蕉综合69| av在线不卡观看免费观看| 国内精品久久久久影院一蜜桃| 奇米亚洲午夜久久精品| 性久久久久久久久| 亚洲一区二区综合| 又紧又大又爽精品一区二区| 亚洲欧洲性图库| 中文字幕一区二区三区在线不卡| 日本一区二区三区在线不卡| 久久亚洲一级片| 久久午夜色播影院免费高清| 日韩三级高清在线| 日韩三级视频在线看| 91精品婷婷国产综合久久性色 | 亚洲第一电影网| 亚洲精选一二三| 亚洲色图另类专区| 亚洲特黄一级片| 亚洲日本va午夜在线影院| 国产精品久久久久久久第一福利| 亚洲国产精品高清| 亚洲国产精品成人综合色在线婷婷 | 亚洲欧洲另类国产综合| 国产三级三级三级精品8ⅰ区| 久久久精品影视| 欧美激情一区二区三区全黄| 国产三级精品三级在线专区| 国产亚洲自拍一区| 国产蜜臀97一区二区三区| 国产欧美一二三区| 国产精品丝袜久久久久久app| 国产精品久久久久久久久久久免费看| 国产精品美女久久久久久久久 | 亚洲韩国精品一区| 亚洲一区二区精品3399| 亚洲午夜电影网| 日韩一区欧美二区| 美女尤物国产一区| 国内久久精品视频| 国产成人亚洲综合a∨婷婷图片| 成人妖精视频yjsp地址| va亚洲va日韩不卡在线观看| 色综合咪咪久久| 欧美日韩美少妇| 日韩精品资源二区在线| 久久综合中文字幕| 国产精品视频一二三区| 亚洲欧美一区二区三区国产精品| 夜夜夜精品看看| 日韩av中文在线观看| 国内精品视频一区二区三区八戒| 国产超碰在线一区| 97aⅴ精品视频一二三区| 欧美性大战久久久久久久蜜臀 | 日韩黄色免费网站| 激情图片小说一区| 不卡一区中文字幕| 欧美伊人久久大香线蕉综合69|