TW201706962A - 圖形處理 - Google Patents
圖形處理 Download PDFInfo
- Publication number
- TW201706962A TW201706962A TW105122843A TW105122843A TW201706962A TW 201706962 A TW201706962 A TW 201706962A TW 105122843 A TW105122843 A TW 105122843A TW 105122843 A TW105122843 A TW 105122843A TW 201706962 A TW201706962 A TW 201706962A
- Authority
- TW
- Taiwan
- Prior art keywords
- point
- coordinate system
- sampling
- sample
- attribute data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
Abstract
一圖形處理系統3,產生內插頂點著色屬性資料,用於一四單位群組片段65的複數片段61、62、63、64的複數取樣點,以用來取樣一基元60。用於複數取樣點的內插頂點著色屬性資料是使用用於被定義為與一第一座標系統x, y有關的四單位群組片段65的一參考位置伴隨用於被定義為與一第二座標系統xmy, xpy有關的基元60的旋轉取樣點三角值而被產生。旋轉取樣點三角值可使用於複數取樣點的該內插頂點著色屬性資料更有效率地被產生。
Description
本發明提供一種圖形處理,特別是包括了產生內插頂點屬性資料的一片段著色階段的圖形處理系統之運作。
圖形處理通常以一管線的方式來執行,並具有運作資料的一或多個管線階段,以產生最終顯示的影像。此過程的兩個重點通常被稱為頂點著色運作以及接續片段(像素)著色運作,頂點著色運作例如在呈現即將顯示的影像的基元(多邊形)的頂端上所執行的轉變或點亮,接續片段著色運作係對個別片段進行著色(顏色)來構成即將顯示的影像。
該等頂點著色運作通常於圖形處理中被稱為‟頂點著色器”階段被執行。其通常指一可程式化處理單元對輸入資料值執行頂點著色程式,來產生一組所需的輸出資料(例如適當地轉變及點亮頂點資料),用於後續圖形管線之處理。一場景的每一基元(多邊形)通常被定義及呈現為一組頂點,每一頂點具有與其相關的一組資料值來用於該頂點。該頂點著色過程修改一頂點的初始定義資料值,例如基於頂點相關之基元所取決的任何轉變或點亮。
當用於一場景的輸入資料值已被執行頂點‟著色”,呈現該場景的該等基元接著通常會被光柵化來產生將用於該場景的複數個‟片段”。該等片段係圖形處理運作所執行(例如渲染)的分散圖形實體。每一片段將對應至該場景的一個或多個取樣點,以及一旦被取樣,將具有與顯示該(等)取樣點有關的必要資料,例如紅、綠、藍(RGB)顏色值、一透明度(alpha)值及一深度(z)值。該等片段也可被歸類為像素,儘管在最終的顯示裡,一片段並非必精準對應一單一像素(像素元件),在後製處理時,例如縮小比例時,可代表圖形處理所運作的實體與顯示像素之間不具有一對一的對應關係。
一旦該等圖形化片段被產生,經歷多次著色的處理,例如頂點資料的修改、執行紋理化、混合等,該等將會產生最終輸出的顏色值…等。一些用以取得該等輸出資料值…等的處理,例如需要顯示該等片段所呈現的該或該等取樣點,將被歸類為‟片段著色”或‟像素”著色,並在該處理管線的一片段著色(也被稱為一像素著色)器階段裡被執行。該片段著色過程處理一片段之該初始定義片段資料值,以正確地取得該片段之該輸出資料(資料必須顯示該片段所呈現的該或該等取樣點)。該片段著色器又可以是一可程式化單元,用以執行一或多個片段著色器程式來適當地著色該等片段(顏色)。 該等片段可以單獨或一起被處理 (例如取樣、著色等)。 舉例來說,2x2個一組片段時常被一起處理,如同一‟四單位群組”,而更少或更大量的群組有時也會被使用。
該等頂點及片段著色運作一般會執行所謂的‟屬性”。 一屬性是一著色器程式裡的一輸入或輸出變數,並且可呈現例如一顏色、透明度、紋理座標…等。 該頂點著色器會對用以定義及呈現一場景的每一基元(多邊形)的每一頂點來產生一組屬性(顏色、透明度、紋理座標等)。 這些被產生的屬性通常可被歸類為頂點著色屬性資料。
作為該片段著色過程的一部分,該片段著色器通常內插頂點著色屬性資料,藉此產生用於一片段之一或多個取樣點之內插屬性資料。此提供該內插屬性資料的過程可以被歸類為一變化計算,並例如可以在該片段著色器的一變化管線裡被執行。該變化管線通常包括一變化內插器,用以輸入該頂點著色屬性資料以及x、y座標,以用於該片段(例如該片段的一或多個取樣點),以及用以輸出該內插屬性資料。
圖1顯示用以內插頂點著色屬性資料的一方法,使一三角形基元5被以四個片段6、7、8、9所組成的一‟四單位群組”進行取樣,且每一片段6、7、8、9具有一中心取樣點。在此例裡,用於每一取樣點的該等x、y座標是藉由一變化內插器而被直接使用,來預估用於該基元的一變化平面方程式,藉此提供用於這些取樣點的內插屬性資料(S0
, S1
, S2
, S3
)。 然而,直接使用此方法來預估用於每一組x、y座標的變化平面方程式可能會非常昂貴。
圖2顯示一替代方法,使只有其中一片段6的其中一取樣點的該等x、y座標被直接使用來提供用於該取樣點的內插屬性資料S0
。取樣點三角值Sx
、 Sy
接著被用以提供用於其它片段7、8、9的每一取樣點的內插屬性資料S1
、S2
、S3
,如以下方式: S1
= S0
+ Sx
S2
= S0
+ Sy
S3
= S0
+ Sx
+ Sy
由於不需要在每一該等取樣點上使用取樣點的該等x、y座標來完整預估用於該基元的該變化平面方程式,利用此方法來使用該等取樣點三角值可以比直接使用用於每一取樣點的該等x、y座標來得便宜。然而,由於涉及該等取樣點三角值的額外運作的數量與所有取樣點並不一致,此方法仍可能不具效率。 尤其是,僅有一單一額外運作來產生S1
及S2
,但兩個額外運作來產生S3
。舉例來說,其可代表被使用來施行該等額外運作的一些額外單元可能會在運作的某些期間內被排除,或在一回饋迴圈裡被需要。
申請人認為此具有用以產生內插頂點屬性資料的一片段著色階段之圖形處理器在運作上仍有改善的空間。
依據本發明的一觀點,係提供一種運行一圖形處理系統的方法,該圖形處理系統包括一片段著色階段,該片段著色階段係用來處理用於基元的頂點著色屬性資料,並藉此產生用於取樣點的內插屬性資料,該方法包含:產生用於一基元的取樣點三角值;以及產生用於一組複數取樣點的至少一取樣點的內插屬性資料,該等複數取樣點係被用來取樣該基元;其中用於該至少一取樣點的該內插屬性資料係使用用於該組複數取樣點的一參考點的一位置伴隨至少一個該等取樣點三角值而被產生;其中用於該組複數取樣點的該參考點的該位置係被定義為關聯於一第一座標系統,以及其中用於該基元的該等取樣點三角值係被定義為關聯於一第二座標系統,該第二座標系統係相對該第一座標系統被旋轉。
依據本發明的另一觀點,係提供一種圖形處理系統,包括一片段著色階段,該片段著色階段係用來處理用於基元的頂點著色屬性資料,並藉此產生用於取樣點的內插屬性資料,該系統包含處理電路,該處理電路被設定以:產生用於一基元的取樣點三角值;以及產生用於一組複數取樣點的至少一取樣點的內插屬性資料,該等複數取樣點係被用來取樣該基元;其中該處理電路係被設定為使用用於該組複數取樣點的一參考點的一位置伴隨至少一該等取樣點三角值,據以產生用於該至少一取樣點的該內插資料;其中用於該組複數取樣點的該參考點的該位置係被定義為關聯於一第一座標系統,以及其中用於該基元的該等取樣點三角值係被定義為關聯於一第二座標系統,該第二座標系統係相對該第一座標系統被旋轉。
在此發明裡,用於一組複數取樣點裡的一取樣點的該內插屬性資料是使用用於該組複數取樣點的一參考點的一位置伴隨至少一取樣點三角值而被產生。如先前所述,使用取樣點三角值可以比直接使用用於每一取樣點的位置來產生內插屬性資料的例子來得便宜。此外,在此發明裡,該等取樣點三角值被定義為與相對該第一座標系統而被旋轉的一第二座標系統有關,而該第一座標系統是用於定義該參考點的位置。申請人已確定此發明可以,舉例來說,更加平均地建立當使用該等取樣點三角值來產生該內插屬性資料時,所需要被執行的運作之數量,特別是針對用於許多常見的取樣點圖樣,例如Ordered 4x, Rotated 4x, Direct3D 8x…等。此發明藉此提供一圖形處理系統,可更有效率地產生內插屬性資料。
該第一座標系統可包含一第一對垂直軸,其可定義為“x”及“y”軸。該第一座標系統的座標可與輸出位置有關,例如顯示螢幕位置。藉此,該第一座標系統可被視為‟螢幕空間”。對於階層化或三維圖形處理而言,該第一座標系統可包含另一軸,該另一軸垂直於該對垂直軸。該另一軸在此可被視為‟z”軸或‟深度”軸。
該第二座標系統可包含一第二對垂直軸,該對垂直軸在此可被視為‟xmy”及‟xpy”軸。如先前所述,該第二座標系統係相對該第一座標系統而被旋轉。藉此,該第二座標系統可被視為‟旋轉螢幕空間”。欲表達的是,該第二座標系統的該第二對垂直軸較佳是相對於該第一座標系統的該第一對垂直軸而被旋轉。對於階層化或三維圖形處理而言,該第二座標系統亦可包含垂直於該第二對垂直軸的一另一軸。該另一軸可以與該第一座標系統共用,且亦可被視為該‟z”軸或‟深度”軸。
因此,該第二座標系統係較佳地相對該第一座標系統而被旋轉於由該第一及/或第二對垂直軸所定義出的平面之內,及/或繞著該第一及/或第二座標系統的原點,及/或繞著垂直於該第一及/或第二對垂直軸的另一軸(較佳是沒有其它軸)。 在較佳實施例裡,該第二座標系統係相對該第一座標系統而被旋轉45度(或其倍數),但亦可以選轉為其它角度,例如基於該特殊取樣點樣式或被用於取樣該基元的該組複數取樣點。
用於該組複數取樣點的該參考點可被設置於任何需求或適合的位置。然而,在較佳實施例裡,該參考點係被設置在沿著該第一座標系統裡的一或多個軸之一整數區域(例如一整數(x或y)座標,片段/像素數量的整數)上。舉例來說,這些實施例可減少呈現該參考點的位置所需之位元數量。
在較佳實施例裡,該參考點係位於該等取樣點的群組的複數取樣點之中心處。在較佳實施例裡,該組複數取樣點的至少一些或全部該等取樣點至該參考點的距離相等。該參考點較佳是設置為例如從該參考點延伸至該組多數取樣點的至少一、一些或全部取樣點之間的一直線是與該第二座標系統的其中一軸平行。該參考點較佳是設置為例如當利用以一整數為單位區間,從該參考點沿著該第二座標系統的一或多個軸延伸將可到達該組多數取樣點的至少一、一些或全部取樣點。舉例來說,這些實施例可進一步地簡化使用取樣點三角值來產生內插屬性資料時所需執行的操作。
用於該基元的該底點著色屬性資料可藉由該圖形處理系統的一頂點著色階段而被產生,例如以一傳統的方式。藉此,該圖形處理系統可包含一頂點著色階段來處理輸入屬性資料,以產生在該片段著色階段使用下,用於基元的頂點著色屬性資料。該頂點著色屬性資料可以是一頂點著色器可產生或操作的任何所需及適合的屬性資料。舉例來說,其可包括用於基元的屬性值,例如頂點位置、頂點顏色、頂點透明度、頂點紋理座標等。
在較佳實施例裡,產生該內插屬性資料的步驟發生在用於該基元的一抽象參數空間裡。該參數空間較佳是用於該基元的一質心(barycentric)參數空間。
該領域具通常知識者將會認知,對於用於一基元的一質心參數空間內的一點而言,該質心座標通常被以i、j、k來表示,每一i、j、k指出對於該點而言之每一頂點屬性(或至該頂點的距離)的權重。 i+j+k之總和通常被正規化為等同於1。 藉此,使用i及j的值將可推估至k的值。 藉此,在較佳實施例以及在後續的說明中,k的值將不再描述。
對於用於一基元的一質心參數空間裡的一點而言,其質心座標可以藉由任何所需及適合的方式而被計算。然而,在一較佳實施例及後續說明裡,對於用於該基元的該質心參數空間裡的該點而言,其質心座標是由用於基元的變化平面方程式的質心係數(ia
、 ja
; ib
、 jb
;ic
、 jc
)來計算。 這些變化平面方程式在該未旋轉的第一座標系統裡可能發生的態樣為: i(x,y) = ia
*x + ib
*y + ic
j(x,y) = ja
*x + jb
*y + jc
因此質心係數(ia
、 ja
; ib
、 jb
;ic
、 jc
)可被提供來用於基元。 該等質心係數(ia
、 ja
; ib
、 jb
;ic
、 jc
)可經由基元(例如三角形)建立而被產生,例如使用一頂點著色階段所輸出的一頂點位置資料。 該基元建立可在該圖形處理系統的一基元(例如三角形)建立階段被執行,該階段可早於或屬於該圖形處理管線裡的一光柵化階段的一部份。
該領域具通常知識者可領會,前述質心座標並沒有進行透視角修正。 因此若有需要,也可以對用於該基元的該質心參數空間裡的一點提供一透視角修正值(w)。
使用在用於該基元的一質心參數空間內的一點的該透視角修正值(w)可以依照任何所需及適合的方式來計算。 然而,在較佳實施例裡,使用在用於該基元的該質心參數空間內的該點的該透視角修正值(w)是由用於該基元的一變化方程式之透視角修正係數(wa
; wb
; wc
)來計算。 此變化平面方程式在該未旋轉的第一座標系統裡可能發生的態樣為: w(x,y) = wa
*x + wb
*y + wc
而該透視角修正之質心座標接著可被表示為: i(x,y) = i(x,y) / w(x,y) j(x,y) = j(x,y) / w(x,y)
假如需要,該透視角修正值(w)及/或透視角修正係數(wa
; wb
; wc
)可包括用於該基元的一常數因子,該常數因子在施加該透視角修正時,可具有正規化該等質心座標之效果。
再一次地,該等透視角修正係數(wa
; wb
; wc
)可在基元建立時被產生,例如使用一頂點著色階段所輸出的頂點位置資料。
當取樣該基元時,用於該基元的該等取樣點三角值(Sxpy
; Sxmy
)較佳地各別與將被內插的一值裡的一改變有關(例如一顏色值(RGB)、一透明度值(alpha)、一紋理座標、一質心座標(i, j)、一透視角修正值(w)…等),較佳地關聯於沿著該第二座標系統的其中一軸(xmy, xpy)的一單位區間。
如先前說明,在較佳實施例裡,產生該內插屬性資料的步驟發生於一質心參數空間裡。在這些實施例裡,該等取樣點三角值可包含被定義為與該第二座標系統有關的(旋轉)質心係數(iapb
、 japb
; iamb
、 jamb
)。進一步地說明,該等取樣點三角值也可包含被定義為與該第二座標系統有關的(旋轉)透視角修正係數(wapb
; wamb
)。
對於將被內插的值的每一型態係較佳地具有至少一取樣點三角值,較佳是用於其上將發生內插之該第二座標系統的每一軸(xmy, xpy)。舉例來說,當具有兩個質心座標 (i, j)將沿著兩軸(xmy, xpy)被內插,此處可能產生至少四個取樣點三角值(iapb
、 japb
; iamb
、 jamb
)。相似地,當具有一透視角修正值(w)將沿著兩軸(xmy, xpy)被內插,則此處也可能產生至少二個另外的取樣點三角值(wapb
; wamb
)。
該等取樣點三角值可藉由任何所需及適合的方式來產生。在一些實施例裡,產生該等取樣點三角值可能包含產生被定義為與該第一座標系統有關的(未旋轉)取樣點三角值(Sx
; Sy
)。被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值接著可被旋轉,藉以產生被定義為與該第二座標系統有關的該等(旋轉)取樣點三角值(Sxpy
; Sxmy
)。
產生被定義為與該第二座標系統有關的該等(旋轉)取樣點三角值(Sxpy
; Sxmy
)可包含對被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值(Sx
; Sy
)使用一旋轉矩陣。 舉例來說,產生該等取樣點三角值所被使用的一旋轉矩陣可如下所示:其中θ為(逆時針)旋轉角度。 由此可知,相似的計算可被執行來影響所需的角度。
產生被定義為與該第二座標系統有關的該等取樣點三角值(Sxpy
; Sxmy
)可進一步包含使用額外的縮放 (即除了發生在該(單純)旋轉之結果的任何固定縮放之外)。 舉例來說,此額外的縮放可讓該等取樣點三角值的產生更簡化。舉例來說,如先前所述,在較佳實施例裡,該第二座標系統是相對該第一座標系統而被選轉45度(或其倍數)。 由此可知,在這些較佳實施例裡,被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值可固定被縮放為1/√2 (即cos 45° or sin 45°),來作為旋轉結果。 在這些較佳實施例裡,該額外的縮放大致可被使用為1/√2的更多倍數。 由此可知,此導引至一總體為½(即1/√2 * 1/√2)之縮放被使用至被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值上。因此被定義為與該第二座標系統有關的該(旋轉)取樣點三角值的總產生次數可以被簡化,因為其可包含將該等取樣點三角值乘上½倍,並且其可僅使用一位元移位來達成。
如先前所述,在較佳實施例裡,產生該內插屬性資料的步驟發生在一質心參數空間裡。 在這些實施例裡,被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值(Sx
; Sy
)可包含被定義為與該第一座標系統有關的(未旋轉)質心係數(ia
, ja
; ib
, jb
)。 相似地,被定義為與該第二座標系統有關的該等(旋轉)取樣點三角值(Sxpy
; Sxmy
)可包含被定義為與該第二座標系統有關的該等(旋轉)質心係數(iapb
, japb
; iamb
, jamb
)。
在這些較佳實施例裡,從該等被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值(ia
, ja
; ib
, jb
)中產生被定義為與該第二座標系統有關的該等(旋轉)取樣點三角值(iapb
, japb
; iamb
, jamb
)是可藉由下來達成:
可理解的是,該等前述的方程式等同於施加一旋轉矩陣,如下所示:其中θ為45度,伴隨一額外的1/√2倍縮放。
用該基元的該等取樣點三角值可藉由該圖形處理系統的任何所需及適合的階段而被產生。在較佳實施例裡,該等取樣點三角值之至少一部分是經由基元建立而被產生,例如使用從一頂點著色階段所輸出的頂點位置資料。
藉此,該圖形處理系統在該片段著色階段的使用時可包含產生用於基元的(旋轉及/或未旋轉)取樣點三角值的一基元建立階段,舉例來說,使用從一頂點著色階段所輸出的頂點位置資料。如先前所述,該基元建立階段可以是該圖形處理管線裡的一光柵化階段的一部分或早於該光柵化階段。 該圖形處理系統可進一步包含一頂點著色階段來產生該基元建立階段所使用的該頂點位置資料。
在較佳實施例裡,該基元建立階段可產生被定義為與該第一座標系統有關的(未旋轉)取樣點三角值,如先前所述。該基元建立階段接著可旋轉被定義為與該第一座標系統有關的該等(未旋轉)取樣點三角值,藉此產生被定義為與該第二座標系統有關的該等(旋轉)取樣點三角值,如先前所述。
在其它較佳實施例裡,該基元建立階段可產生被定義為該第一座標系統有關的(未旋轉)取樣點三角值,如先前所述。然而,該片段著色階段可接著旋轉被定義為該第一座標系統有關的(未旋轉)取樣點三角值,藉此產生被定義為與該第二座標系統有關的該等(旋轉)取樣點三角值,如先前所述。
該內插屬性資料可以是任何所需或適合的屬性資料,以讓一片段著色器可產生或執行。舉例來說,其可包括例如一顏色值(RGB)之屬性值、一透明度值(alpha)、一紋理座標…等。
如先前所述,在本發明裡,用於該組複數取樣點的至少一取樣點的該內插屬性資料是藉由使用用於該組複數取樣點的該參考點的位置伴隨至少一取樣點三角值而被產生。其可用任何所需及適合的方式來執行。
然而,如先前所述,在較佳實施例裡,其是使用用於該基元的一質心參數而被執行。 在這些較佳實施例裡,使用該參考點的位置可包含從該參考點的位置來決定用於該參考點的質心座標(icentre
, jcentre
)。 在這些較佳實施例裡,決定用於該參考點的該質心座標(icentre
, jcentre
)可包含旋轉被定義為與該第一座標系統有關的(未旋轉)該參考點的位置座標(xcentre
, ycentre
),藉此來產生用於被定義為與該第二座標系統有關的該參考點的(旋轉)位置座標(xpycentre
, xmycentre
)。
產生用於被定義為與該第二座標系統有關的該參考點的該(旋轉)位置座標可包含對被定義為與該第一座標系統有關的該(未旋轉)位置座標(xcentre
, ycentre
)使用一旋轉矩陣。 舉例來說,產生用於該參考點的該(旋轉)位置座標(xpycentre
, xmycentre
)所使用的一旋轉矩陣可被表示如下:其中θ是旋轉的角度(逆時鐘旋轉)。由此可知,相同的計算可以被執行來影響所需的旋轉。
產生用於被定義為與該第二座標系統有關的該參考點的該(旋轉)位置座標(xpycentre
, xmycentre
)亦可包含使用額外的縮放(即除了發生在該(單純)旋轉之結果的任何固定縮放之外)。 舉例來說,此額外的縮放可使該質心座標(xpycentre
, xmycentre
)的產生更簡化。
舉例來說,如先前所述,在較佳實施例裡,該第二座標系統是相對該第一座標系統而旋轉45度(或其倍數)。由此可知,在這些較佳實施例裡,被定義為與該第一座標系統有關的該(未旋轉)位置座標(xcentre
, ycentre
)可固定地被縮放1/√2倍 (i.e. cos 45° or sin 45°),來做為縮放結果。 在這些較佳實施例裡,該額外的縮放可使用√2之倍數。由此可知,此導致沒有總體縮放(即1/√2 * √2 = 1)被使用至被定義為與該第一座標系統有關的該(未旋轉)質心座標(xcentre
, ycentre
)上。 因此被定義為與該第二座標系統有關的該(旋轉)位置座標(xpycentre
, xmycentre
)的產生可以被簡化,因為此處不需要對被定義為與該第一座標系統有關的該(未旋轉)位置座標(xcentre
, ycentre
)乘上倍數。
由此亦可知,藉由旋轉該等取樣點三角值時所使用的該額外的縮放(例如1/√2),旋轉該位置座標時所使用的該額外的縮放(例如√2)較佳是被刪除,使得此處不會有該內插屬性資料的整體縮放。其通常需要避免該內插屬性資料的失真。 此整體縮放的缺乏亦可藉由將在旋轉該位置座標時所使用的該額外的縮放與在旋轉該等取樣點三角值時所使用的該額外的縮放進行對調來達成。 舉例來說,在旋轉該位置座標時所使用的該額外的縮放可以是1/√2倍,以及在選轉該等取樣點三角值時所使用的該額外的縮放可以是√2倍。
用於被定義為與該第二座標系統有關的該參考點的該(旋轉)位置座標(xpycentre
, xmycentre
)可接著被使用來決定用於該參考點的該質心座標(icentre
, jcentre
)。
在較佳實施例裡,用於該參考點的該質心座標(icentre
, jcentre
)是使用被定義為與該第二座標系統有關的該(旋轉)位置座標(xpycentre
, xmycentre
),伴隨被定義為與該第二座標系統有關的該(旋轉)取樣點三角值(iapb
, japb
; iamb
, jamb
)而被決定,舉例來說,可使用下列之變化平面方程式: icentre
= [iapb
* xpycentre
] + [iamb
* xmycentre
] + ic
jcentre
= [japb
* xpycentre
] + [jamb
* xmycentre
] + jc
在較佳實施例裡,至少一取樣點三角值(iapb
, japb
; iamb
, jamb
)可從用於該參考點的該質心座標(icentre
, jcentre
)中被增加或減少,來產生用於該組複數取樣點的至少一取樣點的質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
),例如下列方程式: [i0,
j0
] = [icentre
- iapb
, jcentre
- japb
] [i1
, j1
] = [icentre
+ iamb
, jcentre
+ jamb
] [i2
, j2
] = [icentre
- iamb
, jcentre
- jamb
] [i3
, j3
] = [icentre
+ iapb
, jcentre
+ japb
]
可理解的是,前述的質心座標並沒有進行透視角修正。更詳細地說明,因此,假如需要,前述的質心座標可以在此階段進行透視角修正。同樣在此階段,該質心座標可以被正規化,例如在藉由用於該基元的一常數來分割該質心座標時或對該質心座標執行透視角修正時。
藉此,如先前所述,在較佳實施例裡,與用於該基元的一質心位置的改變(例如該質心座標(i, j)裡的改變)相關的該等取樣點三角值(iapb
, japb
; iamb
, jamb
),較佳地是與沿著該第二座標系統的該軸(xmy; xpy)之單位區間有關。
因此,使用用於該組複數取樣點的該參考點的位置伴隨至少一該等取樣點三角值可包含處理該組複數取樣點的該參考點,藉此來產生用於該參考點的質心座標,以及接著結合用於該參考點的質心座標以及至少一該等取樣點三角值,藉此產生用於該組複數取樣點的該至少一取樣點的質心座標。
相似地,該片段著色階段可包含處理電路(例如一變化內插器的(質心預估器)),被設定來處理用於該組複數取樣點的該參考值,藉此產生用於該參考點的質心座標,並接著合併用於該參考點的質心座標及至少一該等取樣點三角值,藉此來產生用於該組複數取樣點的該至少一取樣點的質心座標。
用於該組複數取樣點的該至少一取樣點(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)的該質心座標可接著被使用來取得用於該至少一取樣點的內插屬性資料(S0
, S1
, S2
, S3
)。
取得該用於該至少一取樣點的內插屬性資料(S0
, S1
, S2
, S3
)可包含用於該至少一取樣點的該質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)之內插。該內插可包含藉由倍數化用於該至少一取樣值的每一質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
),其是藉由用於與質心座標有關的該頂點的一對應頂點著色屬性值(Si
, Sj
, Sk
, 例如顏色值、透明度值、紋理座標等)來達成,並總和該倍數化的結果,例如下列算式: 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
x in
]+ [Sj
x jn
] + [Sk
x (1- in
- jn
)],其中n是取樣點數字(例如:0, 1, 2, 3)。
前述算式亦可被表示為: Sn
= [Si
-Sk
]*in
+ [Sj
-Sk
]*jn
+ Sk
或: Sn
= Si_new
*in
+ Sj_new
*jn
+ Sk ,
where Si_new
= Si
-Sk
and Sj_new
= Sj
-Sk.
在較佳實施例裡,前述內插方程式的形式是在取得用於該至少一取樣點的該內插屬性資料時被使用。 舉例來說,其可有益於從該基元的該等頂點的‟未修正”頂點著色屬性值(Si
, Sj
, Sk
)中被計算出來的用於該基元的該等頂點的‟修正”頂點著色屬性值(Si_new,
Sj_new,
Sk
),即,優先取得用於該至少一取樣點的該內插屬性資料。用於該基元的該等頂點的該等修正後的頂點著色屬性值(Si_new,
Sj_new,
Sk
)可例如在取得用於其它取樣點的內插屬性資料時被重新使用。舉例來說,藉由避免對該等取樣點執行多次相同計算之需要,其可減少取得內插屬性資料時的處理負擔。
藉此,在較佳實施例裡,用於該基元的該等頂點的修正後的頂點著色屬性值(Si_new,
Sj_new,
Sk
)是從用於該基元的該等頂點的頂點著色屬性值(Si
, Sj
, Sk
)中被計算出來。用於該基元的該等頂點的該等修正頂點著色屬性值(Si_new,
Sj_new,
Sk
)較佳是以下列方法,從用於該基元的該等頂點的該等頂點著色屬性值(Si
, Sj
, Sk
)中被計算出來: Si_new
= Si
-Sk
Sj_new
= Sj
-Sk
Sk
= Sk
用於該基元的該等頂點的該等修正頂點著色屬性值(Si_new,
Sj_new,
Sk
)接著可被儲存於例如一屬性快取裡,並準備在取得用於該至少一取樣點的內插屬性資料時來使用。
因此,如先前所述,使用用於該組複數取樣點的該參考點的位置伴隨至少一該等取樣點三角值可包含處理用於該組複數取樣點的該至少一取樣點的質心座標,藉此產生用於該組取樣點的該至少一取樣點的該內插屬性資料。
相似地,該片段著色階段可包含處理電路(例如一變化內插器(的一屬性預估器)),被設定用以處理用於該組複數取樣點的該至少一取樣點的該質心座標,藉此產生用於該組複數取樣點的該至少一取樣點的該內插屬性資料。
在少數較佳實施例裡,用於該參考點的位置的該質心座標(icentre
, jcentre
)可被使用來取得用於該參考點的參考內插屬性資料(Scentre
)。 取得用於該參考點的該參考內插屬性資料(Scentre
)可包含使用用於該至少一取樣點的該質心座標(icentre
, jcentre
)之內插。 該內插可包含藉由用於與該質心座標相關的該頂點的一對應頂點著色屬性值(Si, Sj, Sk,例如顏色值、透明度值、紋理座標等),倍數化用於該參考點的每一質心座標(icentre
, jcentre
),並總和倍數化的結果,如下列算式: Scentre
= [Si
* icentre
]+ [Sj
* jcentre
] + [Sk
* (1- icentre
- jcentre
)]
至少一該等取樣點三角值(Sxpy
; Sxmy
)可接著從該參考內插屬性顯示資料中被增加或減少,以產生用於該組複數取樣點的該至少一取樣點的內插屬性資料(S0
, S1
, S2
, S3
),例如下列方式: S0
= Scentre
- Sxpy
S1
= Scentre
+ Sxmy
S2
= Scentre
- Sxmy
S3
= Scentre
+ Sxpy
在這些少數較佳實施例裡,與頂點著色屬性資料裡的改變(例如顏色、透明度、紋理座標等)有關的該等取樣點三角值(Sxpy
; Sxmy
),較佳是關聯於沿著該第二座標系統的軸的單元區間,而不是座標位置的改變。
藉此,在少數較佳實施例裡,使用用於該組複數取樣點的該參考點的位置伴隨至少一取樣點三角值可包含處理用於該組複數取樣點的該參考點,藉此產生用於該參考點的參考內插屬性資料,以及接著合併用於該參考點的該參考內插屬性資料及至少一該等取樣點三角值,藉此產生用於該組複數取樣點的該至少一取樣點的該內插屬性資料。
相似地,在少數較佳實施例裡,該片段著色階段可包含處理電路(例如一變化內插器(的一組合質心及屬性預估器)),被設定以處理用於該組複數取樣點的該參考點,藉此產生用於該參考點的參考內插屬性資料,以及接著合併用於該參考點的該參考內插屬性資料以及至少一該等取樣點三角值,藉此產生用於該組複數取樣點的該至少一取樣點的該內插屬性資料。
在此必須說明的是,前述少數較佳實施例不進行一透視修正結果。然而,前述少數較佳實施例仍可用於例如2D圖形及/或塊傳輸(blitting)。
在較佳實施例裡,產生用於該至少一取樣點的該內插屬性資料可進一步包含執行透視角修正。
如先前所述,在較佳實施例裡,產生該內插屬性資料的步驟發生在一質心參數空間裡。在這些較佳實施例裡,執行透視角修正可包含使用用於至少一取樣點的一透視角修正值(w0
; w1
; w2
; w3
)來執行用於該至少一取樣點的質心座標的縮放,例如在使用這些質心座標來取得該內插屬性資料之前。
用於該至少一取樣點的該透視角修正值(w0
; w1
; w2
; w3
)可被產生於用於該至少一取樣點的該質心座標之一相似方式下,例如使用用於該組複數取樣點的該參考點的位置(xcentre
, ycentre
)伴隨至少一其它取樣點三角值。這些其它取樣點三角值可以是前述(旋轉)透視角修正係數(wapb
; wamb
)。
該等透視角修正係數(wapb
; wamb
)可被定義為與該第二座標系統有關,並可被使用與先前描述的其它取樣點三角值相似的方式來產生。舉例來說,產生該等透視角修正係數(wapb
; wamb
)可包含產生被定義為與該第一座標系統有關的(未旋轉)透視角修正係數(wa
; wb
)。該等被定義為與該第一座標系統有關的(未旋轉)透視角修正係數(wa
; wb
)接著可被旋轉,藉此產生該等被定義為與該第二座標系統有關的(旋轉)透視角修正係數(wapb
; wamb
),例如以下列方法:
可理解的是,前述的方程式等同於執行下列的旋轉矩陣:其中θ = 45°,伴隨一額外的1/√2倍數的縮放。
在基元建立時,產生該(未旋轉及/或旋轉)透視角修正係數之至少一部分可再一次被執行,例如使用從一頂點著色階段輸出的頂點位置資料,或至少一部分,在該片段著色階段可被執行。
使用用於該組複數取樣點的該參考點的該位置(xcentre
, ycentre
)伴隨至少一透視角修正係數(wapb
; wamb
)也可用與前述使用用於該組複數取樣點的該參考點的該位置(xcentre
, ycentre
)伴隨之其它取樣點三角值相似的一方式來執行。 舉例來說,使用該參考點的該位置(xcentre
, ycentre
)可包含決定用於該參考點的一透視角修正值(wcentre
)。
在這些實施例裡,決定用於該參考點的該透視角修正值(wcentre
)可包含旋轉被定義為與該第一座標系統有關的該參考點的該(未旋轉)位置(xcentre
, ycentre
),藉此產生用於被定義與該第二座標系統有關的該參考點的一(旋轉)位置(xpycentre
, xmycentre
),例如使用前述的一方式。用於被定義為與該第二座標系統有關的該參考點的該(旋轉)位置(xpycentre
, xmycentre
)可接著被用來決定用於該參考點的該透視角修正值(wcentre
)。
在較佳實施例裡,用於該參考點的該透視角修正值(wcentre
)是使用該(旋轉)位置座標(xpycentre
, xmycentre
)伴隨該(旋轉)透視角修正係數(wapb
; wamb
)而被決定,例如使用下列的一平面方程式: wcentre
= [wapb
* xpycentre
] + [wamb
* xmycentre
] + wc
至少一該(旋轉)透視角修正係數(wapb
; wamb
)可接著從用於該參考值的該透視角修正值(wcentre
)中被增加或減少,以產生用於該組複數取樣點的該至少一取樣點的該透視角修正值(w0
; w1
; w2
; w3
),例如以下列方式: w0
= wcentre
- wapb
w1
= wcentre
+ wamb
w2
= wcentre
- wamb
w3
= wcentre
+ wapb
執行用於該至少一取樣點的該質心座標的縮放接著可包含藉由用於該至少一取樣點的該透視角修正值(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)。
因此,執行透視角修正可包含處理用於該組複數取樣點的該參考值來產生用於該參考點的一透視角修正值,以及接著組合用於該參考點的該透視角修正值及至少一透視角修正係數,藉此產生用於該組複數取樣點的該至少一取樣點的一透視角修正值,以及接著使用用於該組複數取樣點的該至少一取樣點的該透視角修正值來縮放用於該至少一取樣點的質心座標。
相似地,該片段著色階段可包含處理電路(例如一變化內插器(的質心預估器))被設定為處理用於該組複數取樣點的該參考點來產生用於該參考點的一透視角修正值,接著組合用於該參考點的該透視角修正值及至少一透視角修正係數,藉此產生用於該組複數取樣點的該至少一取樣點的一透視角修正值,以及接著使用用於該組複數取樣點的該至少一取樣點的該透視角修正值來縮放用於該至少一取樣點的質心座標。
該組複數取樣點可包含任何所需及適合數量的取樣點,或由任何所需及適合數量的取樣點所構成。在較佳實施例裡,該組複數取樣點包含2n
個取樣點,或由2n
個取樣點所構成,其中n為一整數,可以例如是2、3、4…等。 該組複數取樣點也可具有任何所需或適合的圖樣。該圖樣較佳地(例如旋轉地)對稱及/或可被排序或旋轉。在較佳實施例裡,該圖樣是Ordered 4x, Rotated 4x, Direct3D 8x…等。
該組複數取樣點可以是一(單一)片段的該等取樣點,例如一超取樣片段,或可以是複數片段的該等取樣點,例如一‟四單位群組(quad)”的片段。該等複數片段可分別包含該組取樣點的一(單一)取樣點,或可分別包含該組取樣點的複數取樣點,例如該複數片段可分別被超取樣。
用於該至少一取樣點的該內插屬性資料可應需要而被使用。舉例來說,該內插屬性資料可以被使用在渲染該基元來產生輸出資料值時,例如用於顯示。藉此,本發明較佳地更包含使用被產生來用於該至少一取樣點的該內插屬性資料以渲染與該內插屬性資料相關的該基元,藉此產生輸出資料值,例如用於顯示。
可理解的是,一基元是可以藉由使用被該基元所涵蓋的該組複數取樣點的複數(例如一些或全部)取樣點而被取樣,本發明的方法在實施上可以被執行為對於該組複數取樣點的複數(例如每一個及/或全部)取樣點而言是需要取樣該基元,最終使得用於需要取樣該基元的該組的每一取樣點的一組適當內插屬性資料被產生。
亦可理解的是,一基元通常藉由使用該基元所涵蓋的複數組複數取樣點(例如複數片段或複數組片段)而被取樣,本發明的方法在實施上可以被執行為對於複數組複數取樣點而言是需要取樣該基元,最終使得用於需要取樣該基元的該複數組複數取樣點的每一組的每一取樣點的一組適當的內插屬性資料被產生。
本發明也可延伸為用於渲染基元來產生輸出資料值的一方法或裝置,例如用於顯示,其使用用於該等基元所涵蓋的取樣點的內插屬性資料以及接著進一步使用內插屬性資料來渲染該等基元。該進一步渲染處理可以是使用內插屬性資料來進行例如包括紋理取樣、混合等。
可理解的是,將被藉由該圖形處理管線來渲染的一輸出通常將由複數基元(及一區塊基本系統(tile-based system)的區塊)來組成,本發明的方法在實施上將被重複地用於組成該輸出的基元(及區塊),最終使得用於該輸出所需的該輸出的每一取樣點的一組適當的內插屬性資料被產生。
本技術領域人士可知,本發明的該圖形處理單元將是一整體圖形處理系統的一部分,並且較佳地將包括如一主機處理器,例如藉由該圖形處理單元執行圖形處理所需的應用程式。該主機處理器將傳送適當的命令及資料給該圖形處理單元,以控制該圖形處理單元來執行圖形處理操作並藉由所需的應用程式施行於該主機處理器上來產生圖形處理(渲染)輸出。為了達成此目的,該主機處理器較佳地也必須執行用於該圖形處理單元的一驅動器以及用於編譯藉由該圖形處理單元的該可程式化執行單元來執行的著色程式的一或多個編譯器。
該圖形處理單元也可包含儲存及/或連通儲存有在此所描述之資料的一或多個記憶體及/或記憶體裝置、及/或該圖形處理單元所產生的輸出資料、及/或儲存有軟體以執行在此所描述之處理。該圖形處理單元也可以連通於一主微處理器,及/或基於該圖形處理單元產生的資料來顯示影像的一顯示器。
如先前所述的該等處理階段,該圖形處理單元及管線也可包含任何其它適合或所需的處理階段,該圖形處理管線可包含例如一早期深度(early depth)測試器(或一早期深度及樣板測試器)、一晚期深度測試器(或深度及樣板測試器)、一區塊或幀緩衝器、一寫出單元等。
本發明可被用於輸出的所有形式,使一圖形處理管線可以被使用來產生如用於顯示的幀、渲染-紋理輸出…等。來自該圖形處理的該輸出資料值,如片段著色,較佳是被輸出至外部的,如主要的,記憶體,來儲存及使用至例如用於顯示的一幀緩衝器。
本發明可被應用在任何適當的圖形處理器形式或設定上。特別地,可應用至圖形處理器及圖形處理系統上,儘管並非限定。藉此,在一較佳實施例裡,該圖形處理系統及圖形處理單元分別是一區塊基本系統及區塊基本單元。
在一特別較佳實施例裡,本發明的各種功能被執行在一單一圖形處理平台上,來產生及輸出該渲染片段資料,例如被寫入至用於該顯示裝置的該幀緩衝器。
本發明可以被執行於任何適合的系統,例如一基於適當地設定微處理器的系統。在一較佳實施例裡,本發明被執行於一電腦及/或基於微處理的系統。
本發明的各種功能可用任何所需或適合的方式來執行。舉例來說,本發明的該等功能可用如所需的硬體或軟體來執行。藉此,舉例來說,除非其它聲明,本發明的各種功能元件、階段及‟手段”包含一或多個適合的處理器、控制器、功能單元、電路、處理邏輯、微處理器配置…等,可施行各種功能等,例如合適專用的硬體元件及/或可以被程式化以執行所需方式的可程式化硬體元件。
須注意的是,該技術領域人士可知,本發明的該等各種功能等可以平行被複製及/或執行於一指定處理器上。藉此,舉例來說,該片段著色階段可包含複數分離片段著色器來平行執行。相同地,假如有需要,該等各種處理階段可分享處理電路等。
在任何硬體必須執行前述該等特定功能的前提下,該資料處理系統及管線亦可包括該等資料處理管線的任何一或多個或全部可用的功能單元等。
該頂點著色器、片段著色器及任何其它圖形處理階段可根據所需及任何適合的方式而被執行,以及可以各自施行任何所需及適合的頂點著色或片段著色…等功能。相似地,各種資料(頂點著色屬性資料、質心係數、質心座標、取樣點三角值、內插屬性資料…等)可以被定義及儲存為任何適合及所需的方式。
該領域技術人士也可知,本發明所描述的所有觀點及實施例較佳可包括適合的任何一或多個或全部較佳及選擇的前述特色。
本發明所述的該等方法至少部分可使用軟體,例如電腦程式來執行。藉此可知本發明的另一觀點是提供當被安裝在資料處理手段上時,特別適合執行所述該等方法的電腦軟體,一電腦程式元件包含用於執行所述方法之電腦軟體碼(Code)部分,當該軟體元件在一資料處理手段上執行時,以及一電腦程式包含碼手段以適用於施行所述的一或多個方法的所有步驟,當該程式執行於一資料處理系統時。該資料處理器可以是一微處理器系統、一可程式化FPGA(現場可程式化閘陣列,field programmable gate array)…等。
本發明也可延伸至一電腦軟體載體,包含如軟體,被使用以運作一圖形處理器、渲染器或包含資料處理手段的微處理器系統,聯合所述資料處理手段使所述處理器、渲染器或系統執行本發明的該等方法的步驟。 一電腦軟體載體可以是一物理儲存媒介例如一ROM晶片、CD ROM、RAM、快閃記憶體、或硬碟、或可以是一訊號,例如經由線路傳遞的一電子訊號、一光學訊號或一射頻訊號,例入一衛星訊號或類似物。
可進一步理解的是,並非所有本發明的該等方法的所有步驟都需要藉由電腦軟體來執行,以及藉此從一更廣的觀點來看,本發明提供電腦軟體以及該軟體安裝於一電腦載體,用於執行該等方法的至少一該等步驟。
本發明可因此適當地被實施為一電腦程式產品,用於一電腦系統上。此一執行可包含一連串電腦可讀取指令,固定於一有形實體、非暫態媒介之一,例如一電腦可讀取媒介,例如軟碟、CD‑ROM、ROM、RAM、快閃記憶體或硬碟。其也可以包含可經由一數據機或其它介面裝置而被傳送至一電腦系統的一連串電腦可讀取指令,或經由一非暫態媒介,包括但不限定為光學或類似的通訊線路、或使用無線技術,包括但不限定為微波、紅外線或其它傳輸技術。全部或部分該連串電腦可讀取指令之實施之功能與先前描述相同。
該領域技術人士將可知該等電腦可讀取指令可以被寫成一些程式語言,用於電腦結構或操作系統。進一步地,該等指令可以被使用任何現存或未來的記憶體技術來儲存,包括但不限定為半導體、磁性、或光學、或使用任何現存或未來的通訊技術來傳送,包括但不限定為光學、紅外線或微波。其使例如一電腦程式產品可以散佈為一可移除媒介具有隨附印刷(accompanying printed)或電子資料,例如壓縮軟體(shrink‑wrapped software)、預先載入之一電腦系統,例如一系統ROM或固態硬碟,或從一伺服器或電子佈告欄(electronic bulletin board)經由一網路,例如網際網路來散佈。
本發明的一些較佳實施例將被描述於用於顯示的電腦圖形的該處理的內容之中。
圖3顯示一傳統電腦圖形處理系統。一應用程式2,例如一遊戲,執行於一主機處理器1上,需要藉由一相關的圖形管線來執行圖形處理運作,該圖形管線是藉由一圖形處理單元(GPU)3而被實現。為了達成此方式,該應用程式將產生藉由執行在該主機處理器1上且用於該圖形處理管線3的一驅動器4而被內插的API(應用程式可程式化界面,Application Programming Interface)呼叫,以產生適當的命令給該圖形處理器3來產生該應用程式2所需的圖形輸出。為了達成此,一組‟命令”將被提供給該圖形處理器3來回應來自該應用程式2且執行在該主系統1上以用於圖形輸出(例如產生將被顯示的一幀)的命令。
圖4顯示該圖形處理管線3的細節。顯示於圖4裡的該圖形處理管線3是一區塊基本渲染器,並藉此將生成一渲染輸出資料矩陣的區塊,例如將被產生的一輸出幀。在區塊基本渲染下,非完整的渲染輸出,例如幀,有效率地被處理於立即模式渲染裡,該渲染輸出例如將被顯示的幀是被分割為複數個相同的子區域,通常被稱為‟區塊”。每一區塊(子區域)是分別地(通常是按順序地)被渲染,以及該等被渲染的區塊(子區域)接著被再次組合,以提供該完整渲染輸出,例如用於顯示的幀。在該等配置裡,該渲染輸出通常被分割為規則大小及形狀的子區域(區塊)(例如通常是方塊或矩形),但並非必要。
該渲染輸出資料矩陣通常可以是一輸出幀被顯示於一顯示裝置上,例如一螢幕或印表機,但也可以是例如包含中介資料用於之後的渲染途徑(也可被稱為一‟渲染至紋理(render to texture)”輸出)…等。
當一電腦圖形影像將被顯示時,首先通常定義出一連串基元(多邊形),該等基元接著被分割(光柵化)為輪流用於圖形渲染的圖形片段。經過一正常圖形渲染運作,該渲染器將修正關聯於每一片斷的該(例如)顏色(紅、綠及藍,RGB)及透明度(alpha,a)資料,使得該等片段可以被正確地顯示。當該等片段已完整通過該渲染器時,它們的相關資料值接著被儲存在記憶體裡,並準備被輸出,例如用於顯示。
圖4顯示相關於本實施例的運作的主要元件及該圖形處理管線3的管線階段。該領域技術人士可知其可能具有圖4未顯示的該圖形處理管線的其它元件。 須注意的是,圖4僅是示意,且用於舉例,在實施上所顯示的功能單元及管線排程階段可共用重要硬體電路,儘管其等在圖4裡的是分開的階段。也須注意的是,圖4所示的該圖形處理管線的每一階段、元件及單元…等可依照所需而被實現,並且將因此包含例如適當的電路及/或處理邏輯…等,用於執行必需的運作及功能。
如圖4所示,該圖形處理管線3包括一些階段,該些階段包括頂點著色器20、一輪廓著色器(hull shader)21、一鑲嵌器(tesselator)22、一領域著色器23、一幾何著色器24、一光柵化階段25、一早期Z軸(深度)及模板測試階段26、一片段著色階段的形式的一渲染器27、一晚期Z軸(深度)及模板測試階段28、一混合階段29、一區塊緩衝器30以及一縮減取樣及寫出(多重取樣決定)階段31。
該頂點著色器20提取與該等頂點有關的該等輸入資料值等,將其等定義以用於被產生的該輸出,以及處理這些資料值來產生用於該圖形處理管線3的後續階段的一組對應頂點著色屬性資料值。舉例來說,該頂點著色修正該輸出資料,以考慮將被渲染的該影像的亮度效果。
該輪廓著色器21執行多組碎片控制點(patch control points)之運作,並產生額外的資料,被稱為碎片常數(patch constants),該鑲嵌階段22細分幾何來創造該鑲嵌的更高階表現,該領域著色器23藉由該鑲嵌階段(相似於一頂點著色)來執行頂點輸出的運作,以及該幾何著色器24處理完整基元如三角形、點或線。這些階段伴隨該頂點著色器21,有效率地施行所有必需的片段前端運作,例如轉變及光線運作,以及回應該圖形處理管線3所提供的命令及頂點資料的基元建立,來建立將被渲染的該等基元。
該圖形處理管線3的該光柵化階段25運作來光柵化該等基元產生該渲染輸出(例如即將顯示的影像)至用於處理的單獨圖形片段。為了達成此,該光柵化器25接收用於渲染的圖形基元,光柵化該等基元至取樣點,以及產生具有用於渲染該等基元的合適位置(呈現適當的取樣位置)的圖形片段。
該等片段是藉由該光柵化器來產生,並接著向前傳送至用於處理的該管線的剩餘部分。
該早期Z/模板階段26在從該光柵化器25處所接收的該等片段上執行一Z(深度)測試,以查看是否有任何片段在此階段可以被丟棄(剔除)。為了達成此,其將產生自該光柵化器25的該等片段的(相關)該等深度值與已經被渲染的片段的該等深度值(這些深度值被儲存於一深度(Z)緩衝器裡,該緩衝器是該區塊緩衝器30的一部份)進行比較,來決定該等新的片段是否會被已渲染(或未渲染)的片段所遮蔽。同時,一早期模板測試被執行。
通過該片段早期Z軸及模板測試階段26的該等片段接著被傳送至該片段著色階段27。該片段著色階段27在通過該等早期Z軸及模板測試的該等片段上執行該等適當的片段處理運作,藉此來處理該等片段,以產生該適當的被渲染片段資料。
此片段處理可包括任何適合及所需的片段著色處理,例如執行片段著色器程式在該等片段上、對該等片段使用紋理、對該等片段使用霧化或其它運作…等,以產生該適合的片段資料。在本實施例裡,該片段著色階段27是一著色管線的形式(一可程式化的片段著色器)。如之後將更詳細地描述,此片段處理包括處理頂點著色屬性資料來產生內插屬性資料。
接著是一‟晚期”片段Z軸及模板測試階段28,其在該等被著色片段上執行其它的管線深度測試的一終點,來決定是否一被渲染片段將確實地在一最終影像裡被看到。此深度測試使用用於該片段的位置且儲存在該區塊緩衝器30的該Z軸緩衝器裡的Z軸緩衝值,藉由比較從該片段著色階段26所生成的(相關)片段的該等深度值與該等已被渲染(如儲存於該深度緩衝器裡)的片段的該等深度值,來決定是否用於該等新的片段的該片段資料必須取代已被渲染的該等片段的該片段資料。此晚期片段深度及模板測試階段28也在該等片段上執行任何必須的‟晚期”透明度(alpha)及/或模板測試。
若有需要,通過該晚期片段測試階段28的該等片段接著係取決於任何必須的混合運作伴隨已儲存在該混合器29裡的該區塊緩衝器30的片段。該等片段上的任何其它剩餘運作,例如抖動(dither)…等(圖未顯示),亦可在此階段被執行。
最終地,該等(被混合)輸出片段資料(值)從任何可以的地方被寫至該區塊緩衝器30裡,例如被輸出至用於顯示的一幀緩衝器。若所需,用於一輸出片段的該深度值亦被適當地寫入該緩衝器30內的一Z軸緩衝器。該區塊緩衝器儲存顏色及深度緩衝器,分別儲存有一適當顏色等或Z軸值,用於該等緩衝器呈現的每一取樣點(本質上用於正被處裡的一區塊每一取樣點)。這些緩衝器儲存呈現整體渲染輸出(例如將被顯示的影像)的一部分(一區塊)的片段資料的一矩陣,具有對應至該整體渲染輸出的該等緩衝器裡的各組取樣值(例如每一2x2組取樣值可對應至一輸出像素,其中4x多重取樣被使用)。該區塊緩衝器被提供為RAM的一部份,被置於(位在)該圖形處理管線(晶片)上。
來自該區塊緩衝器30的該資料被輸入至一縮減取樣(多重取樣決定)寫出單元31,並因此被輸出(寫回)至一額外記憶體輸出緩衝器,例如一顯示裝置(圖未顯示)的一幀緩衝器。該顯示裝置可包含,例如包含像素的一矩陣的一顯示器,如一電腦螢幕或一印表機。
該縮減取樣及寫出單元31將儲存在該區塊緩衝器30裡的該片段資料縮減取樣至用於該輸出緩衝器(裝置)的該適合的解析度(即使得對應至該輸出裝置的該等像素的像素資料的一矩陣被產生),來產生用於被輸出至該輸出緩衝器的輸出資料值(像素)。
一旦該渲染輸出的一區塊已被處理且其資料輸出至一主要記憶體(例如至一主要記憶體(圖未顯示)的一幀緩衝器)以用於儲存時,該下一個區塊接著被處理,以及持續進行,直到足夠的區塊已被處理來產生完整渲染輸出(例如將被顯示的幀(影像))。該處理接著被重複執行,用於下一個渲染輸出(例如幀),並持續進行。
理所當然地,用於該圖形處理管線3的其它配置亦可包括非區塊基本管線。
如圖4所示,該圖形處理管線3包括一些可程式化處理或‟著色”階段,被稱為頂點著色器20、輪廓著色器21、領域著色器23、幾何著色器24及片段著色器27。這些可程式化著色器階段執行各自的著色器程式,該等著色器程式具有一或多個輸入變數,並產生多組數出變數,以及藉由該應用程式而被提供。為了達到此目的,該應用程式2提供使用一高階著色器程式語言如GLSL, HLSL, OpenCL…等來實現的該等著色器程式。這些著色器程式接著藉由一著色器語言編譯器來轉換成用於該目標圖形處理管線3的二進制碼。 其可包含該編譯器內的該程式的一或多個中介表現(intermediate representations)的建立。該編譯器可例如是該驅動器4的一部分,並具有一特別的API呼叫使該編譯器運行。該編譯器的執行可藉此被視為藉由該驅動器回應一應用程式所產生的API呼叫而完成的繪畫呼叫準備的一部分。
圖4示意地顯示該圖形處理單元3的該等運作階段。圖5顯示該圖形處理單元3中被用以施行(並藉此做為)圖4中與本發明有關的該圖形處理管線的該等處理運作及階段之一的該等對應功能元件。該圖形處理單元3裡可能也具有其它功能單元,但圖5所顯示的該等功能單元是更貼近本發明之運作方式之簡化。
如圖5所示,該圖形處理單元3包括一光柵化器25、一緒生產器40、一可程式化執行單元41、一變化內插器42、一紋理映射器43及一混合器29。
該緒生產器40是可用以生產執行緒,用於該可程式化執行單元41對其所接收的片段之執行上。
該可程式化執行單元41用以執行著色程式,以施行該圖形處理管線的該等著色運作,例如該輪廓著色器、該頂點著色器及該片段著色器。為了達成此目的,其接收來自該緒生產器40的執行緒,並對這些執行緒執行相關的著色程式。
該變化內插器42運作以內插頂點屬性資料至該等圖形基元之中,且作為此運作的一部分,時常創造出將被用於取樣圖形紋理的紋理座標。
該紋理映射器43運作以使用例如由該變化內插器42所產生的紋理座標來取樣圖形紋理,並由此產生一過濾紋理取樣結果。
該混合器29運作以將例如由該可程式化執行單元所產生的該等片段著色結果與先前產生且例如已被儲存在該區塊緩衝器裡的該等片段著色結果進行混合。
該變化內插器42的一實施例將在此被描述,並請參考圖6及7。
如圖6所示,在此實施例裡,一三角形基元60是使用以四片段61、62、63、64為一四單位群組(quad)65而被取樣,每一片段61、62、63、64具有一中心取樣點。
用於該四單位群組65的一中心參考點的一位置xcentre
, ycentre
是被定義為與一第一座標系統x,y有關。如同之後將更詳細被說明的內容,被定義為與一第二座標系統xmy, xpy有關的該等取樣點三角值也會被產生以用於該基元60。該第二座標系統是相對該第一座標系統而被旋轉一角度θ。在此實施例裡,角度θ是45度。
如同之後將與圖7一起更詳細被說明的內容,該變化內插器42使用被定義為與一第一座標系統有關的該中心參考點的位置xcentre
, ycentre
伴隨被定義為與一第二座標系統有關的該等取樣點三角值之至少一個來產生用於該等四片段61、62、63、64的該等取樣點的內插屬性資料。
圖7示意地顯示用以內插與本實施例有關的頂點著色屬性資料的一變化管線70的該等功能單元。該變化管線70裡可能有其它功能單元,但圖7所顯示的功能單元是更貼切本發明的運作方式之簡化。
如圖7所示,圖5的該變化內插器42形成該變化管線70的一部分。該變化管線70也使用一質心係數快取71來儲存質心係數、一質心座標快取72來儲存質心座標、以及一屬性快取73來儲存頂點著色屬性資料。
該變化管線70接收來自該光柵化器25且用於該基元60的旋轉質心係數(iapb
, japb
; iamb
, jamb
)及旋轉透視角修正係數(wapb
; wamb
),並將該等儲存至該質心係數快取71裡。在此實施例裡,該等旋轉質心係數(iapb
, japb
; iamb
, jamb
)及旋轉透視角修正係數(wapb
; wamb
)可以被認為是取樣點三角值(Sxpy
; Sxmy
)。
經由基元建立,該等旋轉質心係數(iapb
, japb
; iamb
, jamb
)及透視角修正係數(wapb
; wamb
)係由未旋轉質心係數(ia
, ja
; ib
, jb
)及透視角修正係數(wa
; wb
)之中被產生。經由基元建立,該等未旋轉質心係數(ia
, ja
; ib
, jb
)及透視角修正係數(wa
; wb
)是由一常見方式而被產生,並接著被旋轉,藉此來提供該等旋轉質心係數(iapb
, japb
; iamb
, jamb
)及透視角修正係數(wapb
; wamb
),如下列方法:
可以領會的是,前述的方程式相等於使用下列旋轉矩陣:其中θ = 45°,伴隨一額外的1/√2倍縮放。此額外的縮放代表每一旋轉質心係數及透視角修正係數可以藉由一單獨加或減以及一位元移位來除以2而被計算。
該變化管線70也從該光柵化器25處接收用於該基元60的未旋轉質心係數(ic
,jc
)及一未旋轉透視角修正係數(wc
),並將該等儲存至該質心係數快取71裡。
該變化管線70也接收來自該頂點著色器20的頂點著色屬性資料。該頂點著色屬性資料是藉由該頂點著色器20利用一常見方式而被產生,並包括用於該基元60的頂點顏色、頂點透明度、頂點紋理座標…等。該變化管線70可在將用於該基元60的該頂點著色屬性資料儲存至該屬性快取73之前,先轉換及/或準備該頂點著色屬性資料。
該變化內插器42運作以回應接收到來自該可程式化執行單元41的一變化要求訊息77。該變化要求訊息77包括用於該四單位群組65的該參考點的位置xcentre
, ycentre
,以代表用於頂點著色屬性資料的該等取樣點將被內插。
在此實施例裡,該變化內插器42包含一質心預估器75及一屬性預估器76。
該質心預估器75接收該變化要求訊息77,接著存取儲存在該質心係數快取71裡用於該基元60的該等質心係數(iapb
, japb
; iamb
, jamb
; ic
, jc
)及透視角修正係數(wapb
; wamb;
wc
),接著並以下列方式來產生用於該單元群組65的該等取樣點之每一個的質心係數(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)。
首先,該參考點的位置xcentre
, ycentre
被用來決定用於該參考點的質心座標icentre
, jcentre
。其包含將用於被定義為與該第一座標系統有關的該參考點的位置xcentre
, ycentre
進行旋轉,藉此產生用於被定義為與該第二座標系統有關的該參考點的一旋轉位置xpycentre
, xmycentre
。在此實施例裡,該旋轉是以下列方式來達成:
可以領會的是,前述方程式等同於使用下列的一旋轉矩陣:伴隨一額外的√2倍縮放。
該額外縮放代表每一旋轉座標xpycentre
, xmycentre
可以藉由一單獨加減來計算。該縮放也抵消了前述的使用於該等質心係數的該1/√2縮放,使得該內插屬性資料沒有整體的縮放。
該等旋轉位置座標xpycentre
, xmycentre
、質心係數(iapb
, japb
; iamb
, jamb;
ic
, jc
)及透視角修正係數(wapb
; wamb
;wc
)接著被使用下列方式的平面方程式來決定用於該參考點的質心座標(icentre
, jcentre
)及一透視角修正值(wcentre
): icentre
= [iapb
* xpycentre
] + [iamb
* xmycentre
] + ic
jcentre
= [japb
* xpycentre
] + [jamb
* xmycentre
] + jc
wcentre
= [wapb
* xpycentre
] + [wamb
* xmycentre
] + wc
該等旋轉質心係數(iapb
, japb
; iamb
, jamb
)及透視角修正值(wapb
; wamb
)接著以下列方式,從用於該參考點的該等質心座標(icentre
, jcentre
)及透視角修正值(wcentre
)之中各自被增加或減少來產生用於該四單位群組65的該等取樣點的質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)及透視角修正值(w0
; w1
; w2
; w3
): [i0,
j0
] = [icentre
- iapb
, jcentre
- japb
] [i1
j1
] = [icentre
+ iamb
, jcentre
+ jamb
] [i2
j2
] = [icentre
- iamb
, jcentre
- jamb
] [i3
j3
] = [icentre
+ iapb
, jcentre
+ japb
] w0
= wcentre
- wapb
w1
= wcentre
+ wamb
w2
= wcentre
- wamb
w3
= wcentre
+ wapb
假如需要,透視角修正接著是使用用於該四單位群組65的該等取樣點的該等透視角修正值(w0
; w1
; w2
; w3
)而被使用在該等質心係數(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
]
在此實施例裡,使用該透視角修正也正規化了該等質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)。用於該四單位群組65的該等取樣點的該(透視角修正)質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)接著藉由該質心預估器75而被輸出至該質心座標快取72。
該變化內插器42的該屬性預估器76接著存取儲存在該質心座標快取72裡的該等透視角修正值心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)及儲存在該屬性快取73裡用於該基元60的該頂點著色屬性資料。
該屬性預估器76接著藉由使用用於每一取樣點的該等質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
)之內插來取得用於該四單位群組65的該等取樣點的內插屬性資料(S0
, S1
, S2
, S3
)。該內插之效果包含藉由用於與該質心座標有關的該頂點的一對應頂點著色屬性值(Si
, Sj
, Sk
, 例如一顏色值、一透明度值、一紋理座標…等)來倍數化每一質心座標(i0,
j0
; i1,
j1
; i2,
j2
; i3,
j3
),並接著總結該等倍數化的結果。在此實施例裡,其可用下列方式來達成: 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
and Sj_new
= Sj
-Sk
。
當取得用於該等取樣點的該內插屬性資料(S0
, S1
, S2
, S3
)時,該等Si_new
及 Sj_new
的值是藉由來自該頂點著色屬性資料的變化管線70而被預先決定,並被儲存在該屬性快取73裡以被使用。該內插屬性資料(S0
, S1
, S2
, S3
)是接著藉由該變化內插器42的該屬性預估器76而被輸出至一變化結果訊息78裡的該可程式化執行單元41。
該內插屬性資料(S0
, S1
, S2
, S3
)可接著藉由該圖形處理管線的後續階段而被使用,例如該紋理映射器43(例如使用內插紋理座標之形式的內插屬性資料來取樣一紋理)或該混合器29(例如使用來自內插顏色之形式的內插屬性資料來執行一混合運作)。
由前述關於本發明的內容可知,至少在此較佳實施例裡,所提供的一圖形處理系統可使得用於複數取樣點的內插屬性資料更有效率地被產生。至少在一較佳實施例裡,其可藉由使用用於該等取樣點的一參考位置伴隨旋轉取樣點三角值來產生該內插屬性資料來達成。
上述實施例僅是為了方便說明而舉例而已,本發明所主張之權利範圍自應以申請專利範圍所述為準,而非僅限於上述實施例。
1‧‧‧主機處理器
2‧‧‧應用程式
3‧‧‧圖形處理單元
4‧‧‧驅動器
5‧‧‧基元
6‧‧‧片段
7‧‧‧片段
8‧‧‧片段
9‧‧‧片段
10‧‧‧四單位群組
20‧‧‧頂點著色器
21‧‧‧輪廓著色器
22‧‧‧鑲嵌器
23‧‧‧領域著色器
24‧‧‧幾何著色器
25‧‧‧光柵化器
26‧‧‧早期深度及模板測試階段
27‧‧‧渲染器
28‧‧‧晚期深度及模板測試階段
29‧‧‧混合器
30‧‧‧區塊緩衝器
31‧‧‧區塊寫出階段
40‧‧‧緒生產器
41‧‧‧可程式化執行單元
42‧‧‧變化內插器
43‧‧‧紋理映射器
60‧‧‧基元
61‧‧‧片段
62‧‧‧片段
63‧‧‧片段
64‧‧‧片段
65‧‧‧四單位群組
70‧‧‧變化管線
71‧‧‧質心係數快取
72‧‧‧質心座標快取
73‧‧‧屬性快取
75‧‧‧質心預估器
76‧‧‧屬性預估器
77‧‧‧變化要求訊息
78‧‧‧變化結果訊息
2‧‧‧應用程式
3‧‧‧圖形處理單元
4‧‧‧驅動器
5‧‧‧基元
6‧‧‧片段
7‧‧‧片段
8‧‧‧片段
9‧‧‧片段
10‧‧‧四單位群組
20‧‧‧頂點著色器
21‧‧‧輪廓著色器
22‧‧‧鑲嵌器
23‧‧‧領域著色器
24‧‧‧幾何著色器
25‧‧‧光柵化器
26‧‧‧早期深度及模板測試階段
27‧‧‧渲染器
28‧‧‧晚期深度及模板測試階段
29‧‧‧混合器
30‧‧‧區塊緩衝器
31‧‧‧區塊寫出階段
40‧‧‧緒生產器
41‧‧‧可程式化執行單元
42‧‧‧變化內插器
43‧‧‧紋理映射器
60‧‧‧基元
61‧‧‧片段
62‧‧‧片段
63‧‧‧片段
64‧‧‧片段
65‧‧‧四單位群組
70‧‧‧變化管線
71‧‧‧質心係數快取
72‧‧‧質心座標快取
73‧‧‧屬性快取
75‧‧‧質心預估器
76‧‧‧屬性預估器
77‧‧‧變化要求訊息
78‧‧‧變化結果訊息
本發明的一些實施例將在此由舉例的方式來呈現,並伴隨圖式如下: 圖1呈現用以在複數取樣點上取樣一基元的一方法;以及 圖2呈現使用取樣點三角值在複數取樣點上取樣一基元的一方法; 圖3顯示可用本發明的方式來執行的一電腦圖形處理系統之一舉例; 圖4示意地顯示可用本發明的方式來執行的一圖形處理管線; 圖5示意地顯示可用本發明的方式來執行的一圖形處理單元; 圖6呈現與本發明有關的產生內插屬性資料的一方法;以及 圖7示意地顯示可用本發明的方式來運作的一變化管線及變化內插器。 參考數字用以對應元件,適當地記載於圖式中。
61‧‧‧基元
62‧‧‧片段
63‧‧‧片段
64‧‧‧片段
65‧‧‧四單位群組
Claims (19)
- 一種運行一圖形處理系統的方法,該圖形處理系統包括一片段著色階段,該片段著色階段係用來處理用於基元的頂點著色屬性資料,並藉此產生用於取樣點的內插屬性資料,該方法包含: 產生用於一基元的取樣點三角值(delta values);以及 產生用於一組複數取樣點的至少一取樣點的內插屬性資料,該等複數取樣點係被用來取樣該基元; 其中用於該至少一取樣點的該內插屬性資料係使用用於該組複數取樣點的一參考點的一位置伴隨至少一個該等取樣點三角值而被產生; 其中用於該組複數取樣點的該參考點的該位置係被定義為關聯於一第一座標系統,以及其中用於該基元的該等取樣點三角值係被定義為關聯於一第二座標系統,該第二座標系統係相對該第一座標系統被旋轉。
- 如申請專利範圍第1項所述之方法,其中該第二座標系統係相對該第一座標系統被旋轉45度或其倍數。
- 如申請專利範圍第1或2項所述之方法,其中該參考點係位於該組複數取樣點的該等取樣點的中心處。
- 如申請專利範圍第1或2項所述之方法,其中產生該取樣點三角值包含: 產生被定義為關聯於該第一座標系統的取樣點三角值;以及 旋轉被定義為關聯於該第一座標系統的該等取樣點三角值,藉此產生被定義為關聯於該第二座標系統的取樣點三角值。
- 如申請專利範圍第1或2項所述之方法,其中該等取樣點三角值包含被定義為關聯於該第二座標系統的質心係數(barycentric coefficients)。
- 如申請專利範圍第1或2項所述之方法,其中使用該參考點的該位置包含從該參考點的該位置來決定出用於該參考點的質心座標。
- 如申請專利範圍第6項所述之方法,其中至少一該等取樣點三角值係被加入至用於該參考點的該等質心座標中,或由用於該參考點的該等質心座標中被減去,據以產生用於該至少一取樣點的該等質心座標。
- 如申請專利範圍第7項所述之方法,更包含使用用於該至少一取樣點的該等質心座標來取得用於該至少一取樣點的內插屬性資料。
- 如申請專利範圍第1或2項所述之方法,其中該組複數取樣點具有一圖樣,該圖樣係選自包含Ordered 4x; Rotated 4x; 及 Direct3D 8x的群組。
- 一種圖形處理系統,包括一片段著色階段,該片段著色階段係用來處理用於基元的頂點著色屬性資料,並藉此產生用於取樣點的內插屬性資料,該系統包含處理電路,該處理電路被設定以: 產生用於一基元的取樣點三角值;以及 產生用於一組複數取樣點的至少一取樣點的內插屬性資料,該等複數取樣點係被用來取樣該基元; 其中該處理電路係被設定為使用用於該組複數取樣點的一參考點的一位置伴隨至少一該等取樣點三角值,據以產生用於該至少一取樣點的該內插資料; 其中用於該組複數取樣點的該參考點的該位置係被定義為關聯於一第一座標系統,以及其中用於該基元的該等取樣點三角值係被定義為關聯於一第二座標系統,該第二座標系統係相對該第一座標系統被旋轉。
- 如申請專利範圍第10項所述之圖形處理系統,其中該第二座標系統係相對該第一座標系統被旋轉45度或其倍數。
- 如申請專利範圍第10或11項所述之圖形處理系統,其中該參考點係位於該組複數取樣點的該等取樣點的中心處。
- 如申請專利範圍第10或11項所述之圖形處理系統,其中當產生該等取樣點三角值時,該處理電路係被設定以: 產生被定義為關聯於該第一座標系統的取樣點三角值;以及 旋轉被定義為關聯於該第一座標系統的該等取樣點三角值,藉此產生被定義為關聯於該第二座標系統的取樣點三角值。
- 如申請專利範圍第10或11項所述之圖形處理系統,其中該等取樣點三角值包含被定義為關聯於該第二座標系統的質心係數。
- 如申請專利範圍第10或11項所述之圖形處理系統,其中當使用該參考點的該位置時,該處理電路係被設定以從該參考點的該位置來決定出用於該參考點的質心座標。
- 如申請專利範圍第15項所述之圖形處理系統,其中該處理電路係被設定為將至少一該等取樣點三角值加入至用於該參考點的該等質心座標中,或由用於該參考點的該等質心座標中減少至少一該等取樣點三角值,據以產生用於該至少一取樣點的該等質心座標。
- 如申請專利範圍第16項所述之圖形處理系統,其中該處理電路係被設定為使用用於該至少一取樣點的該質心座標來取得作用於該至少一取樣點的內插屬性資料。
- 如申請專利範圍第10或11項所述之圖形處理系統,其中該組複數取樣點具有一圖樣,該圖樣係選自包含Ordered 4x; Rotated 4x; 及 Direct3D 8x的群組。
- 一種電腦程式,包含了當該程式在一資料處理器上施行時,用於執行如申請專利範圍第1或2項所述方法之電腦軟體碼。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1513714.4 | 2015-08-03 | ||
GB1513714.4A GB2540983B (en) | 2015-08-03 | 2015-08-03 | Graphics processing |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201706962A true TW201706962A (zh) | 2017-02-16 |
TWI728986B TWI728986B (zh) | 2021-06-01 |
Family
ID=54063122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105122843A TWI728986B (zh) | 2015-08-03 | 2016-07-20 | 圖形處理系統、運行圖形處理系統的方法及執行該方法的電腦軟體碼 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10204440B2 (zh) |
KR (1) | KR102598915B1 (zh) |
CN (1) | CN106408635B (zh) |
GB (1) | GB2540983B (zh) |
TW (1) | TWI728986B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10379611B2 (en) * | 2016-09-16 | 2019-08-13 | Intel Corporation | Virtual reality/augmented reality apparatus and method |
CN107808367B (zh) * | 2017-11-29 | 2020-10-16 | 天津聚飞创新科技有限公司 | 鱼眼图像校正方法、装置、无人机及存储介质 |
KR20190140549A (ko) * | 2018-06-11 | 2019-12-20 | 삼성디스플레이 주식회사 | 아민 화합물 및 이를 포함한 유기 발광 소자 |
US10424074B1 (en) | 2018-07-03 | 2019-09-24 | Nvidia Corporation | Method and apparatus for obtaining sampled positions of texturing operations |
US10861230B2 (en) * | 2018-08-01 | 2020-12-08 | Nvidia Corporation | System-generated stable barycentric coordinates and direct plane equation access |
US11080924B2 (en) * | 2019-05-31 | 2021-08-03 | Samsung Electronics Co., Ltd. | Optimized computation of perspective interpolants |
CN112509108B (zh) * | 2020-12-03 | 2024-04-12 | 杭州群核信息技术有限公司 | 基于gpu的顶点环境光遮蔽的生成方法以及图像渲染方法 |
US20220246081A1 (en) * | 2021-01-05 | 2022-08-04 | Google Llc | Hidden display interfaces and associated systems and methods |
US20230064069A1 (en) * | 2021-07-30 | 2023-03-02 | Intel Corporation | Converting barycentric planes to attribute planes |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7148890B2 (en) * | 2003-04-02 | 2006-12-12 | Sun Microsystems, Inc. | Displacement mapping by using two passes through the same rasterizer |
TWI267799B (en) * | 2003-09-19 | 2006-12-01 | Ind Tech Res Inst | Method for constructing a three dimensional (3D) model |
JP5006731B2 (ja) * | 2007-07-31 | 2012-08-22 | キヤノン株式会社 | 画像形成装置及び画像補正方法 |
US7868887B1 (en) * | 2007-10-18 | 2011-01-11 | Adobe Systems Incorporated | Rendering rational quadratic Bézier curves on a GPU |
US8044971B2 (en) * | 2008-01-31 | 2011-10-25 | Arm Norway As | Methods of and apparatus for processing computer graphics |
CN101458822B (zh) * | 2008-12-30 | 2010-08-25 | 暨南大学 | 一种3d模型的计算全息图快速生成方法 |
US9569878B2 (en) * | 2011-12-07 | 2017-02-14 | Intel Corporation | Sample culling based on linearized 5D edge equations |
US9972128B2 (en) * | 2012-07-20 | 2018-05-15 | The University Of British Columbia | Methods and systems for generating polycubes and all-hexahedral meshes of an object |
US9633469B2 (en) * | 2013-03-15 | 2017-04-25 | Nvidia Corporation | Conservative rasterization of primitives using an error term |
JP6153366B2 (ja) * | 2013-03-29 | 2017-06-28 | 株式会社バンダイナムコエンターテインメント | 画像生成システム及びプログラム |
US9230362B2 (en) * | 2013-09-11 | 2016-01-05 | Nvidia Corporation | System, method, and computer program product for using compression with programmable sample locations |
-
2015
- 2015-08-03 GB GB1513714.4A patent/GB2540983B/en active Active
-
2016
- 2016-07-20 TW TW105122843A patent/TWI728986B/zh active
- 2016-07-23 US US15/218,012 patent/US10204440B2/en active Active
- 2016-08-02 KR KR1020160098271A patent/KR102598915B1/ko active IP Right Grant
- 2016-08-03 CN CN201610626669.0A patent/CN106408635B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
KR20170016301A (ko) | 2017-02-13 |
CN106408635B (zh) | 2021-12-03 |
GB2540983B (en) | 2017-11-29 |
GB201513714D0 (en) | 2015-09-16 |
CN106408635A (zh) | 2017-02-15 |
US10204440B2 (en) | 2019-02-12 |
KR102598915B1 (ko) | 2023-11-06 |
US20170039755A1 (en) | 2017-02-09 |
GB2540983A (en) | 2017-02-08 |
TWI728986B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI728986B (zh) | 圖形處理系統、運行圖形處理系統的方法及執行該方法的電腦軟體碼 | |
TWI618030B (zh) | 藉由追蹤物件及/或基元識別符的圖形處理增強之方法及系統,圖形處理單元及非暫時性電腦可讀媒體 | |
US8704830B2 (en) | System and method for path rendering with multiple stencil samples per color sample | |
TWI602148B (zh) | 用於紋理映射至非正交網格的梯度調整 | |
TWI570665B (zh) | 電腦圖形系統及圖形處理方法 | |
US9805447B2 (en) | Methods of and apparatus for processing computer graphics | |
JP2005100177A (ja) | 画像処理装置およびその方法 | |
JP2005100176A (ja) | 画像処理装置およびその方法 | |
US20150015574A1 (en) | System, method, and computer program product for optimizing a three-dimensional texture workflow | |
KR20180037838A (ko) | 텍스쳐를 처리하는 방법 및 장치 | |
KR20190109279A (ko) | 그래픽 처리 | |
TWI587213B (zh) | 航空電子顯示系統 |