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

圖形處理的制作方法

文檔序號:11135365閱讀:317來源:國知局
圖形處理的制造方法與工藝

本發(fā)明涉及圖形處理,并且具體地涉及包括生成插值頂點屬性數(shù)據(jù)的片段著色階段(shading stage)的圖形處理系統(tǒng)的操作。



背景技術(shù):

圖形處理通常以流水線方式進(jìn)行,一個或更多個流水線階段對數(shù)據(jù)進(jìn)行操作,以生成顯示的最終圖像。該處理的兩個重要部分通常是:所謂的頂點著色操作(諸如對表示要顯示的圖像的圖元(primitive)(多邊形)的頂點進(jìn)行的轉(zhuǎn)換和發(fā)光);和隨后的對構(gòu)成要顯示的圖像的獨立片段著色(染上顏色)的片段(像素)著色操作。

頂點著色操作通常在圖形處理的所謂“頂點著色器”階段中進(jìn)行。這通常是對輸入數(shù)據(jù)值執(zhí)行頂點著色器程序,以生成用于由圖形流水線的剩余部分處理的期望的一組輸出數(shù)據(jù)(例如,適當(dāng)轉(zhuǎn)換且點亮的頂點數(shù)據(jù))的可編程處理單元。場景的各圖元(多邊形)通常被限定且表示為一組頂點,各頂點與該頂點的一組數(shù)據(jù)值關(guān)聯(lián)。頂點著色處理例如基于頂點有關(guān)的圖元要經(jīng)受的任意轉(zhuǎn)換或發(fā)光,來修改最初限定的頂點的數(shù)據(jù)值。

一旦場景的輸入數(shù)據(jù)值被頂點“著色”,那么表示場景的圖元通常被柵格化,以生成場景的多個待處理“片段”。這些片段是上面進(jìn)行圖形處理操作(諸如渲染)的不連續(xù)圖形實體。各片段將對應(yīng)于場景的采樣點或多個采樣點,一旦片段被采樣,將片段與允許顯示采樣點的所需數(shù)據(jù)(諸如紅、綠、藍(lán)色(RGB)值、透明度(alpha)值以及深度(z)值)關(guān)聯(lián)。片段還可以被稱為像素,但因為后處理(諸如縮放)可以意味著圖形處理操作所針對的實體(片段)與顯示像素之間沒有一一對應(yīng),所以不是必然是給定片段將恰好對應(yīng)于最終顯示中的單個像素(像素元素)的情況。

一旦生成圖形片段,那么圖形片段經(jīng)受將它們著色以生成它們的最終輸出色值等的若干處理,諸如頂點數(shù)據(jù)的插值、應(yīng)用穩(wěn)定、混合等。導(dǎo)出輸出數(shù)據(jù)值(例如顯示片段表示的采樣點需要)等的這種處理可以稱為“片段著色”或“像素著色”,并且在處理流水線的片段著色器(還稱為像素著色器)階段中進(jìn)行。片段著色處理處理片段的最初限定片段數(shù)據(jù)值,以正確導(dǎo)出片段的輸出數(shù)據(jù)(顯示片段表示的采樣點所需的數(shù)據(jù))。片段著色器再次可以是執(zhí)行對片段適當(dāng)著色(染上顏色)的一個或更多個片段著色器程序的可編程單元。片段可以獨立或一起以小組為單位進(jìn)行處理(例如,采樣、著色等)。例如,一組2x2的片段通常被一起處理為“四元組”,但有時使用更小或更大組的片段。

頂點和片段著色操作一般對所謂的“屬性”進(jìn)行操作。屬性為著色器程序中的輸入或輸出變量,并且例如可以表示顏色、透明度、紋理坐標(biāo)等。頂點著色器將對于用于限定并表示場景的各圖元(多邊形)生成一組屬性(顏色、透明度、紋理坐標(biāo)等)。這些生成的屬性通??梢苑Q為頂點著色的屬性數(shù)據(jù)。

作為片段著色處理的一部分,片段著色器通常對頂點著色的屬性數(shù)據(jù)進(jìn)行插值,以便生成片段的采樣點的插值屬性數(shù)據(jù)。提供插值屬性數(shù)據(jù)的該處理通常可以稱為變化計算(varying calculation),并且例如可以在片段著色器的變化流水線中進(jìn)行。變化流水線通常包括變化插值器,該變化插值器輸入片段(例如,片段的采樣點)的頂點著色屬性數(shù)據(jù)和x、y坐標(biāo),并且輸出插值屬性數(shù)據(jù)。

圖1例示了使用四個片段6、7、8、9的“四元組”10對三角形圖元5進(jìn)行采樣的對頂點著色屬性數(shù)據(jù)進(jìn)行插值的方法,片段6、7、8、9中的每一個具有中心采樣點。在該示例中,各個采樣點的x、y坐標(biāo)由變化插值器直接用于估算圖元的變化平面等式,以便提供這些采樣點的插值屬性數(shù)據(jù)(S0、S1、S2、S3)。然而,直接以該方式估算各組x、y坐標(biāo)的變化平面等式可能在計算上是昂貴的。

圖2例示了這些片段中的一個片段6的采樣點中的僅一個的x、y坐標(biāo)直接用于提供該采樣點的插值屬性數(shù)據(jù)S0的另選方法。然后,采樣點delta值Sx、Sy用于例如以以下方式提供其它片段7、8、9的其它采樣點中的每一個的插值屬性數(shù)據(jù)S1、S2、S3

S1=S0+Sx

S2=S0+Sy

S3=S0+Sx+Sy

因為不必使用該采樣點的x、y坐標(biāo)對在各個采樣點處的圖元的變化平面等式進(jìn)行完全估算,所以以該方式使用采樣點delta值可以比直接使用各個采樣點的x、y坐標(biāo)在計算上更便宜。然而,因為涉及采樣點delta值的加法運算的次數(shù)跨所有采樣點不一致,所以該方法仍然低效。具體地,僅存在生成S1和S2的單個加法運算,而存在生成S3的兩個加法運算。這例如可以意味著在一些運算周期期間可以使得用于執(zhí)行加法運算的一些加法器閑置,或者可以需要包括反饋環(huán)路。



技術(shù)實現(xiàn)要素:

申請人相信還存在針對包括生成插值頂點屬性數(shù)據(jù)的片段著色階段的圖形處理器的改進(jìn)的范圍。

根據(jù)本發(fā)明的一個方面,提供了一種操作圖形處理系統(tǒng)的方法,該圖形處理系統(tǒng)包括片段著色階段,該片段著色階段處理圖元的頂點著色屬性數(shù)據(jù),以便生成采樣點的插值屬性數(shù)據(jù),所述方法包括以下步驟:

生成圖元的采樣點delta值;以及

生成針對對所述圖元進(jìn)行采樣的一組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù);

其中,使用所述一組多個采樣點的參考點的位置連同所述采樣點delta值中的至少一個采樣點delta值,來生成針對所述至少一個采樣點的所述插值屬性數(shù)據(jù);

其中,關(guān)于第一坐標(biāo)系來限定所述一組多個采樣點的所述參考點的所述位置,并且其中,關(guān)于相對于所述第一坐標(biāo)系旋轉(zhuǎn)的第二坐標(biāo)系來限定所述圖元的所述采樣點delta值。

根據(jù)本發(fā)明的另一個方面,提供了一種圖形處理系統(tǒng),該圖形處理系統(tǒng)包括片段著色階段,該片段著色階段被配置為處理圖元的頂點著色屬性數(shù)據(jù),以便生成采樣點的插值屬性數(shù)據(jù),所述系統(tǒng)還包括處理電路,該處理電路被配置為:

生成圖元的采樣點delta值;并且

生成針對對所述圖元進(jìn)行采樣的一組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù);

其中,所述處理電路被配置為,使用所述一組多個采樣點的參考點的位置連同所述采樣點delta值中的至少一個采樣點delta值,來生成針對所述至少一個采樣點的所述插值屬性數(shù)據(jù);

其中,關(guān)于第一坐標(biāo)系來限定所述一組多個采樣點的所述參考點的所述位置,并且其中,關(guān)于相對于所述第一坐標(biāo)系旋轉(zhuǎn)的第二坐標(biāo)系來限定所述圖元的所述采樣點delta值。

在本發(fā)明中,一組多個采樣點中的采樣點的插值屬性數(shù)據(jù)使用該組多個采樣點的參考點的位置連同至少一個采樣點delta值來生成。如上所討論的,使用采樣點delta值可以比例如直接使用各個采樣點的位置生成插值屬性數(shù)據(jù)在計算上更便宜。此外,在本發(fā)明中,關(guān)于第二坐標(biāo)系來限定采樣點delta值,第二坐標(biāo)系相對于用于限定參考點的位置的第一坐標(biāo)系旋轉(zhuǎn)。申請人已經(jīng)認(rèn)識到這例如可以更均勻地分配在將采樣點delta值用于生成插值屬性數(shù)據(jù)特別是對于許多普通采樣點模式(諸如排序的(Ordered)4x、旋轉(zhuǎn)的(Rotated)4x、直接3D(Direct3D)8x等)時需要執(zhí)行的運算的次數(shù)。由此,本發(fā)明提供了一種允許更有效生成插值屬性數(shù)據(jù)的圖形處理系統(tǒng)。

第一坐標(biāo)系可以包括第一對垂直軸,該第一對垂直軸在這里可以稱為“x”和“y”軸。第一坐標(biāo)系的坐標(biāo)可以與輸出位置(例如,顯示屏位置)有關(guān)。由此,第一坐標(biāo)系可以稱為“屏幕空間”。對于分層或3維圖形處理,第一坐標(biāo)系可以包括垂直于該對垂直軸的另外軸。另外軸在這里可以稱為“z”或“深度”軸。

第二坐標(biāo)系可以包括第二對垂直軸,該第二對垂直軸在這里可以稱為“xmy”和“xpy”軸。如上所討論的,第二坐標(biāo)系相對于第一坐標(biāo)系旋轉(zhuǎn)。由此,第二坐標(biāo)系可以稱為“旋轉(zhuǎn)后的屏幕空間”。如將理解的,第二坐標(biāo)系的第二對垂直軸優(yōu)選地相對于第一坐標(biāo)系的第一對垂直軸旋轉(zhuǎn)。對于分層或3維圖形處理,第二坐標(biāo)系可以再次包括垂直于第二對垂直軸的另外軸。該另外軸可以與第一坐標(biāo)系共享且可以再次稱為“z”或“深度”軸。

因此,第二坐標(biāo)系優(yōu)選地相對于由第一和/或第二對垂直軸和/或關(guān)于第一和/或第二坐標(biāo)系和/或關(guān)于垂直于第一和/或第二對垂直軸(并且優(yōu)選地不垂直于其它軸)的另外軸限定的平面內(nèi)的第一坐標(biāo)系旋轉(zhuǎn)。在優(yōu)選的實施方式中,第二坐標(biāo)系相對于第一坐標(biāo)系旋轉(zhuǎn)45°(或45°的倍數(shù)),但例如可以根據(jù)用于對圖元進(jìn)行采樣的一組多個采樣點的特定采樣點模式使用其它旋轉(zhuǎn)。

該組多個采樣點的參考點可以定位于任意期望且合適的位置處。然而,在優(yōu)選實施方式中,參考點可定位于沿著第一坐標(biāo)系的軸中的一個或更多個的整數(shù)位置(例如,整數(shù)(x或y)座標(biāo)、整數(shù)個片段/像素等)處。這些實施方式例如可以減小表示參考點的位置所需的位數(shù)。

在優(yōu)選實施方式中,參考點關(guān)于該組采樣點中的多個采樣點被中心定位。在優(yōu)選實施方式中,該組多個采樣點中的采樣點中的至少一些或全部與參考點等距。參考點優(yōu)選地被定位為,使得從參考點到該組多個采樣點中的采樣點中的至少一個、一些或全部的直線平行于第二坐標(biāo)系的軸線中的一個。參考點優(yōu)選地被定位為,使得該組多個采樣點中的采樣點中的至少一個、一些或全部可以沿著第二坐標(biāo)系的軸線中的一個或更多個由整數(shù)個單元步驟從參考點到達(dá)。這些實施方式例如可以進(jìn)一步簡化在將采樣點delta值用于生成插值屬性數(shù)據(jù)時需要執(zhí)行的操作。

例如可以以傳統(tǒng)方式由圖形處理系統(tǒng)的頂點著色階段來生成圖元的頂點著色屬性數(shù)據(jù)。由此,圖形處理系統(tǒng)可以包括頂點著色階段,該頂點著色階段處理輸入屬性數(shù)據(jù),以生成要由片段著色階段使用的圖元的頂點著色屬性數(shù)據(jù)。頂點著色屬性數(shù)據(jù)可以是:頂點著色器可以生成或可以對于操作的任意期望和合適的這種屬性數(shù)據(jù)。這例如可以包括圖元的屬性值(諸如頂點位置、頂點顏色、頂點透明度、頂點紋理坐標(biāo)等)。

在優(yōu)選實施方式中,生成插值屬性數(shù)據(jù)的步驟發(fā)生在圖元的抽象參數(shù)空間中。參數(shù)空間優(yōu)選地為圖元的質(zhì)心參數(shù)(barycentric parameter)空間。

如將由本領(lǐng)域技術(shù)人員理解的,圖元的質(zhì)心參數(shù)空間內(nèi)的點的質(zhì)心坐標(biāo)通常由i、j、k給出,其中,i、j、k中的每一個指示該點的各頂點屬性的權(quán)重(或到該頂點的距離)。i+j+k的和通常被歸一化(normalise)為等于1。由此,k的值可以使用i和j的值來推斷。由此,在優(yōu)選實施方式且在以下描述中,不再外考慮k的值。

圖元的質(zhì)心參數(shù)空間內(nèi)的點的質(zhì)心坐標(biāo)可以以任意期望且合適的方式來計算。然而,在優(yōu)選實施方式且在以下描述中,圖元的質(zhì)心參數(shù)空間內(nèi)的、點的質(zhì)心坐標(biāo)根據(jù)圖元的變化平面等式的質(zhì)心系數(shù)(ia、ja;ib、jb;ic、jc)來計算。未旋轉(zhuǎn)第一坐標(biāo)系中的這些變化平面等式可以采取形式:

i(x,y)=ia*x+ib*y+ic

j(x,y)=j(luò)a*x+jb*y+jc

因此,可以提供圖元的質(zhì)心系數(shù)(ia、ja;ib、jb;ic、jc)。質(zhì)心系數(shù)(ia、ja;ib、jb;ic、jc)例如可以使用從頂點著色階段輸出的頂點位置數(shù)據(jù)在圖元(例如,三角形)設(shè)置期間生成。可以由在圖形處理流水線中的柵格化階段之前或形成柵格化階段的一部分的、圖形處理系統(tǒng)的圖元(例如,三角形)的設(shè)置階段進(jìn)行圖元設(shè)置。

如將由本領(lǐng)域技術(shù)人員理解的,上述質(zhì)心坐標(biāo)未被透視校正。因此,如果期望,還可以提供圖元的質(zhì)心參數(shù)空間內(nèi)的、點的透視校正值(w)。

可以以任意期望且合適的方式來計算圖元的質(zhì)心參數(shù)空間內(nèi)的點的透視校正值(w)。然而,在優(yōu)選實施方式中,圖元的質(zhì)心參數(shù)空間內(nèi)的、點的透視校正值(w)根據(jù)圖元的變化平面等式的透視校正系數(shù)(wa、wb、wc)來計算。未旋轉(zhuǎn)第一坐標(biāo)系的該變化平面等式可以采取形式:

w(x,y)=wa*x+wb*y+wc

然后,各透視校正質(zhì)心坐標(biāo)由以下等式給出:

i(x,y)=i(x,y)/w(x,y)

j(x,y)=j(luò)(x,y)/w(x,y)

如果期望,各透視校正值(w)和/或透視校正系數(shù)(wa、wb、wc)可以包括在應(yīng)用透視校正時具有歸一化質(zhì)心坐標(biāo)的效果的圖元的常數(shù)因子。

再次,透視校正系數(shù)(wa、wb、wc)例如可以使用從頂點著色階段輸出的頂點位置數(shù)據(jù)在圖元設(shè)置期間生成。

圖元的采樣點delta值(Sxpy;Sxmy)各優(yōu)選地與關(guān)于沿著第二坐標(biāo)系的軸(xmy,xpy)中的一個的單元步驟在對圖元進(jìn)行采樣時插值的值(例如,色值(RGB)、透明度值(alpha)、紋理坐標(biāo)、質(zhì)心坐標(biāo)(i,j)、透視校正值(w)等)的變化有關(guān)。

如上所討論的,在優(yōu)選實施方式中,生成插值屬性數(shù)據(jù)的步驟發(fā)生在質(zhì)心參數(shù)空間中。在這些實施方式中,采樣點delta值可以包括:關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)質(zhì)心系數(shù)(iapb、japb;iamb、jamb)。如下面將更詳細(xì)討論的,采樣點delta值還可以包括:關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后)透視校正系數(shù)(Wapb;Wamb)。

對于各種類型要插值的值(優(yōu)選地對于該值的插值將發(fā)生所沿著的第二坐標(biāo)系的各軸(xmy、xpy))優(yōu)選地存在至少一個采樣點delta值。例如,在沿著兩個軸(xmy、xpy)存在要插值的兩個質(zhì)心坐標(biāo)(i,j)的情況下,可以產(chǎn)生至少四個采樣點delta值(iapb、japb;iamb、jamb)。類似地,在沿著兩個軸(xmy、xpy)存在要插值的一個質(zhì)心坐標(biāo)(w)的情況下,也可以產(chǎn)生至少另外兩個采樣點delta值(Wapb;Wamb)。

可以以任意期望且合適的方式來生成采樣點delta值。在一些實施方式中,生成采樣點delta值可以包括生成關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn)的)采樣點delta值(Sx;Sy)。然后,可以旋轉(zhuǎn)關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn)的)采樣點delta值,以便生成關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)的)采樣點delta值(Sxpy;Sxmy)。

生成關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)的)采樣點delta值(Sxpy;Sxmy)的步驟可以包括:將旋轉(zhuǎn)矩陣應(yīng)用于關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn)的)采樣點delta值(Sx;Sy)。例如,生成采樣點delta值(Sx;Sy)可以包括應(yīng)用如下的旋轉(zhuǎn)矩陣:

其中,θ為旋轉(zhuǎn)的(逆時針)角度。如將所理解的,可以執(zhí)行等同計算,以影響期望的旋轉(zhuǎn)。

生成關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)的)采樣點delta值(Sxpy;Sxmy)的步驟還可以包括:應(yīng)用附加的縮放(即,除了作為(純)旋轉(zhuǎn)的結(jié)果而發(fā)生的任意固有縮放之外的縮放)。該附加的縮放例如可以允許更簡單地生成采樣點delta值。例如,如上所討論的,在優(yōu)選實施方式中,第二坐標(biāo)系相對于第一坐標(biāo)系旋轉(zhuǎn)45°(或45°的倍數(shù))。如將所理解的,在這些優(yōu)選實施方式中,關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值可以作為旋轉(zhuǎn)的結(jié)果固有地縮放1/√2(即,cos45°或sin45°)。在這些優(yōu)選實施方式中,可以應(yīng)用的附加縮放可以是與1/√2另外相乘。如將所理解的,這導(dǎo)致1/2(即,1/√2*1/√2)的整體縮放應(yīng)用于關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值。因此,可以簡化關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)采樣點delta值的整體生成(因為它可以包括將采樣點delta值乘以1/2,并且這可以僅使用位移來實現(xiàn))。

如上所討論的,在優(yōu)選實施方式中,生成插值屬性數(shù)據(jù)的步驟發(fā)生在質(zhì)心參數(shù)空間中。在這些實施方式中,關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值(Sx;Sy)可以包括關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))質(zhì)心系數(shù)(ia、ja;ib、jb)。類似地,關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)采樣點delta值(Sxpy;Sxmy)可以包括關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)質(zhì)心系數(shù)(iapb、japb;iamb、jamb)。

在這些優(yōu)選實施方式中,根據(jù)關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值(ia、ja;ib、jb)生成關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)采樣點delta值(iapb、japb;iamb、jamb)可以如下來實現(xiàn):

如將理解的,上述等式等同于應(yīng)用如下的旋轉(zhuǎn)矩陣:

其中,θ=45°,連同通過乘以1/√2來實現(xiàn)附加縮放。

可以由圖形處理系統(tǒng)的任意期望和合適階段來生成圖元的采樣點delta值。在優(yōu)選實施方式中,至少部分例如使用從頂點著色階段輸出的頂點位置數(shù)據(jù)在圖元設(shè)置期間生成采樣點delta值。

由此,圖形處理系統(tǒng)可以包括圖元設(shè)置階段,該圖元設(shè)置階段例如使用從頂點著色階段輸出的頂點位置數(shù)據(jù)生成用于由片段著色階段的圖元的(旋轉(zhuǎn)后和/或未旋轉(zhuǎn))采樣點delta值。如上所討論的,圖元設(shè)置階段可以在圖形處理流水線中的柵格化階段之前或形成柵格化階段的一部分。圖形處理系統(tǒng)還可以包括頂點著色階段,該頂點著色階段生成由圖元設(shè)置階段使用的頂點位置數(shù)據(jù)。

在優(yōu)選實施方式中,圖元設(shè)置階段可以例如以如上所討論的方式,生成關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值。然后,圖元設(shè)置階段可以使關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值旋轉(zhuǎn),以便例如以如上所討論的方式生成圖元的、關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)采樣點delta值。

在其它次優(yōu)選的實施方式中,圖元設(shè)置階段可以例如以如上所討論的方式生成關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值。然而,片段著色階段可以使關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))采樣點delta值旋轉(zhuǎn),以便例如以如上所討論的方式生成圖元的、關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)采樣點delta值。

插值屬性數(shù)據(jù)可以是:片段著色器可以生成或操作所對于的、任意期望且合適的這種屬性數(shù)據(jù)。這例如可以包括屬性值,諸如色值(RGB)、透明度值(alpha)、紋理坐標(biāo)等。

如上所討論的,在本發(fā)明中,一組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù)使用該組多個采樣點的參考點的位置連同采樣點delta值中的至少一個采樣點delta值,來生成。這可以以任意期望且合適的方式來進(jìn)行。

然而,如上所討論的,在優(yōu)選實施方式中,這使用圖元的質(zhì)心參數(shù)空間來進(jìn)行。在這些優(yōu)選實施方式中,使用參考點的位置可以包括根據(jù)參考點的位置確定參考點的質(zhì)心坐標(biāo)(icentre,jcentre)。在這些實施方式中,確定參考點的質(zhì)心坐標(biāo)(icentre,jcentre)可以包括使關(guān)于第一坐標(biāo)系限定的參考點的(未旋轉(zhuǎn))位置坐標(biāo)(xcentre,ycentre)旋轉(zhuǎn),以便生成關(guān)于第二坐標(biāo)系限定的參考點的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)。

生成關(guān)于第二坐標(biāo)系限定的參考點的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)的步驟可以包括:將旋轉(zhuǎn)矩陣應(yīng)用于關(guān)于第一坐標(biāo)系限定的參考點的(未旋轉(zhuǎn))位置坐標(biāo)(xcentre,ycentre)。例如,生成關(guān)于第二坐標(biāo)系限定的參考點的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)的步驟可以包括:應(yīng)用如下的旋轉(zhuǎn)矩陣:

其中,θ為旋轉(zhuǎn)的(逆時針)角度。如將所理解的,可以執(zhí)行等同計算,以影響期望的旋轉(zhuǎn)。

生成關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)還可以包括應(yīng)用附加的縮放(即,除了作為(純)旋轉(zhuǎn)的結(jié)果而發(fā)生的任意固有縮放之外的縮放)。該附加的縮放例如可以允許更簡單地生成位置坐標(biāo)(xpycentre,xmycentre)。

例如,如上所討論的,在優(yōu)選實施方式中,第二坐標(biāo)系相對于第一坐標(biāo)系旋轉(zhuǎn)45°(或45°的倍數(shù))。如將所理解的,在這些優(yōu)選實施方式中,關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))位置坐標(biāo)(xcentre,ycentre)可以作為旋轉(zhuǎn)的結(jié)果固有地縮放1/√2(即,cos45°或sin45°)。在這些優(yōu)選實施方式中,可以應(yīng)用的附加縮放可以是與1/√2另外相乘。如將所理解的,這導(dǎo)致1/2(即,1/√2*1/√2)的整體縮放應(yīng)用于關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))位置坐標(biāo)(xcentre,ycentre)。因此,可以簡化關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)的整體生成(因為不需要對關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))位置坐標(biāo)(xcentre,ycentre)進(jìn)行相乘)。

如還將理解的,優(yōu)選地由在使采樣點delta值旋轉(zhuǎn)時應(yīng)用的附加縮放(例如,1/√2)取消使位置坐標(biāo)旋轉(zhuǎn)時應(yīng)用的附加縮放(例如,√2),使得沒有插值屬性數(shù)據(jù)的整體縮放。避免插值屬性數(shù)據(jù)的失真通常期望這樣。整體縮放的這種不存在,還可以通過交換在使位置坐標(biāo)旋轉(zhuǎn)時應(yīng)用的附加縮放,與在使采樣點delta值旋轉(zhuǎn)時應(yīng)用的附加縮放來實現(xiàn)。例如,使位置坐標(biāo)旋轉(zhuǎn)時應(yīng)用的附加縮放可以為1/√2,并且在使采樣點delta值旋轉(zhuǎn)時應(yīng)用的附加縮放可以為√2。

然后,關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)可以用于確定參考點的質(zhì)心坐標(biāo)(icentre,jcentre)。

在優(yōu)選實施方式中,例如使用以下方式的變化平面等式使用關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)連同關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)采樣點delta值(iapb、japb;iamb、jamb),來確定參考點的質(zhì)心坐標(biāo)(icentre,jcentre):

icentre=[iapb*xpycentre]+[iamb*xmycentre]+ic

jcentre=[japb*xpycentre]+[jamb*xmycentre]+jc

在優(yōu)選實施方式中,采樣點delta值(iapb、japb;iamb、jamb)中的至少一個采樣點delta值可以加到參考點的質(zhì)心坐標(biāo)(icentre,jcentre)或從參考點的質(zhì)心坐標(biāo)(icentre,jcentre)減去,以例如以以下方式生成該組多個采樣點中的至少一個采樣點的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2):

[i0,j0]=[icentre-iapb,jcentre-japb]

[i1,j1]=[icentre+iamb,jcentre+jamb]

[i2,j2]=[icentre-iamb,jcentre-jamb]

[i3,j3]=[icentre+iapb,jcentre+japb]

如將所理解的,上述質(zhì)心坐標(biāo)未被透視校正。因此,如下面將更詳細(xì)討論的,如果期望,可以在該階段透視校正上述質(zhì)心坐標(biāo)。同樣地在該階段,例如可以通過將質(zhì)心坐標(biāo)除以圖元的常數(shù),或在將透視校正應(yīng)用于質(zhì)心坐標(biāo)時來歸一化質(zhì)心坐標(biāo)。

由此,如上所討論的,在優(yōu)選實施方式中,采樣點delta值(iapb、japb;iamb、jamb)與圖元的(優(yōu)選地關(guān)于沿著第二坐標(biāo)系的軸(xmy;xpy)的單元步驟的)的質(zhì)心位置的變化(例如,質(zhì)心坐標(biāo)(i,j)的變化)有關(guān)。

因此,使用該組多個采樣點的參考點的位置連同采樣點delta值中的至少一個采樣點delta值的步驟可以包括:處理該組多個采樣點的參考點,以便生成參考點的質(zhì)心坐標(biāo),然后組合參考點的質(zhì)心坐標(biāo)與參考點delta值中的至少一個參考點delta值,以便生成該組多個采樣點中的至少一個采樣點的質(zhì)心坐標(biāo)。

類似地,片段著色階段可以包括處理電路(例如,變化插值器(的質(zhì)心估算器)),該處理電路被配置為處理該組多個采樣點的參考點,以便生成參考點的質(zhì)心坐標(biāo),然后組合參考點的質(zhì)心坐標(biāo)與參考點delta值中的至少一個參考點delta值,以便生成該組多個采樣點中的至少一個采樣點的質(zhì)心坐標(biāo)。

然后,該組多個采樣點中的至少一個采樣點(i0、j0;i1、j1;i2、j2)的質(zhì)心坐標(biāo)可以用于導(dǎo)出至少一個采樣點的插值屬性數(shù)據(jù)(S0、S1、S2、S3)。

導(dǎo)出至少一個采樣點的插值屬性數(shù)據(jù)(S0、S1、S2、S3)的步驟可以包括:使用至少一個采樣點的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)進(jìn)行插值。插值例如可以以以下方式包括將至少一個采樣點的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)乘以質(zhì)心坐標(biāo)有關(guān)的頂點的對應(yīng)頂點著色屬性值(Si、Sj、Sk,例如色值、透明度值、紋理坐標(biāo)等),然后對相乘的結(jié)果求和:

S0=[Si*i0]+[Sj*j0]+[Sk*(1-i0-j0)]

S1=[Si*i1]+[Sj*j1]+[Sk*(1-i1-j1)]

S2=[Si*i2]+[Sj*j2]+[Sk*(1-i2-j2)]

S3=[Si*i3]+[Sj*j3]+[Sk*(1-i3-j3)]

上述等式可以被概括為:

Sn=[Si*in]+[Sj*jn]+[Sk*(1-in-jn)],其中,n為采樣點號(例如,0、1、2、3)。

上述等式可以被改寫為:

Sn=[Si-Sk]*in+[Sj-Sk]*jn+Sk

Sn=Si_new*in+Sj_new*jn+Sk,,其中,Si_new=Si-Sk,并且Sj_new=Sj-Sk。

在優(yōu)選實施方式中,可以在導(dǎo)出至少一個采樣點的插值屬性數(shù)據(jù)時使用插值等式的上述形式。這例如允許根據(jù)圖元的頂點的“未修改”頂點著色屬性值(Si、Sj、Sk)提前(即,在導(dǎo)出至少一個采樣點的插值屬性數(shù)據(jù)之前)計算圖元的頂點的“修改后”頂點著色屬性值(Si_new、Sj_new、Sk)。然后,圖元的頂點的修改后頂點著色屬性值(Si_new、Sj_new、Sk)可以在導(dǎo)出其它采樣點的插值屬性數(shù)據(jù)時重復(fù)使用。這例如可以通過避免需要對于多個采樣點進(jìn)行相同的計算多次而降低導(dǎo)出插值屬性數(shù)據(jù)時的處理負(fù)擔(dān)。

由此,在優(yōu)選實施方式中,根據(jù)圖元的頂點的“未修改”頂點著色屬性值(Si、Sj、Sk)來計算圖元的頂點的“修改后”頂點著色屬性值(Si_new、Sj_new、Sk)。圖元的頂點的“修改后”頂點著色屬性值(Si_new、Sj_new、Sk)優(yōu)選地以以下方式根據(jù)圖元的頂點的“未修改”頂點著色屬性值(Si、Sj、Sk)來計算:

Si_new=Si-Sk

Sj_new=Sj-Sk

Sk=Sk

然后,將圖元的頂點的“修改后”頂點著色屬性值(Si_new、Sj_new、Sk)存儲在例如屬性緩存中,準(zhǔn)備在導(dǎo)出至少一個采樣點的插值屬性數(shù)據(jù)時使用。

因此,如上所述,使用該組多個采樣點的參考點的位置連同采樣點delta值中的至少一個采樣點delta值的步驟可以包括:處理該組多個采樣點中的至少一個采樣點的質(zhì)心坐標(biāo),以便生成該組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù)。

類似地,片段著色階段可以包括處理電路(例如,變化插值器(的屬性估算器)),該處理電路被配置為,處理該組多個采樣點中的至少一個采樣點的質(zhì)心坐標(biāo),以便生成該組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù)。

在次優(yōu)選的實施方式中,參考點的位置的質(zhì)心坐標(biāo)(icentre,jcentre)可以代替用于導(dǎo)出參考點的插值數(shù)據(jù)數(shù)據(jù)(Scentre)。導(dǎo)出參考點的插值數(shù)據(jù)數(shù)據(jù)(Scentre)的步驟可以包括:使用至少一個參考點的質(zhì)心坐標(biāo)(icentre,jcentre)進(jìn)行插值。插值例如可以以以下方式包括將參考點的質(zhì)心坐標(biāo)(icentre,jcentre)乘以質(zhì)心坐標(biāo)有關(guān)的頂點的對應(yīng)頂點著色屬性值(Si、Sj、Sk,例如色值、透明度值、紋理坐標(biāo)等),然后對相乘的結(jié)果求和:

Scentre=[Si*icentre]+[Sj*jcentre]+[Sk*(1-icentre-jcentre)]

然后,采樣點delta值(Sxpy;Sxmy)例如可以以以下方式加到參考插值屬性顯示數(shù)據(jù)或從參考插值屬性顯示數(shù)據(jù)減去,以生成該組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù)(S0、S1、S2、S3):

S0=Scentre-Sxpy

S1=Scentre+Sxmy

S2=Scentre-Sxmy

S3=Scentre+Sxpy

在這些次優(yōu)選實施方式中,采樣點delta值(Sxpy;Sxmy)與頂點著色屬性數(shù)據(jù)(例如,顏色、透明度、紋理坐標(biāo)等)優(yōu)選地關(guān)于沿著第二坐標(biāo)系的單元步驟的變化有關(guān),而不是與質(zhì)心位置的變化有關(guān)。

由此,在次優(yōu)選實施方式中,使用該組多個采樣點的參考點的位置連同采樣點delta值中的至少一個采樣點delta值的步驟可以包括:處理該組多個采樣點的參考點,以便生成參考點的參考插值屬性數(shù)據(jù),然后組合參考點的參考插值屬性數(shù)據(jù)與采樣點delta值中的至少一個采樣點delta值,以便生成該組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù)。

類似地,在次優(yōu)選實施方式中,片段著色階段可以包括處理電路(例如,變化插值器(的組合質(zhì)心與屬性估算器)),該處理電路被配置為,處理該組多個采樣點的參考點,以便生成參考點的參考插值屬性數(shù)據(jù),然后組合參考點的參考插值屬性數(shù)據(jù)與采樣點delta值中的至少一個采樣點delta值,以便生成該組多個采樣點中的至少一個采樣點的插值屬性數(shù)據(jù)。

應(yīng)注意,上述次優(yōu)選實施方式將不產(chǎn)生透視校正的結(jié)果。然而,上述次優(yōu)選實施方式仍然可以用于例如2D圖形和/或位圖傳送。

在優(yōu)選實施方式中,生成至少一個采樣點的插值屬性數(shù)據(jù)還可以包括應(yīng)用透視校正。

如上所討論的,在優(yōu)選實施方式中,生成插值屬性數(shù)據(jù)的步驟發(fā)生在抽象參數(shù)空間中。在這些優(yōu)選實施方式中,應(yīng)用透視校正的步驟可以包括:例如在將質(zhì)心坐標(biāo)用于導(dǎo)出插值屬性數(shù)據(jù)之前,使用至少一個采樣點的透視校正值(w0;w1;w2;w3)對至少一個采樣點的質(zhì)心坐標(biāo)應(yīng)用縮放。

例如可以使用該組多個采樣點的參考點的位置(xcentre,ycentre)連同至少一個另外的采樣點delta值,以與至少一個采樣點的質(zhì)心坐標(biāo)類似的方式,來生成至少一個采樣點的透視校正值(w0;w1;w2;w3)。這些另外的采樣點delta值可以為上述(旋轉(zhuǎn)后的)透視校正系數(shù)(Wapb;Wamb)。

透視校正系數(shù)(Wapb;Wamb)可以關(guān)于第二坐標(biāo)系來限定,并且可以以與上面討論的其它采樣點delta值類似的方式來生成。例如,生成透視校正系數(shù)(Wapb;Wamb)的步驟可以包括:生成關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))透視校正系數(shù)(Wa;Wb)。然后,例如可以以以下方式旋轉(zhuǎn)關(guān)于第一坐標(biāo)系限定的(未旋轉(zhuǎn))透視校正系數(shù)(Wa;Wb),以便生成關(guān)于第二坐標(biāo)系限定的(旋轉(zhuǎn)后的)透視校正系數(shù)(Wapb;Wamb):

如將理解的,上述等式等同于應(yīng)用如下的旋轉(zhuǎn)矩陣:

其中,θ=45°,連同通過乘以1/√2來實現(xiàn)附加縮放。

生成(未旋轉(zhuǎn)和/或旋轉(zhuǎn)后的)透視校正系數(shù)例如可以再次至少部分使用從頂點著色階段輸出的頂點位置數(shù)據(jù)在圖元設(shè)置期間來進(jìn)行,或者可以至少部分由片段著色階段來進(jìn)行。

還可以以與使用該組多個采樣點的參考點的位置(xcentre,ycentre)連同上述其它采樣點delta值類似的方式,來進(jìn)行使用該組多個采樣點的參考點的位置(xcentre,ycentre)連同至少一個透視校正系數(shù)(Wapb;Wamb)。例如,使用參考點的位置(xcentre,ycentre)的步驟可以包括:確定參考點的透視校正值(Wcentre)。

在這些實施方式中,確定參考點的透視校正值(Wcentre)的步驟可以包括:例如以如上所討論的方式使關(guān)于第一坐標(biāo)系限定的參考點的(未旋轉(zhuǎn))的位置(xcentre,ycentre)旋轉(zhuǎn),以便生成關(guān)于第二坐標(biāo)系限定的參考點的(旋轉(zhuǎn)后的)位置(xpycentre,xmycentre)。然后,關(guān)于第二坐標(biāo)系限定的參考點的(旋轉(zhuǎn)后的)位置(xpycentre,xmycentre)可以用于確定參考點的透視校正值(Wcentre)。

在優(yōu)選實施方式中,例如使用以下方式的平面等式使用(旋轉(zhuǎn)后的)位置坐標(biāo)(xpycentre,xmycentre)連同(旋轉(zhuǎn)后的)透視校正系數(shù)(Wapb;Wamb)來確定參考點的透視校正值(Wcentre):

wcentre=[wapb*xpycentre]+[wamb*xmycentre]+wc

然后,例如可以以以下方式將(旋轉(zhuǎn)后的)透視校正系數(shù)(Wapb;Wamb)中的至少一個加到參考點的透視校正值(Wcentre),或從參考點的透視校正值(Wcentre)減去,以生成該組多個采樣點中的至少一個采樣點的透視校正值(w0;w1;w2;w3):

w0=wcentre-wapb

w1=wcentre+wamb

w2=wcentre-wamb

w3=wcentre+wapb

然后,例如以以下方式將縮放應(yīng)用于至少一個采樣點的質(zhì)心坐標(biāo)的步驟可以包括:將至少應(yīng)該一個采樣點的質(zhì)心坐標(biāo)除以至少一個采樣點的透視校正值(w0;w1;w2;w3):

[i0,j0]=[i0/w0,j0/w0]

[i1,j1]=[i1/w1,j1/w1]

[i2,j2]=[i2/w2,j2/w2]

[i3,j3]=[i3/w3,j3/w3]

上述可以概述為:

[in,jn]=[in/wn,jn/wn],其中,n為采樣點號(例如,0、1、2、3)。

因此,應(yīng)用透視校正的步驟可以包括:處理該組多個采樣點的參考點,以生成參考點的透視校正值,然后組合參考點的透視校正值與至少一個透視校正系數(shù),以便生成該組多個采樣點中的至少一個采樣點的透視校正值,然后使用該組多個采樣點中的至少一個采樣點的透視校正值來對至少一個采樣點的質(zhì)心坐標(biāo)進(jìn)行縮放。

類似地,片段著色階段可以包括處理電路(例如,變化插值器(的質(zhì)心估算器)),該處理電路被配置為,處理該組多個采樣點的參考點,以生成參考點的透視校正值,然后組合參考點的透視校正值與至少一個透視校正系數(shù),以便生成該組多個采樣點中的至少一個采樣點的透視校正值,然后使用該組多個采樣點中的至少一個采樣點的透視校正值來對至少一個采樣點的質(zhì)心坐標(biāo)進(jìn)行縮放。

該組多個采樣點可以包括或由任意期望且合適數(shù)量的采樣點構(gòu)成。在優(yōu)選實施方式中,該組多個采樣點包括或由2n個采樣點構(gòu)成,其中,n為整數(shù),并且例如可以為2、3、4等。該組多個采樣點還可以具有任意期望且合適的模式。模式優(yōu)選地為:(例如旋轉(zhuǎn)地)對稱和/或可以排序或旋轉(zhuǎn)。在優(yōu)選實施方式中,模式為:排序的(Ordered)4x、旋轉(zhuǎn)的(Rotated)4x、直接3D(Direct3D)8x等。

該組多個采樣點可以是(單個)片段(例如,超采樣(super sample)片段)的采樣點,或者可以是多個片段(例如,“四元組”片段)的采樣點。多個片段可以各包括該組采樣點中的(單個)采樣點,或者可以各包括該組采樣點中的多個采樣點,例如,多個片段可以各被超采樣。

對于至少一個采樣點生成的插值屬性數(shù)據(jù)可以按需使用。例如,可以在渲染圖元以生成例如用于顯示的輸出數(shù)據(jù)值時使用插值屬性數(shù)據(jù)。由此,本發(fā)明優(yōu)選地還包括:將對于至少一個采樣點生成的插值屬性數(shù)據(jù)用于渲染插值屬性數(shù)據(jù)有關(guān)的圖元,以便生成例如用于顯示的輸出數(shù)據(jù)值。

將理解,因為可以使用由圖元覆蓋的該組多個采樣點中的多個(例如,一些或全部)來采樣圖元,所以在實踐中,本發(fā)明的方法可以關(guān)于對圖元進(jìn)行采樣所需的該組多個采樣點中的多個(例如,一些或全部)采樣點來進(jìn)行,使得最終對于對圖元進(jìn)行采樣所需的組的各采樣點生成適當(dāng)?shù)囊唤M插值屬性數(shù)據(jù)。

還將理解,因為通常使用由圖元覆蓋的多組多個采樣點(例如,多個片段或多組片段)來采樣圖元,所以在實踐中,本發(fā)明的方法可以關(guān)于對圖元進(jìn)行采樣所需的多組多個采樣點來進(jìn)行,使得最終對于對圖元進(jìn)行采樣所需的多組多個采樣點中的各組的各采樣點生成適當(dāng)?shù)囊唤M插值屬性數(shù)據(jù)。

本發(fā)明還擴(kuò)展到渲染圖元以生成例如用于輸出數(shù)據(jù)值的方法或設(shè)備,該方法或設(shè)備使用由圖元覆蓋的采樣點的插值屬性數(shù)據(jù),然后進(jìn)一步使用插值屬性數(shù)據(jù)來選擇圖元。進(jìn)一步渲染處理例如可以包括:使用插值屬性數(shù)據(jù)進(jìn)行的紋理采樣、混合等。

將理解,因為要由圖形處理流水線渲染的輸出通常將由多個圖元(和基于拼塊的系統(tǒng)中的拼塊)構(gòu)成,所以在實踐中,將對于構(gòu)成輸出的各圖元(和拼塊)重復(fù)本發(fā)明的方法,使得對于輸出所需的輸出的各采樣點生成適當(dāng)?shù)囊唤M插值屬性數(shù)據(jù)。

如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明的圖形處理單元將是整個圖形處理系統(tǒng)的一部分,圖形處理系統(tǒng)將包括(例如,優(yōu)選地)主處理器,主處理器例如執(zhí)行需要由圖形處理單元進(jìn)行的圖形處理的應(yīng)用。主處理器將向圖形處理單元發(fā)送合適的命令和數(shù)據(jù),以控制其進(jìn)行圖形處理操作并且產(chǎn)生由主處理器上執(zhí)行的應(yīng)用需要的圖形處理(渲染)輸出。為了促進(jìn)這一點,主處理器應(yīng)當(dāng)(并且優(yōu)選地)還執(zhí)行驅(qū)動器,該驅(qū)動器用于圖形處理單元和編譯器,編譯器用于編譯要由圖形處理單元的可編程執(zhí)行單元執(zhí)行的著色器程序。

圖形處理單元還可以包括一個或更多個存儲器和/或存儲裝置(和/或與一個或更多個存儲器和/或存儲裝置通信),存儲器或存儲裝置內(nèi)部存儲這里描述的數(shù)據(jù)、和/或由圖形處理單元生成的輸出數(shù)據(jù)、和/或用于進(jìn)行這里描述的處理的軟件。圖形處理單元還可以與主微處理器通信,和/或與用于基于由圖形處理單元生成的數(shù)據(jù)顯示圖像的顯示器通信。

除了上面討論的處理階段之外,圖形處理單元和流水線還可以包括圖形處理流水線可以包括的、任意其它合適且期望的處理階段,諸如早期深度(或早期深度和模版)測試器、后期深度(或深度和模版)測試器、拼塊緩沖器、寫出單元等。

本發(fā)明可以用于圖形處理流水線可以用于生成諸如用于顯示的幀的渲染到紋理輸出等的、所有形式的輸出。來自圖形處理的輸出(例如,片段著色后的)數(shù)據(jù)值優(yōu)選地被輸出到外部(例如,主)存儲器,用于存儲和使用,諸如到用于顯示器的幀緩沖器。

本發(fā)明可應(yīng)用于圖形處理器的任何合適的形式或構(gòu)造。本發(fā)明具體但不唯一地可應(yīng)用于基于拼塊的圖形處理器和圖形處理系統(tǒng)。由此,在優(yōu)選實施方式中,圖形處理系統(tǒng)和圖形處理單元分別是基于拼塊的系統(tǒng)和單元。

在特別優(yōu)選實施方式中,本發(fā)明的各種功能在單個圖形處理平臺上執(zhí)行,圖形處理平臺生成并輸出例如寫到用于顯示裝置的幀緩沖器的、渲染后的片段數(shù)據(jù)。

本發(fā)明可以在任意適當(dāng)?shù)南到y(tǒng)中實現(xiàn),諸如基于適當(dāng)構(gòu)造的微處理器的系統(tǒng)。在優(yōu)選實施方式中,本發(fā)明實現(xiàn)在計算機和/或基于微處理器的系統(tǒng)中。

可以以任意期望且合適的方式執(zhí)行本發(fā)明的各種功能。例如,可以實現(xiàn)在硬件或軟件中(根據(jù)期望)本發(fā)明的功能。由此,例如,除非以其它方式指示,本發(fā)明的各種功能元件、階段和“裝置”可以包括合適的處理器、控制器、功能單元、電路、處理邏輯、微處理器結(jié)構(gòu)等,它們可操作以進(jìn)行各種功能等,諸如適當(dāng)專用硬件元件和/或可以被編程以以期望方式操作的可編程硬件元件。

這里還應(yīng)當(dāng)注意的是,如本領(lǐng)域技術(shù)人員將理解的,可以在給定處理器上重復(fù)和/或并行執(zhí)行本發(fā)明的各種功能等。由此,例如,片段著色階段可以包括多個并行操作的單獨片段著色器。等同地,各種處理階段可以共享處理電路等(如果期望)。

受制于必須執(zhí)行上面討論的特定功能的任意硬件,數(shù)據(jù)處理系統(tǒng)和流水線可以以其它方式包括數(shù)據(jù)處理流水線包括的所有通常功能單元等中的任意一個或更多個或所有。

因此,頂點著色器、片段著色器以及任意其它圖形處理階段可以根據(jù)期望且以任意適當(dāng)?shù)姆绞絹韺嵤?,并且可以分別執(zhí)行任意期望且合適的頂點著色或片段著色等功能。類似地,可以以任意適當(dāng)且期望的方式來限定并存儲各種數(shù)據(jù)(頂點著色屬性數(shù)據(jù)、質(zhì)心系數(shù)、質(zhì)心坐標(biāo)、采樣點delta值、插值屬性數(shù)據(jù)等)。

如本領(lǐng)域技術(shù)人員將理解的,本發(fā)明的所有描述的方面和實施方式可以(且優(yōu)選地確實)酌情包括這里描述的所有優(yōu)選和可選特征中的任意一個或更多個。

至少部分地可以使用軟件(例如,計算機程序)實現(xiàn)根據(jù)本發(fā)明的方法。由此將看到當(dāng)從其它方面看時,本發(fā)明提供計算機軟件,該計算機軟件當(dāng)安裝在數(shù)據(jù)處理裝置上時專門適用于執(zhí)行這里描述的方法;計算機程序元件,該計算機程序元件包括計算機軟件代碼部,用于在程序元件在數(shù)據(jù)處理裝置上運行時執(zhí)行這里描述的方法;和計算機程序,該計算機程序包括代碼裝置,該代碼裝置當(dāng)程序在數(shù)據(jù)處理系統(tǒng)上運行時適用于執(zhí)行這里描述的方法的所有步驟。數(shù)據(jù)處理器可以是微處理器系統(tǒng)、可編程FPGA(場可編程門陣列)等。

本發(fā)明還擴(kuò)展到計算機軟件載體,該計算機軟件載體包括如下軟件,這種軟件當(dāng)用于操作圖形處理器、渲染器或包括數(shù)據(jù)處理裝置的微處理器系統(tǒng)時與所述數(shù)據(jù)處理裝置結(jié)合使所述處理器、渲染器系統(tǒng)執(zhí)行本發(fā)明的方法的步驟。這種計算機軟件載體可以是物理存儲介質(zhì),諸如ROM芯片、CD ROM、RAM、閃存或盤,或可以是信號,諸如電線上的電信號、光信號或無線電信號,諸如衛(wèi)星等。

還將進(jìn)一步理解的是,不是本發(fā)明的方法的所有步驟都需要由計算機軟件執(zhí)行,并且由此根據(jù)更寬方面,本發(fā)明提供了計算機軟件并且這種軟件安裝在計算機軟件載體上,用于執(zhí)行這里闡述的方法的步驟中的至少一個。

本發(fā)明可以因此適當(dāng)?shù)鼐唧w實施為用于與計算機系統(tǒng)一起使用的計算機程序產(chǎn)品。這種實現(xiàn)可以包括一系列計算機可讀指令,該一系列計算機可讀指令固定在有形、非暫時介質(zhì)上,諸如計算機可讀介質(zhì),例如,磁盤、CD-ROM、ROM、RAM、閃存或硬盤。還應(yīng)當(dāng)包括一系列計算機可讀指令,在有形介質(zhì)(包括但不限于,光學(xué)或模擬通信線)上,或無形地使用無線技術(shù)(包括但不限于,微波、紅外或其它傳輸技術(shù)),這些指令經(jīng)由調(diào)制解調(diào)器或其它接口裝置可發(fā)送到計算機系統(tǒng)。該系列計算機可讀指令具體實施這里之前描述的功能的所有或一部分。

本領(lǐng)域技術(shù)人員將理解這種計算機可讀指令可以以多種編程語言來寫,用于與許多計算機架構(gòu)或操作系統(tǒng)一起使用。進(jìn)一步地,這種指令可以使用任意存儲技術(shù)來存儲(存儲技術(shù)現(xiàn)在或?qū)戆ǖ幌抻诎雽?dǎo)體、磁或光),或使用任意通信技術(shù)來發(fā)送(通信技術(shù)現(xiàn)在或?qū)戆ǖ幌抻诠鈱W(xué)、紅外或微波)。預(yù)期的是,這種計算機程序產(chǎn)品可以作為可去除介質(zhì)來分發(fā),附有已打印的文檔或電子文檔,例如,現(xiàn)成軟件;例如在系統(tǒng)ROM或固定盤上預(yù)加載有計算機系統(tǒng);或在網(wǎng)絡(luò)(例如,因特網(wǎng)或萬維網(wǎng))上從服務(wù)器或電子公告欄分發(fā)。

附圖說明

現(xiàn)在將僅以示例的方式并參照附圖來描述本發(fā)明的多個優(yōu)選實施方式,附圖中:

圖1例示了在多個采樣點處對圖元進(jìn)行采樣的方法;

圖2例示了使用采樣點delta值在多個采樣點處對圖元進(jìn)行采樣的另選方法;

圖3示出了可以以本發(fā)明的方式操作的計算機圖形處理系統(tǒng)的示例;

圖4示意性地示出了可以以本發(fā)明的方式操作的圖形處理流水線;

圖5示意性地示出了可以以本發(fā)明的方式操作的圖形處理單元;

圖6例示了根據(jù)本發(fā)明生成插值屬性數(shù)據(jù)的方法;以及

圖7示意性示出了可以以本發(fā)明的方式操作的變化流水線和變化插值器。

類似的附圖標(biāo)記在附圖中適當(dāng)?shù)那闆r下用于類似的部件。

具體實施方式

現(xiàn)在將在用于顯示的計算機圖形的處理的背景下,描述本發(fā)明的多個優(yōu)選實施方式。

圖3示出了典型的計算機圖形處理系統(tǒng)。在主處理器(host)1上執(zhí)行的應(yīng)用2(諸如游戲)將要求由關(guān)聯(lián)的圖形流水線進(jìn)行圖形處理操作,圖形流水線借助圖形處理單元(GPU)3來實現(xiàn)。為了這樣做,應(yīng)用將生成由驅(qū)動器4來解釋的API(應(yīng)用編程接口)調(diào)用,驅(qū)動器4用于在主處理器1上運行的圖形處理流水線3,以生成對圖形處理器3適合的命令,以生成由應(yīng)用2需要的圖形輸出。為了促進(jìn)這一點,一組“命令”將響應(yīng)于來自用于圖形輸出(例如,以生成要顯示的幀)的主系統(tǒng)1上運行的應(yīng)用2的命令,而提供給圖形處理器3。

圖4更詳細(xì)地示出了圖形處理流水線3。圖4中所示的圖形處理流水線3是基于拼塊的渲染器,并且將由此生成渲染輸出數(shù)據(jù)陣列的拼塊,諸如要生成的輸出幀。在基于拼塊的渲染時,不是整個渲染輸出(例如,幀)被一下子有效處理為中間模式渲染,而是渲染輸出(例如,要顯示的幀)被劃分為多個更小的子區(qū)域(通常稱為“拼塊(tiles)”)。各個拼塊(子區(qū)域)被單獨(通常一個接一個地)渲染,然后渲染后的拼塊(子區(qū)域)被重組,以提供完整的渲染輸出(例如用于顯示的幀)。在這種結(jié)構(gòu)中,渲染輸出通常被劃分為,大小規(guī)律且成形的子區(qū)域(拼塊)(它們通常是正方形或矩形),但不是必須的。

渲染輸出數(shù)據(jù)陣列可以通常是輸出幀,輸出幀旨在顯示在顯示裝置上,諸如屏幕或打印機上,但還可以例如包括中間數(shù)據(jù),中間數(shù)據(jù)旨在用于后期的渲染通過(還稱為“渲染到紋理”輸出)等。

當(dāng)要顯示計算機圖形圖像時,通常首先被限定為一系列圖元(多邊形),這些圖元然后被劃分(柵格化)為用于依次圖形渲染的圖形片段。在正常圖形渲染操作期間,渲染器將修改(例如)顏色(紅色、綠色和藍(lán)色,RGB)和與各片段關(guān)聯(lián)的透明度(阿爾法、α)數(shù)據(jù),使得可以正確地顯示片段。一旦片段已經(jīng)完全穿過渲染器,則它們的關(guān)聯(lián)數(shù)據(jù)值存儲在存儲器中,以便輸出,例如,用于顯示。

圖4示出了圖形處理流水線3的、與本實施方式的操作有關(guān)的主元件和流水線階段。如本領(lǐng)域技術(shù)人員將理解的,可以存在圖4未例示的圖形處理流水線的其它元件。這里還應(yīng)當(dāng)注意的是,圖4僅是示意性的,并且例如,實際上,所示的功能單元和流水線階段可以共享重要的硬件電路(即使它們在圖4中被示意性地示出為單獨階段)。還將理解的是,如圖4所示的圖形處理流水線的各個階段、元件和單元等可以根據(jù)期望來實現(xiàn),并且因此將包括例如適當(dāng)?shù)碾娐泛?或處理邏輯等,用于執(zhí)行需要的操作和功能。

如圖4所示,圖形處理流水線3包括多個階段,包括頂點著色器20、外殼著色器(hull shader)21、曲面化器(tesselator)22、域著色器23、幾何著色器24、柵格化階段25、早期Z(深度)和模版測試階段26、呈片段著色階段的形式的渲染器27、后期Z(深度)和模版測試階段28、混合階段29、拼塊緩沖器30、以及下采樣和寫輸出(多采樣分辨率)階段31。

頂點著色器20采用如下的輸入數(shù)據(jù)值,該輸入數(shù)據(jù)值與針對要生成的輸出限定的、頂點等關(guān)聯(lián),并且處理那些數(shù)據(jù)值,以生成一組對應(yīng)的“頂點著色的”輸出數(shù)據(jù)值,用于由圖形處理流水線3的后續(xù)階段使用。頂點著色例如,修改輸入數(shù)據(jù),以考慮要被渲染的圖像中的發(fā)光效果。

外殼著色器21對斑點控制點(patch control point)組進(jìn)行操作,并且生成已知為斑點恒量的附加數(shù)據(jù),曲面化階段22子劃分幾何結(jié)構(gòu),以創(chuàng)建外殼的更高階的代表,域著色器23經(jīng)由曲面化階段對頂點輸出進(jìn)行操作(類似于頂點著色器),并且?guī)缀沃?4處理諸如三角形、點或線的全部圖元。這些階段與頂點著色器21一起有效地進(jìn)行所有需要的片段前端操作(諸如轉(zhuǎn)換和發(fā)光操作),和圖元設(shè)置,以響應(yīng)于提供給圖形處理流水線3的命令和頂點數(shù)據(jù),設(shè)置要被渲染的圖元。

圖形處理流水線3的柵格化階段25進(jìn)行操作,以將組成渲染輸出(例如,要顯示的圖像)的圖元柵格化為各個圖形片段,以便處理。為了這樣做,柵格化器25接收用于渲染的圖形圖元,將圖元柵格化為采樣點,并且生成具有用于渲染圖元的適當(dāng)位置(代表合適的采樣位置)的圖形片段。

由柵格化器生成的片段然后向前發(fā)送到流水線的剩余部分,以便處理。

早期Z/模版階段26對其從柵格化器25接收的片段進(jìn)行Z(深度)測試,以預(yù)見是否可以在該階段丟棄(剔除)任何片段。為了這樣做,早期Z/模版階段26將從柵格化器25發(fā)布的片段的深度值(與片段關(guān)聯(lián)的深度值)與已經(jīng)渲染的片段的深度值進(jìn)行比較(這些深度值存儲在作為拼塊緩存器30的一部分的深度(Z)緩沖器中),以確定新片段是否將由已經(jīng)被渲染的片段遮蔽。同時,執(zhí)行早期模版測試。

通過片段早期Z和模版測試階段26的片段然后被發(fā)送到片段著色階段27。片段著色階段27對通過早期Z和模版測試的片段進(jìn)行適當(dāng)?shù)钠翁幚聿僮?,以便處理片段,以生成適當(dāng)渲染的片段數(shù)據(jù)。

該片段處理可以包括任何合適且期望的片段著色處理,諸如對片段執(zhí)行片段著色器程序、向片段應(yīng)用紋理、向片段應(yīng)用霧化或其它處理等,以生成合適的片段數(shù)據(jù)。在本實施方式中,片段著色階段27是呈著色器流水線(可編程片段著色器)的形式。如下面將更詳細(xì)討論的,該片段處理包括處理頂點著色屬性數(shù)據(jù),以生成插值屬性數(shù)據(jù)。

然后,存在“后期”片段Z和模版測試階段28,該階段尤其對著色后的片段執(zhí)行流水線深度測試的結(jié)尾部分,以確定被渲染的片段是否將實際在最終圖像中看到。該深度測試使用在用于拼塊緩沖器30中的Z緩沖器中存儲的片段位置的Z緩沖器值,通過將從片段著色階段27發(fā)布的片段(與片段關(guān)聯(lián)的)深度值與已經(jīng)被渲染的(如存儲在深度緩沖器中的)片段的深度值進(jìn)行比較,來確定用于新片段的片段數(shù)據(jù)是否應(yīng)當(dāng)代替已經(jīng)渲染片段的片段數(shù)據(jù)。該后期片段深度和模版測試階段28還對片段執(zhí)行任意需要的“后期”阿爾法和/或模版測試。

通過后期片段測試階段28的片段然后經(jīng)歷(如果需要)任意必須的與已經(jīng)存儲在混合器29中的拼塊緩沖器30中的片段的混合操作。對片段需要進(jìn)行的任意其它剩余操作(諸如,抖動(dither)等(未示出))也在該階段執(zhí)行。

最后,(混合后的)輸出片段數(shù)據(jù)(值)被寫到拼塊緩沖器30,從該拼塊緩沖器30它們可以例如被輸出到幀緩沖器用于顯示。用于輸出片段的深度值還適當(dāng)寫到拼塊緩沖器30內(nèi)的Z緩沖器。拼塊緩沖器存儲顏色,并且深度緩沖器分別存儲合適顏色等或Z值,用于緩存器代表的各個采樣點(實質(zhì)上用于正被處理的塊的各個采樣點))。這些緩沖器存儲代表整個渲染輸出(即,要被顯示的圖像)的一部分(拼塊)的片段數(shù)據(jù)的陣列,緩沖器中的各組采樣值對應(yīng)于整個渲染輸出的各自像素(例如,各2x2組采樣值可以對應(yīng)于輸出像素,其中,使用4x多采樣)。拼塊緩沖器被提供作為位于(局部到)圖形處理流水線(芯片)上的RAM的一部分。

來自拼塊緩沖器30的數(shù)據(jù)被輸入到下采樣(多采樣分辨率)寫輸出單元31,因此輸出(寫回)到外部存儲輸出緩沖器,諸如顯示裝置(未示出)這樣的幀緩沖器。顯示裝置可以包括例如,包括像素陣列的顯示器,諸如計算機監(jiān)測器或打印機。

下采樣和寫輸出單元31將在拼塊緩沖器30中存儲的片段數(shù)據(jù)下采樣到用于輸出緩沖器(裝置)的適當(dāng)分辨率(即,使得生成對應(yīng)于輸出裝置的像素的像素數(shù)據(jù)的陣列),以生成用于輸出到輸出緩沖器的輸出值(像素)。

一旦渲染輸出的拼塊已經(jīng)被處理,并且其數(shù)據(jù)被輸出到主存儲器(例如,到主存儲器(未示出)中的幀緩沖器),以便存儲,然后處理下一拼塊等,直到足夠的拼塊已經(jīng)被處理,以生成整個渲染輸出(例如,要顯示的幀(圖像))。然后,該處理針對下一渲染輸出(例如,幀)重復(fù)等。

用于包括不基于拼塊的流水線的圖形處理流水線3的其它結(jié)構(gòu)當(dāng)然是可行的。

如可以從圖4看到的,圖形處理流水線3包括多個可編程處理或“著色器”階段,即,頂點著色器20、外殼著色器21、域著色器23、幾何著色器24和片段著色器27。這些可編程著色器階段執(zhí)行具有一個或更多個輸入變量的各著色器程序,著色器程序生成輸出變量組并且由應(yīng)用提供。為了這樣做,應(yīng)用2提供使用高級別著色器編程語言(諸如GLSL、HLSL、OpenCL等)實現(xiàn)的著色器程序。這些著色器程序然后由著色器語言編譯器來翻譯成用于目標(biāo)圖形處理流水線3的二進(jìn)制代碼。這可以包括創(chuàng)建編譯器內(nèi)的程序的一個或更多個中間表現(xiàn)。編譯器可以例如是驅(qū)動器4的一部分,特殊API調(diào)用使編譯器運行。編譯器執(zhí)行可以由此被看做繪制調(diào)用準(zhǔn)備的一部分,繪制調(diào)用準(zhǔn)備響應(yīng)于由應(yīng)用生成的API調(diào)用由驅(qū)動器而進(jìn)行。

圖4示意性地示出了圖形處理單元3的操作階段。圖5示出了圖形處理單元3的對應(yīng)功能單元,對應(yīng)功能單元用于進(jìn)行(由此充當(dāng))圖4示出的圖形處理流水線的各種處理操作和階段,且與本發(fā)明有關(guān)。圖形處理單元3中可能有其它功能單元。僅為了簡化,圖5示出了僅與以本發(fā)明的方式中的操作有關(guān)的那些功能單元。

如圖5所示,圖形處理單元3包括柵格化器25、線程派生器(spawner)40、可編程執(zhí)行單元41、變化插值器42、紋理映射器43和混合器29。

線程派生器40可操作,以派生用于由用于其接收的片段的可編程執(zhí)行單元41執(zhí)行的執(zhí)行線程。

可編程執(zhí)行單元41操作以執(zhí)行著色器程序來進(jìn)行圖形處理流水線的著色器操作,諸如外殼著色器、頂點著色器和片段著色器。為了這樣做,可編程執(zhí)行單元41從線程派生器40接收執(zhí)行線程,并且為那些執(zhí)行線程執(zhí)行相關(guān)著色器程序。

變化插值器42操作以跨圖形圖元對頂點屬性數(shù)據(jù)進(jìn)行插值,并且作為該操作的一部分,經(jīng)常創(chuàng)建要用于采樣圖形紋理的紋理坐標(biāo)。

紋理映射器43操作以使用例如由變化插值器42生成的紋理坐標(biāo)來采樣圖形紋理,并且從圖形紋理生成經(jīng)濾波的紋理采樣結(jié)果。

混合器29操作以混合例如由可編程執(zhí)行單元生成的片段著色結(jié)果和之前生成的片段著色器結(jié)果,諸如已經(jīng)存儲在拼塊緩沖器中的結(jié)果。

現(xiàn)在將參照圖6和圖7詳細(xì)描述一個實施方式中的變化插值器42的操作。

如圖6所示,在該實施方式中,三角形圖元60使用四個片段61、62、63、64的“四元組(“quad)”65來采樣,片段61、62、63、64中的每一個具有中心采樣點。

關(guān)于第一坐標(biāo)系x,y來限定四元組65的中心參考點的位置xcentre,ycentre。如下面更詳細(xì)討論的,還對于圖元60生成關(guān)于第一坐標(biāo)系xmy,xpy限定的采樣點delta值。第二坐標(biāo)系相對于第一坐標(biāo)系旋轉(zhuǎn)角度θ。在該實施方式中,θ為45°。

如下面將參照圖7更詳細(xì)討論的,變化插值器42使用關(guān)于第一坐標(biāo)系限定的中心參考點的位置xcentre,ycentre連同關(guān)于第二坐標(biāo)系限定的采樣點delta值中的至少一個,來生成四個片段61、62、63、64的采樣點的插值屬性數(shù)據(jù)。

圖7示意性示出了用于對與本實施方式相關(guān)的頂點著色屬性數(shù)據(jù)的變化流水線70的功能單元。在變化流水線70中可以存在其它功能單元,但為了簡化,圖7示出了與以本發(fā)明的方式進(jìn)行的操作更相關(guān)的這些功能單元。

如圖7所示,圖5的變化插值器42形成變化流水線70的一部分。變化流水線70還將質(zhì)心系數(shù)緩存71用于存儲質(zhì)心系數(shù),將質(zhì)心坐標(biāo)緩存72用于存儲質(zhì)心坐標(biāo),并且將屬性緩存73用于存儲頂點著色屬性數(shù)據(jù)。

變化流水線70從柵格化器25接收圖元60的旋轉(zhuǎn)后的質(zhì)心系數(shù)(iapb、japb;iamb、jamb)和旋轉(zhuǎn)后的透視校正系數(shù)(Wapb;Wamb),并將它們存儲在質(zhì)心系數(shù)緩存71中。在該實施方式中,旋轉(zhuǎn)后的質(zhì)心系數(shù)(iapb、japb;iamb、jamb)和旋轉(zhuǎn)后的透視校正系數(shù)(Wapb;Wamb)可以被認(rèn)為是采樣點delta值(Sxpy;Sxmy)。

旋轉(zhuǎn)后的質(zhì)心系數(shù)(iapb、japb;iamb、jamb)和透視校正系數(shù)(Wapb;Wamb)根據(jù)未旋轉(zhuǎn)質(zhì)心系數(shù)(ia、ja;ib、jb)和透視校正系數(shù)(Wa;Wb)在圖元設(shè)置期間來生成。未旋轉(zhuǎn)質(zhì)心系數(shù)(ia、ja;ib、jb)和透視校正系數(shù)(Wa;Wb)以傳統(tǒng)方式在圖元設(shè)置期間來生成,然后被旋轉(zhuǎn)為以以下方式提供旋轉(zhuǎn)后的質(zhì)心系數(shù)(iapb、japb;iamb、jamb)和透視校正系數(shù)(Wapb;Wamb):

如將理解的,上述等式等同于應(yīng)用如下的旋轉(zhuǎn)矩陣:

其中,θ=45°,連同通過乘以1/√2來實現(xiàn)附加縮放。該附加縮放意味著各旋轉(zhuǎn)后的質(zhì)心系數(shù)(iapb、japb;iamb、jamb)和透視校正系數(shù)(Wapb;Wamb)可以由單個加法或加法以及除以2的位移位(bit shift)來計算。

變化流水線70還從柵格化器25接收圖元60的未旋轉(zhuǎn)的質(zhì)心系數(shù)(ic、jc)和未旋轉(zhuǎn)的透視校正系數(shù)(Wc),并將這些存儲在質(zhì)心系數(shù)緩存71中。

變化流水線70還從頂點著色器20接收頂點著色屬性數(shù)據(jù)。頂點著色屬性數(shù)據(jù)由頂點著色器20以傳統(tǒng)方式來生成,并且包括圖元60的頂點顏色、頂點透明度、頂點紋理坐標(biāo)等。變化流水線70還在將圖元60的頂點著色屬性數(shù)據(jù)存儲在屬性緩存73中之前,轉(zhuǎn)換和/或準(zhǔn)備頂點著色屬性數(shù)據(jù)。

變化插值器42響應(yīng)于從可編程執(zhí)行單元41接收到變化請求消息77而操作。變化請求消息77包括四元組65的參考點的位置xcentre,ycentre,其表示要插值的頂點著色屬性數(shù)據(jù)的采樣點。

在該實施方式中,變化插值器42包括質(zhì)心估算器75和屬性估算器76。

質(zhì)心估算器75接收變化請求消息77,然后訪問質(zhì)心系數(shù)緩存71中所存儲的圖元60的質(zhì)心系數(shù)(iapb、japb;iamb、jamb;ic、jc)和透視校正系數(shù)(Wapb;Wamb;Wc),然后以以下方式生成四元組65的各個采樣點的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)。

首先,將參考點的位置xcentre,ycentre用于確定參考點的質(zhì)心坐標(biāo)icentre,jcentre。這包括使關(guān)于第一坐標(biāo)系限定的參考點的位置xcentre,ycentre旋轉(zhuǎn),以便生成關(guān)于第二坐標(biāo)系限定的旋轉(zhuǎn)后的位置xpycentre,xmycentre。在該實施方式中,該旋轉(zhuǎn)以以下方式來實現(xiàn):

xpycentre=xcentre+ycentre.

xmycentre=xcentre-ycentre.

如將理解的,上述等式等同于應(yīng)用如下的旋轉(zhuǎn)矩陣:

連同附加縮放通過乘以1/√2來實現(xiàn)。

該附加縮放意味著各旋轉(zhuǎn)后的質(zhì)心坐標(biāo)xpycentre,xmycentre可以由單個加法或加法來計算??s放還取消如上所討論的應(yīng)用于質(zhì)心系數(shù)的1/√2縮放,使得沒有插值屬性數(shù)據(jù)的整體縮放。

然后,將旋轉(zhuǎn)后的質(zhì)心坐標(biāo)xpycentre,xmycentre、質(zhì)心系數(shù)(iapb、japb;iamb、jamb;ic、jc)以及透視校正系數(shù)(Wapb;Wamb;Wc)用于以以下方式使用平面等式確定參考點的質(zhì)心坐標(biāo)icentre,jcentre和透視校正值(Wcentre):

icentre=[iapb*xpycentre]+[iamb*xmycentre]+ic

jcentre=[japb*xpycentre]+[jamb*xmycentre]+jc

wcentre=[wapb*xpycentre]+[wamb*xmycentre]+wc

然后,分別將旋轉(zhuǎn)后的質(zhì)心系數(shù)(iapb、japb;iamb、jamb)和透視校正系數(shù)(Wapb;Wamb)加到參考點的質(zhì)心坐標(biāo)(icentre,jcentre)和透視校正值(Wcentre),或從參考點的質(zhì)心坐標(biāo)(icentre,jcentre)和透視校正值(Wcentre)減去,以便以下方式生成四元組65的采樣點的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)以及透視校正值(w0;w1;w2;w3):

[i0,j0]=[icentre-iapb,jcentre-japb]

[i1j1]=[icentre+iamb,jcentre+jamb]

[i2j2]=[icentre-iamb,jcentre-jamb]

[i3j3]=[icentre+iapb,jcentre+japb]

w0=wcentre-wapb

w1=wcentre+wamb

w2=wcentre-wamb

w3=wcentre+wapb

如果期望,然后以以下方式使用四元組65的采樣點的透視校正值(w0;w1;w2;w3)將透視校正應(yīng)用于質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3):

[i0,j0]=[i0/w0,j0/w0]

[i1,j1]=[i1/w1,j1/w1]

[i2,j2]=[i2/w2,j2/w2]

[i3,j3]=[i3/w3,j3/w3]

在該實施方式中,應(yīng)用透視校正還歸一化質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)。然后由質(zhì)心估算器75向質(zhì)心坐標(biāo)緩存72輸出四元組65的采樣點的(透視校正后的)質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)。

然后,變化插值器42的屬性估算器76訪問質(zhì)心坐標(biāo)緩存72中所存儲的透視校正的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)以及屬性緩存73中所存儲的圖元60的頂點著色屬性數(shù)據(jù)。

然后,屬性估算器76通過使用各采樣點的質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)進(jìn)行插值來導(dǎo)出四元組65的采樣點的插值屬性數(shù)據(jù)(S0、S1、S2、S3)。實際上的插值包括:將各質(zhì)心坐標(biāo)(i0、j0;i1、j1;i2、j2;i3、j3)乘以與質(zhì)心坐標(biāo)有關(guān)的頂點的頂點著色屬性值(Si、Sj、Sk,例如,色值、透明度值、紋理坐標(biāo)等),然后對相乘的結(jié)果求和。在本實施方式中,這以以下方式來實現(xiàn):

S0=Si_new*i0+Sj_new*j0+Sk

S1=Si_new*i1+Sj_new*j1+Sk

S2=Si_new*i2+Sj_new*j2+Sk

S3=Si_new*i3+Sj_new*j3+Sk

其中,Si_new=Si-Sk且Sj_new=Sj-Sk

Si_new=Si-Sk且Sj_new的值由變化流水線70根據(jù)頂點著色屬性數(shù)據(jù)來提前確定且存儲在屬性緩存73中,以便在導(dǎo)出采樣點的插值屬性數(shù)據(jù)(S0、S1、S2、S3)時使用。然后,由變化插值器42的屬性估算器76在變化結(jié)果消息78中向可編程執(zhí)行單元41輸出插值屬性數(shù)據(jù)(S0、S1、S2、S3)。

然后,可以由圖形處理流水線的隨后階段(諸如(例如使用插值紋理坐標(biāo)形式的插值屬性數(shù)據(jù)對紋理進(jìn)行采樣的)紋理映射器43或(例如,使用插值顏色形式的插值屬性數(shù)據(jù)進(jìn)行混合操作的)混合器29)使用插值屬性數(shù)據(jù)(S0、S1、S2、S3)。

從上面可以看出,至少在本發(fā)明的優(yōu)選實施方式中,本發(fā)明提供了一種圖形處理系統(tǒng),該圖形處理系統(tǒng)允許對于多個采樣點更有效地生成插值屬性數(shù)據(jù)。這至少在優(yōu)選實施方式中通過使用采樣點的參考位置連同旋轉(zhuǎn)后采樣點delta值生成采樣點的插值屬性數(shù)據(jù)來實現(xiàn)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
锦屏县| 黄石市| 营山县| 宁乡县| 乐山市| 泰来县| 北流市| 宁陕县| 定兴县| 资兴市| 白朗县| 桂平市| 伊春市| 白城市| 休宁县| 榆中县| 南城县| 乐平市| 体育| 芮城县| 襄城县| 勐海县| 丽江市| 太原市| 建湖县| 西畴县| 楚雄市| 柳江县| 石屏县| 灌阳县| 南皮县| 同仁县| 彭山县| 盖州市| 会东县| 永定县| 遂昌县| 宁远县| 木兰县| 仪陇县| 清徐县|