![]() 以移動及散焦模糊來渲染鑲嵌幾何之技術
专利摘要:
移動或散焦幾何可藉於一階層式資料結構中將該幾何的多個基元群集而隨機地渲染。藉階層式將一射線截頭錐通向通過該資料結構,可定位在該資料結構中之可見片段。於若干實施例中可運用時間相依性射線追蹤資料結構。 公开号:TW201301200A 申请号:TW101117572 申请日:2012-05-17 公开日:2013-01-01 发明作者:Franz P Clarberg;Christopher A Burns 申请人:Intel Corp; IPC主号:G06T15-00
专利说明:
以移動及散焦模糊來渲染鑲嵌幾何之技術 本發明係有關於圖形處理,及更明確言之係有關於渲染移動模糊及散焦模糊。 發明背景 於互動式圖形中分散效應的正確渲染,諸如移動模糊及景深將成為朝向真實感及視覺保真度的主要躍進。大部分應用目前假設該景物係經由針孔攝影機,快門開放無限短的時間觀看,及仰賴後處理來產生期望的模糊。雖然曾經提示於時間上及透鏡上隨機取樣的數種光柵化演算法,但全部皆有無法預期的效能及放大不良,模糊增加。藉犧牲隨機性質及使用累積緩衝或交插取樣而離散化時間及透鏡座標,可達成恆定成本,但可能導入頻閃假影。 於實時圖形中,普遍傾向於使用較小型基元。於DirectX 11中導入鑲嵌加以強調,使得可產生大量晶片上幾何。但較小型基元對光柵化器施加高壓,由於在2x2四重元上的著色濃淡限制而使得著色較無效。該問題係以累進緩衝或交插取樣加強,原因在於此等技術可視為渲染各個基元多次,但以較低解析度。又,藉移動及/或景深所導入的模糊量係與該場景的幾何細節獨立無關。如此,小型基元的隨機光柵化太過昂貴,原因在於比較基元大小,針對各個模糊化基元須通過的螢幕-空間區域為極大。從事大量工作而無法獲得可見樣本。 依據本發明之一實施例,係特地提出一種方法包含於一階層式資料結構中藉將一移動或散焦幾何之多個基元群集而隨機地渲染該移動或散焦幾何;將樣本通過該結構;及於一光柵化管線中執行該等操作。 圖式簡單說明 第1圖顯示依據一個實施例於第1a圖中之移動三角形及第1b圖中之移動中的24個三角形的補塊;第2圖為依據本發明之一個具體例圖形處理管線之示意圖;第3圖顯示於螢幕-空間移動通過螢幕之補塊,於左側及右側於空間及時間移動的有8個三角形之補塊;第4圖為針對本發明之一個具體例之流程圖;第5圖為於空間及時間移動中的補塊之簡化圖,假設只有一個空間維度;第6圖測試顯示於左側及右側對相對於該平面於負向為最遠的頂點之各個截頭錐平面,顯示一框只顯示該遠方平面的內部,該遠方平面係在另一平面內部,只朝向移動的相對端;第7圖顯示針對一拼貼片找出分支節點B之保守方式,於右側例示說明標記在位元遮罩中的交集葉片,表示於記憶體中線性布局的節點;及第8圖為依據本發明之一個具體例之硬體說明圖。 詳細說明 發明人呈示用於具有隨機移動模糊及/或散焦模糊之鑲嵌幾何的有效渲染之一種演算法。高品質移動模糊及景深渲染乃將互動式圖形帶至下個實境層級的關鍵重要成分。於若干實施例中,藉將隨機時間(t)及/或透鏡座標(u,v)加至該光柵,可解出正確移動及散焦模糊。於一個實施例中,發明人提出一種光線投射辦法,其藉通過每個補塊建造的小型本地加速度結構執行光線投射,探討鑲嵌幾何之暗示空間同調。於若干實施例中,運用截頭錐通過及分析時間重疊運算,發明人獲得一種隨模糊增加及小型基元而良好地放大規模之方法。 發明人之演算法可在其它方面皆為傳統光柵化管線內部以串流方式操作。光柵化/通過成本係通過一組基元分期攤銷而非將該等基元逐一地光柵化。藉將基元群集在一起,模糊化區域的大小相較於該等基元的大小縮減,而可避免大量冗餘工作。此點係例示說明於第1圖。框出區域例示說明受以移動模糊及景深渲染的三角形所影響之區。針對在一補塊內的各個三角形,約略此種大小的一區須被通過。於本實例中有24個三角形。採用發明人的辦法,在該補塊內的全部三角形皆在一個批次內使用光線投射而被渲染。灰色區只須被通過一次,只有犧牲小量額外負擔來找出各個樣本重疊哪個基元(若有)。 首先,在從單一補塊所產生的該等三角形上建立小型階層式資料結構,及通過由該模糊補塊所覆蓋的螢幕空間區域。於若干實施例中,發明人使用斜向通過來改進效率。針對各個螢幕空間拼貼片,產生拼貼片截頭錐及以階層式地通過該資料結構。若截頭錐不交集,則發明人可直接剔除在該拼貼片裡的全部樣本。否則,發明人以分析方式計算該拼貼片截頭錐與該補塊間之時間重疊,且只投射相關光線。如此達成極高命中率,容易保證在格網布局中同調地產生樣本,如此簡化著色濃淡。此外,於一個實施例中,在截頭錐通過期間,發明人檢測個別光線的最佳起始節點,並從該處開始截頭錐的通過而非從該階層式資料結構的根部。於若干實施例中,如此更進一步減低總通過成本。 於若干實施例中,發明人之演算法乃光線追蹤與光柵化的混成。於若干實施例中,藉由對小型本地資料集合操作,發明人避免通用光線追蹤解決方案的缺點,同時維持先進光線追蹤辦法的關鍵效能特性。串流化辦法也可維持與近代圖形處理單元(GPU)及圖形應用程式規劃介面(API)之前饋光柵化管線之可相容性。 第2圖顯示本發明之實施例整合入支援鑲嵌的近代圖形管線10(Diec3d 11)。方形表示固定函式階段,及圓框表示可程式著色器階段。傳統上,此時光柵對一個三角形執行可見性測定,因模糊及/或微多角形而變成無效。發明人提示修正光柵化器階段12來處理鑲嵌化三角形補塊。該階段12首先建立一資料結構(方塊14),及然後通過該補塊(方塊16),執行拼貼片截頭錐及樣本測試。 鑲嵌器18提供空間本地性及暗示連結性資訊,該連結性資訊乃在該補塊上建立精簡而有效的階層式資料結構所需。注意只有在原先管線的光柵化器需要被修正。全部其它階段可維持不變,例外為像素著色器20能夠處理來自不同基元的樣本。發明人的方法可變成對應用程式規劃介面(API)為全然透明,因而使得該方法對開發者具有吸引力,且讓硬體的調整適應變容易。 如第4圖所示,發明人的演算法在一個實施例中包括數個部分。輸出包含N個變換三角形形成一個鑲嵌化補塊。首先,對從一補塊的鑲嵌所產生的該等三角形或三角形之一子集建立小型階層式資料結構(方塊40及42)。該資料結構包含框住幾何的移動畫界框之階層。然後,決定移動補塊之螢幕空間邊界(方塊44),及此區域係使用拼貼化通過(方塊46及48)。此點係例示說明於第3圖。左圖顯示有8個三角形於空間-時間移動的補塊(為了例示說明目的僅限於兩個空間維度)。注意各個頂點於起始時間(t=0)及結束時間(t=1)可任意地變換及異位,但發明人假設介於其間為線性移動。觀察螢幕空間(右圖),一補塊移動通過螢幕。拼貼片對齊的畫界框22被通過,及針對各個拼貼片24,發明人計算與該移動補塊的潛在時間重疊。 針對各個拼貼片,產生一截頭錐及對階層測試重疊情況(第4圖,菱形50)。於通過期間,計算其中該幾何潛在地交集該拼貼片之時段的保守邊界(方塊48)。時間及空間二者重疊的樣本被轉換成光線,通過該階層投射來找出最接近的交集點(方塊52)。此於一步驟中,涉及多個最佳化,容後詳述。命中樣本(菱形54)被寫至輸出佇列,用於藉後端處理(方塊56)。通過持續進行直至不再有欲測試的樣本及拼貼片為止(方塊58及60)。 流程圖可藉如下偽代碼體現: 1 Building hierarchy over triangles in patch 2 BBOX=Compute patch bbox 3 for each tile in BBOX 4 Test tile against hierarchy 5 if tile overlaps 6 TIME=Compute time segment of overlap 7 for each sample in TIME 8 Test sample against hierarchy 對階層階級測試拼貼片/樣本(方塊48及52)透過畫界框階層分別地執行截頭錐及光線通過,遠類似傳統光線追蹤器。當測試拼貼片時,該輸出或被剔除或為可能出現重疊的保守時段。針對未被剔除的全部試樣,該輸出為三角形交集,亦即可見性樣本。 第5圖顯示於空間-時間之取樣處理之實例。該圖為於空間-時間中移動補塊之簡化說明圖,假設只有一個空間維度。不同的對角線例示說明一個補塊中的不同三角形。垂直虛線表示拼貼片邊界。針對各個拼貼片,發明人計算時段[tmin,tmax],其中該補塊重疊拼貼片。只有落在此一範圍內的樣本才對該階層作測試,如此最小化剔除的樣本62數目。被接受的可見性樣本64被寫至一輸出佇列(第4圖,方塊56),有待藉該管線進一步處理。每個拼貼片時間重疊的計算可大減接受測試的樣本數目,原因在於只有位在該計算時段內部的樣本需被處理。在該時段外部的樣本無需進行任何工作。 作為比較,考慮傳統隨機光柵化方法如何處置此種情況。首先,既有方法不計算時間邊界。因此在空間-時間中的取樣區係藉垂直線框住(參考第5圖),及測試遠更多的樣本。第二,基元係逐一地光柵化,故針對各個三角形有個如此大的畫界框,更進一步執行內部測試量。重要地須減少測試樣本量來改良效率。基於區間的光柵化藉劃分時域及將各個階層個別地畫界而成功地完成此項目的,但該等三角形仍然循序地渲染。因此在畫界框間有顯著重疊,尤其在有大型移動之情況下尤為如此。類似情況發生在交插光柵化時,三角形係個別地光柵化。 於若干實施例中,發明人之方法探討鑲嵌幾何之空間同調來改良取樣效率。於某些情況下,至於副效應,發明人樣本將於同調格網以高利用率輸出。折衷為發明人介紹更昂貴的通過步驟。因此於若干實施例中,要緊地係最小化拼貼片截頭錐及每個樣本通過的成本。 其次,將以進一步細節描述第4圖所示發明人之演算法的一個實施例之主要步驟。發明人將始於在通過開始前完成設定,亦即建構階層式資料結構及將此畫界,接著為拼貼片截頭錐及每個樣本通過的方法。此等共同變成多階通過演算法,開始光線向下通過該樹儘可能地遠。 發明人演算法的輸入是藉鑲嵌一補塊所產生的基元之變換頂點。舉例言之,於Direct3D 11-樣式管線中,變換頂點將藉定義域著色器(DS)66產生,如第2圖指示。發明人假設全部基元皆以線性每個頂點移動為時間連續,亦即各個頂點有兩個位置亦即qi及ri分別地儲存於t=0及t=1的定位。於任何時間t的內推位置pi係藉下式給定:pi(t)=(1-t)qi+tri。又復,發明人假設若使用景深(DOF),則硬體可裁剪投射矩陣來計算任何透鏡座標(u,v)的投射位置。來自發明人演算法的輸出是重疊該補塊的多個可見性樣本(第4圖,方塊56),該等可見性樣本形成負責像素著色器(PS)20(第2圖)及輸出合併器(OM)68(第2圖)的該像素後端之輸入。 針對移動模糊渲染,基元係經假設在起始時間/結束時間間線性移動。首先,於t=0及t=1(第4圖,方塊40)針對各個基元計算畫界框B。如此例如可藉取頂點位置之最小值及最大值完成。然後於任何時間t藉線性內推法計算保守邊界:B(t)=(1-t)B(0)+tB(1)。該資料結構係藉階層式合併附近基元的時間相依性畫界框建立(第4圖,方塊42)。兩個時間相依性畫界框的合併係藉分開地合併在t=0及t=1之個別框而執行。如前述,任何時間t的合併框係藉線性內推法給定。 該演算法探討鑲嵌器階段(參考第2圖方塊18)之已知鑲嵌樣式來找出暗示性地已知為空間上鄰近的基元。於大部分情況下,從單一補塊鑲嵌的全部基元係呈一群組而處理。若干補塊含有大量基元,可將該等基元劃分成數組來一次只處理該等基元之一個子集。同理,若為空間上鄰近,則可能一起處理數個小補塊。 當該資料結構不再被需要時,亦即該補塊已經渲染後,該資料結構係儲存在本地晶片上暫用記憶體及供重複使用。於一個實施例中,該演算法係於3D空間操作,及畫界框為4D超梯形。於另一個實施例中,該等畫界框為時間相依性2D螢幕空間邊界;及於又另一個實施例中,該等畫界框為時間相依性2D均質邊界(2DH)。若使用交插取樣,亦即小型固定數目離散時間,則該等邊界可經更新為目前時間t的前期處理,及儲存為靜態(非時間相依性)畫界框。於此種情況下,該演算法的全部步驟之進行彷彿正在渲染靜態三角形般。總而言之,畫界框可與軸線對齊,定向,或定向與裁切來與該幾何之主軸排齊。該主軸可使用試探性找出,諸如輸入補塊之邊界方向,或個別基元之平均邊緣方向。 為了得知欲通過哪個螢幕空間區域,須決定模糊化補塊的保守螢幕空間邊界(第4圖,方塊44)。最保守的佑算是假設須通過整個螢幕,但若該補塊只遮蓋螢幕的一小部分則如此無效。 一項可能係將在該階層式資料結構中的頂階畫界框的角隅投射至該螢幕空間,及運用最小值/最大值運算來找出軸線排齊的畫界框(AABB)。也可使用其它畫界形狀,例如凸面殼或物件導向框(OBB)。為了獲得更緊密邊界,取而代之,可將畫界框的角隅投射至該樹中更遙遠的階層。舉例言之,若有株二元樹,則可投射2l畫界框於階層l(該根為l=0)。針對在真正補塊外側區域,計算螢幕空間邊界的成本與執行不必要的拼貼片截頭錐測試的成本間須作折衷。 於若干實施例中,螢幕空間邊界係連結建立階層式資料結構計算而非分開步驟,原因在於頂點須被投射。注意在從3D/2DH至2D螢幕空間的全部投射中,當該等基元通過相機平面z=0時須小心避免問題。於此種情況下,係採用已知之截割程式(不涵蓋於本發明)。例如可使用類似於McGuire,M.、Enderton,E.、Shirley,P.、及Luebke,D.,2010,習知GPU架構上的實時隨機光柵化,於高效能圖形議事錄,173-182之方法。 模糊補塊的螢幕空間邊界係被劃分成拼貼片(例如4x4像素),及各個拼貼片係對該階層式資料結構作測試來決定該拼貼片是否重疊該補塊(第4圖,方塊46及48)。重疊的拼貼片(菱形50)可階層式地細分成更小型拼貼片,或可直接地進入(方塊52-58)。 為了測試拼貼片(方塊48),發明人設定四個截頭錐平面,其係對準該塊拼貼片的側邊。此外,加上表示近及遠截割平面的兩個平面。各個截頭錐平面Πi係藉其平面方程式定義ni.p+di=0,於該處ni為平面的法線,及di為偏移值。若ni.p+di>0(假設面向外法線),則點p係在平面外側。若一點係在全部平面內部,則其係在截頭錐內部。 於發明人之情況下,想要對線性移動畫界框之階層測試截頭錐平面,及於葉節點計算保守時段,其中該移動框可交集該截頭錐。於最一般性之情況下,畫界框為物件導向4D超類梯形,但於更簡單情況係進行類似運算。發明人始於將截頭錐平面變換成畫界框階層的本地座標訊框,將問題減至平面移動AABB測試。針對靜態幾何,測試在相對於Πi的負向(n-頂點)最遠的該AABB角隅來決定該框是否交集即足。ni平面法線ni的符號位元直接決定哪個角隅是n-頂點。對線性移動畫界框而言此點亦為真,原因在於截頭錐平面及畫界框的取向維持恆定。第6(a)圖中,發明人對相對於該平面的負向為最遠的該頂點,測試各個截頭錐平面以便找出該移動框是否重疊該截頭錐。針對葉節點,額外解出交集時間70。 移動AABB之n-頂點係給定為:pn(t)=(1-t)qn+trn,於該處t [0,1]。因而決定於該階層中畫界框是否交集截頭錐平面,對該平面測試兩點pn(0)=qn及pn(1)=rn。若兩點都在外部,則可剔除該框原因在於該框未曾在內部,給定如下簡單的內部測試: 1 bool IsNodeInside( ) 2 { 3 for each frustum plane i=1..6 4 { 5 d0=dot(n_i,q_n)+d_i 6 d1=dot(n_i,r_n)+d_i 7 if(d0>0 && d1>0)return false 8 } 9 return true 10} 注意平面方程式無需標準化。硬體體現可探索此點例如藉設定平面法線經常性地有一個成分等於1.0,藉此避免每個點積一次乘法。此外,比較正常係藉將di移動至右側完成,減低成本至每個截頭錐平面4乘-加(MADD)。另一項欲探索的次要最佳化為近平面與遠平面乃平行的事實。因此,針對此二平面只須計算點積qn.ni及rn.ni一次而使用不同的di。 於該階層中的葉節點,額外關注的是計算時間交集點,該點係給定為: 注意分子及分母中的兩項都已經是簡單測試所需,故唯一的額外成本是減法及除法。除法可在硬體中以極低精度進行,只要結果係經常性地保守的捨入即可。始於整個時間區間[tmin,tmax]=[0,1],及使用最小值/最大值運算漸進地精製之。若該區間變空白亦即tmin>tmax,則可做早出(early-out)。如此把握某些情況,否則該等情況通常將被錯誤歸類為內部。一個實例係顯示於第6(b)圖。於此種情況下,該框只有簡短地在遠平面內部,唯有朝向移動的相對端時才係在另一個平面內部。並無同時位在兩個平面內部的時間點,因而避免偽陽性。 如下偽代碼例示說明該演算法: 1 bool IsLeafInside(float& t_min,float& t_max) 2 { 3 [t_min,t_max]=[0,1] 4 for each frustum plane i=1..6 5 { 6 d0=dot(n_i,q_n)+d_i 7 d1=dot(n_i,r_n)+d_i 8 if(d0>0 && d1>0)return false 9 10 if(d0>0)//p_n moves from out to in 11 Compute t 12 t_min=max(t_min,t) 13 else if(d1>0)//p_n moves from in to out 14 Compute t 15 t_max=min(t_max,t) 16 //else:both inside,no need to update times 17 18 if(t_min>t_max)return false//early-out 19 } 20 return true 21} 於以上兩個演算法中,假設全部六個截頭錐平面皆須測試。但若移動框係完全在一平面內部,則無需對同一平面測試其子代,原因在於該子代也保證係在平面內部。在通過的每個階層如此進行及遮掩相關平面,要求在t=0及t=1對該等平面測試於正向(p-頂點)為最遠的頂點,如此必然加倍測試成本且通常無法回報。但移動補塊罕見交集近/遠平面,因此開始在根階層對此等平面測試p-頂點,及若屬可能,繼續較廉價的四邊截頭錐通過。 於高階層,發明人的演算法首先執行截頭錐通過來識別重疊移動補塊的拼貼片(第4圖,菱形50)。於此等拼貼片中,產生個別光線及投射通過該階層(第4圖,方塊52)。一般而言,一拼貼片中的光線將以相似路徑通過該樹,且經常交集一或多個葉片。因此於許多情況下,無需在樹根部開始通過光線,原因在於針對最初數個階層,該拼貼片中的全部光線將採相同路徑。於截頭錐通過期間,發明人找出在階層中個別光線的通過將開始發散的第一節點。定名為該拼貼片的分支節點B。於該每個樣本通過步驟中,直接從B開始光線通過。 提出找出分支節點的兩個不同方式。最簡單方法係使用階層裡的第一節點,於該處該截頭錐重疊兩個子代的畫界框作為該分支節點。附帶地,於以堆疊為基礎之通過中,此乃其中子代節點須被推上該堆疊的該第一節點。若未出現此種情況且該拼貼片未被剔除,則只建構一個交集葉片,於該種情況下直接使用該葉片作為起始節點。本方法之缺點為內部節點的畫界體積太過保守。截頭錐可能極為良好地交集二子代,但其中一者的通過後來可能在到達葉片之前結束。因此光線將始於在階層中比需要者更高的階層。此點例示說明於第7(a)圖。交集葉片係標示以實心圓,而交集內部節點係標示以空心圓。 替代方案係註記該截頭錐確切交集哪些個葉片,然後找出具有葉片重疊該截頭錐的有兩株子樹的第一節點。於一遞歸體現中,本資訊將容易逆追蹤後遞歸,但於以堆疊為基礎之通過中,內部節點一旦已經處理則不再被查驗。取而代之,提示一種簡單二進制方法,維持有n位元的位元遮罩,於該處n為葉片節點數目。遮罩表示在記憶體中被線性布局的節點且被初始化為零。當找到重疊葉片時,被標示以1。於通過後,位元罩係使用或(OR)運算而以階層方式減低。藉注視只有單一位元集合的最底階層找出該分支節點。此乃需要起始每個光線通過的該點。參考第7(b)圖之實例。 須注意因該樹典型地只有少數階層,因而此乃找到真正分支節點的廉價辦法。於各個階層,測試是否有單一位元集合可藉測試x&(x-1)是否等於零完成。此點有效的原因在於經常性至少有一個位元集合,否則整個拼貼片將被剔除。 於圖形處理單元架構中,常見使用階層式z-緩衝器來快速地揀選出遮蔽的幾何之像素拼貼片。同理,針對該拼貼片,藉初始化該拼貼片截頭錐的遠方平面為zmax,而非初始化至遠截割平面位置,可早期揀選該補塊之部件。如此可能更進一步地減少耗用在遮蔽幾何的渲染工作量,原因在於須執行的每個樣本通過較少。 在拼貼片截頭錐通過已經決定螢幕空間拼貼片重疊該移動補塊後(第4圖,菱形50),在此拼貼片內部的全部樣本需被測試(第4圖,方塊52)。樣本的確切位置係與發明人的演算法正交,而可任意地選擇。一般而言,有個5D樣本點集合si=(xi,yi,ui,vi,ti),於該處xi、yi為螢幕空間座標,ui、vi為透鏡位置,及ti為樣本時間。若只使用移動模糊或只使用景深,則個別地刪除ui、vi或ti。首先,若於截頭錐通過期間計算時間重疊,則具有在此範圍以外的時間ti之全部樣本可被直接剔除。其餘樣本被轉成光線o+zd,及若有所需,變換成畫界框階層的本地座標訊框。 然後光線通過該階層式資料結構來找出交集的葉節點(方塊52)。若分支節點B係在拼貼片截頭錐通過期間運算,則在此節點開始通過而非在根節點。如此可顯著減少需被通過的內部節點數目,特別係針對較大型基元或當移動有限時尤為如此。在該階層中的葉片,樣本係對個別三角形作測試。各個此等測試可以是在依據ti而異位的三角形上執行的標準光線-三角形交集測試,或此等測試可在均質空間使用時間-連續邊緣方程式作為內部測試完成。命中一基元(菱形54)之樣本係寫至一輸出佇列用以藉該後端(方塊56)進一步處理。當一拼貼片的全部樣本皆已經測試(第4圖,方塊58)及全部拼貼片皆已經測試(第4圖,方塊60)時,已經完成渲染目前補塊。此時,全部時間性資源可被釋出,及該演算法可以新補塊或新補塊子集而從頭重新開始。 發明人的光柵化及光線投射混成辦法之數個實施例的好處中之一者為可探討z-緩衝器來減低部分地或完全地遮蔽補塊的成本。為了達成此項目的,發明人起始光線的tmax為讀取自該z-緩衝器的目前樣本深度。因此該通過可有效地避免檢驗已知被遮蔽的節點。 於最一般性的情況下,在發明人的畫界框階層裡的節點係由4D超梯形所畫界,換言之,於t=0及t=1的定向3D畫界框,具有時間上為線性內插的相同定向。發明人遵守光線-AABB交集的標準策略,將畫界框視為三軸對準厚塊的交集。入射光線及出射光線參數係依z=(x-ox)/dx針對各個厚塊計算,及最小值/最大值運算用來找出光線重疊(若有)。於發明人之情況下,該等厚塊平面的位置為時間相依性函式,例如[xmin(t),xmax(t)]。該等平面於樣本的時間ti之位置係藉下式給定(類似y軸及z軸): 於該處及,j {0,1}乃於t=0及t=1該等平面沿x軸之位置。針對具有正向的光線,光線的入射點係藉下式給定: 及同理,針對出射點texit,於該處: 此等常數只取決於樣本的參數,故可在通過開始前預先計算及針對該光線所執行的全部畫界框測試重複使用。總計依據方程式3計算入射/出射點共三個厚塊,一般情況下總共耗用每個光線-框測試12 MADD。 來自發明人的補塊渲染演算法之輸出為多個可見性樣本,亦即重疊鑲嵌補塊中的基元之樣本點。注意若作動α-測試,則須返回全部交集(非只是最近者)來解析部分透明度。像素後端設計並非本發明所特有。如同於傳統圖形處理單元(GPU)進行般,取決於該架構,樣本可直接著色濃淡,或以樣本頻率(超取樣反混疊)或以像素頻率(多樣本反混疊)。注意若樣本在螢幕空間不形成規則格網,則應小心注意有關如何計算導數。McGuire等人[2010]例如手動地計算像素著色器內的導數,而非仰賴由硬體所提供的2x2四重元的有限差異。 使用著色濃淡快取或於一物件空間內藉於一格網著色濃淡,可將著色濃淡頻率與可見性取樣頻率完全解耦。此等辦法極具展望性,原因在於如此可使得著色濃淡成本與模糊量大為獨立無關,此點對於高效能且可預測效能相當重要。但確實表示遠離目前GPU如何操作的一大步。 發明人已經提出以實際移動模糊及散焦模糊來渲染鑲嵌幾何之有效方法。針對小三角形工作負載,其組合先進光線追蹤辦法的效能優點,同時於若干實施例中維持與近代GPU部件及圖形API的前饋光柵化管線之可相容性。 發明人不要求場景幾何的通用視圖,避免此種結構的組構與儲存。以串流化順序,一次處置一個鑲嵌補塊。於若干實施例中,恰在光柵化之前,快速組成時間相依性資料結構。光柵化器通過此種結構來產生可見的片段,及然後捨棄該結構。因該資料結構小且係應需而從串流化管線資料建立,故可留在晶片上且在耗用之後可被捨棄。此外,對時間相依性本地資料結構執行截頭錐通過,其先前未曾於本脈絡執行者。於一個實施例中,發明人的資料結構係經組成及全然於螢幕空間通過,結果導致組成、儲存之增高效能,及於最常見的情況下通過的效能也增高。 於若干實施例中,發明人的演算法以群集處置小型基元來改良取樣效率。如此進行時,發明人探討由精細粒度的鑲嵌管線階段所產生的基元中之空間本地性。於若干實施例中,發明人的辦法於單次通過時計算時域的可見性,藉此避免任何管線階段的冗餘執行。 第8圖顯示的電腦系統130可包括硬碟134及活動式媒體136,藉匯流排104而耦接至晶片組核心邏輯110。電腦系統可以是任何電腦系統,包括智慧型行動裝置諸如智慧型手機、平板電腦、或行動網際網路裝置。鍵盤及滑鼠120或其它習知組件可透過匯流排108而耦接至晶片組核心邏輯。於一個實施例中,核心邏輯可透過匯流排105耦接至圖形處理器112及中央處理器100。圖形處理器112也可藉匯流排106而耦接至訊框緩衝器114。訊框緩衝器114可藉匯流排107而耦接至顯示器螢幕118。於一個實施例中,圖形處理器112可以是使用單一指令多重資料(SIMD)架構的多執行緒多核心並列處理器。 以軟體體現為例,相關代碼可儲存於任何適當半導體、磁性或光學記憶體,包括主記憶體132(如139指示)或在圖形處理器內部的任一個可用記憶體。如此,於一個實施例中,執行第4圖之序列的代碼可儲存於非過渡機器或電腦可讀取媒體,諸如記憶體132,及/或圖形處理器112,及/或中央處理器100,及於一個實施例中可藉處理器100及/或圖形處理器112執行。 第4圖為流程圖。於若干實施例中,本流程圖闡釋的序列可於硬體、軟體、或韌體執行。於軟體實施例中,非過渡電腦可讀取媒體諸如半導體記憶體、磁性記憶體、或光學記憶體可用來儲存指令且可藉處理器執行來體現第4圖顯示之序列。 此處所述之圖形處理技術可於多個硬體架構體現。舉例言之,圖形功能可整合於一個晶片組內。另外,可使用分開的圖形處理器。至於又另一實施例,圖形功能可藉通用處理器包括多核心處理器體現。 本說明書全文中述及「一個實施例」或「一實施例」表示聯結該實施例所述特定特徵、結構、或特性係涵蓋於本發明內部之至少一個體現。如此,於本說明書全文各處出現「於一個實施例中」或「於一實施例中」等詞並非必要全部皆係指相同實施例。又復,該等特定特徵、結構、或特性可以例示說明的特定實施例以外之其它適當形式組成,且全部此等形式皆可涵蓋於本案之申請專利範圍。 雖然已經就有限數目之實施例描述本發明,但熟諳技藝人士將瞭解由其中可做出多項修改及變化。意圖隨附之申請專利範圍各項涵蓋落入於本發明之精髓及範圍內的全部此等修改及變化。 10‧‧‧圖形管線 12‧‧‧光柵化器階段 14、16、40-60‧‧‧方塊 18‧‧‧鑲嵌器 20‧‧‧像素著色器(PS) 22‧‧‧拼貼片排齊的畫界框 24‧‧‧拼貼片 62‧‧‧剔除樣本 64‧‧‧被接受的可見性樣本 66‧‧‧定義域著色器(DS) 68‧‧‧輸出合併器(OM) 70‧‧‧交集時間 100‧‧‧中央處理器、主處理器 104、105、106、107、108‧‧‧匯流排 110‧‧‧晶片組核心邏輯 112‧‧‧圖形處理器 114‧‧‧訊框緩衝器 118‧‧‧顯示螢幕 120‧‧‧鍵盤及滑鼠 130‧‧‧電腦系統 132、139‧‧‧主記憶體、記憶體 134‧‧‧硬碟 136‧‧‧活動式媒體 第1圖顯示依據一個實施例於第1a圖中之移動三角形及第1b圖中之移動中的24個三角形的補塊;第2圖為依據本發明之一個具體例圖形處理管線之示意圖;第3圖顯示於螢幕-空間移動通過螢幕之補塊,於左側及右側於空間及時間移動的有8個三角形之補塊;第4圖為針對本發明之一個具體例之流程圖;第5圖為於空間及時間移動中的補塊之簡化圖,假設只有一個空間維度;第6圖測試顯示於左側及右側對相對於該平面於負向為最遠的頂點之各個截頭錐平面,顯示一框只顯示該遠方平面的內部,該遠方平面係在另一平面內部,只朝向移動的相對端;第7圖顯示針對一拼貼片找出分支節點B之保守方式,於右側例示說明標記在位元遮罩中的交集葉片,表示於記憶體中線性布局的節點;及第8圖為依據本發明之一個具體例之硬體說明圖。
权利要求:
Claims (30) [1] 一種方法,其係包含:於一階層式資料結構中藉將一移動或散焦幾何之多個基元群集而隨機地渲染該移動或散焦幾何;將樣本通過該結構;及於一光柵化管線中執行該等操作。 [2] 如申請專利範圍第1項之方法,包括藉將一截頭錐以階層式通過該結構而定位於該資料結構中之可見性樣本。 [3] 如申請專利範圍第2項之方法,包括藉由於截頭錐通過期間決定一分支節點,及在該分支節點初始化每個樣本之通過來最佳化每個樣本之通過。 [4] 如申請專利範圍第1項之方法,包括形成該時間相依性畫界框的資料結構。 [5] 如申請專利範圍第4項之方法,包括對時間相依性畫界框之一階層測試一截頭錐。 [6] 如申請專利範圍第5項之方法,包括藉由於截頭錐通過期間決定一分支節點來最佳化每個樣本之通過。 [7] 如申請專利範圍第1項之方法,包括當建立該階層式資料結構時使用鑲嵌指令來避開分選。 [8] 如申請專利範圍第4項之方法,包括藉投射一時間相依性畫界框階層之一頂階而決定螢幕空間界限。 [9] 如申請專利範圍第1項之方法,包括形成全然由二維螢幕空間畫界框所組成的該資料結構。 [10] 如申請專利範圍第1項之方法,包括使用離散化至一固定數值數目的時間及透鏡參數。 [11] 一種非過渡電腦可讀取媒體,其係儲存指令來使得一電腦:於一階層式資料結構中藉將一移動或散焦幾何之多個基元群集而隨機地渲染該移動或散焦幾何;將樣本通過該結構;及於一光柵化管線中執行該等操作。 [12] 如申請專利範圍第11項之媒體,其係更儲存有指令來藉將一截頭錐以階層式通過該結構而定位於該資料結構中之可見性樣本。 [13] 如申請專利範圍第12項之媒體,其係更儲存有指令來藉由於截頭錐通過期間決定一分支節點,及在該分支節點初始化每個樣本之通過來最佳化每個樣本之通過。 [14] 如申請專利範圍第11項之媒體,其係更儲存有指令來形成該時間相依性畫界框的資料結構。 [15] 如申請專利範圍第14項之媒體,其係更儲存有指令來對時間相依性畫界框之一階層測試一截頭錐。 [16] 如申請專利範圍第15項之媒體,其係更儲存有指令來藉由於截頭錐通過期間決定一分支節點來最佳化每個樣本之通過。 [17] 如申請專利範圍第11項之媒體,其係更儲存有指令來當建立該階層式資料結構時使用鑲嵌指令來避開分選。 [18] 如申請專利範圍第14項之媒體,其係更儲存有指令來藉投射一時間相依性畫界框階層之一頂階而決定螢幕空間界限。 [19] 如申請專利範圍第11項之媒體,其係更儲存有指令來形成全然由二維螢幕空間畫界框所組成的該資料結構。 [20] 如申請專利範圍第11項之媒體,其係更儲存有指令來使用離散化至一固定數值數目的時間及透鏡參數。 [21] 一種設備,其係包含:一記憶體;及耦接至該記憶體之一處理器來於一階層式資料結構中藉將一移動或散焦幾何之多個基元群集而隨機地渲染該移動或散焦幾何,將樣本通過該結構,及於一光柵化管線中執行該等操作。 [22] 如申請專利範圍第21項之設備,其中該處理器係藉將一截頭錐以階層式通過該結構而定位於該資料結構中之可見性樣本。 [23] 如申請專利範圍第22項之設備,其中該處理器係藉由於截頭錐通過期間決定一分支節點,及在該分支節點初始化每個樣本之通過來最佳化每個樣本之通過。 [24] 如申請專利範圍第21項之設備,其中該處理器係形成該時間相依性畫界框的資料結構。 [25] 如申請專利範圍第24項之設備,其中該處理器係對時間相依性畫界框之一階層測試一截頭錐。 [26] 如申請專利範圍第25項之設備,其中該處理器係藉由於截頭錐通過期間決定一分支節點來最佳化每個樣本之通過。 [27] 如申請專利範圍第21項之設備,其中該處理器係當建立該階層式資料結構時使用鑲嵌指令來避開分選。 [28] 如申請專利範圍第24項之設備,其中該處理器係藉投射一時間相依性畫界框階層之一頂階而決定螢幕空間界限。 [29] 如申請專利範圍第21項之設備,其中該處理器係形成全然由二維螢幕空間畫界框所組成的該資料結構。 [30] 如申請專利範圍第21項之設備,其中該處理器係使用離散化至一固定數值數目的時間及透鏡參數。
类似技术:
公开号 | 公开日 | 专利标题 TWI497447B|2015-08-21|以移動及散焦模糊來渲染鑲嵌幾何之技術 KR101054702B1|2011-08-08|광선 추적 이미지 처리 시스템의 픽셀 컬러 결정 Loop et al.2013|Real-time high-resolution sparse voxelization with application to image-based modeling US8013857B2|2011-09-06|Method for hybrid rasterization and raytracing with consistent programmable shading US20130271465A1|2013-10-17|Sort-Based Tiled Deferred Shading Architecture for Decoupled Sampling US11069124B2|2021-07-20|Systems and methods for reducing rendering latency JP2008077627A|2008-04-03|3次元画像のレンダリングにおける早期zテスト方法およびシステム TW201618041A|2016-05-16|來自片段著色器程式之樣本遮罩的控制 US8743114B2|2014-06-03|Methods and systems to determine conservative view cell occlusion US10699467B2|2020-06-30|Computer-graphics based on hierarchical ray casting US10032308B2|2018-07-24|Culling objects from a 3-D graphics pipeline using hierarchical Z buffers TWI514315B|2015-12-21|取樣階層式深度地圖的系統、方法,及電腦程式產品 TWI559257B|2016-11-21|使用微多邊形鋪接技術的方法、媒體及設備 US10825230B2|2020-11-03|Watertight ray triangle intersection US20200043219A1|2020-02-06|Systems and Methods for Rendering Optical Distortion Effects TWI614720B|2018-02-11|具有保守邊界之五維柵格化技術 Sintorn et al.2011|An efficient alias-free shadow algorithm for opaque and transparent objects using per-triangle shadow volumes US10553012B2|2020-02-04|Systems and methods for rendering foveated effects KR20120062542A|2012-06-14|영상 처리 장치 및 방법 CN113450445A|2021-09-28|临时密实渲染的自适应像素采样顺序 Kuder et al.2013|Point-based rendering optimization with textured meshes for fast LiDAR visualization KR20160142166A|2016-12-12|그래픽 프로세서 Es et al.2007|Accelerated regular grid traversals using extended anisotropic chessboard distance fields on a parallel stream processor US11158106B2|2021-10-26|VRS rate feedback Es et al.2005|Acceleration of regular grid traversals using extended chessboard distance transformation on gpu
同族专利:
公开号 | 公开日 US8791945B2|2014-07-29| TWI497447B|2015-08-21| TWI563472B|2016-12-21| US20120293515A1|2012-11-22| TW201602962A|2016-01-16| WO2012158868A2|2012-11-22| WO2012158868A3|2013-02-28| US20140320495A1|2014-10-30| US9965892B2|2018-05-08|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US5926183A|1996-11-19|1999-07-20|International Business Machines Corporation|Efficient rendering utilizing user defined rooms and windows| US6597359B1|2000-05-17|2003-07-22|Raychip, Inc.|Hierarchical space subdivision hardware for ray tracing| US7495664B2|2000-06-19|2009-02-24|Mental Images Gmbh|Instant ray tracing| US8188997B2|2000-06-19|2012-05-29|Mental Images Gmbh|Accelerated ray tracing using shallow bounding volume hierarchies| US6618046B1|2000-09-29|2003-09-09|Intel Corporation|System and method for estimating the rendering cost for images| US7145577B2|2001-08-31|2006-12-05|Micron Technology, Inc.|System and method for multi-sampling primitives to reduce aliasing| US7164420B2|2003-07-24|2007-01-16|Autodesk, Inc.|Ray tracing hierarchy| US8130260B2|2005-11-09|2012-03-06|Johns Hopkins University|System and method for 3-dimensional display of image data| US8400444B2|2005-12-08|2013-03-19|Agency 9AB|Method to render a root-less scene graph with a user controlled order of rendering| US8259105B2|2006-07-21|2012-09-04|The University Of Utah Research Foundation|Ray tracing a three-dimensional scene using a hierarchical data structure| US20080024489A1|2006-07-28|2008-01-31|Robert Allen Shearer|Cache Utilization Optimized Ray Traversal Algorithm with Minimized Memory Bandwidth Requirements| US8253730B1|2008-08-29|2012-08-28|Adobe Systems Incorporated|System and method for construction of data structures for ray tracing using bounding hierarchies| US9082228B2|2011-01-12|2015-07-14|Intel Corporation|Analytical motion blur rasterization with compression|US9460546B1|2011-03-30|2016-10-04|Nvidia Corporation|Hierarchical structure for accelerating ray tracing operations in scene rendering| US8970584B1|2011-06-24|2015-03-03|Nvidia Corporation|Bounding box-based techniques for improved sample test efficiency in image rendering| US9153068B2|2011-06-24|2015-10-06|Nvidia Corporation|Clipless time and lens bounds for improved sample test efficiency in image rendering| US9142043B1|2011-06-24|2015-09-22|Nvidia Corporation|System and method for improved sample test efficiency in image rendering| US9269183B1|2011-07-31|2016-02-23|Nvidia Corporation|Combined clipless time and lens bounds for improved sample test efficiency in image rendering| US9569879B2|2011-12-01|2017-02-14|Intel Corporation|Culling using linear bounds for stochastic rasterization| US9305394B2|2012-01-27|2016-04-05|Nvidia Corporation|System and process for improved sampling for parallel light transport simulation| US20130342535A1|2012-06-20|2013-12-26|Microsoft Corporation|Hierarchical Tree Traversal in Graphics Pipeline Stages| US9159158B2|2012-07-19|2015-10-13|Nvidia Corporation|Surface classification for point-based rendering within graphics display system| US9171394B2|2012-07-19|2015-10-27|Nvidia Corporation|Light transport consistent scene simplification within graphics display system| US9330495B2|2012-08-09|2016-05-03|Qualcomm Incorporated|Extending DX11 GPU for programmable vector graphics| US9619853B2|2012-08-09|2017-04-11|Qualcomm Incorporated|GPU-accelerated path rendering| US9275498B2|2012-08-09|2016-03-01|Qualcomm Incorporated|GPU-accelerated path rendering| CN107833268B|2012-11-02|2021-05-14|想象技术有限公司|用于图形渲染的几何图形处理方法和图形渲染系统| CN104658028B|2013-11-18|2019-01-22|清华大学|在三维图像中快速标记目标物的方法和装置| US9607426B1|2013-12-20|2017-03-28|Imagination Technologies Limited|Asynchronous and concurrent ray tracing and rasterization rendering processes| US8842117B1|2014-02-13|2014-09-23|Raycast Systems, Inc.|Computer hardware architecture and data structures for lookahead flags to support incoherent ray traversal| USD747004S1|2014-03-11|2016-01-05|3Form, Llc|Panel with floret pattern| KR101429172B1|2014-04-11|2014-08-13|대한민국|카메라에 의해 획득된 영상으로부터 목표물의 위치를 추정하는 방법, 이를 사용한 기기 및 컴퓨터 판독 가능한 기록 매체| US9697640B2|2014-04-21|2017-07-04|Qualcomm Incorporated|Start node determination for tree traversal in ray tracing applications| US9547918B2|2014-05-30|2017-01-17|Intel Corporation|Techniques for deferred decoupled shading| GB2524121B|2014-06-17|2016-03-02|Imagination Tech Ltd|Assigning primitives to tiles in a graphics processing system| US9552664B2|2014-09-04|2017-01-24|Nvidia Corporation|Relative encoding for a block-based bounding volume hierarchy| US10235338B2|2014-09-04|2019-03-19|Nvidia Corporation|Short stack traversal of tree data structures| US9607425B2|2014-10-17|2017-03-28|Qualcomm Incorporated|Ray-box intersection testing using dot product-based fixed function logic| GB2539042B|2015-06-05|2019-08-21|Imagination Tech Ltd|Tessellation method using displacement factors| GB2552260B|2015-06-05|2019-04-10|Imagination Tech Ltd|Tessellation method| GB2539509B|2015-06-19|2017-06-14|Advanced Risc Mach Ltd|Method of and apparatus for processing graphics| US9959643B2|2015-10-29|2018-05-01|Intel Corporation|Variable rasterization order for motion blur and depth of field| US9818221B2|2016-02-25|2017-11-14|Qualcomm Incorporated|Start node determination for tree traversal for shadow rays in graphics processing| US10553010B2|2017-04-01|2020-02-04|Intel IP Corporation|Temporal data structures in a ray tracing architecture| US10404277B2|2017-07-07|2019-09-03|iDensify LLC|Compression and decompression engines and compressed domain processors| GB2574361B|2017-12-18|2021-03-24|Advanced Risc Mach Ltd|Graphics Processing| US10726610B2|2018-08-29|2020-07-28|Arm Limited|Efficient graphics processing using metadata| US20210287428A1|2020-03-15|2021-09-16|Intel Corporation|Apparatus and method for motion blur with a dynamic quantization grid| GB2593189A|2020-03-18|2021-09-22|Sony Interactive Entertainment Inc|Image generation system and method| US20210390760A1|2020-06-15|2021-12-16|Nvidia Corporation|Ray tracing hardware acceleration for supporting motion blur and moving/deforming geometry|
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/110,273|US8791945B2|2011-05-18|2011-05-18|Rendering tessellated geometry with motion and defocus blur| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|