TW200417878A - Method and programmable device for triangle interpolation in homogeneous space - Google Patents
Method and programmable device for triangle interpolation in homogeneous space Download PDFInfo
- Publication number
- TW200417878A TW200417878A TW092128646A TW92128646A TW200417878A TW 200417878 A TW200417878 A TW 200417878A TW 092128646 A TW092128646 A TW 092128646A TW 92128646 A TW92128646 A TW 92128646A TW 200417878 A TW200417878 A TW 200417878A
- Authority
- TW
- Taiwan
- Prior art keywords
- space
- triangle
- coordinates
- homogeneous
- pixel
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 29
- 238000012937 correction Methods 0.000 claims description 22
- 238000004040 coloring Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 3
- 235000017166 Bambusa arundinacea Nutrition 0.000 claims 1
- 235000017491 Bambusa tulda Nutrition 0.000 claims 1
- 241001330002 Bambuseae Species 0.000 claims 1
- 235000015334 Phyllostachys viridis Nutrition 0.000 claims 1
- 239000011425 bamboo Substances 0.000 claims 1
- 238000006243 chemical reaction Methods 0.000 claims 1
- 239000000700 radioactive tracer Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000009924 canning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000001926 trapping method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
- G06F17/175—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method of multidimensional data
-
- 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
- G06T15/20—Perspective computation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Description
200417878 玖、發明說明: 本案之申請前案係為美國暫時申請案(pr〇visi〇nal apphcation) 60/ 419,881號,其案名為”於勻相空間中 進行三角形插補工作之方法及其可程式裝置”且係於 20 02年10月19曰提出申請。本案請求其美國暫時申請 案之優勢(benefit)。 【發明所屬之技術領域】 本發明係有關於一種圖形處理技術,特別是有關於 一種於勻相空間中進行三角形插補工作之技術。 【先前技術】 多邊形(三角形)之插補對於硬體繪圖裝置而言係 種所需計算強度相當高的工作,因其係針對螢幕上每一 物件(object)中之每一像素(pixei)所進行。每一二 —用形 皆會有多個需考慮之屬性(attribute)如深度,顏色,么 紋 理(textures)等;最終產生影像之品質主要則係取決上 述之插補工作的準確性。此外,整體圖形框架產生 度亦係取決於此插補工作的速度。現代緣圖晶片中 T ’用 且通常亦係 以施行此種插補工作的硬體係一關鍵零件 決定晶片開發預算的關鍵因素。 目前已有許多三角形插補技術之解決方案被施^ 在不同結構(architecture)種類的晶片中。大部八 刀祝行 之技術係屬於下列三種類型之一:a·在螢幕之卡吒卜 卜汽座標 (Cartesian coordinates)下所進行,並輔以透視体 (perspective correction)的固定黑占插才甫程序;κ υ•在螢 200417878 幕質心(barycentric)座標下所進行,並辅以透視修正的 固定點插補程序;以及c .在勻相座標下所進行的固定點 插補程序。 上述之前兩種類型的技術必須將所有參數 (parameter)投影至螢幕空間(即除以w)中以便於針對 母一像素進行上述之插補與透視修正(即除以i / W)的工 作。請參閱第一圖與第二圖所示,其即係為此兩種類型 之技術的示意圖。 上述之第三種類型之技術可省去上述之額外 所有參數投影至螢幕空間的步驟以及相伴而來的修正 工作,且其所計算者係相同之勻相質心(h〇m〇gene〇us barycentric)。請參閱第三圖所示,其即係為此種類型 之技術的示意圖。上述之三種類型之技術皆係針對每一 像素進行計算’因此若欲處理中大型三角形則所需計算 量將大幅增加;此外,上述之二插 工现t 一種類型之技術的施行皆 需要可觀的專屬硬體配人,介甘& & m σ亦即其所使用之硬體資源無 法分享供其他計算工作所使用。 具體來說,上述之箆_猫斗 ^ 種類型之技術的缺點包含: a ·為進行上述之將所有參數彳 ^双仅衫至螢幕空間(即除以W) 以使其線性化的步驟則需要額外 文頌外的计异工作,b ·投影步 驟、插補步驟以及修正井_ 乂驟以回復(recover)真實值 (true value) ; c. 1 / W 66 ^ ^ 、、 的插補工作需要額外之參數delta 建立計算,故產生精確择μ • 又的問題;d·需藉由插補 1 / W —ριχ值之除法運算 > 口设母一像素中額外之直實參 200417878 數值,以及e.需可觀的專屬硬體配合。 、、上述之第二種類型之技術的缺點包含:a.同樣具有 所有參數投影至螢幕空間(即除以W)以使其線 二匕的:驟及其二所需之額外計算工作;b.同樣具有上述 1回復真實值的投影步驟、插補步驟以及^正牛 驟;c.同樣具有上述之藉由插補1/w_pix值之除法運二 心復每-像素中額外之真實參數值的步驟;以及^ 需可觀的專屬硬體配合’且所使用之硬體無法分享以供 其他計算工作使用。 上述之第三種類型之技術的缺點包含:&•像素質心 (baryCentric)之計算工作必須先於像素層級中完成,且 遇到具有多重像素之三角形的狀況則計算工作量將呈 七數牦加,以及b ·需可觀的專屬硬體配合。 因此▼大巾田減少叶算工作且不需大量專屬硬體配 口之適以在硬體繪圖裝置中施行多邊形插補工作的方 法矛破置疋目則產業所迫切需要者。 【發明内容】 為解決上述之產業對於具有更佳效率的多邊形插 補工作的需求,本發明提供了 一種兼具快速、精確與高 放率特性的解決方案’其係於硬體繪圖裝置中施行多邊 $插補程序以找出一三角形中每一像素之個別參數的 確值(Z值、顏色、多重紋理座標·,texture coordinates)。在演算法的施行上,本發明使用了一可 寿王式單才曰令夕重資料純量單元(singie instruction 200417878 multiple data scaiar unit; SIME) scalar unit);此 可程式單一指令多重資料純量單元亦可符合 Microsoft 1^9.10與〇1)611(^ API 對於可程式繪圖: 器的硬體需求而用於更專業的像素處理。本發明所提供 之三角形插補演算法可於上述之可程式單一指令多重 貝料純置單兀中執行,且其執行效率可逼近上述之專屬 硬體所能達到者。事實上,所有的插補操作原本就是在 儘可能精確的前提下以浮點運算進行的。 為了達成上述之目的,本發明提供了 一種新的方法 以獲取勻相空間中的屬性資料。此方法之步驟包含:取 得一個三角形的頂點,其中,每一個頂點係由一組在世 界座標空間(world coordinate space)中的座標代 表,且每一頂點皆具有其屬性(attribute);隨後,轉換 每一個頂點在世界空間中的座標與屬性成為在觀看空 間(viewer space)中相對應的座標與屬性;之後,根據 上述之頂點的觀看空間座標計算其相對應的勻相空間 係數(h〇mogeneous c〇efficients),並將上述之頂點的 觀看工間座軚投影至螢幕空間(screen space)。本發明 所提供之方法接著根據上述之三角形在上述之螢幕空 間中的座標判定會受到此三角形所影響的像素;最後則 係根據上述之勻相空間係數針對上述之受三角形所影 響之像素計算出一組位於勻相空間中的質心 (baryCentric)係數,並且根據該組勻相質心係數與上述 之位於觀看空間中頂點的屬性執行一線性插補程序以 200417878 得到該受影響像素位於勾相空間中的屬性。 本發明之-優點為與先前技藝相較 少的;重曾A m & Μ使用車父 “的運4作,因此與上述之在螢幕空間中 角形插補與透視修正的方式相較,本”具有較佳㈣ 月& 。 *本發明之另一優點為可省去上述之爲便於在勞幕 工間中執行插補工作並進—步在觀看空間中執行透視 修正計算以回復真實值而所執行的參數投影步驟。 【實施方式】 在一根據本發明所建構的繪圖系統中,圖元 (primitives)首先被分解成個別的小三角形,隨後進一 步處理這些小三角形以便於使原圖像有較佳的呈現效 果。為使上述之三角形處理過程易於了解,參閱第四A 圖所示,其係為-根據本發明所建構之三角㈣捕方法 的步驟流程圖。具體來說,此方法係用於三角形著色/ 描劃(rasterizing)工作以及利用勻相質心座標 (barycentHc coordinate)所進行的線性參數插補 (linear parameter interpolation)工作。本方法使用 一在兩種不同層級中進行的係數計算(c〇efficient calculation),其中,上述之”兩種層級,,分別係指三角 形層級與像素層級;在此兩種層級中執行的某些計算操 作可同時進行,其詳細執行步驟將於後敘述。在以下之 欽述中’計算操作步驟將表示於擴圓形方塊中,而所得 結果資料集(data set)將表示於長方形方塊中。 200417878 爲將第四A圖中所示之方法作更為清楚之解說,第 四B圖中所示者包含:a· —位於世界座標空間(w〇rld · coordinates space)中的三角形120; b·—位於勻相座 標空間(homogeneous coordinates space)中的三角 形 120’ ;以及 c· 一位於螢幕座標空間(screen coordinates space)中,且帶有受其所影響之像素的三 角形1 20”。在世界座標空間中的三角形1 2〇係以三個 頂點P1、P2以及P3所定義,其中,此三頂點p 1、p2 以及P3之座標分別係為[X1,Y1,Z1]、[Χ2,Υ2,Ζ2]以及 籲 [X3,Y3,Z3]且此三頂點PI、P2以及P3之屬性資料則 係分別為 pla、plb··· ; p2a、p2b... ; p3a、p3b...。 因此,在上述之三角形層級中,三角形的資料集 (data set)係首先在世界座標空間中藉由三角形之三頂 點座標以及其所對應之紋理座標(texture coordinate) 加以特徵化,其結果則係如下所示: 上述之世界座標空間(三維空間)的作用係為在執行 一幾何轉換操作(geometric transformation)前定義 一物件(object)。上述之三角形資料集於世界空間中建 立之後,接著則被轉換至一觀看座標空間(viewer coordinate space)中並被修剪(cHpped)以成為一觀 看體積(view volume)。基本上,最先在世界座標空間 中被指定的三角形會被當作一觀看點(viewp〇int)處 理。在觀看空間中,此觀看點所在之處即係為座標原 10 200417878 點,且觀看線(view ray)係順著Z軸而延伸出去。在觀看 空間中經上述之計算處理所得之三角形資料集,亦即第 ’ 四B圖之b部分中所示之位於觀看空間(勻相空間)中的 三角形1 2 0 ’,係表示如下: {[Xlh, Ylh, Z\h, W\[p\ah, p\bh9..]l {[X 2h, Y2h, Z2h, W2[p2ah, P2bK,\ {[X3/z, Y3h, Z3h,W3jp3ah!) p3bh,,.\ 其中,[Xlh,Ylh,Zlh]、[X2h,Y2h,Z2h]與[X3h, Y3h,Z3h]係為在勻相空間中個別頂點的座標;w 1、 W 2與W 3係為個別頂點之透視修正參數(p e r s p e c t i v g correction parameter) ; plah,plbh,…、P2ah, p2bh,…與p3ah,p3bh,…則係為在勻相空間中個別 頂點的屬性資料。 在轉換至觀看座標空間之步驟進行之後,隨之進行 者係為一二角形建立程序(triangle setup phase),此 程序自上述之勻相空間中的三角形資料集導出三組句 相係數(al,bl,cl)、(a2, b2,c2)與(a3,b3,c3),例如, al=Y2h*W3 _ Y3h*W2。推廣來說則此三組勻相係數係鲁 由下列方式得出: ’、 ai=Yjh.Wk-Ykh.Wj·, bf = Xjh · Wk - Xkh · Wj;以及 ci = JQh · Ykh - Xkh · Yjh, 其中 i,j&k=l,2&3· 同時,較佳的方式是將此三角形觀看空間資料集投 200417878 衫至營幕座標空間中以產生{[Xls,Yls],[X2s,Y2s] [X3s,Y3s】} 〇 榮幕座標空間需要更進一步的轉換以將物件在螢 幕座標系統中的幾何形式經由投影與轉換動作在最後 顯不物件時賦予物件深度。參閱第四Α圖所示,上述之 三角形資料集接著被著色/描畫(rasterized)以產生空 白像素資料(blank Pixel data)。上述之著色/描畫動作 進行時係將圖元如三角形等切割成為個別之像素,並執 行 Z方向緩衝動作(z-buffering)(以便於獲取深度之 有關資料,也就是Z方向的資料)與其他像素層級之功 能操作。因此,對於被一三角形(亦即第四B圖的c部分 中所不之120”)所覆蓋的N個像素,上述之著色/描晝 動作所產生的空白像素資料將由在螢幕空間中的n個 座標所描述,且其表示方法如下: {[Xls, Yls], [X2s, Y2s],... [XNSi YNs]} 如第四B圖中所示,隨後進行者係為一像素建立程 序(Pixel setup phase),亦即,在勻相空間中,對於每 個被二角形所覆蓋之像素p,會有一組勾相空間係數 di、 d2與d3以及一組質心係數(barycentric coefficient) α、Μγ被計算出來,並由此可得到該受 三角形所影響之像素的勻相質心資料 barycentric ^ta) 〇 ^ ^ ^ ^ ^ ^ ^ ^ 上述之二角形建立程序的咨扭v 斤的貝枓與自上述之著色/描晝步 驟所得到的空白像素資料所進行。 一 200417878 最後,一插補程序(interpolation phase)藉由上述 计算之質心座標以針對各個像素之勻相座標以及屬性-負料進行線性插補動作。此程序包含對於在勻相空間中 的Z方向座標Zh、上述之透視修正參數w,以及上述 之在勻相空間中的屬性資料Pah,pbh,…的線性插補動 作。對於每一像素,經此程序所得之z方向座標z_pix 係為: Z 一 pix = a · z\h 七 β · Z2h + γ · 經此程序所得之透視修正參數w係為: φ 對每一像素而言,其每一種屬性資料在經此程序後 所得之屬性Phi係為:
Phi __ pix zz cc · P\hi + β · P2hi + γ · P3hi. 在經過線性插補動作後,所得之帶有深度屬性資料 的像素資料可以描述如下: {[Xb? Y\s9 Z\s,W\h\p\a, plb,..]\ {[X 2s, Y2s, Z2s, W2h][p2a, p2b^]l 赢 pC3s, Y3s, Z3h, W3h\p3a, p3b,...^... ’ 更具體地說,如第四C圖與第四D圖所示,其即 係為上述各步驟中所使用的根據本發明所建構之三角 形建立方程式與像素處理方程式(triangle setup and pixel processing formulae)。如圖所示,對於三角形 中的每一像素,其座標皆可從三角形之三頂點,利用其 質心係數表示出;此種表示方式特別常用在紋理相關應 用技術(texture application techniques)中。例如, 13 200417878
Silicon Graphics公司所出的的產品〇penGLTM中即 定義有一質心座標系統:給定〆具有三個頂點p丄(x工 yl,Zl)、P2(X2, y2, z2)以及 Ρ3 (χ3, y3',’’z3)的三角 形,一位於該三角形所在平面上的定點p y幻之位
置可用上述之三個頂點加以表示,其表示方法係H αΡ1 + βΡ2 + ΥΡ3。其中,Q、戸與"p係為此定點p的質 心係數。因此,此定點p之座標可以如下 X = αχί + βχ2 + γχ 及 飞衣不. Y = ayl + βγ2 + Yy3 所應注意者係為,此定點p係以一組特定之質心座 標所表示,且該座標需滿足α + β + γ= ι之條件。 因此,以質心係數為基礎,每一受三角形所影響之 像素的X與Υ座標皆可被推導而得出,亦即定點ρ可係為 三角形三頂點(PI, Ρ2, ρ3)的線性組合。由於此質心係 數可應用於像素任—屬性資料的插補工作,包含2座 (深度)、顏色、UV座標...等,因此只要計算出質心係數 則上述之屬性資料皆可從而計算得到。其中,a、 之計算方式係如第四c圖之方程式⑴所表示。此外, #出貝〜係數之後,此質心係數亦可用於整個多邊形( 角形)之插補工作;更進一步者,由於利用句相質心座; 可幫助定位每-像素點(Ρ),因此可藉由指定各點之位 對多邊形進行加上陰影或是紋理貼圖(textu] mapping)的工作。
分別給予三角形的三頂點 14 200417878 mode3+l 鱼 k= ΐ 州 ,^ /、 J m〇de3+l的編號順序並且如 (2)所示,令 ai = y^v κ — ^ 八 bi —Xk-Xj 且 Ci = Xj*yk 程式 將上述兩者代入方程式⑴中則可得如方程式:k%; 質心係數的相互關係。 不之 如方程式(4)所示,其係為定點p之透視修正泉 w。如圖所示,w係為上述之質心係數α、β與γ二數 三角形三頂點個別之透視修正參數w丨、w2與=二 數。應注意者係為,保存透視修正參數w之目函 存與觀看點(viewpoint)之間距離的資訊。然 " …、J 否*進;^干 再計算以獲取勻相(觀看點)空間中之質心座標之前 頂點座標(Xi,yi)須先利用相對應之修正泉姑 ^紙 Wi以轉換 為在勻相空間中的座標(;接著利用修正參數w以 導出定點P在勻相空間中之座標(元歹)。 隨後,進行一系列之計算操作以作為計算質心座標 之準備,#包括:(1)料每-三角形計算三組勻相: 間係數ai、bi與Ci,此三組勻相空間係數可由受三角形 所影響之每一像素分享使用;(2}利用個別透視=正參 數Wi轉換上述之句相空間係數至句相空間以得到 ;以及(3)針對每一像素計算山。如第四d圖之 方程式(6)所示,計算出dl、心與心之後,對於定點p而 言,其在勻相空間中之質心係數5,及彳可接著被計算出 來以完成在勻相空間中的三角形插補動作,如方程式(5) 所示。藉由上述之對受三角形影響之像素中每一定點p 的插補動作,上述之勻相空間中的質心係數將可進一步 15 用以獲取真實值 動作)。如此,則此-/ 上述之除以1/W的 性貝枓的像素所模擬。 田之咏度屬 步驟之比較五二:不’其係為第三圖與第四八圖中所示 圖中所示之心、、陰影之方塊中所示之步驟係為第三 所示之步;Π第不同者;右側具陰影之方塊中 糸為第四八圖中所示之 不具陰影之方抽由& Ρ肀不同者。 比古山 4中所示之步驟則係第三圖鱼第四Δ囬士 皆有出現者。參閱第五Β圖所示,^為第圖中 圖中所示步驟,、係為弟二圖與第四A 乂驟於#作數目上的比較表。 本發明所提供之 _ 在於,本發明對#\ ' 二圖中所示者之不同處 層級中進行Γ 間中質心的計算係分別在兩種 (a) —角形層級;以及(b)像 -方式在遇到具有多重像素之三角㈣象素:級,此 所需計算μ #。u 肖&的#大》兄時可減少 里本土明所提供之方法盥第= _ 者之另-不同處則係為本發明所需運算;圖中所示 少,因而蛊弈‘妯&山 而硬开刼作之數目較 技術中依序執行在螢幕空間中的_自# :補動作與透視修正動作的方式相比 佳之運算效能。此外,本發明所提供之方=可罐 技術中依序執杆/恶莖 仏之方法可避免先前 動作以便於口 * 空間中的插補動作與透視修正 數投影動作。 ”之真貫值的過程所需之參 三角:::::特點係為提供一種相當精確而快速的 法,其係利用相同之算述邏輯單元(alu) 16 200417878 執:三角形與像素的處理工作,其中,上述之處理工作 t谷係不斷穿插有用以處理三角形與用以處理像素之 扣7 |發明中執行插補工作之硬體單-指令多重資料 (SIMD)單元的大小可調整以增加質。、插補工作執行性 能。此硬體單元可隨所需之精確度與工作性能而作調 整並可用於其他的緣圖處理工作,據以增加整體效 I此外此可程式單一指令多重資料純量單元 (programmable SIMD亦可符合
Microsoft Dx9,l〇 and 〇penGL川對於可程式繪圖 機器之硬體需求而用於更專業的像素處理工作;並且, 本發明所提供之三角形插補方法係比先前技術更適合 施行在可程切圖處理單元±,且可提供逼近專屬硬體 的工作效率。 本發明所使用者係一施行於一通用可程式單元 (universal programmable unit)上的裝置,其中,此 裝置並可取代個別之深度、顏色以及紋理插補器。請參 閱第六A圖所示,其係為一根據本發明之一實施例所建 構的可程式硬體單元1〇的示意圖。此通用硬體單元1〇 包含一可程式單一指令多重資料(SIMD)純量單元12以 執行不同類型之插補工作。尤其,此可程式單一指令多 重資料純量單元1 2能夠以逼近專屬硬體的執行效率執 行本發明所提供之三角形插補演算法(triangle interpolation algorithm)。事實上,所有的插補操作 白係在儘可能精確的前提下’以浮點運算之方式進行 17 200417878 的。上述之硬體單元10可包含複數個可程式單一指令多 重資料純量單元1 2以達到提高性能的目的。 _ 上述之硬體單元10係為一具有雙算術邏輯單元 (ALU)之硬體單元,其中純量算術邏輯單元16與18係配 合一平移(shifted)處理週期以執行工作。上述週期的平 移係藉由旁通暫存器(bypass register)3〇與32以達 成。在個別時脈中,此硬體單元10根據所需之精確度以 及所接收之三角形或像素處理相關指令以執行一個三 角形或是複數個像素(例如:2到4個像素)的處理工作,_ 其中’上述之二角形處理相關指令與像素處理相關指令 係不固定地交互出現。另有一倒數單元(recipr〇cal unit)20係用以處理相除計算(division calculation)操
作(參閱第四A圖、第四C圖與第四D圖中所示之方法及 方程式)。上述之單一指令多重資料處理演算法(SIMD
Processing algorithm)係在一微碼記憶體(microc〇de memory) 14中執行且所有指令集皆經過最佳化處理以 減少指令的數目。 上述之硬體單元10亦包含一三角形著色/描晝器 (triangle rasterizer)22 ;其所產生之空白像素螢幕座 標資料(blank pixel screen coordinates data)貝丨J 儲 存於一像素記憶體單元(pixel memory unit)24中。此 外’三角形在勻相空間中的座標資料係由一頂點幾何處 理單元(vertex geometry processing unit) 26 產生, 且此資料係儲存於一三角形記憶體單元(triangle 18 200417878 memory unit)28 中。 參閱第六B圖所示,其係為一單一指令多重資料算 術邏輯單元指令集(SIMD ALU instruction set)。爲縮 短程式的長度(length of the program),可將兩種分別 為長浮點(long floating point; long FP)類型以及短 浮點(short FP)類型之資料個別或混合處理。執行第四 D圖中方程式(6)的計算工作時所需之指令類型其中之 一係為”交叉模式長指令”(Cross Mode Long instruction),其内容為 XPRDL、D、D”、P0與 PI ;其 係用以產生一交叉積值(cross product),例如,指 令’’XPRDL、AO、Vl.yw與V2.yw係用以計算一勻相係 數al。 之後’一 “折合長指令”(Folded Long instruction)則被用以計算di值;此折合長指令亦可產 生交叉積值,其内容則係為FSUBL、D、P0”與P2”。 爲詳述上述指令之使用方式,以下將提出實例程式 以為說明:在此程式中,指令XPRDL被重複使用以因應 執行方程式(6)中i = 〇、l與2(亦即a〇、al、a2、bO、 bl ' b2、cO、cl以及C2)之狀況所需之計算工作。應注 思者係為此程式中標號i係等於〇、1與2而非如上所述之 1 2與3,然而计算結果則並不受此影響。此外,指令 MOV、FBL (折合參雜模式;‘F〇lded Blen(i M〇de,)、 FWD與FSUBL (折合長;“Folded Long,)等係用以因 應在執行像素質心係數(α,β,γ)之計算工作時方程式(5) 之所需,指令MULL (長乘法;multiply 1〇ng)以及 200417878 FSUBL則係用在如第四A圖中所示之像素屬性插補工 作0 具體而言,以下所列出者係對於⑴三角形建立工 作;(ii)像素處理工作;以及(iii)像素屬性資料插補工作 而言所需之計算及其相對應之單一指令多重資料算術 邏輯單元指令集(instruction set of SIMD ALU): / / Barycentric triangle setup:
/ /The calculations as required by Equation (6) for index i = 0: # tri_a[0] = v[l].y * v[2].w - v[2].y * v[l].w # tri_b[0】=v {2]·χ * v[l].w - ν[1]·χ * v{2].w # tri_c[0] = v[l].x * v[2].y - v[2].x * v[l].y " / /The calculations as required by Equation (6) for index i= 1: # tri_a[l] = v[2].y * v[0].w - v[0].y * v[2].w # tri_b[l] = v[0].x ^ v[2].w - v[2].x * v[0].w # tri—c[l] = ν[2]·χ * v[0].y - v[0】.x * v[2].y // / /The calculations as required by Equation (6) for index i = 2 : # tri_a[2] = v[0].y * v[l].w - v[l].y * v[0].w # tri_b[2] = v[l].x * v[0].w- v[0].x ^ v[l].w 20 200417878 # tri_c[2] = ν[0].χ * v[l].y - v[l].x * v[0].y 實現上述之計算需執行下列指令(單一指令多重資 料4位元模式需執行9個指令): " / /The instructions for executing calculations as required by Equation (6) for index i = 0:
XPRDL AO, Vl.yw, V2.yw XPRDL BO,-Vl.xw,V2.xw XPRDL CO, VI.xy, V2.xy // / /The instructions for executing calculations as required by Equation (6) for index i=l:
XPRDL Al,V2.yw,VO.yw XPRDL Bl,-V2.xw,VO.xw XPRDL Cl,V2.xy,VO.xy
II / /The instructions for executing calculations as required by Equation (6) for index i = 2: XPRDL A2, VO.yw, VI.yw 21 200417878 XPRDL B2, -VO.xw, VI.xw XPRDL C2,VO.xy,Vl.xy / / Pixel barycentric data processing, as required by Equation (5): / / Bary centric parameters calculation for each pixel,with calculations of di for i = 0,l,2: tri—a[0] + y * tri—b[0] + x # pix_d[0] tri_c[0] # pix_d[l] = x* tri—a[l] + y* tri—b[l】+tri—c[l] # pix—d[2] = x * tri—a[2] + y * tri—b[2j + tri_c[2] pix # pix_d[3] = 1 / ( pix_d[0] + pix__( d[2]) // coefficients / / Pixel barycentric α,β,γ)calculation based on di: # alpha = pix—d[0] * pix_d[3] # beta = pix—d[l] * pix_d[3] # gamma = 1 - alpha - beta 實現上述之計算需執行下列指令(需執行7個指令) // MOV pr, xy
FBLDL DO, pr, ABO, CO 22 200417878
FBLMP NULL, Dl,pr,AB1,Cl,AB2,C2 FWD RCPL
MULL ALPHA,DO, ACC MULL BETA, Dl,ACC FSUBL GAMMA, HW_ONE,ALPHA, 0,BETA / / Pixel attribute interpolation: //Required calculations:
# pix_att = v_attO * alpha + v_attl * beta + v_att2 * gamma # Z interpolation mode - long operands 實現上述之計算需執行下列指令(單一指令多重資 料8位元模式需執行兩個指令): // MULL RO, ALPHA, V_ATT0 FBLDL PIX_ATT,BETA, V_ATT1,RO,GAMMA, V_ATT2 / / Other attribute mode - short parameter operands (with 3 instructions, for SIMD 16 bits (word) mode): //
MULM rO, v_attO, ALPHA 23 200417878 MADM Γ〇,V一attl,BETA,rO MADM pix_att, v_att2, GAMMA, rO //
最後參閱第七圖所示,其係為一單一指令多重資料 -算術邏輯單元結構(SIMD-ALU structure),此單元係 用於根據本發明之一實施例所建構之方法中的短資料 處理模式。如前所述,此單元係由算術邏輯單元16 (ALU〇 16)與算術邏輯單元18(ALUil8)兩個算術邏輯單元所 構成。如圖所示,算術邏輯單元16與算術邏輯單元18 皆利用乘法運算(multiplication)、平移(shifting)以及 其他額外之操作以處理上述之各係數如ci、alh、bOl、 all、bll、aOh、bOh、aOl、blh 與 cO。算術邏輯單元 16與算術邏輯單元18在一個平移週期操作(shm_cycie operation)中,藉由旁通暫存器3〇與旁通暫存器32以處 理4個像素,其中,每個平移週期操作包含18叉4 = 72個 位元。
由以上所述,本發明所提供之 仏之方法與插補演算法 夠以極高之效率與精確度在浮點笪一 丁點异術早7L上運作; 外,與先前技術相比,本發明可将M丄 文善在三角形尺寸大 一個像素的狀況時三角形插補工作 仆的工作效率,並且 由將句相質心座標之計算工作八 * a 作77成在三角形層級盥 素層級上執行,本發明可簡化執 八 所需的硬體。 τ像素層級之插補工' 24 200417878 上述之詳細敘述僅為本發明之較佳實施例,本發明 仍可能有其他形式之實施方式,因此,本發明之精神與 範圍不應限制於上述之實施例中。 【圖示的簡單說明】 上述本發明之發明特徵、優點與實施方式將藉由詳 、敛述專利申請範圍與所附圖示加以說明,其中: 、一第一圖所示係為先前技藝中在卡氏座標下所執行 的三角形著色/描劃(rasterization)與插補方法; 〜第一圖所示係為先前技藝中在螢幕質心座標下所 執仃的三角形著色/描劃(rasterizati〇n)與插補方法; 下丄三圖所示係為另一先前技藝中在句相質心座標 斤執仃的三角形插補方法; 弟四A圖所示係為一根據本發 的流程圖; 料發明所建構之插補方法 弟四B圖所示係為一位於a·世 標空間c罄蕰rM丄 尾^王間b·勻相座 素; τ的一角形與受其所影響之像 第四C圖與第四1)圖所 二角形诸^ 马根據本發明所建構的 建立方程式與像素處理方程式; 惠構的 第五A圖所示係為第三圖與第 的比較; 所不方法之步驟 第五B圖所示係為第三圖 列表; 口所不運异之比較 25 200417878 第六A圖所示係為一利用長資料處理模式(l〇ng data processing mode)執行三角升多質心插補 (triangle barycentric interpolation)的可程式單元; 第六B圖所示係為上述之可程式單元所使用之一指 令集(instruction set);以及 第七圖所示係為一執行本發明之短資料處理模式 (short data processing mode)的算術邏輯單元。 【主要部分之代表符號】
10 可程式硬體單元; 12 14 16,18 20 22 24 26 28 3〇,32 120 單一指令多重資料純量單位; 微碼記憶體; 算術邏輯單元; 倒數單元; 三角形著色/描畫器;
像素記憶體單元; 頂點幾何處理單元; 三角形記憶體單元; 旁通暫存器; 三角形於世界座標空間中;
26 120, 200417878 120” 三角形於螢幕座標空間中 Pl,P2,P3 世界座標空間三
Plh,P2h,P3h 勻相座標空間三
Pls,P2s,P3s 螢幕座標空間三 角形之頂點; 角形之頂點; 角形之頂點;
27
Claims (1)
- 200417878 拾、申請專利範圍: 1 · 一用以獲取一位於勻相空間中之三角形的一屬性資料 · 的方法,該方法包含: 獲取該三角形之頂點,其中每一該頂點係以一組 位於世界座標空間中之座標表示且其具有一屬性資 料; 對於每一該頂點,轉換該頂點位於世界空間中之 該組座標與該屬性資料至一觀看空間座標及一組觀看 空間中之屬性資料,根據該觀看空間座標以計算得—· 組該頂點之勻相係數,並投影該觀看空間座標至一榮 幕空間座標; 根據該螢幕空間座標決定在螢幕空間中受該三角 形所影響之像素;以及 對於每一該受該三角形所影響之像素,根據該句 相係數以計算得一組位於勻相空間中的質心係數,並 根據該組勻相質心係數與該頂點位於觀看空間中之該 屬性資料執行一線性插補動作以得到受該三角形所影 響之該像素位於勻相空間中之屬性資料。 2·2權利請求項i所述之方法,其中對於每一該頂點而 S,該頂點位於觀看空間中之該座標與該屬性資料係 =1风m:顯]與M所表示,其中,i係一與該頂點相配 合之標號且i==1,2,3,且Wi係為一透視修正參數。 •如權利請求項2所述之方法,其巾±述之頂點之該句 28 200417878 相係數係為d.,且其計算方式係根據該觀看空間座·… 標以及以下計算式: . ai ^Xjh-mc-Ykh'Wj; ξ =为/2.職_也,;與 ^Vh^Ykh^Xkh-Yjh ; 其中,j=imod3 + i 且 k=jm〇de3+1,且 Wj•與 Wk係為透視修正參數。 4·如權利請求項i所述之方法,其中上述之決定受該三角籲 形所影響之該像素的步驟包含著色/描畫 (rasterizing)該三角形。 5 ·如權利請求項i所述之方法,其中上述之決定受該三角 形所衫響之該像素的步驟包含提供與受該三角形所影 響之該像素相關之空白像素資料。 6·如權利請求項5所述之方法,其中對於n個受該三角形 所〜響之該像素,該空白像素資料包含n個該勞幕空 間座標队叫fc,vl.·.[&,}>]}。 _ 7·如權利請求項4所述之方法,其中上述之著色/描畫步 驟提供與受該三角形所影響之該像素相關之空白像素 代表 且對 工作 8·如權利請求項3所述之方法,其中係 該組質心係數,dl、d#d3係用以表示中間 於每-該像素,用以計算該組質心係數之該 包含: 29 200417878 利用該勻相係數與下列計算式: + 計算 dl、d2 與 d3 ;以及 · 利用該中間值d 1、d2與d3與下列計算式·· 一 ; 4- -j- β = -^,·與 4+^2+^3 計算該勻相空間質心係數α、β與Y。 籲 9·如權利請求項8所述之方法,其中上述之對於每一該像 素之線性插補動作包含對於Z—pix、w—pix與 Phi—pix之計算工作,其中,Z—pix係為一位於勾相 空間中之Z方向座標;W—pix係為一透視修正參數; Phi一pix係為該像素位於勻相空間中之屬性資料,該叶 算工作所使用之計算式如下: Z pix ^ a * Z\h + β · Z2h + γ ^ Z3h; W _pix = a^Wl-b β·ψ2 + χ·Ψ3',與 Phi_pix = a · p\hi + · P2hi 七 γ · p%i 1〇·如權利請求項i所述之方法,其中上述之每一受該三 角形所影響之該像素的位置與深度係以位於勻相空間 中之該座標表示。 u.如權利請求項丄所述之方法,其中上述之於勻相空間 中所獲取之該屬性資料係為深度。 30 200417878 12.如權利請求項丄所述之方 女,其中上述之於勻相空間 中所獲取之該屬性資料係為顏色。 1 3 ·如權利請求項1所述之古 唄所述之方法,其中上述之於勻相空間 中所獲取之該屬性資料係為故理(texture)。 1 4 ·如權利請求項1所述之古 唄所玫之方法,其中上述之於句相空間 所獲取之該屬性資料係為陰影。 1 5 · —用以獲取一位於勺士 位於勺相空間中之三角形的—屬性資 料的系統,該系統包含: 、 一獲取裝置,該裝置係用以獲取該三角形之頂 點,其中每-該頂點係以一組位於世界座標空間中之 座標表示且其具有一屬性資料; -轉換裝置以對於每一該頂點,轉換該頂點位於 世界空間中之該組座標與該屬性資料至一觀看空間座 標及一組觀看$間中之屬性f料,一第一運算裝置以 根據該觀看空間座標以計算得一組該頂點之勻相係 數,一杈如裝置以進—步投影該觀看空間座標至一螢 幕空間座標; -裁決裝t以根據該螢幕空間座標決定在螢幕办 間中受該三角形所影響之像素;以及 工 -第二運算裝置以對於每一受該三角形所影響之 該像素’根據該勻相係數以計算得-組位於勻相空間 中的質心係數’-執行裝置以根據該組勻相質心係數 與該頂點位於觀看空間中之該屬性資料執行一線性播 31 200417878 門動作以侍到受該三角形所影響之該像素位於句相空 間中之屬性執行。 16而如‘權利請求項15所述之系統’其中對於每一該頂點 (:,該頂點位於觀看空間中之該座標與該屬性資料 =I [職m,Zi7?圳與所表示,其中,丨係一與該頂點相 -之彳不號且i=l,2,3,且Wi係為一透視修正參數。 17:如權利請求項16所述之系統’其中上述之頂點之該 係數係為5,民名,且該第一運算裝置更包含一第一 計算裝置以計算,其計算方式係根據該觀看空間 座標以及以下計算式: ai -Yjh-Wk- Ykh. Wj ; 石i =为h,Wk — .Wj·,與 A=m.fkh-ajh ·, 其中,i mod3+l 且 k= j m〇de3+l,且 Wj 與Wk係為透視修正參數。 18·如權利請求項15所述之系統,其中上述之裁決裝置 包含一著色/描畫(rasterizing)裝置以著色/描晝該三 角形。 1 9 ·如權利凊求項1 5所述之系統,其中上述之裁決裝置 包含一供應裝置以提供與受該三角形所影響之該像素 相關之空白像素資料。 2 0 ·如權利請求項19所述之系統,其中對於n個受該三角 形所影響之該像素,該空白像素資料包含N個該螢幕 32 200417878 空間座標私叫此必14^>,vB。 2 1 ·如權利請求項i 8所述之系統,其中上述之著色/描晝 裝置提供與受該三角形所影響之該像素相關之空白像 素資料。 2 2 ·如權利請求項i 7所述之系統,其中α、β與Y係分別代 表該組質心係數,d 1、d2與d3係用以表示中間值,且 該第二運算裝置包含: 一第二計算裝置以利用該勻相係數孓,民,2;與下列 · 計算式:4 - + 計算dl、d2與d3;以及 一第三計算裝置以利用該中間值dl、d2與d3及下 列計算式: a =—— dld 2 d3 d^d^Tdl,與 r = 計算該勻相空間質心係數CL、β與γ。 23·如權利請求項22所述之系統,其中上述之執行裝置籲 包含一第四計算裝置以執行對於ζ—ρίχ、w』ix與 Phi 一 pix之計算工作,其中,z—pix係為一位於勻相 空間中之Z方向座標;诃一口化係為一透視修正參數; Phi一pix係為該像素位於句相空間中之屬性資料,該計 算工作所使用之計算式如下·· Z pix = a ·Z\h + β· Z2h-hγ ·Z3h W _pix = a + + 盘 33 Phl~piX = α * plhi + β. P2hi + γ. p3hi 2 4 ·如權利請求項 ^ ^ 、所述之糸統,其中上述之每一受該 二角形所影響之琴後I 之該像素的位置與深度係以位於勻相空 間中之該座標表示。 2 5 ·如權利請求項1 5所试;> i 所这之糸統,其中上述之於勻相空 間中所獲取之該屬性資料係為深度。 2 6 ·如權利請求項15所诚夕备μ >喟ib所迷之系統,其中上述之於勻相空 間中所獲取之該屬性資料係為顏色。27·如權利請求項15所述之系μ , t L 5項ID所XL之糸統,其中上述之於勻相空 間中所獲取之該屬性資料係為紋理(texture)。 28. 如權利請求項15所述之系統,其中上述之於勻相空 間所獲取之該屬性資料係為陰影。 29. —用以獲取位於勻相空間中之一屬性資料的可程式 裝置,該可程式裝置包含: 一計算單元; 一處理器;以及 一帶有程式指令之記憶體,該處理器與該記憶體 相連結以執行操作,且该計算單元係用以令該可程式 裝置執行如下之步驟操作: 獲取一二角形之頂點,其中每一該頂點係以位於 世界座標空間中之一組座標表示且其具有一屬性資 料; 對於母一該頂點’轉換該頂點位於世界空間中之 34 200417878 該組座標與該屬性資料至— 硯看空間座標及一組觀看 空間中之屬性資料,根據該迤4如 邊硯看空間座標以計算得一 組該頂點之勻相係數,並掊! 螢 义才又影該硯看空間座標至一 幕空間座標; 根據該螢幕空間座榡決定Aβ 开疋在螢幕空間中受該三角 形所影響之像素;以及 對於每一該受該三角形如 用元所影響之像素,根據該勻 相係數以計算得一組位於句沐 J相空間中的質心係數,並 根據該組勻相質心係數與哕 、邊頂點位於觀看空間中之該 屬性資料執行一線性插補動竹 初作以得到受該三角形所影 響之該像素位於勻相空間中 > —靜 J υ之該屬性資料。 3 0 ·如權利請求項2 9所述之可翁4 式裝置,其中上述之計 算單元包含: 及 -單元,該單^具有兩個算術邏輯單元(alu);以 倒數單元 3 1·如權利請求項29所述之可程式裝 八衷置,其中上述之處 理器包含至少一個可程式單_ 人々丄 ^ 早‘令多重資料純量單 元。 32·如權利請求項29所述之可程式# 低八屐置,更包含: 一旁通(bypass)暫存器,苴由 开T上述之計算單元具 有兩個算術邏輯單元,其係利用兮套 用篇旁通暫存器以便於 配合一平移處理週期以執行工作。 35 200417878 3 3.如權利請求項29所述之可程式裝置,更包含一三角 形著色/描晝器以針對受該三角形所影響之該像素產 生空白像素螢幕座標。 34. 如權利請求項29所述之可程式裝置,更包含一頂點 幾何處理單元以提供該觀看空間座標。 35. 如權利請求項29所述之可程式裝置可操作於長浮點 模式、短浮點模式與長-短浮點混合模式。 36·如權利請求項29所述之可程式裝置運作於執行深 度、顏色與紋理之插補工作。36
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41988102P | 2002-10-19 | 2002-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200417878A true TW200417878A (en) | 2004-09-16 |
TWI231906B TWI231906B (en) | 2005-05-01 |
Family
ID=34272336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092128646A TWI231906B (en) | 2002-10-19 | 2003-10-16 | Method and programmable device for triangle interpolation in homogeneous space |
Country Status (3)
Country | Link |
---|---|
US (1) | US7098924B2 (zh) |
CN (1) | CN100339874C (zh) |
TW (1) | TWI231906B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139005B2 (en) * | 2003-09-13 | 2006-11-21 | Microsoft Corporation | Optimized fixed-point mathematical library and graphics functions for a software-implemented graphics rendering system and method using a normalized homogenous coordinate system |
US7593010B2 (en) * | 2003-09-18 | 2009-09-22 | Microsoft Corporation | Software-implemented transform and lighting module and pipeline for graphics rendering on embedded platforms using a fixed-point normalized homogenous coordinate system |
US8411105B1 (en) | 2004-05-14 | 2013-04-02 | Nvidia Corporation | Method and system for computing pixel parameters |
US7538773B1 (en) | 2004-05-14 | 2009-05-26 | Nvidia Corporation | Method and system for implementing parameter clamping to a valid range in a raster stage of a graphics pipeline |
US8432394B1 (en) | 2004-05-14 | 2013-04-30 | Nvidia Corporation | Method and system for implementing clamped z value interpolation in a raster stage of a graphics pipeline |
US7079156B1 (en) * | 2004-05-14 | 2006-07-18 | Nvidia Corporation | Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline |
US8416242B1 (en) | 2004-05-14 | 2013-04-09 | Nvidia Corporation | Method and system for interpolating level-of-detail in graphics processors |
US7595806B1 (en) | 2004-08-03 | 2009-09-29 | Nvidia Corporation | Method and system for implementing level of detail filtering in a cube mapping application |
US8078656B1 (en) | 2004-11-16 | 2011-12-13 | Nvidia Corporation | Data decompression with extra precision |
US7825936B1 (en) * | 2004-11-19 | 2010-11-02 | Nvidia Corporation | Method and system for texture instruction demotion optimization |
US7916149B1 (en) * | 2005-01-04 | 2011-03-29 | Nvidia Corporation | Block linear memory ordering of texture data |
US7423791B2 (en) * | 2005-01-26 | 2008-09-09 | Canon Kabushiki Kaisha | Color conversion using barycentric projections |
US7646389B1 (en) | 2005-05-18 | 2010-01-12 | Nvidia Corporation | Divergent and non-divergent texture fetches |
US7952588B2 (en) * | 2006-08-03 | 2011-05-31 | Qualcomm Incorporated | Graphics processing unit with extended vertex cache |
US8009172B2 (en) * | 2006-08-03 | 2011-08-30 | Qualcomm Incorporated | Graphics processing unit with shared arithmetic logic unit |
US8547395B1 (en) | 2006-12-20 | 2013-10-01 | Nvidia Corporation | Writing coverage information to a framebuffer in a computer graphics system |
US8421794B2 (en) * | 2007-03-23 | 2013-04-16 | Qualcomm Incorporated | Processor with adaptive multi-shader |
US8441497B1 (en) | 2007-08-07 | 2013-05-14 | Nvidia Corporation | Interpolation of vertex attributes in a graphics processor |
US8325203B1 (en) | 2007-08-15 | 2012-12-04 | Nvidia Corporation | Optimal caching for virtual coverage antialiasing |
US8040357B1 (en) * | 2007-08-15 | 2011-10-18 | Nvidia Corporation | Quotient remainder coverage system and method |
US8179399B2 (en) * | 2008-02-11 | 2012-05-15 | Stmicroelectronics S.R.L. | Rasterizing method |
US20100277488A1 (en) * | 2009-04-30 | 2010-11-04 | Kevin Myers | Deferred Material Rasterization |
GB0913170D0 (en) * | 2009-07-28 | 2009-09-02 | Advanced Risc Mach Ltd | Graphics processing systems |
US11080924B2 (en) * | 2019-05-31 | 2021-08-03 | Samsung Electronics Co., Ltd. | Optimized computation of perspective interpolants |
US20230064069A1 (en) * | 2021-07-30 | 2023-03-02 | Intel Corporation | Converting barycentric planes to attribute planes |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0319165B1 (en) * | 1987-12-04 | 1995-10-18 | EVANS & SUTHERLAND COMPUTER CORPORATION | System for using barycentric coordinates as for polygon interpolation |
US5361386A (en) | 1987-12-04 | 1994-11-01 | Evans & Sutherland Computer Corp. | System for polygon interpolation using instantaneous values in a variable |
US5222204A (en) * | 1990-03-14 | 1993-06-22 | Hewlett-Packard Company | Pixel interpolation in perspective space |
US5361368A (en) | 1991-09-05 | 1994-11-01 | International Business Machines Corporation | Cross interrogate synchronization mechanism including logic means and delay register |
US5550960A (en) * | 1993-08-02 | 1996-08-27 | Sun Microsystems, Inc. | Method and apparatus for performing dynamic texture mapping for complex surfaces |
US6275233B1 (en) * | 1996-11-01 | 2001-08-14 | International Business Machines Corporation | Surface simplification preserving a solid volume |
US5877773A (en) | 1997-05-30 | 1999-03-02 | Hewlett-Packard Company | Multi-pass clipping in a geometry accelerator |
US6137497A (en) * | 1997-05-30 | 2000-10-24 | Hewlett-Packard Company | Post transformation clipping in a geometry accelerator |
US6275235B1 (en) | 1998-12-21 | 2001-08-14 | Silicon Graphics, Inc. | High precision texture wrapping method and device |
US6380936B1 (en) | 1999-10-22 | 2002-04-30 | Microsoft Corportion | System and method for inferring projective mappings |
US6686924B1 (en) * | 2000-02-02 | 2004-02-03 | Ati International, Srl | Method and apparatus for parallel processing of geometric aspects of video graphics data |
US6664958B1 (en) * | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Z-texturing |
US6646648B1 (en) * | 2000-09-29 | 2003-11-11 | Microsoft Corporation | Method and system for evaluating derivatives in screen space using perspective corrected barycentric coordinates |
-
2003
- 2003-09-24 US US10/671,190 patent/US7098924B2/en not_active Expired - Lifetime
- 2003-10-16 TW TW092128646A patent/TWI231906B/zh not_active IP Right Cessation
- 2003-10-17 CN CNB2003101018038A patent/CN100339874C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN100339874C (zh) | 2007-09-26 |
US20040145589A1 (en) | 2004-07-29 |
US7098924B2 (en) | 2006-08-29 |
TWI231906B (en) | 2005-05-01 |
CN1501324A (zh) | 2004-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW200417878A (en) | Method and programmable device for triangle interpolation in homogeneous space | |
JP6392370B2 (ja) | 様々なレンダリング及びラスタライゼーション・パラメータ下でビューポートを変化させるための、オブジェクトの効率的再レンダリング方法 | |
EP3255612B1 (en) | System and method for tessellation in an improved graphics pipeline | |
WO2016165209A1 (zh) | 一种三维图像的裁剪方法 | |
US20060227131A1 (en) | Flat texture volume rendering | |
US4965752A (en) | Spatial transformation of node points in computer graphics using vector differences between their spatial coordinates | |
Mitani et al. | 3D sketch: sketch-based model reconstruction and rendering | |
TW411431B (en) | Anisotropic texture mapping using silhouette/footprint analysis in a computer image generation system | |
JPH0950537A (ja) | ボリューム・レンダリング装置及び方法 | |
US7586501B2 (en) | Simultaneous projection of multi-branched vessels and their context on a single image | |
JP2010515122A (ja) | 高速ピクセル・レンダリング処理 | |
US20050237336A1 (en) | Method and system for multi-object volumetric data visualization | |
US20110193883A1 (en) | Implementing And Interpolating Rotations From a Computing Input Device | |
GB2325835A (en) | Volumetric pre-clipping method in a volumetric rendering system | |
US20030076320A1 (en) | Programmable per-pixel shader with lighting support | |
WO2016040538A1 (en) | Convex polygon clipping during rendering | |
US11074747B2 (en) | Computer-aided techniques for designing detailed three-dimensional objects | |
US6542154B1 (en) | Architectural extensions to 3D texturing units for accelerated volume rendering | |
JPH03202981A (ja) | 三次元図形表示方法及びシステム | |
JPH07282292A (ja) | テクスチャマッピング方法及び画像処理装置 | |
Savransky et al. | Modeling and Rendering Escher‐Like Impossible Scenes | |
JP2001266175A (ja) | 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体 | |
JP2020038592A (ja) | ボリュームレンダリング装置 | |
JP2726134B2 (ja) | 立体モデルのサンプリング及び法線ベクトルの算出方法 | |
Kim et al. | WYSIWYG Stereo Paintingwith Usability Enhancements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MK4A | Expiration of patent term of an invention patent |