一種基于虛擬現(xiàn)實設備的視錐體裁剪方法及裝置的制造方法
【專利摘要】本發(fā)明實施例提供一種基于虛擬現(xiàn)實設備的視錐體裁剪方法、裝置、顯示方法及虛擬現(xiàn)實設備,該基于虛擬現(xiàn)實設備的視錐體裁剪方法包括:確定人體左眼的第一視場角和右眼的第二視場角;獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體;根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。本發(fā)明實施例提供的基于虛擬現(xiàn)實設備的視錐體裁剪方法、裝置、顯示方法及虛擬現(xiàn)實設備,有效地減少了視錐體裁剪過程中的計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
【專利說明】
一種基于虛擬現(xiàn)實設備的視錐體裁剪方法及裝置
技術領域
[0001]本發(fā)明實施例涉及計算機圖形技術領域,尤其涉及一種基于虛擬現(xiàn)實設備的視錐體裁剪方法、裝置、顯示方法及虛擬現(xiàn)實設備。
【背景技術】
[0002]虛擬現(xiàn)實技術(VR)是一種可以創(chuàng)建和體驗虛擬世界的計算機仿真系統(tǒng),它利用計算機生成一種模擬環(huán)境,該模擬環(huán)境是一種多源信息融合的交互式的3D場景和實體行為的系統(tǒng)仿真,能夠使用戶沉浸到該環(huán)境中。
[0003]視錐體,是指場景中攝像機的一個可見錐體范圍。由于透視變換的緣故,計算機應用的視錐體是一個四棱臺觀測金字塔,由上底、下底、左、右、前、后共6個面圍成。在視錐體內(nèi)的景物可見,反之則不可見。當人眼觀察一個場景時,在視錐體之外的物體是看不見的,因此可以在顯示前,將不可見的場景剔除掉,且不會對場景渲染造成影響。這樣,渲染場景過程中,在視錐體中的所有頂點數(shù)據(jù)都是可見的,而在視錐體之外的場景數(shù)據(jù)是不可見的。視錐體裁剪就是在頂點數(shù)據(jù)送至渲染管線之前,將這些不可見的場景數(shù)據(jù)剔除掉。
[0004]當前在基于手機的虛擬現(xiàn)實(VR)方案中,采用根據(jù)頭部的移動計算出的左、右兩只眼的視場角分別對3D場景進行視錐體裁剪的方式,實現(xiàn)虛擬現(xiàn)實設備的視錐體裁剪。
[0005]但是,在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題:
[0006]現(xiàn)有技術中,需要根據(jù)頭部的移動計算出左右兩只眼的視場角,并根據(jù)左右兩只眼的視場角分別對3D場景進行視錐體裁剪,因此,需要進行兩次裁剪計算,不僅裁剪復雜,而且兩次視錐體裁剪后的幾何體進行渲染時,存在渲染延遲,進而帶來顯示延遲問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實施例提供一種基于虛擬現(xiàn)實設備的視錐體裁剪方法、裝置、顯示方法及虛擬現(xiàn)實設備,以解決現(xiàn)有技術中對3D場景進行視錐體裁剪過程中,需要進行兩次裁剪計算帶來的延遲問題,快速而方便地實現(xiàn)對VR 3D場景的剪裁。
[0008]本發(fā)明實施例提供一種基于虛擬現(xiàn)實設備的視錐體裁剪方法,包括:
[0009]確定人體左眼的第一視場角和右眼的第二視場角;
[0010]獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體;
[0011]根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。
[0012]本發(fā)明實施例提供一種基于虛擬現(xiàn)實設備的顯示方法,包括:
[0013]獲取由上述所述的基于虛擬現(xiàn)實設備的視錐體裁剪方法裁剪后的待呈現(xiàn)的3D場景中的幾何體;
[0014]對所述裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制;
[0015]顯示渲染繪制后的待呈現(xiàn)的3D場景中幾何體。
[0016]本發(fā)明實施例提供一種基于虛擬現(xiàn)實設備的視錐體裁剪裝置,包括:
[0017]確定模塊,用于確定人體左眼的第一視場角和右眼的第二視場角;
[0018]獲取模塊,用于獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體;
[0019]處理模塊,用于根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。
[0020]本發(fā)明實施例提供一種虛擬現(xiàn)實設備,所述虛擬現(xiàn)實設備包括獲取單元、渲染單元、顯示單元以及如上所述的基于虛擬現(xiàn)實設備的視錐體裁剪裝置;
[0021]所述獲取單元,用于獲取由所述基于虛擬現(xiàn)實設備的視錐體裁剪裝置裁剪后的待呈現(xiàn)的3D場景中的幾何體;
[0022]所述渲染單元,用于對所述獲取單元獲取的裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制;
[0023]所述顯示單元,用于顯示所述渲染單元渲染繪制后的待呈現(xiàn)的3D場景中幾何體。
[0024]本發(fā)明實施例提供的基于虛擬現(xiàn)實設備的視錐體裁剪方法、裝置、顯示方法及虛擬現(xiàn)實設備,通過將人體左、右眼視場角的并集區(qū)域作為人體的真實視錐體,根據(jù)該真實視錐體做視錐體剪裁,大幅減少繪制幾何體數(shù)據(jù)量,進而減少視錐體裁剪過程中的計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
【附圖說明】
[0025]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖:
[0026]圖1為本發(fā)明基于虛擬現(xiàn)實設備的視錐體裁剪方法實施例流程圖;
[0027]圖2為本發(fā)明基于虛擬現(xiàn)實設備的顯示方法實施例流程圖;
[0028]圖3為本發(fā)明基于虛擬現(xiàn)實設備的視錐體裁剪裝置實施例結構示意圖;
[0029]圖4為本發(fā)明虛擬現(xiàn)實設備實施例結構示意圖。
【具體實施方式】
[0030]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0031]本技術領域技術人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復數(shù)形式。應該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。
[0032]本技術領域技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語),具有與本發(fā)明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語,應該被理解為具有與現(xiàn)有技術的上下文中的意義一致的意義,并且除非被特定定義,否則不會用理想化或過于正式的含義來解釋。
[0033]圖1示出了本發(fā)明實施例的一種基于虛擬現(xiàn)實設備的視錐體裁剪方法的流程圖。
[0034]參照圖1,本發(fā)明實施例提出的基于虛擬現(xiàn)實設備的視錐體裁剪方法,具體包括以下步驟:
[0035]S11、確定人體左眼的第一視場角和右眼的第二視場角;
[0036]在實際應用中,采用虛擬現(xiàn)實設備進行VR體驗時,人體的左右眼的視場角是不同的,為了實現(xiàn)VR3D場景的視錐體裁剪,需要預先得到人體左眼的第一視場角和右眼的第二視場角。
[0037]需要說明的是,本實施例中的虛擬現(xiàn)實設備為具有虛擬現(xiàn)實功能的智能設備,如VR頭盔以及VR眼鏡等,本發(fā)明對此不做具體限定。
[0038]S12、獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體;
[0039]具體的,根據(jù)步驟Sll中確定的人體左眼的第一視場角和人體右眼的第二視場角,對左右眼兩個視場角求并集,得到的并集區(qū)域即為左右眼的可視區(qū)域的合并部分,因此,可將得到的并集區(qū)域作為人體真實的視錐體。
[0040]S13、根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。
[0041]本步驟中,通過根據(jù)已得到的人體真實的視錐體,對虛擬現(xiàn)實設備當前待呈現(xiàn)的3D場景中的幾何體進行裁剪,解決了現(xiàn)有技術中對3D場景進行視錐體裁剪過程中,需要根據(jù)左右眼的視錐體分別進行兩次裁剪計算帶來的延遲問題,快速而方便地實現(xiàn)對VR 3D場景的剪裁。
[0042]本發(fā)明實施例,通過將人體左、右眼視場角的并集區(qū)域作為人體的真實視錐體,根據(jù)該真實視錐體做視錐體剪裁,大幅減少繪制幾何體數(shù)據(jù)量,進而減少視錐體裁剪過程中的計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
[0043]進一步地,所述步驟Sll中確定人體左眼的第一視場角和右眼的第二視場角,具體包括以下圖中未示出的步驟:
[0044]S111、獲取人體頭部的空間狀態(tài)信息以及當前虛擬現(xiàn)實設備的系統(tǒng)設置參數(shù);
[0045]具體的,所述獲取人體頭部的空間狀態(tài)信息,包括:
[0046]接收體感裝置上傳的人體頭部的體感數(shù)據(jù);
[0047]根據(jù)所述體感數(shù)據(jù)確定人體頭部的空間狀態(tài)信息。
[0048]其中,本實施例中的人體頭部的空間狀態(tài)信息,具體包括當前人體頭部移動的方位信息、速度信息和位置信息。虛擬現(xiàn)實設備的系統(tǒng)設置參數(shù)包括:虛擬現(xiàn)實設備左右眼鏡片之間的距離、左右眼鏡片距離屏幕的距離、虛擬現(xiàn)實設備和左右眼鏡片的尺寸與規(guī)格等參數(shù)信息。
[0049]需要說明的是,人體頭部對應的方位信息可包括:頭部在空間中三個維度的位移,即包括前后位移,上下位移、左右位移,或者是這些位移的組合等。
[0050]其中,本實施例中的體感裝置包括指南針、陀螺儀、無線信號模塊以及至少一個傳感器以用于探測人體頭部的體感數(shù)據(jù)。其中,所述傳感器包括加速度傳感器、方向傳感器、磁力傳感器、重力傳感器、旋轉矢量傳感器、線性加速度傳感器中的一種或多種。
[0051]S112、根據(jù)所述系統(tǒng)設置參數(shù)以及所述人體頭部的空間狀態(tài)信息確定人體左眼的第一視場角和右眼的第二視場角。
[0052]具體的,根據(jù)人體頭部移動的方位信息、速度信息和位置信息,結合虛擬現(xiàn)實設備的系統(tǒng)設置參數(shù)確定出人體左眼的第一視場角和人體右眼的第二視場角。
[0053]進一步地,所述步驟S13中根據(jù)所述視錐體對3D場景中的幾何體進行裁剪,具體包括以下圖中未示出的步驟:
[0054]S131、確定所述視錐體的六個平面對應的空間平面方程;
[0055]S132、根據(jù)所述空間平面方程判定所述3D場景中的幾何體的每一點坐標與每一平面的位置關系;
[0056]S133、根據(jù)所述位置關系確定所述視錐體的裁剪平面;
[0057]S134、根據(jù)所述裁剪平面對所述視錐體進行裁剪。
[0058]實際應用中,通過計算出視錐體六個平面對應的空間平面方程,將3D場景中的幾何體的每一點坐標分別代入六個面的平面方程做比較,則可以判斷點是否在視錐體內(nèi)。
[0059]下面對本發(fā)明實施例中的視錐體裁剪的具體實現(xiàn)方法進行詳細的說明。
[0000]已知的,空間平面方程可表示為:Ax+By+Cz = 0
[0061]相應的,對于點^1,71,21),有[0062 ] 若Ax I +By I+Cz I = O,則點在平面上;
[0063 ] 若Ax I +By I+Cz I〈O,則點在平面的一側;
[0064]若Ax I +By I+Cz I = O,則點在平面的另一側;
[0065]首先,求視錐平面系數(shù),確定視錐體的六個平面對應的空間平面方程。
[0066]本算法從世界、觀察以及投影矩陣中計算出Viewing Frustum的六個面。它快速,準確,并且允許我們在相機空間(camera space)、世界空間(world space)或物體空間(object space)快速確定視景平面(Frustum planes) ο
[0067]從投影矩陣(project)開始,假設世界矩陣(world)和觀察矩陣(view)都是單位化了的矩陣。這就意味著相機位于世界坐標系下的原點,并且朝向Z軸的正方向。
[0068]定義一個頂點v(xyzw=l)和一個4*4的投影矩陣M=m(i,j),然后使用該矩陣M對頂點V進行轉換,轉換后的頂點為V’ = (x’y’z’w’)。轉換后,viewing frustum實際上就變成了一個與軸平行的盒子,如果頂點V’在這個盒子里,那么轉換前的頂點V就在轉換前的viewing frustum里。在3D程序接口OpenGL下,如果下面的幾個不等式都成立的話,那么v’
就在這個盒子里。
[0069]-w,〈x,〈w’
[0070]_w,〈y,〈w,
[0071]_w,〈z,〈w,
[0072]假設現(xiàn)在想測試x’是否在左半邊空間,只需判斷
[0073]-w〈x’
[0074]用上面的信息,等式可以寫成:
[0075]-(V.row4)<(v.rowl)
[0076]0<(v.row4) + (v.rowl)
[0077]0<v.(row4+rowl)
[0078]得到轉換前的viewingfrustum的左裁剪面的平面方程:
[0079]x(m41+mll)+y(m42+ml2)+z(m43+ml3)+w(m44+ml4)=0
[0080]當W=I,該左裁剪面的平面方程可簡單成如下形式:
[0081 ] X(m41+mll)+y(m42+ml2)+z(m43+ml3) + (m44+ml4) =0
[0082]得到一個基本平面方程:
[0083]ax+by+cz+d = 0
[0084]其中,a=(m41+mll),b= (m42+ml2),c = (m43+ml3),d=(m44+ml4)
[0085]即得到了左裁剪面。
[0086]重復以上幾步,可推導出到其他的幾個裁剪面。
[0087]進一步地,可得到以下結論:
[0088]1.如果矩陣M等于投影矩陣P(M = P),那么算法給出的裁剪面是在相機空間;
[0089]2.如果矩陣M等于觀察矩陣V和投影矩陣P的組合(M = V*P),那么算法給出的裁剪面是在世界空間;
[0090]3.如果矩陣M等于世界矩陣W,觀察矩陣V和投影矩陣P的組合(M = W*V*P),那么算法給出的裁剪面是在物體空間;
[0091]進一步地,判斷節(jié)點是否在視錐內(nèi)的步驟如下:
[0092]通過各種包圍體方法求出近似包圍體,對包圍體上的各個點對視錐六個面作判斷,存在以下三種情況:
[0093]如果所有頂點都在視錐范圍內(nèi),則待判區(qū)域一定在視錐范圍內(nèi);
[0094]如果只有部分頂點在視錐范圍內(nèi),則待判區(qū)域與視錐體相交,我們同樣視為可見;
[0095]如果所有頂點都不在視錐范圍內(nèi),那么待判區(qū)域很可能不可見了,但有一種情況例外,就是視錐體在長方體以內(nèi),這種情況我們要加以區(qū)分。
[0096]圖2示出了本發(fā)明實施例的一種基于虛擬現(xiàn)實設備的顯示方法的流程圖。
[0097]參照圖2,本發(fā)明實施例提出的基于虛擬現(xiàn)實設備的顯示方法,具體包括以下步驟:
[0098]S21、獲取由上述任一實施例所述的基于虛擬現(xiàn)實設備的視錐體裁剪方法裁剪后的待呈現(xiàn)的3D場景中的幾何體;
[0099]S22、對所述裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制;
[0100]具體的,渲染繪制時只對與真實視錐體有交集的幾何體進行繪制,對3D場景中裁剪后的幾何體進行渲染繪制,渲染后進行反畸變和反色散處理并顯示。
[0101]S23、顯示渲染繪制后的待呈現(xiàn)的3D場景中幾何體。
[0102]本發(fā)明實施例中,根據(jù)由人體左、右眼視場角的并集區(qū)域確定的真實視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行視錐體裁剪后,通過對裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制,并顯示渲染繪制后的待呈現(xiàn)的3D場景中幾何體,實現(xiàn)虛擬現(xiàn)實設備的顯不O
[0103]本發(fā)明實施例提供的基于虛擬現(xiàn)實設備的顯示方法,通過對左右眼視錐體統(tǒng)一處理后做視錐體剪裁,大幅減少繪制幾何體數(shù)據(jù)量,減少了計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
[0104]另外,對于上述方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明所必須的。
[0105]基于與方法同樣的發(fā)明構思,本發(fā)明實施例還提供一種基于虛擬現(xiàn)實設備的視錐體裁剪裝置,圖3示出了本發(fā)明實施例的一種基于虛擬現(xiàn)實設備的視錐體裁剪裝置的結構示意圖。
[0106]參照圖3,本發(fā)明實施例提出的基于虛擬現(xiàn)實設備的視錐體裁剪裝置,具體包括確定模塊201、獲取模塊202以及處理模塊203,其中:
[0107]所述的確定模塊201,用于確定人體左眼的第一視場角和右眼的第二視場角;
[0108]在實際應用中,采用虛擬現(xiàn)實設備進行VR體驗時,人體的左右眼的視場角是不同的,為了實現(xiàn)VR3D場景的視錐體裁剪,需要預先得到人體左眼的第一視場角和右眼的第二視場角。
[0109]需要說明的是,本實施例中的虛擬現(xiàn)實設備為具有虛擬現(xiàn)實功能的智能設備,如VR頭盔以及VR眼鏡等,本發(fā)明對此不做具體限定。
[0110]所述的獲取模塊202,用于獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體;
[0111]獲取模塊,根據(jù)確定模塊201確定的人體左眼的第一視場角和人體右眼的第二視場角,對左右眼兩個視場角求并集,得到的并集區(qū)域即為左右眼的可視區(qū)域的合并部分,因此,可將得到的并集區(qū)域作為人體真實的視錐體。
[0112]所述的處理模塊203,用于根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。
[0113]本實施例中,處理模塊通過根據(jù)已得到的人體真實的視錐體,對虛擬現(xiàn)實設備當前待呈現(xiàn)的3D場景中的幾何體進行裁剪,解決了現(xiàn)有技術中對3D場景進行視錐體裁剪過程中,需要根據(jù)左右眼的視錐體分別進行兩次裁剪計算帶來的延遲問題,快速而方便地實現(xiàn)對VR 3D場景的剪裁。
[0114]本發(fā)明實施例,通過將人體左、右眼視場角的并集區(qū)域作為人體的真實視錐體,根據(jù)該真實視錐體做視錐體剪裁,大幅減少繪制幾何體數(shù)據(jù)量,進而減少視錐體裁剪過程中的計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
[0115]進一步地,所述確定模塊201,包括獲取單元和第一確定單元,其中:
[0116]所述的獲取單元,用于獲取人體頭部的空間狀態(tài)信息以及當前虛擬現(xiàn)實設備的系統(tǒng)設置參數(shù);
[0117]所述的第一確定單元,用于根據(jù)所述系統(tǒng)設置參數(shù)以及所述人體頭部的空間狀態(tài)信息確定人體左眼的第一視場角和右眼的第二視場角。
[0118]其中,所述獲取單元,進一步包括接收子單元和確定子單元,其中:
[0119]所述的接收子單元,用于接收體感裝置上傳的人體頭部的體感數(shù)據(jù);
[0120]所述的確定子單元,用于根據(jù)所述接收子單元接收到的體感數(shù)據(jù)確定人體頭部的空間狀態(tài)信息。
[0?21 ]進一步地,所述處理模塊203,包括第二確定單元、判定單元、第三確定單元以及裁剪單元,其中:
[0122]第二確定單元,用于確定所述視錐體的六個平面對應的空間平面方程;
[0123]判定單元,用于根據(jù)所述空間平面方程判定所述3D場景中的幾何體的每一點坐標與每一平面的位置關系;
[0124]第三確定單元,用于根據(jù)所述位置關系確定所述視錐體的裁剪平面;
[0125]裁剪單元,用于根據(jù)所述裁剪平面對所述視錐體進行裁剪。
[0126]此外,本發(fā)明實施例還提供一種虛擬現(xiàn)實設備,如圖4所示,所述虛擬現(xiàn)實設備具體包括:獲取單元10、渲染單元30、顯示單元40以及如上述任一實施例所述的基于虛擬現(xiàn)實設備的視錐體裁剪裝置20,其中;
[0127]所述獲取單元10,用于獲取所述基于虛擬現(xiàn)實設備的視錐體裁剪裝置20裁剪后的待呈現(xiàn)的3D場景中的幾何體。
[0128]所述渲染單元30,用于對所述獲取單元獲取10的裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制。
[0129]具體的,渲染單元30在渲染繪制時只對與真實視錐體有交集的幾何體進行繪制,對3D場景中裁剪后的幾何體進行渲染繪制,渲染后進行反畸變和反色散處理并顯示。
[0130]所述顯示單元40,用于顯示所述渲染單元20渲染繪制后的待呈現(xiàn)的3D場景中幾何體。
[0131]本發(fā)明實施例提供的虛擬現(xiàn)實設備,通過對左右眼視錐體統(tǒng)一處理后做視錐體剪裁,大幅減少繪制幾何體數(shù)據(jù)量,減少了計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
[0132]具體的,渲染繪制時只對與真實視錐體有交集的幾何體進行繪制,對3D場景中裁剪后的幾何體進行渲染繪制,渲染后進行反畸變和反色散處理并顯示。
[0133]對于裝置實施例而言,由于其與對應的方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0134]綜上所述,本發(fā)明實施例提供的基于虛擬現(xiàn)實設備的視錐體裁剪方法、裝置、顯示方法及虛擬現(xiàn)實設備,通過將人體左、右眼視場角的并集區(qū)域作為人體的真實視錐體,根據(jù)該真實視錐體做視錐體剪裁,大幅減少繪制幾何體數(shù)據(jù)量,進而減少視錐體裁剪過程中的計算量,提高了渲染效率,減少了采用傳統(tǒng)視錐體剪裁造成的渲染延遲。
[0135]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0136]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件。基于這樣的理解,上述技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0137]最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。
【主權項】
1.一種基于虛擬現(xiàn)實設備的視錐體裁剪方法,其特征在于,所述方法包括: 確定人體左眼的第一視場角和右眼的第二視場角; 獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體; 根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。2.根據(jù)權利要求1所述的方法,其特征在于,所述確定人體左眼的第一視場角和右眼的第二視場角,包括: 獲取人體頭部的空間狀態(tài)信息以及當前虛擬現(xiàn)實設備的系統(tǒng)設置參數(shù); 根據(jù)所述系統(tǒng)設置參數(shù)以及所述人體頭部的空間狀態(tài)信息確定人體左眼的第一視場角和右眼的第二視場角。3.根據(jù)權利要求2所述的方法,其特征在于,所述獲取人體頭部的空間狀態(tài)信息,包括: 接收體感裝置上傳的人體頭部的體感數(shù)據(jù); 根據(jù)所述體感數(shù)據(jù)確定人體頭部的空間狀態(tài)信息。4.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述視錐體對3D場景中的幾何體進行裁剪,包括: 確定所述視錐體的六個平面對應的空間平面方程; 根據(jù)所述空間平面方程判定所述3D場景中的幾何體的每一點坐標與每一平面的位置關系; 根據(jù)所述位置關系確定所述視錐體的裁剪平面; 根據(jù)所述裁剪平面對所述視錐體進行裁剪。5.一種基于虛擬現(xiàn)實設備的顯示方法,其特征在于,所述方法包括: 獲取由權利要求1?4中任一項所述的基于虛擬現(xiàn)實設備的視錐體裁剪方法裁剪后的待呈現(xiàn)的3D場景中的幾何體; 對所述裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制; 顯示渲染繪制后的待呈現(xiàn)的3D場景中幾何體。6.一種基于虛擬現(xiàn)實設備的視錐體裁剪裝置,其特征在于,所述裝置包括: 確定模塊,用于確定人體左眼的第一視場角和右眼的第二視場角; 獲取模塊,用于獲取所述第一視場角和第二視場角的并集區(qū)域,將所述并集區(qū)域作為人體的視錐體; 處理模塊,用于根據(jù)所述視錐體對當前待呈現(xiàn)的3D場景中的幾何體進行裁剪。7.根據(jù)權利要求6所述的裝置,其特征在于,所述確定模塊,包括: 獲取單元,用于獲取人體頭部的空間狀態(tài)信息以及當前虛擬現(xiàn)實設備的系統(tǒng)設置參數(shù); 第一確定單元,用于根據(jù)所述系統(tǒng)設置參數(shù)以及所述人體頭部的空間狀態(tài)信息確定人體左眼的第一視場角和右眼的第二視場角。8.根據(jù)權利要求7所述的裝置,其特征在于,所述獲取單元,包括: 接收子單元,用于接收體感裝置上傳的人體頭部的體感數(shù)據(jù); 確定子單元,用于根據(jù)所述接收子單元接收到的體感數(shù)據(jù)確定人體頭部的空間狀態(tài)信息。9.根據(jù)權利要求6所述的裝置,其特征在于,所述處理模塊,包括: 第二確定單元,用于確定所述視錐體的六個平面對應的空間平面方程; 判定單元,用于根據(jù)所述空間平面方程判定所述3D場景中的幾何體的每一點坐標與每一平面的位置關系; 第三確定單元,用于根據(jù)所述位置關系確定所述視錐體的裁剪平面; 裁剪單元,用于根據(jù)所述裁剪平面對所述視錐體進行裁剪。10.一種虛擬現(xiàn)實設備,其特征在于,所述虛擬現(xiàn)實設備包括獲取單元、渲染單元、顯示單元以及如權利要求6?9任一項所述的基于虛擬現(xiàn)實設備的視錐體裁剪裝置; 所述獲取單元,用于獲取由所述基于虛擬現(xiàn)實設備的視錐體裁剪裝置裁剪后的待呈現(xiàn)的3D場景中的幾何體; 所述渲染單元,用于對所述獲取單元獲取的裁剪后的待呈現(xiàn)的3D場景中幾何體進行渲染繪制; 所述顯示單元,用于顯示所述渲染單元渲染繪制后的待呈現(xiàn)的3D場景中幾何體。
【文檔編號】G06T19/00GK105869214SQ201510844979
【公開日】2016年8月17日
【申請日】2015年11月26日
【發(fā)明人】胡雪蓮
【申請人】樂視致新電子科技(天津)有限公司