TWI443602B - 位移參數曲面的階層式邊界 - Google Patents
位移參數曲面的階層式邊界 Download PDFInfo
- Publication number
- TWI443602B TWI443602B TW100111808A TW100111808A TWI443602B TW I443602 B TWI443602 B TW I443602B TW 100111808 A TW100111808 A TW 100111808A TW 100111808 A TW100111808 A TW 100111808A TW I443602 B TWI443602 B TW I443602B
- Authority
- TW
- Taiwan
- Prior art keywords
- boundary
- steps
- parameter
- following
- vector
- Prior art date
Links
- 239000013598 vector Substances 0.000 claims description 41
- 238000006073 displacement reaction Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 4
- 239000007787 solid Substances 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims 1
- 239000000047 product Substances 0.000 description 14
- 230000008030 elimination Effects 0.000 description 8
- 238000003379 elimination reaction Methods 0.000 description 8
- 238000010606 normalization Methods 0.000 description 7
- 238000004040 coloring Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/08—Volume rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Image Generation (AREA)
Description
本發明係大致有關圖形處理,尤係有關諸如互動式、即時、及離線/影片著色等的著色系統(rendering system)中之鑲嵌(tessellation)。
現代圖形處理器包含用來將曲面鑲嵌成許多小三角形之專用硬體。DirectX 11應用程式化介面(Application Programming Interface;簡稱API)("DX11")將三個新階段加入圖形管線以便支援鑲嵌:外殼著色器(hull shader)、固定功能鑲嵌器(fixed-function tessellator)、及域著色器(domain shader)。通常每一曲面片(patch)執行外殼著色器一次,且每一控制點執行外殼著色器一次,以便計算鑲嵌因數(tessellation factor),且改變控制點基礎。該固定功能鑲嵌器採取鑲嵌因數作為輸入,且在輸入基元(input primitive)及各頂點間之連接資訊的域中產生一大組的頂點位置。該連接資訊構成許多小三角形。每一自該鑲嵌器產生的頂點位置執行該域著色器一次。一種典型的域著色器使用是諸如使用一組控制點、一些重心座標、及一詳細紋理(texture)作為輸入而評估該位置、及一參數曲面(parametric surface)之法線(normal)。輸出是由一組屬性界定之一位移頂點。一屬性是該位置,但是該著色器亦可計算法線/切線(tangent)/雙切線(bi-tangent)/紋理座標/色彩/透明度或位移頂點之其他屬性。
位移參數曲面之階層邊界可能是一種互動式即時著色中之鑲嵌極常使用的情況。可使用一種有效率的法線邊界技術、以及最小-最大mipmap階層及定向邊界框。在某些實施例中,此種方式在不鑲嵌及位移該曲面之情形下將實質上較快速的收斂提供給位移曲面之邊界體。此種邊界技術可被用於不同類型的消除(culling)、光線追縱,且用於將拼花(tiling)架構中之較高階的基元分類。
減少域著色器評估的次數時,將減少圖形管線的該階段所需的計算資源。可消除對最後影像沒有貢獻的曲面片而執行上述步驟。為了使該消除有效率,可使用計算位移曲面的階層邊界之一演算法。
此外,在基於砌塊(tile-based)之著色架構中,需要輸入基元的邊界,以便將該等輸入基元有效率地分類為一些砌塊。"邊界體"("bounding volume")是一種包圍另一物件的諸如一框或球等的體積物件(volumetric object)。因為域著色器是可程式的,所以難以提供輸出位置的保守且緊密的界限,因而造成對將所產生的小三角形個別地分類為砌塊之需求。此種方式增加了與砌塊佇列有關的記憶體要求,增加了頻寬使用,且減少了曲面片基元層級上的嚙合消除(occlusion culling)之效率。
如第7圖所示,可替代地在對使用者指定的參數沒有任何需求之情形下,只根據域著色器而即時計算這些邊界(方塊12)。然後在將該基元分割成一些較小的子曲面片(sub-patch)而產生一階層時,可適應性地精細調整該等邊界。在一實施例中,一演算法使用位移紋理之有效率的法線邊界、定向邊界框、及最小-最大mipmap階層,而能夠得到諸如Bzier曲面片(Bzier patch)等的動態位移參數曲面之保守且緊密的界限。可消除該曲面片(方塊16)。如果並非如此,則使該基元接受鑲嵌及域著色(方塊18)。
因為在某些實施例中不需要將該曲面片傳送到該鑲嵌器,所以可減少該曲面片的域著色器及鑲嵌器工作。如果在某些實施例中之該輸入曲面片被消除,則可以不執行鑲嵌及域著色。同樣地,如果在某些實施例中之一子曲面片被消除,則可以不對該子曲面片執行進一步的處理。否則,對該子曲面片執行鑲嵌及域著色。
成組的雙三次Bzier曲面片(bi-cubic Bzier patch)是平滑曲面之常見著色基元。可將一些習知的演算法用來將Catmull-Clark細分曲面(Catmull-Clark subdivision surface)轉換為成組的此種參數曲面片,且得到該遞迴細分程序的界限曲面之忠實近似。通常沿著該曲面片的法線向量之方向而自高解析度紋理加入位移,以便增加最終曲面之細節。
可將具有位移之Bzier曲面片用於著色API中之域著色。該Bzier曲面片可被其一些控制點簡潔地代表,且可以有效率地平行評估該參數曲面表示法(與遞迴細分曲面不同)。
Bzier曲面片p(u,v)是一參數曲面,亦即,以兩個參數座標u及v界定之一曲面。術語"基礎曲面片"("base patch")意指尚未被位移而使其與最終位移曲面區別之Bzier曲面片。評估在一參數座標(u,v)上的一位移Bzier曲面片之一域著色器計算該基礎曲面片位置p(u,v)、該基礎曲面片之正規化法線(u,v)以及(通常)自一紋理t(u,v)取得的一位移值。如果該位移作用於該基礎曲面片之法線方向,則(在執行與模型視圖投影矩陣(model-view-projection matrix)的乘法之前的)域著色器係如下:
在將d(u,v)乘以該模型視圖投影矩陣M之後,得到以齊次座標(homogeneous coordinate)表示之裁剪空間(clip space)位置:
以sx
=qx
/qw
以及sy
=qy
/qw
表示該等正規化裝置座標。
可找出一參數域之保守邊界q(u,v),其中a≦u≦b,且c≦v≦d。
然後,將說明如何找出p(u,v)之邊界。Bzier曲面片具有凸面外殼特性,且可易於以該等Bzier曲面片之控制點找出其邊界。找出一Bzier曲面片之一軸對齊邊界框(Axis-Aligned Bounding Box;簡稱AABB)每一控制點需要3最小值及3最大值運算。
藉由重複地應用Bzier細分,該等被細分的曲面片之控制點籠將朝向下層基礎曲面片迅速地收斂。此外,如果在每一步驟中將原始曲面片遞迴地分割成兩片pA及pB,則產生pA所需之de Casteljau步驟將產生pB之控制點,作為副產品。因而可進行一有效率的實施。
可自基礎曲面片指定軸之該等控制點推導出一定向邊界框(Oriented Bounding Box;簡稱OBB)之軸。該框比AABB更緊密地包圍了基礎曲面片。對於相同迭代中之兩個被細分的曲面片中之每一曲面片而言,精細地調整了基礎曲面片、法線曲面片、以及位移紋理及查詢。請參閱第7圖的方塊12所示之被用來計算位移曲面的邊界的步驟之第8圖,使用Bzier細分而沿著一軸細分該基礎曲面片。方塊14所示之找出基礎曲面片之邊界包含:自控制點找出OBB軸,且將所有的控制點投影在這些軸上。然後,找出沿著每一軸的最小值及最大值,以便推導出包含所有的該等控制點之一OBB,且Bzier曲面片的該凸面外殼特性意指該曲面被包含在該OBB中。
然後,如方塊15所示,在一最小/最大紋理階層中查詢該等位移最小值及最大值。然後,在菱形19中,檢查而決定位移是否為零。如果確係如此,則在方塊20中將模型視圖投影應用於該曲面片的邊界框之八個角,且在方塊23中送回邊界。如果位移不是零,則在方塊20中執行該模型視圖投影轉換及在方塊23中送回該等邊界之前,先在方塊21中使用被稱為TPATCH及NPATCH的將於下文中說明的技術中之一技術執行法線邊界的找出。最後,在方塊20中,應用該模型視圖投影轉換。
對於Bzier曲面片而言,在第9圖之方塊24中,將該等角控制點(第1圖)間之向量相加,而得到兩個軸。在具有(m+1)x(n+1)控制點的一曲面片之情形中,標示出四個角控制點C0,0
、Cm,0
、C0,n
、及Cm,n
,且形成兩個向量:
t=cm,0
-c0,0
+cm,n
-c0,n
(3)
b=c0,n
-c0,0
+cm,n
-cm,0
(4)
可將t及b分別視為沿著u及v參數方向之近似平均梯度。t及b無須是正交的。t及b之向量積(第9圖之方塊26)提供給一第三軸:n=t及b之向量積。為了構成一正交座標系,設定x=t,y=n及t之向量積,且z=n,以及將每一向量正規化(第9圖之方塊28)。最終之座標系是:()。在大多數的情形中,此種方式比使用AABB時顯著地減少了邊界框的大小。可推導出基於控制點籠的更縝密的OBB擬合方案,但是實際上,上述的簡單方法產生了緊密界限該曲面的OBB軸。在第2圖中以曲線且在第3圖中以Bzier曲面片強調以AABB與OBB找出邊界的品質間之差異。對於退化的情形而言,只須使用AABB。如將於下文中說明的,OBB軸也是相當適用於法線邊界演算法。
在一域中找出曲面片法線的邊界比找出基礎位置p(u,v)的邊界要困難許多。以基礎曲面片p(u,v)的兩個參數導數的向量積之方式計算法線方向。
遵循Bézier曲面的張量積(tensorproduct)之標準記號時,以下式界定一Bézier曲面片P(u,v):
其中ci,j
是控制點,m及n分別是參數座標u及v中之曲面片的階次(degree)。Bi
(u)及Bj
(v)是Bernstein多項式。
可將該等偏導數表示為:
請注意,ai,j
及bi,j
是基礎曲面片的控制點(且因而是向量)之(尺度縮放的)差異。以下式界定(正規化之前的)曲面法線:
正規化之法線為:
如果p(u,v)的雙階次在參數座標(u,v)中為(m,n),則第一階參數導數具有階次(m-1,n)及(m,n-1)。如將於下文中說明的,在執行該等曲面片的向量積之後的曲面片之雙階次此時是(m+n-1,m+n-1)。代表雙三次Bzier曲面片的法線方向之曲面片因而需要被精確代表的雙階次(5,5)。
為了施加位移,需要正規化的法線。該正規化運算(方程式11)需要子式(subexpression)、及的一精確表示法之雙階次2(m+n-1,m+n-1)。對於雙三次Bzier曲面片而言,可將這些項精確地表示為一雙階次(10,10) Bzier曲面片。在許多情形中,此種方式是極端昂貴的(11*11=121控制點)。最後,無法以Bernstein多項式精確地代表平方根倒數(reciprocal square root)。此外,該平方根倒數之運算元應永遠大於或等於零,這是因為該運算元是法線的長度平方。如果此種情況非真,則可能得到inf(無限大)或NaN(非數字)。因此,的有邊界之表示法應嚴格大於零。乍看下,似乎明顯地,因為三個平方(實數)項的總和之平方根應是大於或等於零。然而,所述實際上可能是困難的,這是因為係將控制點籠之邊界框用來找出邊界且不保證所有的控制點都將是正的。
此處,說明了一種可避免大部分前文所述之問題的法線邊界尋找演算法。概要而言,自參數導數推導出一法線向量Bzier曲面片(第10圖之方塊32),然後將該Bzier曲面片之各控制點投影在單位球(unit sphere)上(第10圖之方塊34),且使該等控制點在該單位球上之立體角(solid angle)以一OBB座標框為邊界(第10圖之方塊36),因而提供了該正規化法線之一保守邊界。我們將該法線邊界尋找方法表示為NPATCH。
如前文所述,係以下式界定法線:
使用下列Bernstein多項式的乘積之公式:
將方程式12表示為:
上式是具有控制向量vp,q
的一雙階次(m+n-1,m+n-1)曲面片,該控制向量vp,q
可以下式表示:
為了找出該曲面片上的基礎曲面片法線之保守邊界,利用正規化之後的法線是單位長度之事實。因此,將該等控制向量vp,q
正規化,因而以該單位球上的一些點代表該等控制向量vp,q
。
推導出這些邊界的一種快速方式是使用來自該OBB座標框之軸(該軸是該曲面片的法線之一近似),且只須計算任何正規化控制點與該軸間之最小純量積(scalar product)。因而提供了包封正規化方向的一圓錐體的半角之餘弦。第4圖示出此種情形。
對於雙三次Bzier曲面片而言,vp,q
的計算包括144次向量積。可以一小查詢表預先計算二項式係數。
然而,請注意,哪些方向對應於哪些參數座標的所有相關性都失掉了。該方法的緊密性係取決於是否可還算不錯地找到未被正規化的法線之邊界,該狀況對於大域可能是困難的,但是當子域變小時將變得較容易。
可自第一階參數導數曲面片 p
/ u
及 p
/ v
之控制點形成兩個切錐(tangent cone),而較迅速地得到較粗略的邊界(請參閱方程式6及7)。該等導數曲面片之控制點被正規化,且係以該單位球為邊界(如第4圖所示),因而形成了兩個圓錐體T:{,αt
}及B:{,αb
}。由一正規化軸及一半角αt
界定一圓錐體T。
如果該等圓錐體T及B不重疊,則可建構係為兩個向量(分別來自T及B中之每一圓錐體之向量)的所有可能向量積的邊界之一圓錐體N:(,θ)。該圓錐體之軸係沿著方向t×b,且該圓錐體之半角θ係以下式表示:
其中是分別平行於及的圓錐體軸間之兩個角中最小角。該圓錐體N係為該曲面片的所有正規化法線之邊界。第5圖中示出該等圓錐體T、B、及N。
將前文中推導出之及用來作為該等圓錐體T及B之軸,且自該等參數導數曲面片之控制點找出圓錐體T及B之圓錐體軸(第11圖之方塊40)。圓錐體角之餘弦只是來自具有軸的正切曲面片(tangent patch)的任何正規化控制點之最小點乘積(dot product)。計算圓錐體T及B之向量積,而推導出一法線圓錐體(第11圖之方塊42)。以OBB座標框表示的正規化法線之邊界是:
([-sinθ,sinθ],[-sinθ,sinθ],[cosθ,1]) (17)
其中θ是法線圓錐體N的圓錐體半角。使用等式sin2 +cos2 =1時,可在不使用任何三角函數之情形下使用該法線圓錐體角推導出正規化法線之邊界(第11圖之方塊44)。我們將該方法表示為TPATCH。
必須小心檢查該等兩個切錐不會重疊。如果,則該等圓錐體重疊,因而可將α t
<p i
,α b
<pi
,及β<pi
修改為:
cosα t
cosα b
-sinα t
sinα b
<cosβ (18)
如果該條件為真,或如果cos<0,cos<0,則送回該OBB座標框中之單位框。一單位框具有下列兩個極端頂點:(-1,-1,-1)及(+1,+1,+1)。然而,除了非常曲的曲面片之外,此種情況將很少發生,這是因為係自局部曲面切線之一近似、副法線(binormal)、及基礎曲面片之法線計算出該OBB座標框。
找出紋理查詢的邊界之技術包含:保持兩個額外的mipmap階層。第一mipmap階層儲存每一紋理覆蓋區及層之最大位移值,且第二mipmap階層儲存該覆蓋區之最小位移值。一般而言,當參數間隔減少時,紋理邊界也減少。
該位移向量之最終邊界o
= t
是來自紋理查詢的間隔[tmin
,tmax
]與沿著每一軸的正規化法線向量的間隔之乘積(以間隔算術之形式表示)。將記號[]用來界定一間隔時(其中是下限,且是上限),以下式界定兩個間隔之乘法:
因此,o
的x分量之間隔版本是:
且同樣地適用於其他的分量。如果紋理位移是嚴格正數,則可將方程式20進一步最佳化。
大部分域著色器的最後步驟是裁剪空間之矩陣變換,因而於求得q的邊界時之其餘部分是模型視圖投影矩陣,而該矩陣並不取決於參數域,且可被視為一常數。易於將該常數矩陣與自該位移曲面片d得到的OBB之八個角相乘,而得到裁剪空間位置q之邊界。(將階層邊界域於預先鑲嵌分類及光線追縱時,可能不需要該最後步驟)。
在某些實施例中,若已有曲面片的一起始粗略細分,則可維持子域的邊界框之一優先佇列。(例如,可替代地將每一子曲面片分成一些較小的子曲面片,直到每一子曲面片在諸如體積、表面積、或投影面積上"足夠小"為止)。在每一後續的細分步驟中,取得該佇列的最上方單元,將該單元進一步細分,且將該等被細分的框插回到該佇列中。
精確的分類準則是與應用相依的,且可包含邊界框的螢幕空間範圍、深度值,或安排與一視錐面(frustum plane)交叉的各框之優先順序,以供用於視錐消除法(view frustum culling)。第6圖示出一與視點相關的細分準則。
對於視錐消除法而言,針對視錐面而測試(裁剪空間中之)OBB角。可將該細分準則設計成使跨越相機視錐的各子曲面片有高優先順序,因而有效率地消除在裁剪面(clip plane)之外的幾何形狀。亦可該曲面片的裁剪測試結果用來保證整個曲面片是完全在視錐之內,因而可以跳過對自該曲面片產生的各三角形進行之裁剪測試。
在已有一粗略深度緩衝器之情形下,如果已被繪製的基元完全嚙合各子曲面片之邊界框,則可消除該等子曲面片。可採用該細分準則,使較接近該相機的子曲面片被先處理,且被傳送到管線的光柵化(rasterization)階段,因而增加了Z座標壓縮(z-culling)之可能性。
隱面消除(backface culling)是最難的消除類型,這是因為在位移之後有效率地找出幾何法線的邊界之困難。然而,在已知鑲嵌率之情形下,可推導出位移的法線邊界及緊密間隔、位移曲面法線之邊界。此外,可使該細分準則適應於具有高法線變化之目標曲面片,因而增加了子曲面片的隱面消除之可能性。
在計算了位移Bzier曲面片的邊界表示法之後,可將該等邊界用於預先鑲嵌分類成砌塊。可對最大的螢幕空間邊界框執行階層細分,而減少砌塊重疊。
在一光線追縱環境中,可以類似於以一表面積試探法建構加速資料結構之方式將該細分準則調整成減少每一OBB之總表面積。於碰撞偵測時,調整用於較小OBB容積之細分準則。
可將階層邊界體用於消除,且用於砌塊的分類及光線追縱。使用本發明所述之技術時,可將電子資料轉換成視覺形式,以供在顯示器上顯示。
為了有效率地支援DX-11鑲嵌管線階段,在一砌塊架構中,於進行鑲嵌及域著色之前,需要有位移曲面的邊界。可將這些邊界用來在不執行任何鑲嵌之情形下將位移Bzier曲面片分類(亦即,將基元分類到特定砌塊之佇列)。然後在需要時,將進行鑲嵌及域著色。階層邊界的使用可適用於分類、視錐消除、嚙合消除、及隱面消除。
可以各種硬體架構實施本發明所述之該等圖形處理技術。例如,可將圖形功能整合在一晶片組內。或者,可使用一分立式圖形處理器。在又一實施例中,可以其中包括多核心處理器之一般用途處理器實施該等圖形功能。
第12圖所示之電腦系統130可包含被一匯流排104耦合到一晶片組核心邏輯110之一硬碟機134及一抽取式媒體136。一鍵盤及滑鼠120或其他傳統組件可經由匯流排108而被耦合到該晶片組核心邏輯。在一實施例中,該核心邏輯可經由一匯流排105而耦合到圖形處理器112,且可耦合到主或主機處理器100。圖形處理器112亦可被一匯流排106耦合到一圖框緩衝器114。圖框緩衝器114可被一匯流排107耦合到一顯示螢幕118。在一實施例中,圖形處理器112可以是使用單一指令多重資料(Single Instruction Multiple Data;簡稱SIMD)架構之一多執行緒多核心平行處理器。
在軟體實施例之情形中,相關的碼可被儲存在任何適當的半導體、磁性、或光學記憶體,其中包括主記憶體132或該圖形處理器內之任何可用的記憶體。因此,在一實施例中,可將執行第7-11圖所示該等序列之該碼儲存在諸如記憶體132或圖形處理器112等的機器或電腦可讀取的媒體,且在一實施例中,可由處理器100或圖形處理器112執行該碼。
第7-11圖是流程圖。在某些實施例中,可以硬體、軟體、或韌體實施這些流程圖所示之該等序列。在一軟體實施例中,諸如半導體記憶體、磁性記憶體、或光學記憶體等的電腦可讀取的媒體可被用來儲存指令,且可被一處理器執行,而執行第7-11圖的一或多個流程圖所示之該等序列。
在本說明書中提及"一個實施例"或"一實施例"時,意指參照該實施例而述及的特定特徵、結構、或特性被包含在本發明所包含的至少一實施例中。因此,出現詞語"一實施例"或"在一實施例中"時,不必然都參照到相同的實施例。此外,可以所示特定實施例以外的其他適當形式實施該等特定特徵、結構、或特性,且所有此類形式可被包含在本申請案的申請專利範圍內。
雖然已參照有限數目的實施例而說明了本發明,但是熟悉此項技術者將可了解本發明的許多修改及變化。最後的申請專利範圍將涵蓋在本發明的真實精神及範圍內之所有此類修改及變化。
130...電腦系統
134...硬碟機
136...抽取式媒體
104,105,106,107,108...匯流排
110...晶片組核心邏輯
120...鍵盤及滑鼠
112...圖形處理器
100...主處理器
114...圖框緩衝器
118...顯示螢幕
132...主記憶體
第1圖是角控制點及向量b及t之一圖形;藉由形成該曲面片的該等角間之向量,可推導出OBB軸;
第2圖示出在尋找在較上列具有兩個離散的位移峰值的一個三次多項式(cubic polynomial)的邊界的25個步驟之後所得到的邊界之一例子,左方之影像使用AABB,且右方之影像使用OBB,係由Bzier曲面之控制點決定該等影像之軸,而較下列將Perlin雜訊加入了置換著色器(displacement shader);
第3圖是具有相同數目的細分的AABB相對於OBB邊界之一個三維例子;
第4圖示出法線曲面片之法線邊界尋找技術,其中最左方的圖示出正規化之前的法線曲面片,中間的影像示出被正規化因而被映射到單位球之每一控制點,且最後的最右方影像示出以係為該曲面片的正規化法線的一保守邊界之一圓錐體為邊界之投影;
第5圖示出以T及B表示的兩個參數導數之特定邊界圓錐體、以及係為T之內的任何向量與B之內的任何向量之向量積的邊界且可被推導出而在此處被標示為N之一圓錐體;
第6圖示出將一螢幕空間邊界框大小作為分類準則且執行了16個細分步驟的兩個不同之視點之一例子,其中以細分密度表示所產生的差異;
第7圖是尋找一位移Bzier曲面片的邊界以及根據本發明的一實施例的邊界尋找演算法之一流程圖;
第8圖是藉由根據一實施例而尋找一位移Bzier曲面片的一OBB而計算一位移曲面片的邊界的一更詳細流程之一流程圖;
第9圖是使用控制點界定一基礎曲面片的OBB的一實施例之一流程圖;
第10圖是尋找正規化法線的一實施例之一流程圖;
第11圖是尋找正規化法線的另一實施例之一流程圖;以及
第12圖是本發明的一實施例之一硬體圖。
Claims (27)
- 一種找出位移參數曲面的邊界之方法,包含下列步驟:使用電腦處理器以計算各角控制點間之向量的平均值而得到兩個軸;執行使用電腦處理器的該等兩個軸之向量積;以及將每一向量正規化而形成一物件導向邊界框座標框。
- 如申請專利範圍第1項之方法,包含下列步驟:計算該位移參數曲面之階層邊界。
- 如申請專利範圍第2項之方法,包含下列步驟:當以一被應用界定的優先順序度量將該參數曲面分割成一些較小的子曲面片時,適應性地精細調整各邊界。
- 如申請專利範圍第3項之方法,其中找出邊界之該步驟包含下列步驟:精細調整位置、法線、及紋理邊界。
- 如申請專利範圍第4項之方法,包含下列步驟:重複地施加Bézier細分,直到符合一被應用界定的臨界值為止。
- 如申請專利範圍第1項之方法,包含下列步驟:自各參數導數推導出一法線向量Bézier曲面片;將各控制點投影在一單位球上;以及使一單位球上之一立體角以一物件導向邊界框座標框為邊界,而提供該曲面片上的該基礎曲面片的正規化法線之一邊界。
- 如申請專利範圍第1項之方法,包含下列步驟:將一些圓錐體用來推導出一基礎曲面片的正規化法線之邊 界。
- 如申請專利範圍第1項之方法,包含下列步驟:自沿著一參數方向的一導數形成一第一圓錐體;自沿著一不同參數方向的一導數形成一第二圓錐體;以及計算該座標框中之該第一及第二圓錐體之向量積而形成一第三圓錐體。
- 如申請專利範圍第1項之方法,包含下列步驟:消除子曲面片、鑲嵌、及域著色。
- 如申請專利範圍第1項之方法,包含下列步驟:將邊界用來將較高階的基元分類為一些螢幕空間砌塊。
- 如申請專利範圍第1項之方法,包含下列步驟:建構用於光線追縱之一階層的邊界體。
- 如申請專利範圍第1項之方法,包含下列步驟:將該曲面變換為在一電腦顯示器上顯示之一視覺形式。
- 一種儲存了指令之非暫態電腦可讀取的媒體,該等指令被一電腦執行時將執行下列步驟:計算各角控制點間之向量的平均值而得到兩個軸;執行該等兩個軸之向量積;以及將每一向量正規化而形成一物件導向邊界框座標框。
- 如申請專利範圍第13項之媒體,進一步儲存了用來執行下列步驟之指令:計算該位移參數曲面之階層邊界。
- 如申請專利範圍第14項之媒體,進一步儲存了用來執行下列步驟之指令:當該參數曲面被分割成一些較小 的子曲面片時,適應性地精細調整各邊界。
- 如申請專利範圍第15項之媒體,進一步儲存了用來執行下列步驟之指令:於找出邊界期間精細調整位置、法線、及紋理邊界。
- 如申請專利範圍第16項之媒體,進一步儲存了用來執行下列步驟之指令:重複地施加Bézier細分,直到符合一被應用界定的臨界值為止。
- 如申請專利範圍第13項之媒體,進一步儲存了用來執行下列步驟之指令:自各參數導數推導出一法線向量Bézier曲面片;將各控制點投影在一單位球上;以及使該單位球上之立體角以一物件導向邊界框座標框為邊界,而提供該曲面片上的該基礎曲面片的正規化法線之一邊界。
- 如申請專利範圍第17項之媒體,進一步儲存了用來執行下列步驟之指令:自沿著一參數方向的一導數形成一第一圓錐體;自沿著一不同參數方向的一導數形成一第二圓錐體;以及計算該座標框中之該第一及第二圓錐體之向量積而形成一第三圓錐體。
- 如申請專利範圍第13項之媒體,進一步儲存了用來執行下列步驟之指令:消除子曲面片、鑲嵌、及域著色。
- 如申請專利範圍第13項之媒體,進一步儲存了用來執行下列步驟之指令:建構用於光線追縱之一階層的邊界體。
- 一種處理圖形之裝置,包含: 一處理器;被耦合到該處理器之一儲存器,該處理器使用自一參數曲面推導出的一座標框作為該參數曲面之邊界,且以該相同的座標框作為一位移向量之邊界;以及計算各角控制點間之向量的平均值而得到兩個軸,執行該等兩個軸之向量積,以及將每一向量正規化而形成一物件導向邊界框座標框。
- 如申請專利範圍第22項之裝置,包含一顯示器,用以顯示自找出該參數曲面的邊界而得到之一影像。
- 如申請專利範圍第22項之裝置,其中該儲存器儲存了用來計算該參數曲面的階層邊界之指令。
- 如申請專利範圍第24項之裝置,其中該儲存器儲存了用來執行下列步驟之指令:當以一被應用界定的優先順序度量將該參數曲面分割成一些較小的子曲面片時,適應性地精細調整各邊界。
- 如申請專利範圍第24項之裝置,其中該儲存器儲存了用來執行下列步驟之指令:精細調整位置、法線、及紋理邊界。
- 如申請專利範圍第26項之裝置,其中該儲存器儲存了用來執行下列步驟之指令:重複地施加Bézier細分,直到符合一被應用界定的臨界值為止。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/755,506 US8144147B2 (en) | 2010-04-07 | 2010-04-07 | Hierarchical bounding of displaced parametric surfaces |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201205500A TW201205500A (en) | 2012-02-01 |
TWI443602B true TWI443602B (zh) | 2014-07-01 |
Family
ID=44072155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100111808A TWI443602B (zh) | 2010-04-07 | 2011-04-06 | 位移參數曲面的階層式邊界 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8144147B2 (zh) |
JP (1) | JP5111638B2 (zh) |
CN (1) | CN102214369B (zh) |
DE (1) | DE102011016347A1 (zh) |
GB (1) | GB2479461B (zh) |
TW (1) | TWI443602B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8570324B2 (en) * | 2009-10-12 | 2013-10-29 | Nvidia Corporation | Method for watertight evaluation of an approximate catmull-clark surface |
US9449420B2 (en) | 2011-12-30 | 2016-09-20 | Intel Corporation | Reducing the domain shader/tessellator invocations |
FR2991448B1 (fr) * | 2012-06-01 | 2015-01-09 | Centre Nat Rech Scient | Procede de mesures tridimensionnelles par stereo-correlation utilisant une representation parametrique de l'objet mesure |
KR101980200B1 (ko) * | 2012-07-12 | 2019-05-20 | 삼성전자주식회사 | 베이지어 커브에 대한 타일 비닝을 수행하는 그래픽 처리 장치 및 방법 |
US9619853B2 (en) | 2012-08-09 | 2017-04-11 | Qualcomm Incorporated | GPU-accelerated path rendering |
US9275498B2 (en) * | 2012-08-09 | 2016-03-01 | Qualcomm Incorporated | GPU-accelerated path rendering |
CN103226846B (zh) * | 2013-03-22 | 2015-10-28 | 浙江工业大学 | 一种基于手绘线条的三维雕刻方法 |
US9401034B2 (en) * | 2013-04-30 | 2016-07-26 | Microsoft Technology Licensing, Llc | Tessellation of two-dimensional curves using a graphics pipeline |
KR102104057B1 (ko) | 2013-07-09 | 2020-04-23 | 삼성전자 주식회사 | 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들 |
CN103345529B (zh) * | 2013-07-24 | 2017-02-08 | 中国科学院自动化研究所 | 一种基于贝塞尔曲线的多指标观测数据排序方法和装置 |
KR102109130B1 (ko) * | 2013-08-12 | 2020-05-08 | 삼성전자주식회사 | 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들 |
KR102066533B1 (ko) | 2013-11-19 | 2020-01-16 | 삼성전자 주식회사 | 도메인 쉐이딩 방법과 이를 수행하는 장치들 |
CN104616343B (zh) * | 2015-01-20 | 2017-09-22 | 武汉大势智慧科技有限公司 | 一种纹理实时采集在线映射的方法和*** |
GB2539042B (en) | 2015-06-05 | 2019-08-21 | Imagination Tech Ltd | Tessellation method using displacement factors |
GB2552260B (en) * | 2015-06-05 | 2019-04-10 | Imagination Tech Ltd | Tessellation method |
US10037625B2 (en) * | 2016-09-15 | 2018-07-31 | Intel Corporation | Load-balanced tessellation distribution for parallel architectures |
CN110100265B (zh) * | 2016-12-19 | 2023-06-30 | 惠普发展公司,有限责任合伙企业 | 3d制造部件的布置确定 |
US10235811B2 (en) | 2016-12-29 | 2019-03-19 | Intel Corporation | Replicating primitives across multiple viewports |
US10846914B2 (en) * | 2018-01-11 | 2020-11-24 | Sony Interactive Entertainment Inc. | Back-facing patch culling with displacement |
US10628910B2 (en) | 2018-09-24 | 2020-04-21 | Intel Corporation | Vertex shader with primitive replication |
US11928391B2 (en) * | 2019-04-02 | 2024-03-12 | Autodesk, Inc. | Hybrid surface modelling with subdivision surfaces and NURBS surfaces |
CN113628316B (zh) * | 2020-05-08 | 2023-12-01 | 辉达公司 | 使用射线锥进行各向异性纹理滤波的技术 |
US11443475B2 (en) * | 2020-05-08 | 2022-09-13 | Nvidia Corporation | Techniques for ray cone tracing and texture filtering |
US11315299B1 (en) | 2020-11-13 | 2022-04-26 | Unity Technologies Sf | Method for computation of local densities for virtual fibers |
US11908063B2 (en) * | 2021-07-01 | 2024-02-20 | Adobe Inc. | Displacement-centric acceleration for ray tracing |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5357600A (en) * | 1992-10-15 | 1994-10-18 | Sun Microsystems, Inc. | Method and apparatus for the rendering of curved surfaces using a cone of normals |
US5638503A (en) * | 1994-07-07 | 1997-06-10 | Adobe Systems, Inc. | Method and apparatus for generating bitmaps from outlines containing bezier curves |
JP3436008B2 (ja) * | 1996-08-20 | 2003-08-11 | 富士ゼロックス株式会社 | 描画処理装置 |
US6256038B1 (en) * | 1998-12-10 | 2001-07-03 | The Board Of Trustees Of The Leland Stanford Junior University | Parameterized surface fitting technique having independent control of fitting and parameterization |
US6429867B1 (en) * | 1999-03-15 | 2002-08-06 | Sun Microsystems, Inc. | System and method for generating and playback of three-dimensional movies |
US6556206B1 (en) * | 1999-12-09 | 2003-04-29 | Siemens Corporate Research, Inc. | Automated viewpoint selection for 3D scenes |
US7245299B2 (en) * | 2003-05-12 | 2007-07-17 | Adrian Sfarti | Bicubic surface real-time tesselation unit |
US6738062B1 (en) * | 2001-01-10 | 2004-05-18 | Nvidia Corporation | Displaced subdivision surface representation |
US7212205B2 (en) * | 2002-11-12 | 2007-05-01 | Matsushita Electric Industrial Co., Ltd. | Curved surface image processing apparatus and curved surface image processing method |
JP4421203B2 (ja) * | 2003-03-20 | 2010-02-24 | 株式会社東芝 | 管腔状構造体の解析処理装置 |
US7483024B2 (en) * | 2003-12-31 | 2009-01-27 | Autodesk, Inc. | Accelerated ray-object intersection |
WO2005081683A2 (en) * | 2004-02-12 | 2005-09-09 | Pixar | Method and apparatus for multiresolution geometry caching based on ray differentials |
US7292250B2 (en) * | 2004-03-31 | 2007-11-06 | Dreamworks Animation, Llc | Character deformation pipeline for computer-generated animation |
US8217938B2 (en) * | 2007-05-31 | 2012-07-10 | Ford Global Technologies, Llc | Method and apparatus for determining item orientation |
JP2009086842A (ja) * | 2007-09-28 | 2009-04-23 | Fujitsu Ltd | ハーネス設計支援装置及び方法及びプログラム |
GB2468994B (en) * | 2008-01-23 | 2012-11-28 | Intel Corp | Method, apparatus and computer program product for improved graphics performance |
US8698802B2 (en) * | 2009-10-07 | 2014-04-15 | Nvidia Corporation | Hermite gregory patch for watertight tessellation |
-
2010
- 2010-04-07 US US12/755,506 patent/US8144147B2/en not_active Expired - Fee Related
-
2011
- 2011-04-06 TW TW100111808A patent/TWI443602B/zh not_active IP Right Cessation
- 2011-04-06 JP JP2011084835A patent/JP5111638B2/ja not_active Expired - Fee Related
- 2011-04-07 CN CN201110126351.3A patent/CN102214369B/zh not_active Expired - Fee Related
- 2011-04-07 GB GB1105960.7A patent/GB2479461B/en not_active Expired - Fee Related
- 2011-04-07 DE DE102011016347A patent/DE102011016347A1/de not_active Withdrawn
-
2012
- 2012-02-21 US US13/400,911 patent/US20120154399A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US8144147B2 (en) | 2012-03-27 |
CN102214369A (zh) | 2011-10-12 |
US20120154399A1 (en) | 2012-06-21 |
GB2479461B (en) | 2012-12-19 |
CN102214369B (zh) | 2014-03-05 |
US20110248997A1 (en) | 2011-10-13 |
JP2011238213A (ja) | 2011-11-24 |
TW201205500A (en) | 2012-02-01 |
JP5111638B2 (ja) | 2013-01-09 |
GB2479461A (en) | 2011-10-12 |
GB201105960D0 (en) | 2011-05-18 |
DE102011016347A1 (de) | 2011-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI443602B (zh) | 位移參數曲面的階層式邊界 | |
US8743114B2 (en) | Methods and systems to determine conservative view cell occlusion | |
US9367943B2 (en) | Seamless fracture in a production pipeline | |
JP5120926B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
Panozzo et al. | Weighted averages on surfaces | |
US20070018988A1 (en) | Method and applications for rasterization of non-simple polygons and curved boundary representations | |
US10593096B2 (en) | Graphics processing employing cube map texturing | |
US8269770B1 (en) | Tessellation of trimmed parametric surfaces by walking the surface | |
US9508191B2 (en) | Optimal point density using camera proximity for point-based global illumination | |
US20110025693A1 (en) | Graphics processing systems | |
WO2008013605A1 (en) | Real-time gpu rendering of piecewise algebraic surfaces | |
US20200026516A1 (en) | Systems and Methods For Rendering Vector Data On Static And Dynamic-Surfaces Using Screen Space Decals And A Depth Texture | |
US20120200569A1 (en) | Micropolygon Splatting | |
US20120069037A1 (en) | Resolution independent rendering of quadratic bezier curves using programmable graphics hardware | |
Yu et al. | An rbf-based reparameterization method for constrained texture mapping | |
CA2709092A1 (en) | Smooth shading and texture mapping using linear gradients | |
Ivo et al. | Improved silhouette rendering and detection of splat-based models | |
Qin et al. | A line integral convolution method with dynamically determining step size and interpolation mode for vector field visualization | |
US10453247B1 (en) | Vertex shift for rendering 360 stereoscopic content | |
Guthe et al. | Efficient nurbs rendering using view-dependent lod and normal maps | |
Prantl et al. | Screen Space Curvature and Ambient Occlusion | |
CN116433824A (zh) | 一种用于医学图形的视口自适应高效实时渲染方法 | |
CN118266009A (zh) | 着色方法和图像处理器 | |
Ivo et al. | Adaptive Clipping of Splats to Models with Sharp Features. | |
Srinivasan et al. | Integrating volume morphing and visualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |