欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

于勻相空間中進(jìn)行三角形插補(bǔ)工作的方法及其可程序裝置的制作方法

文檔序號(hào):6419910閱讀:258來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):于勻相空間中進(jìn)行三角形插補(bǔ)工作的方法及其可程序裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種圖形處理技術(shù),特別是有關(guān)于一種于勻相空間中進(jìn)行三角形插補(bǔ)工作的技術(shù)。
背景技術(shù)
多邊形(三角形)的插補(bǔ)對(duì)于硬件繪圖裝置而言是一種所需計(jì)算強(qiáng)度相當(dāng)高的工作,因其是針對(duì)屏幕上每一對(duì)象(object)中的每一像素(pixel)所進(jìn)行。每一三角形皆會(huì)有多個(gè)需考慮的屬性(attribute)如深度,顏色,紋理(textures)等;最終產(chǎn)生影像的品質(zhì)主要?jiǎng)t是取決上述的插補(bǔ)工作的準(zhǔn)確性。此外,整體圖形框架產(chǎn)生的速度也是取決于此插補(bǔ)工作的速度。現(xiàn)代繪圖芯片中,用以施行此種插補(bǔ)工作的硬件是一關(guān)鍵零件,且通常也是決定芯片開(kāi)發(fā)預(yù)算的關(guān)鍵因素。
目前已有許多三角形插補(bǔ)技術(shù)的解決方案被施行在不同結(jié)構(gòu)(architecture)種類(lèi)的芯片中。大部分現(xiàn)行的技術(shù)是屬于下列三種類(lèi)型之一a.在屏幕的卡氏坐標(biāo)(Cartesian coordinates)下所進(jìn)行,并輔以透視修正(perspective correction)的固定點(diǎn)插補(bǔ)程序;b.在屏幕質(zhì)心(barycentric)坐標(biāo)下所進(jìn)行,并輔以透視修正的固定點(diǎn)插補(bǔ)程序;以及c.在勻相坐標(biāo)下所進(jìn)行的固定點(diǎn)插補(bǔ)程序。
上述前兩種類(lèi)型的技術(shù)必須將所有參數(shù)(parameter)投影至屏幕空間(即除以W)中以便于針對(duì)每一像素進(jìn)行上述的插補(bǔ)與透視修正(即除以1/W)的工作。請(qǐng)參閱圖1與圖2所示,其即是為此兩種類(lèi)型技術(shù)的示意圖。
上述第三種類(lèi)型的技術(shù)可省去上述額外的將所有參數(shù)投影至屏幕空間的步驟以及相伴而來(lái)的修正工作,且其所計(jì)算的是相同的勻相質(zhì)心(homogeneous barycentric)。請(qǐng)參閱圖3所示,其即是為此種類(lèi)型技術(shù)的示意圖。上述三種類(lèi)型的技術(shù)皆是針對(duì)每一像素進(jìn)行計(jì)算,因此若欲處理中大型三角形則所需計(jì)算量將大幅增加;此外,上述三種類(lèi)型的技術(shù)的施行皆需要可觀的專(zhuān)屬硬件配合,亦即其所使用的硬件資源無(wú)法分享供其它計(jì)算工作所使用。
具體來(lái)說(shuō),上述第一種類(lèi)型的技術(shù)的缺點(diǎn)包含a.為進(jìn)行上述的將所有參數(shù)投影至屏幕空間(即除以W)以使其線性化的步驟則需要額外的計(jì)算工作;b.投影步驟、插補(bǔ)步驟以及修正步驟以回復(fù)(recover)真實(shí)值(true value);c.1/W的插補(bǔ)工作需要額外的參數(shù)delta建立計(jì)算,故產(chǎn)生精確度的問(wèn)題;d.需通過(guò)由插補(bǔ)1/W_pix值的除法運(yùn)算回復(fù)每一像素中額外的真實(shí)參數(shù)值;以及e.需可觀的專(zhuān)屬硬件配合。
上述第二種類(lèi)型的技術(shù)的缺點(diǎn)包含a.同樣具有上述的將所有參數(shù)投影至屏幕空間(即除以W)以使其線性化的步驟及其所需的額外計(jì)算工作;b.同樣具有上述的用以回復(fù)真實(shí)值的投影步驟、插補(bǔ)步驟以及修正步驟;c.同樣具有上述的通過(guò)由插補(bǔ)1/W_pix值的除法運(yùn)算以回復(fù)每一像素中額外的真實(shí)參數(shù)值的步驟;以及d.需可觀的專(zhuān)屬硬件配合,且所使用的硬件無(wú)法分享以供其它計(jì)算工作使用。
上述第三種類(lèi)型的技術(shù)的缺點(diǎn)包含a.像素質(zhì)心(barycentric)的計(jì)算工作必須先于像素層級(jí)中完成,且遇到具有多重像素的三角形的狀況則計(jì)算工作量將呈倍數(shù)增加;以及b.可觀的專(zhuān)屬硬件。
因此,可大幅減少計(jì)算工作且不需大量專(zhuān)屬硬件配合的適以在硬件繪圖裝置中施行多邊形插補(bǔ)工作的方法和裝置是目前產(chǎn)業(yè)所迫切需要的。

發(fā)明內(nèi)容
為解決上述產(chǎn)業(yè)對(duì)于具有更佳效率的多邊形插補(bǔ)工作的需求,本發(fā)明提供了一種兼具快速、精確與高效率特性的解決方案,其是于硬件繪圖裝置中施行多邊形插補(bǔ)程序以找出一三角形中每一像素的個(gè)別參數(shù)的正確值(Z值、顏色、多重紋理坐標(biāo);multiple texturecoordinates)。在算法的施行上,本發(fā)明使用了一可程序單一指令多重資料純量單元(single instruction multiple data scalar unit;SIMD scalarunit);此可程序單一指令多重資料純量單元也可符合MicrosoftDx9.10與OpenGL API對(duì)于可程序繪圖機(jī)器的硬件需求而用于更專(zhuān)業(yè)的像素處理。本發(fā)明所提供的三角形插補(bǔ)算法可于上述的可程序單一指令多重資料純量單元中執(zhí)行,且其執(zhí)行效率可逼近上述的專(zhuān)屬硬件所能達(dá)到的。事實(shí)上,所有的插補(bǔ)操作原本就是在盡可能精確的前提下以浮點(diǎn)運(yùn)算進(jìn)行的。
為了達(dá)成上述目的,本發(fā)明提供了一種新的方法以獲取勻相空間中的屬性資料。此方法的步驟包含取得一個(gè)三角形的頂點(diǎn),其中,每一個(gè)頂點(diǎn)由一組在世界坐標(biāo)空間(world coordinate space)中的坐標(biāo)代表,且每一頂點(diǎn)皆具有其屬性(attribute);隨后,轉(zhuǎn)換每一個(gè)頂點(diǎn)在世界空間中的坐標(biāo)與屬性成為在觀看空間(viewer space)中相對(duì)應(yīng)的坐標(biāo)與屬性;之后,根據(jù)上述頂點(diǎn)的觀看空間坐標(biāo)計(jì)算其相對(duì)應(yīng)的勻相空間系數(shù)(homogeneous coefficients),并將上述頂點(diǎn)的觀看空間坐標(biāo)投影至屏幕空間(screen space)。本發(fā)明所提供的方法接著根據(jù)上述的三角形在上述屏幕空間中的坐標(biāo)判定會(huì)受到此三角形所影響的像素;最后則是根據(jù)上述的勻相空間系數(shù)針對(duì)上述的受三角形所影響的像素計(jì)算出一組位于勻相空間中的質(zhì)心(barycentric)系數(shù),并且根據(jù)該組勻相質(zhì)心系數(shù)與上述的位于觀看空間中頂點(diǎn)的屬性執(zhí)行一線性插補(bǔ)程序以得到該受影響像素位于勻相空間中的屬性。
本發(fā)明的一個(gè)優(yōu)點(diǎn)為與先前技藝相比較,本發(fā)明使用較少的運(yùn)算操作,因此與上述的在屏幕空間中依序執(zhí)行三角形插補(bǔ)與透視修正的方式相較,本發(fā)明具有較佳的效能。
本發(fā)明的另一優(yōu)點(diǎn)為可省去上述的為便于在屏幕空間中執(zhí)行插補(bǔ)工作并進(jìn)一步在觀看空間中執(zhí)行透視修正計(jì)算以回復(fù)真實(shí)值而所執(zhí)行的參數(shù)投影步驟。


上述本發(fā)明的發(fā)明特征、優(yōu)點(diǎn)與實(shí)施方式將通過(guò)由詳細(xì)敘述、權(quán)利要求與所附圖標(biāo)加以說(shuō)明,其中圖1所示為先前技藝中在卡氏坐標(biāo)下所執(zhí)行的三角形著色/描劃(rasterization)與插補(bǔ)方法;圖2所示為先前技藝中在屏幕質(zhì)心坐標(biāo)下所執(zhí)行的三角形著色/描劃(rasterization)與插補(bǔ)方法;圖3所示為另一先前技藝中在勻相質(zhì)心坐標(biāo)下所執(zhí)行的三角形插補(bǔ)方法;圖4A所示為一根據(jù)本發(fā)明所建構(gòu)的插補(bǔ)方法的流程圖;圖4B所示為一位于a.世界坐標(biāo)空間 b.勻相坐標(biāo)空間 c.屏幕坐標(biāo)空間中的三角形與受其所影響的像素;圖4C與圖4D所示為根據(jù)本發(fā)明所建構(gòu)的三角形建立方程序與像素處理方程式;圖5A所示為圖3與圖4所示方法的步驟的比較;圖5B所示為圖3與圖4所示運(yùn)算的比較列表;圖6A所示為一利用長(zhǎng)數(shù)據(jù)處理模式(long data processing mode)執(zhí)行三角形質(zhì)心插補(bǔ)(triangle barycentric interpolation)的可程序單元;圖6B所示為上述的可程序單元所使用的一指令集(instructionset);以及圖7所示為一執(zhí)行本發(fā)明的短數(shù)據(jù)處理模式(short data processingmode)的算術(shù)邏輯單元。
主要代表符號(hào)10可程序硬件單元;12單一指令多重資料純量單位;14微碼內(nèi)存;16,18算術(shù)邏輯單元;20倒數(shù)單元;22三角形著色/描畫(huà)器;24像素內(nèi)存單元;26頂點(diǎn)幾何處理單元;
28 三角形內(nèi)存單元;30,32 旁通緩存器;120三角形于世界坐標(biāo)空間中;120′ 三角形于勻相坐標(biāo)空間中;120″ 三角形于屏幕坐標(biāo)空間中;P1,P2,P3 世界坐標(biāo)空間三角形的頂點(diǎn);P1h,P2h,P3h 勻相坐標(biāo)空間三角形的頂點(diǎn);P1s,P2s,P3s 屏幕坐標(biāo)空間三角形的頂點(diǎn);具體實(shí)施方式
在一根據(jù)本發(fā)明所建構(gòu)的繪圖系統(tǒng)中,像素(primitives)首先被分解成個(gè)別的小三角形,隨后進(jìn)一步處理這些小三角形以便于使原圖像有較佳的呈現(xiàn)效果。為使上述的三角形處理過(guò)程易于了解,參閱圖4A所示,其為一根據(jù)本發(fā)明所建構(gòu)的三角形插捕方法的步驟流程圖。具體來(lái)說(shuō),此方法是用于三角形著色/描劃(rasterizing)工作以及利用勻相質(zhì)心坐標(biāo)(barycentric coordinate)所進(jìn)行的線性參數(shù)插補(bǔ)(linearparameter interpolation)工作。本方法使用一在兩種不同層級(jí)中進(jìn)行的系數(shù)計(jì)算(coefficient calculation),其中,上述的″兩種層級(jí)″分別是指三角形層級(jí)與像素層級(jí);在此兩種層級(jí)中執(zhí)行的某些計(jì)算操作可同時(shí)進(jìn)行,其詳細(xì)執(zhí)行步驟將于后敘述。在以下的敘述中,計(jì)算操作步驟將表示于橢圓形方塊中,而所得結(jié)果資料集(data set)將表示于長(zhǎng)方形方塊中。
為將圖4A中所示的方法作更為清楚的解說(shuō),圖4B中所示的包含a.一位于世界坐標(biāo)空間(world coordinates space)中的三角形120;b.一位于勻相坐標(biāo)空間(homogeneous coordinates space)中的三角形120′;以及c.一位于屏幕坐標(biāo)空間(screen coordinates space)中,且?guī)в惺芷渌绊懙南袼氐娜切?20″。在世界坐標(biāo)空間中的三角形120是以三個(gè)頂點(diǎn)P1、P2以及P3所定義,其中,此三頂點(diǎn)P1、P2以及P3的坐標(biāo)分別為[X1,Y1,Z1][X2,Y2,Z2]以及[X3,Y3,Z3]且此三頂點(diǎn)P1、P2以及P3的屬性數(shù)據(jù)則是分別為p1a、p1b...;p2a、p2b...;p3a、p3b...。
因此,在上述的三角形層級(jí)中,三角形的資料集(data set)是首先在世界坐標(biāo)空間中通過(guò)由三角形的三頂點(diǎn)坐標(biāo)以及其所對(duì)應(yīng)的紋理坐標(biāo)(texture coordinate)加以特征化,其結(jié)果則是如下所示{[X1,Y1,Z1,1][p1a,p1b,...]},{[X2,Y2,Z2,1][p2a,p2b,...]},{[X3,Y3,Z3,1][p3a,p3b,...]}上述世界坐標(biāo)空間(三維空間)的作用為在執(zhí)行一幾何轉(zhuǎn)換操作(geometric transformation)前定義一對(duì)象(object)。上述的三角形資料集于世界空間中建立之后,接著則被轉(zhuǎn)換至一觀看坐標(biāo)空間(viewercoordinate space)中并被修剪(clipped)以成為一觀看體積(viewvolume)?;旧?,最先在世界坐標(biāo)空間中被指定的三角形會(huì)被當(dāng)作一觀看點(diǎn)(viewpoint)處理。在觀看空間中,此觀看點(diǎn)所在之處即是為坐標(biāo)原點(diǎn),且觀看線(view ray)是順著Z軸而延伸出去。在觀看空間中經(jīng)上述的計(jì)算處理所得的三角形資料集,亦即圖4B的b部分中所示的位于觀看空間(勻相空間)中的三角形120′,表示如下{[X1h,Y1h,Z1h,W1][plah,plbh,...]},{[X2h,Y2h,Z2h,W2][p2ah,p2bh,...]},{[X3h,Y3h,Z3h,W3][p3ah,p3bh,...]},其中,[X1h,Y1h,Z1h]、[X2h,Y2h,Z2h]與[X3h,Y3h,Z3h]是為在勻相空間中個(gè)別頂點(diǎn)的坐標(biāo);W1、W2與W3為個(gè)別頂點(diǎn)的透視修正參數(shù)(perspective correction parameter);plah,plbh,...、p2ah,p2bh,...與p3ah,p3bh,...則是為在勻相空間中個(gè)別頂點(diǎn)的屬性數(shù)據(jù)。
在轉(zhuǎn)換至觀看坐標(biāo)空間的步驟進(jìn)行之后,隨之進(jìn)行的為一三角形建立程序(triangle setup phase),此程序自上述的勻相空間中的三角形資料集導(dǎo)出三組勻相系數(shù)(a1,b1,c1)、(a2,b2,c2)與(a3,b3,c3),例如,a1=Y(jié)2h*W3-Y3h*W2。推廣來(lái)說(shuō)則此三組勻相系數(shù)是由下列方式得出ai=Y(jié)jh·Wk-Ykh·Wj;
bi=Xjh·Wk-Xkh·Wj;以及ci=Xjh·Ykh-Xkh·Yjh,其中i,j&k=1,2&3.
同時(shí),較佳的方式是將此三角形觀看空間資料集投影至屏幕坐標(biāo)空間中以產(chǎn)生{[X1s,Y1s],[X2s,Y2s],[X3s,Y3s]}。
屏幕坐標(biāo)空間需要更進(jìn)一步的轉(zhuǎn)換以將對(duì)象在屏幕坐標(biāo)系統(tǒng)中的幾何形式經(jīng)由投影與轉(zhuǎn)換動(dòng)作在最后顯示對(duì)象時(shí)賦予對(duì)象深度。參閱圖4A所示,上述的三角形資料集接著被著色/描畫(huà)(rasterized)以產(chǎn)生空白像素資料(blank pixel data)。上述的著色/描畫(huà)動(dòng)作進(jìn)行時(shí)是將像素如三角形等切割成為個(gè)別的像素,并執(zhí)行一Z方向緩沖動(dòng)作(Z-buffering)(以便于獲取深度的有關(guān)資料,也就是Z方向的資料)與其它像素層級(jí)的功能操作。因此,對(duì)于被一三角形(也即圖4B的c部分中所示的120″)所覆蓋的N個(gè)像素,上述的著色/描畫(huà)動(dòng)作所產(chǎn)生的空白像素資料將由在屏幕空間中的N個(gè)坐標(biāo)所描述,且其表示方法如下{[X1s,Y1s],[X2s,Y2s],...[XNs,YNs]}。
如圖4B中所示,隨后進(jìn)行的為一像素建立程序(pixel setupphase),也即,在勻相空間中,對(duì)于每一個(gè)被三角形所覆蓋的像素P,會(huì)有一組勻相空間系數(shù)d1、d2與d3以及一組質(zhì)心系數(shù)(barycentriccoefficient)α、β與γ被計(jì)算出來(lái),并由此可得到該受三角形所影響的像素的勻相質(zhì)心資料(homogeneous barycentric data)。上述的像素建立程序即是利用來(lái)自上述三角形建立程序的資料與自上述的著色/描畫(huà)步驟所得到的空白像素資料所進(jìn)行。
最后,一插補(bǔ)程序(interpolation phase)藉由上述計(jì)算的質(zhì)心坐標(biāo)以針對(duì)各個(gè)像素的勻相坐標(biāo)以及屬性資料進(jìn)行線性插補(bǔ)動(dòng)作。此程序包含對(duì)于在勻相空間中的Z方向坐標(biāo)Zh、上述的透視修正參數(shù)W,以及上述的在勻相空間中的屬性資料Pah,Pbh,...的線性插補(bǔ)動(dòng)作。對(duì)于每一像素,經(jīng)此程序所得的Z方向坐標(biāo)Z_pix為
Z_pix=α·Z1h與β·Z2h+γ·Z3h;經(jīng)此程序所得的透視修正參數(shù)W為W_pix=α·W1+β·W2+γ·W3;以及對(duì)每一像素而言,其每一種屬性資料在經(jīng)此程序后所得的屬性Phi為Phi_pix=α·P1hi+β·P2hi+γ·P3hi.
在經(jīng)過(guò)線性插補(bǔ)動(dòng)作后,所得的帶有深度屬性資料的像素資料可以描述如下{[X1s,Y1s,Z1s,W1h][p1a,p1b,...]},{[X2s,Y2s,Z2s,W2h][p2a,p2b,...]},{[X3s,Y3s,Z3h,W3h][p3a,p3b,...]},...
更具體地說(shuō),如圖4C與圖4D所示,其即為上述各步驟中所使用的根據(jù)本發(fā)明所建構(gòu)的三角形建立方程序與像素處理方程式(trianglesetup and pixel processing formulae)。如圖所示,對(duì)于三角形中的每一像素,其坐標(biāo)皆可從三角形的三頂點(diǎn),利用其質(zhì)心系數(shù)表示出;此種表示方式特別常用在紋理相關(guān)應(yīng)用技術(shù)(texture application techniques)中。例如,Silicon Graphics公司所出的的產(chǎn)品OpenGLTM中即定義有一質(zhì)心坐標(biāo)系統(tǒng)給定一具有三個(gè)頂點(diǎn)P1(x1,y1,z1)、P2(x2,y2,z2)以及P3(x3,y3,z3)的三角形,一位于該三角形所在平面上的定點(diǎn)P(x,y,z)的位置可用上述的三個(gè)頂點(diǎn)加以表示,其表示方法為P=αP1+βP2+γP3。其中,α、β與γ質(zhì)心系數(shù)。因此,此定點(diǎn)P的坐標(biāo)可以如下方式表示X=αx1+βx2+γx3,以及Y=αy1+βy2+γy3。
所應(yīng)注意的是,此定點(diǎn)P是以一組特定的質(zhì)心坐標(biāo)所表示,且該坐標(biāo)需滿(mǎn)足α+β+γ=1的條件。
因此,以質(zhì)心系數(shù)為基礎(chǔ),每一受三角形所影響的像素的X與Y坐標(biāo)皆可被推導(dǎo)而得出,也即定點(diǎn)P可為三角形三頂點(diǎn)(P1,P2,P3)的線性組合。由于此質(zhì)心系數(shù)可應(yīng)用于像素任一屬性資料的插補(bǔ)工作,包含Z坐標(biāo)(深度)、顏色、UV坐標(biāo)...等,因此只要計(jì)算出質(zhì)心系數(shù),則上述的屬性數(shù)據(jù)皆可從而計(jì)算得到。其中,α、β與γ的計(jì)算方式是如圖4C的方程式(1)所表示。此外,計(jì)算出質(zhì)心系數(shù)之后,此質(zhì)心系數(shù)也可用于整個(gè)多邊形(三角形)的插補(bǔ)工作;更進(jìn)一步,由于利用勻相質(zhì)心坐標(biāo)可幫助定位每一像素點(diǎn)(P),因此可藉由指定各點(diǎn)的位置對(duì)多邊形進(jìn)行加上陰影或是紋理貼圖(texture mapping)的工作。
分別給予三角形的三頂點(diǎn)i=1,2,3、j=i mode3+1與k=j(luò)mode3+1的編號(hào)順序并且如方程式(2)所示令ai=y(tǒng)i-yk、bi=xk-xj且ci=xj*yk-xk*yj;將上述兩者代入方程式(1)中則可得如方程式(3)所示的質(zhì)心系數(shù)的相互關(guān)系。
如方程式(4)所示,其是為定點(diǎn)P的透視修正參數(shù)w。如圖所示,w是為上述的質(zhì)心系數(shù)α、β與γ以及三角形三頂點(diǎn)個(gè)別的透視修正參數(shù)w1、w2與w3的函數(shù)。應(yīng)注意的是,保存透視修正參數(shù)w的目的為保存與觀看點(diǎn)(viewpoint)之間距離的信息。然而,在進(jìn)行再計(jì)算以獲取勻相(觀看點(diǎn))空間中的質(zhì)心坐標(biāo)之前,頂點(diǎn)坐標(biāo)(xi,yi)須先利用相對(duì)應(yīng)的修正參數(shù)wi以轉(zhuǎn)換為在勻相空間中的坐標(biāo) 接著利用修正參數(shù)w以導(dǎo)出定點(diǎn)P在勻相空間中的坐標(biāo) 隨后,進(jìn)行一系列的計(jì)算操作以作為計(jì)算質(zhì)心坐標(biāo)的準(zhǔn)備,其包括(1)對(duì)于每一三角形計(jì)算三組勻相空間系數(shù)ai、bi與ci,此三組勻相空間系數(shù)可由受三角形所影響的每一像素分享使用;(2)利用個(gè)別透視修正參數(shù)wi轉(zhuǎn)換上述的勻相空間系數(shù)至勻相空間以得到 以及(3)針對(duì)每一像素計(jì)算di。如圖4D的方程式(6)所示,計(jì)算出d1、d2與d3之后,對(duì)于定點(diǎn)P而言,其在勻相空間中之質(zhì)心系數(shù) 可接著被計(jì)算出來(lái)以完成在勻相空間中的三角形插補(bǔ)動(dòng)作,如方程式(5)所示。藉由上述的對(duì)受三角形影響的像素中每一定點(diǎn)P的插補(bǔ)動(dòng)作,上述的勻相空間中的質(zhì)心系數(shù)將可進(jìn)一步用以獲取真實(shí)值(如此則已避免進(jìn)行上述除以1/W的動(dòng)作)。如此,則此三角形的對(duì)象已被具有恰當(dāng)?shù)纳疃葘傩再Y料的像素所仿真。
參閱圖5A所示,其為圖3與圖4A中所示步驟的比較。左側(cè)具陰影的方塊中所示的步驟為圖3中所示與圖4A中不同的;右側(cè)具陰影的方塊中所示的步驟為圖4A中所示與圖3中不同的。不具陰影的方塊中所示的步驟則是圖3與圖4A中皆有出現(xiàn)的。參閱圖5B所示,其為圖3與圖4A中所示步驟于操作數(shù)目上的比較表。
本發(fā)明所提供的方法與圖3中所示的不同處在于,本發(fā)明對(duì)于勻相空間中質(zhì)心的計(jì)算分別在兩種層級(jí)中進(jìn)行(a)三角形層級(jí);以及(b)像素層級(jí),此一方式在遇到具有多重像素的三角形的狀況時(shí)可減少所需計(jì)算工作量。本發(fā)明所提供的方法與第三圖中所示的另一不同處則為本發(fā)明所需運(yùn)算操作的數(shù)目較少,因而與先前技術(shù)中依序執(zhí)行在屏幕空間中的三角形插補(bǔ)動(dòng)作與透視修正動(dòng)作的方式相比,本發(fā)明可提供較佳的運(yùn)算效能。此外,本發(fā)明所提供的方法可避免先前技術(shù)中依序執(zhí)行在屏幕空間中的插補(bǔ)動(dòng)作與透視修正動(dòng)作以便于回復(fù)觀點(diǎn)空間中的真實(shí)值的過(guò)程所需的參數(shù)投影動(dòng)作。
本發(fā)明的一特點(diǎn)為提供一種相當(dāng)精確而快速的三角形插補(bǔ)方法,其是利用相同的算述邏輯單元(ALU)執(zhí)行三角形與像素的處理工作,其中,上述的處理工作內(nèi)容是不斷穿插有用以處理三角形與用以處理像素的指令。本發(fā)明中執(zhí)行插補(bǔ)工作的硬件單一指令多重資料(SIMD)單元的大小可調(diào)整以增加質(zhì)心插補(bǔ)工作執(zhí)行性能。此硬件單元可隨所需的精確度與工作性能而作調(diào)整,并可用于其它的繪圖處理工作,據(jù)以增加整體效益。此外,此可程序單一指令多重資料純量單元(programmable SIMD scalar unit)也可符合Microsoft Dx9,10 andOpenGL API對(duì)于可程序繪圖機(jī)器的硬件需求而用于更專(zhuān)業(yè)的像素處理工作;本發(fā)明所提供的三角形插補(bǔ)方法比先前技術(shù)更適合施行在可程序繪圖處理單元上,且可提供逼近專(zhuān)屬硬件的工作效率。
本發(fā)明所使用的是一施行于一通用可程序單元(universalprogrammable unit)上的裝置,其中,此裝置并可取代個(gè)別的深度、顏色以及紋理插補(bǔ)器。請(qǐng)參閱圖6A所示,其為一根據(jù)本發(fā)明的一實(shí)施例所建構(gòu)的可程序硬件單元10的示意圖。此通用硬件單元10包含一可程序單一指令多重資料(SIMD)純量單元12以執(zhí)行不同類(lèi)型的插補(bǔ)工作。尤其,此可程序單一指令多重資料純量單元12能夠以逼近專(zhuān)屬硬件的執(zhí)行效率執(zhí)行本發(fā)明所提供的三角形插補(bǔ)算法(triangleinterpolation algorithm)。事實(shí)上,所有的插補(bǔ)操作皆是在盡可能精確的前提下,以浮點(diǎn)運(yùn)算的方式進(jìn)行的。上述的硬件單元10可包含復(fù)數(shù)個(gè)可程序單一指令多重資料純量單元12以達(dá)到提高性能的目的。
上述的硬件單元10是為一具有雙算術(shù)邏輯單元(ALU)的硬件單元,其中純量算術(shù)邏輯單元16與18是配合一平移(shifted)處理周期以執(zhí)行工作。上述周期的平移是藉由旁通緩存器(bypass register)30與32以達(dá)成。在個(gè)別時(shí)脈中,此硬件單元10根據(jù)所需的精確度以及所接收的三角形或像素處理相關(guān)指令以執(zhí)行一個(gè)三角形或是復(fù)數(shù)個(gè)像素(例如2到4個(gè)像素)的處理工作,其中,上述的三角形處理相關(guān)指令與像素處理相關(guān)指令是不固定地交互出現(xiàn)。另有一倒數(shù)單元(reciprocalunit)20是用以處理相除計(jì)算(division calculation)操作(參閱圖4A、圖4C與圖4D中所示的方法及方程式)。上述的單一指令多重?cái)?shù)據(jù)處理算法(SIMD Processing algonthm)是在一微碼內(nèi)存(microcode memory)14中執(zhí)行且所有指令集皆經(jīng)過(guò)最佳化處理以減少指令的數(shù)目。上述的硬件單元10也包含一三角形著色/描畫(huà)器(triangle rasterizer)22;其所產(chǎn)生的空白像素屏幕坐標(biāo)資料(blank pixel screen coordinates data)則儲(chǔ)存于一像素內(nèi)存單元(pixel memory unit)24中。此外,三角形在勻相空間中的坐標(biāo)資料是由一頂點(diǎn)幾何處理單元(vertex geometry processingunit)26產(chǎn)生,且此資料是儲(chǔ)存于一三角形內(nèi)存單元(triangle memoryunit)28中。
參閱圖6B所示,其為一單一指令多重?cái)?shù)據(jù)算術(shù)邏輯單元指令集(SIMD ALU instruction set)。為縮短程序的長(zhǎng)度(length of theprogram),可將兩種分別為長(zhǎng)浮點(diǎn)(long floating point;long FP)類(lèi)型以及短浮點(diǎn)(short FP)類(lèi)型的資料個(gè)別或混合處理。執(zhí)行圖4D中方程式(6)的計(jì)算工作時(shí)所需的指令類(lèi)型其中之一是為″交叉模式長(zhǎng)指令″(CrossMode Long instruction),其內(nèi)容為XPRDL、D、D″、P0與P1;其是用以產(chǎn)生一交叉積值(cross product),例如,指令″X(qián)PRDL、A0、V1.yw與V2.yw是用以計(jì)算一勻相系數(shù)a1。之后,一″折合長(zhǎng)指令″(FoldedLong instruction)則被用以計(jì)算di值;此折合長(zhǎng)指令也可產(chǎn)生交叉積值,其內(nèi)容則是為FSUBL、D、P0″與P2″。
為詳述上述指令的使用方式,以下將提出實(shí)例程序以為說(shuō)明在此程序中,指令XPRDL被重復(fù)使用以因應(yīng)執(zhí)行方程式(6)中i=0、1與2(也即a0、a1、a2、b0、b1、b2、c0、c1以及c2)的狀況所需的計(jì)算工作。應(yīng)注意的是此程序中標(biāo)號(hào)i等于0、1與2而非如上所述的1、2與3,然而計(jì)算結(jié)果則并不受此影響。此外,指令MOV、FBL(折合參雜模式;′Folded Blend Mode′)、FWD與FSUBL(折合長(zhǎng);″FoldedLong′)等是用以因應(yīng)在執(zhí)行像素質(zhì)心系數(shù)(α,β,γ)的計(jì)算工作時(shí)方程式(5)所需;指令MULL(長(zhǎng)乘法;multiply long)以及FSUBL則是用在如圖4A中所示的像素屬性插補(bǔ)工作。
具體而言,以下所列出的是對(duì)于(i)三角形建立工作;(ii)像素處理工作;以及(iii)像素屬性資料插補(bǔ)工作而言所需的計(jì)算及其相對(duì)應(yīng)的單一指令多重?cái)?shù)據(jù)算術(shù)邏輯單元指令集(instruction set of SIMDALU)<pre listing-type="program-listing"><![CDATA[  ∥Barycentric triangle setup  ∥The calculations as required by Equation(6)for index i=0  #tri_a
=v[1].y*v[2].w-v[2].y*v[1].w  #tri_b
=v[2].x*v[1].w-v[1].x*v[2].w  #tri_c
=v[1].x*v[2].y-v[2].x*v[1].y  ∥  ∥The calculations as required by Equation(6)for index i=1  #tri_a[1]=v[2].y*v
.w-v
.y*v[2].w  #tri_b[1]=v
.x*v[2].w-v[2].x*v
.w  #tri_c[1]=v[2].x*v
.y-v
.x*v[2].y∥  ∥The calculations as required by Equation(6)for index i=2  #tri_a[2]=v
.y*v[1].w-v[1].y*v
.w  #tri_b[2]=v[1].x*v
.w-v
.x*v[1].w  #tri_c[2]=v
.x*v[1].y-v[1].x*v
.y]]></pre>實(shí)現(xiàn)上述的計(jì)算需執(zhí)行下列指令(單一指令多重?cái)?shù)據(jù)4位模式需執(zhí)行9個(gè)指令)<pre listing-type="program-listing"><![CDATA[  ∥  ∥The instructions for executing calculations as required by Equation(6)for index i=0  XPRDL A0,V1.yw,V2.yw  XPRDL B0,-V1.xw,V2.xw  XPRDL C0,V1.xy,V2.xy  ∥  ∥The instructions for executing calculations as required by Equation(6)for index i=1  XPRDL A1,V2.yw,V0.yw  XPRDL B1,-V2.xw,V0.xw  XPRDL C1,V2.xy,V0.xy  ∥  ∥The instructions for executing calculations as required by Equation(6)for index i=2  XPRDL A2,V0.yw,V1.yw  XPRDL B2,-V0.xw,V1.xw  XPRDL C2,V0.xy,V1.xy  ∥Pixel barycentric data processing,as required by Equation(5)  ∥Barycentric parameters calculation for each pixel,with calculationsof di for i=0,1,2#pix_d
=x*tri_a
+y*tri_b
+tri_c
  #pix_d[1]=x*tri_a[1]+y*tri_b[1]+tri_c[1]  #pix_d[2]=x*tri_a[2]+y*tri_b[2]+tri_c[2]  #pix_d[3]=1/(pix_d
+pix_d[1]+pix d[2])  ∥  ∥Pixel barycentric coefficients(α,β,γ)calculation based on di  #alpha=pix_d
*pix_d[3]  #beta=pix_d[1]*pix_d[3]  #gamma=1-alpha-beta]]></pre>實(shí)現(xiàn)上述計(jì)算需執(zhí)行下列指令(需執(zhí)行7個(gè)指令)<pre listing-type="program-listing"><![CDATA[  ∥  MOV pr,xy  FBLDL D0,pr,AB0,C0  FBLMP NULL,D1,pr,AB1,C1,AB2,C2  FWD RCPL  MULL ALPHA,D0,ACC  MULL BETA,D1,ACC  FSUBL GAMMA,HW_ONE,ALPHA,0,BETA  ∥Pixel attribute interpolation  ∥Required calculations  #pix_att=V_att0*alpha+V_att1*beta+v_att2*gamma  #Z interpolation mode-long operands]]></pre>實(shí)現(xiàn)上述計(jì)算需執(zhí)行下列指令(單一指令多重?cái)?shù)據(jù)8位模式需執(zhí)行兩個(gè)指令)<pre listing-type="program-listing"><![CDATA[  ∥  MULL R0,ALPHA,V_ATT0  FBLDL PIX_ATT,BETA,V_ATT1,R0,GAMMA,V_ATT2∥Other attribute mode-short parameter operands(with 3instructions,for SIMD 16 bits(word)mode)  ∥  MULM r0,v_att0,ALPHA  MADM r0,v_att1,BETA,r0  MADM pix_att,v_att2,GAMMA,r0  ∥]]></pre>最后參閱圖7所示,其為一單一指令多重?cái)?shù)據(jù)-算術(shù)邏輯單元結(jié)構(gòu)(SIMD-ALU structure),此單元是用于根據(jù)本發(fā)明的一實(shí)施例所建構(gòu)的方法中的短數(shù)據(jù)處理模式。如前所述,此單元是由算術(shù)邏輯單元16(ALU0 16)與算術(shù)邏輯單元18(ALU118)兩個(gè)算術(shù)邏輯單元所構(gòu)成。如圖所示,算術(shù)邏輯單元16與算術(shù)邏輯單元18皆利用乘法運(yùn)算(multiplication)、平移(shifting)以及其它額外的操作以處理上述各系數(shù)如c1、a1h、b01、a11、b11、a0h、b0h、a01、b1h與c0。算術(shù)邏輯單元16與算術(shù)邏輯單元18在一個(gè)平移周期操作(shift-cycle operation)中,藉由旁通緩存器30與旁通緩存器32以處理4個(gè)像素,其中,每個(gè)平移周期操作包含18×4=72個(gè)位。
由以上所述,本發(fā)明所提供的方法與插補(bǔ)算法能夠以極高的效率與精確度在浮點(diǎn)算術(shù)單元上運(yùn)作;此外,與先前技術(shù)相比,本發(fā)明可改善在三角形尺寸大于一個(gè)像素的狀況時(shí)三角形插補(bǔ)工作的工作效率,并且藉由將勻相質(zhì)心坐標(biāo)的計(jì)算工作分成在三角形層級(jí)與像素層級(jí)上執(zhí)行,本發(fā)明可簡(jiǎn)化執(zhí)行像素層級(jí)的插補(bǔ)工作所需的硬件。
上述的詳細(xì)敘述僅為本發(fā)明的較佳實(shí)施例,本發(fā)明仍可能有其它形式的實(shí)施方式,因此,本發(fā)明的精神與范圍不應(yīng)限制于上述的實(shí)施例中。
權(quán)利要求
1.一種用以獲取一位于勻相空間中三角形的一屬性資料的方法,該方法包含獲取該三角形的頂點(diǎn),其中每一該頂點(diǎn)是以一組位于世界坐標(biāo)空間中的坐標(biāo)表示且其具有一屬性資料;對(duì)于每一該頂點(diǎn),轉(zhuǎn)換該頂點(diǎn)位于世界空間中的該組坐標(biāo)與該屬性資料至一觀看空間坐標(biāo)及一組觀看空間中的屬性資料,根據(jù)該觀看空間坐標(biāo)以計(jì)算得一組該頂點(diǎn)的勻相系數(shù),并投影該觀看空間坐標(biāo)至一屏幕空間坐標(biāo);根據(jù)該屏幕空間坐標(biāo)決定在屏幕空間中受該三角形所影響的像素;以及對(duì)于每一該受該三角形所影響的像素,根據(jù)該勻相系數(shù)以計(jì)算得一組位于勻相空間中的質(zhì)心系數(shù),并根據(jù)該組勻相質(zhì)心系數(shù)與該頂點(diǎn)位于觀看空間中的該屬性資料執(zhí)行一線性插補(bǔ)動(dòng)作以得到受該三角形所影響的該像素位于勻相空間中的屬性數(shù)據(jù)。
2.如權(quán)利要求1所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中對(duì)于每一該頂點(diǎn)而言,該頂點(diǎn)位于觀看空間中的該坐標(biāo)與該屬性資料是以[Xih,Yih,Zih,Wi]與[piah]所表示,其中,i是一與該頂點(diǎn)相配合的標(biāo)號(hào)且i=1,2,3,且Wi為一透視修正參數(shù)。
3.如權(quán)利要求2所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中上述頂點(diǎn)的該勻相系數(shù)為 且其計(jì)算方式是根據(jù)該觀看空間坐標(biāo)以及以下計(jì)算式a~i=Y~jh&CenterDot;Wk-Y~kh&CenterDot;Wj;]]>b~i=X~jh&CenterDot;Wk-X~kh&CenterDot;Wj;]]>與c~i=X~jh&CenterDot;Y~kh-X~kh&CenterDot;Y~jh;]]>其中,j=i mod3+1且k=j(luò) mode3+1,且Wj與Wk為透視修正參數(shù)。
4.如權(quán)利要求1所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中上述決定受該三角形所影響的該像素的步驟包含著色/描畫(huà)該三角形。
5.如權(quán)利要求1所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中上述決定受該三角形所影響的該像素的步驟包含提供與受該三角形所影響的該像素相關(guān)的空白像素資料。
6.如權(quán)利要求5所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中對(duì)于N個(gè)受該三角形所影響的該像素,該空白像素資料包含N個(gè)該屏幕空間坐標(biāo){[X1s,Y1s],[X2s,Y2s],...[XNs,YNs]}。
7.如權(quán)利要求4所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中上述的著色/描畫(huà)步驟提供與受該三角形所影響的該像素相關(guān)的空白像素資料。
8.如權(quán)利要求3所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中α、β與γ分別代表該組質(zhì)心系數(shù),d1、d2與d3是用以表示中間值,且對(duì)于每一該像素,用以計(jì)算該組質(zhì)心系數(shù)的該計(jì)算工作包含利用該勻相系數(shù) 與下列計(jì)算式di=(a~i&CenterDot;X+b~i&CenterDot;Y+c~i)]]>計(jì)算d1、d2與d3;以及利用該中間值d1、d2與d3與下列計(jì)算式&alpha;=d1d1+d2+d3;]]>&beta;=d2d1+d2+d3;]]>與&gamma;=d3d1+d2+d3]]>計(jì)算該勻相空間質(zhì)心系數(shù)α、β與γ。
9.如權(quán)利要求8所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中上述的對(duì)于每一該像素的線性插補(bǔ)動(dòng)作包含對(duì)于Z_pix、W_pix與Phi_pix的計(jì)算工作,其中,Z_pix是為一位于勻相空間中的Z方向坐標(biāo);W_pix是為一透視修正參數(shù);Phi_pix是為該像素位于勻相空間中的屬性資料,該計(jì)算工作所使用的計(jì)算式如下Z_pix=α·Z1h+β·Z2h+γ·Z3h;W_pix=α·W1+β·W2+γ·W3;與Phi_pix=α·P1hi+β·P2hi+γ·P3hi
10.如權(quán)利要求1所述的用以獲取一位于勻相空間中三角形的一屬性資料的方法,其中上述的每一受該三角形所影響的該像素的位置與深度是以位于勻相空間中的該坐標(biāo)表示。
11.一種用以獲取一位于勻相空間中的三角形的一屬性資料的系統(tǒng),該系統(tǒng)包含一獲取裝置,該裝置是用以獲取該三角形的頂點(diǎn),其中每一該頂點(diǎn)是以一組位于世界坐標(biāo)空間中的坐標(biāo)表示且其具有一屬性資料;一轉(zhuǎn)換裝置以對(duì)于每一該頂點(diǎn),轉(zhuǎn)換該頂點(diǎn)位于世界空間中的該組坐標(biāo)與該屬性資料至一觀看空間坐標(biāo)及一組觀看空間中的屬性資料,一第一運(yùn)算裝置以根據(jù)該觀看空間坐標(biāo)以計(jì)算得一組該頂點(diǎn)的勻相系數(shù),一投影裝置以進(jìn)一步投影該觀看空間坐標(biāo)至一屏幕空間坐標(biāo);一裁決裝置以根據(jù)該屏幕空間坐標(biāo)決定在屏幕空間中受該三角形所影響的像素;以及一第二運(yùn)算裝置以對(duì)于每一受該三角形所影響的該像素,根據(jù)該勻相系數(shù)以計(jì)算得一組位于勻相空間中的質(zhì)心系數(shù),一執(zhí)行裝置以根據(jù)該組勻相質(zhì)心系數(shù)與該頂點(diǎn)位于觀看空間中的該屬性資料執(zhí)行一線性插補(bǔ)動(dòng)作以得到受該三角形所影響的該像素位于勻相空間中的屬性執(zhí)行。
12.如權(quán)利要求11所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中對(duì)于每一該頂點(diǎn)而言,該頂點(diǎn)位于觀看空間中的該坐標(biāo)與該屬性資料是以[Xih,Yih,Zih,Wi]與[piah]所表示,其中,i是一與該頂點(diǎn)相配合的標(biāo)號(hào)且i=1,2,3,且Wi為一透視修正參數(shù)。
13.如權(quán)利要求12所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中上述頂點(diǎn)的該勻相系數(shù)為 且其計(jì)算方式是根據(jù)該觀看空間坐標(biāo)以及以下計(jì)算式a~i=Y~jh&CenterDot;Wk-Y~kh&CenterDot;Wj;]]>b~i=X~jh&CenterDot;Wk-X~kh&CenterDot;Wj;]]>與c~i=X~jh&CenterDot;Y~kh-X~kh&CenterDot;Y~jh;]]>其中,j=i mod3+1且k=j(luò) mode3+1,且Wj與Wk為透視修正參數(shù)。
14.如權(quán)利要求11所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中上述決定受該三角形所影響的該像素的步驟包含著色/描畫(huà)該三角形。
15.如權(quán)利要求11所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中上述決定受該三角形所影響的該像素的步驟包含提供與受該三角形所影響的該像素相關(guān)的空白像素資料。
16.如權(quán)利要求15所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中對(duì)于N個(gè)受該三角形所影響的該像素,該空白像素資料包含N個(gè)該屏幕空間坐標(biāo){[X1s,Y1s],[X2s,Y2s],...[XNs,YNs]}。
17.如權(quán)利要求13所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中α、β與γ分別代表該組質(zhì)心系數(shù),d1、d2與d3是用以表示中間值,且對(duì)于每一該像素,用以計(jì)算該組質(zhì)心系數(shù)的該計(jì)算工作包含利用該勻相系數(shù) 與下列計(jì)算式di=(a~i&CenterDot;X+b~i&CenterDot;Y+c~i)]]>計(jì)算d1、d2與d3;以及利用該中間值d1、d2與d3與下列計(jì)算式&alpha;=d1d1+d2+d3;]]>&beta;=d2d1+d2+d3;]]>與&gamma;=d3d1+d2+d3]]>計(jì)算該勻相空間質(zhì)心系數(shù)α、β與γ。
18.如權(quán)利要求17所述的用以獲取一位于勻相空間中三角形的一屬性資料的系統(tǒng),其中上述的對(duì)于每一該像素的線性插補(bǔ)動(dòng)作包含對(duì)于Z_pix、W_pix與Phi_pix的計(jì)算工作,其中,Z_pix是為一位于勻相空間中的Z方向坐標(biāo);W_pix是為一透視修正參數(shù);Phi_pix是為該像素位于勻相空間中的屬性資料,該計(jì)算工作所使用的計(jì)算式如下Z_pix=α·Z1h+β·Z2h+γ·Z3h;W_pix=α·W1+β·W2+γ·W3;與Phi_pix=α·P1hi+β·P2hi+γ·P3hi
19.一種用以獲取位于勻相空間中的一屬性資料的可程序裝置,該可程序裝置包含一計(jì)算單元;一處理器;以及一帶有程序指令的內(nèi)存,該處理器與該內(nèi)存相連結(jié)以執(zhí)行操作,且該計(jì)算單元是用以令該可程序裝置執(zhí)行如下的步驟操作獲取一三角形的頂點(diǎn),其中每一該頂點(diǎn)是以位于世界坐標(biāo)空間中的一組坐標(biāo)表示且其具有一屬性資料;對(duì)于每一該頂點(diǎn),轉(zhuǎn)換該頂點(diǎn)位于世界空間中的該組坐標(biāo)與該屬性資料至一觀看空間坐標(biāo)及一組觀看空間中的屬性資料,根據(jù)該觀看空間坐標(biāo)以計(jì)算得一組該頂點(diǎn)的勻相系數(shù),并投影該觀看空間坐標(biāo)至一屏幕空間坐標(biāo);根據(jù)該屏幕空間坐標(biāo)決定在屏幕空間中受該三角形所影響的像素;以及對(duì)于每一該受該三角形所影響的像素,根據(jù)該勻相系數(shù)以計(jì)算得一組位于勻相空間中的質(zhì)心系數(shù),并根據(jù)該組勻相質(zhì)心系數(shù)與該頂點(diǎn)位于觀看空間中的該屬性資料執(zhí)行一線性插補(bǔ)動(dòng)作以得到受該三角形所影響的該像素位于勻相空間中的該屬性數(shù)據(jù)。
全文摘要
一種用以獲取一位于勻相空間中像素的屬性資料的方法及其裝置。本方法首先獲取一三角形的頂點(diǎn),隨后每一頂點(diǎn)的世界空間坐標(biāo)與屬性資料被轉(zhuǎn)換成為位于觀看空間中的觀看空間坐標(biāo)與屬性資料。接著,對(duì)于每一頂點(diǎn),根據(jù)上述的觀看空間坐標(biāo)以計(jì)算一組勻相系數(shù),并投影每一頂點(diǎn)的觀看空間坐標(biāo)至屏幕空間坐標(biāo)。之后,根據(jù)上述屏幕空間坐標(biāo)以決定位于屏幕空間中受上述的三角形所影響的像素。對(duì)于每一上述受三角形所影響的像素,則根據(jù)上述勻相系數(shù)以計(jì)算得到一組位于勻相空間中的質(zhì)心系數(shù),并根據(jù)該勻相質(zhì)心系數(shù)以及上述的三角形位于觀看空間中的屬性數(shù)據(jù)以得到該像素位于勻相空間中的屬性數(shù)據(jù)。
文檔編號(hào)G06F17/17GK1501324SQ20031010180
公開(kāi)日2004年6月2日 申請(qǐng)日期2003年10月17日 優(yōu)先權(quán)日2002年10月19日
發(fā)明者柏瑞斯·柏克潘克, 提莫·佩塔西, 德瑞克·格蘭丁, 格蘭丁, 佩塔西, 柏瑞斯 柏克潘克 申請(qǐng)人:威盛電子股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泸西县| 兴安县| 上高县| 天等县| 呼和浩特市| 方城县| 裕民县| 化德县| 炎陵县| 辉南县| 利辛县| 临西县| 罗江县| 靖宇县| 台江县| 双城市| 崇阳县| 迁安市| 广西| 清苑县| 合肥市| 邓州市| 广丰县| 大新县| 平潭县| 贺兰县| 永州市| 巴马| 建湖县| 江陵县| 斗六市| 莒南县| 涞源县| 泗水县| 肥东县| 南华县| 板桥市| 龙游县| 疏附县| 麻城市| 昔阳县|