專利名稱:用于圖形子系統的模塊描繪方法
技術領域:
本發明一般涉及數據處理系統顯示的描繪并且特別涉及描繪作為多個像素模塊被處理的基元。更為具體地,本發明涉及提高描繪紋理構造基元或基元內的較小跨度的效率。
在數據處理系統一般采用描繪來創建在監視器上顯示的二維圖像。一般地,描繪包括處理幾何基元(例如,點,線和多邊形)以確定用于監視器顯示的分量像素值,即,常常被稱為光柵化的處理。
數據處理系統監視器的顯示區域像素常規上被看作一個映象到一個或多個幀緩沖器,或保留像素信息的對應部分的存儲器分段(z,字母和顏色值,紋理結構坐標,增量,等),和/或紋理結構存儲器的矩陣,其中紋理結構存儲器包含用于產生或刷新顯示屏幕的像素位置的紋理結構部件或紋理。
當前的圖像子系統一般采用到幀存儲器和紋理結構存儲器的多個像素接口以便實現以可接受速度描繪所必須的帶寬。由于簡化和成本的原因,在固定的分組內存取這些像素,這些分組常常構成為沿水平或垂直方向的跨度,這是因為多數描繪算法是基于跨度的(即,基元一次描繪一個一個或多個跨度)。對于較小跨度和紋理結構基元該結構和描繪方法效率較低。
例如,一個通用的結構采用到幀緩沖器的8像素接口,該幀緩沖器由來自一個單獨的水平或垂直跨度的8個連續像素構成(一個8×1模塊)。在這樣的系統中,描繪需要一個用于每個跨度存取的分開的幀緩沖器或高速緩存器,該幀緩沖器或高速緩存器對于范圍跨越遠遠小于8個像素的基元或基元部分效率較低。進一步,紋理結構映象需要用于三-線性mip-映象4像素的8個紋理,每個紋理來自兩個最近的mip-映象級,這些mip-映象級被存取和混合以計算一個像素的紋理結構。使用掃描線結構,實質上不存在紋理結構映象期間的紋理重復使用。
因此,需要提供一種用于較小掃描線和紋理結構映象的優化的描繪方法。
因此,本發明的一個目的是提供改進的用于數據處理系統顯示的描繪。
本發明另一個目的是提供作為多個像素模塊處理的基元的改進描繪。
本發明的再一目的是提高描繪紋理結構基元或基元內的較小跨度的效率。
現在描述實現上述目的的過程。基元被分為2N跨度的跨度組,接著在M×N像素模塊內被處理,該像素模塊最好盡可能接近正方形,并由此被優化以用于較小跨度和紋理結構映象。每個跨度組以螺旋方式從初始或入口模塊,首先沿離開基元的長邊沿,接著沿朝向長邊的方向逐塊描繪。內插器包括一個在描繪跨度組內的任何其他模塊之前將用于初始或入口模塊的像素和紋路信息推入其中的一次深度棧。接著交替描繪不同跨度組的跨度子組內的模塊或模塊對,以便當其進行到跨度組端點時描繪跨度子組之間的折線。一旦到達一個跨度組的第一端點,則從該棧推出用于初始或入口模塊的值并且描繪仍然以相同的螺旋或折線方式,沿相反方向從初始或入口模塊重新開始,直到到達跨度組的另一端為止。如果需要的話,使用一個與在前跨度組內描繪的最后模塊相鄰的模塊開始描繪下一個跨度組。這樣與紋理結構映象期間的紋理重復使用一起,改進了像素和紋理高速緩存以及幀緩沖器之間所使用的存儲器寬度,減少描繪基元所需取出的像素和紋理總量。
在下面詳細描述中本發明的上述以及附加的目的,特征,以及優點將變得顯而易見。
在附屬的權利要求書列出認為是本發明特征的新穎特性。然而,結合附圖參照下面對示意性的實施例的詳細描述將更好地理解本發明本身以及優選的使用模式,進一步的目的及其優點。
圖1示出一個數據處理系統的方框圖,其中實現本發明的一個優選實施例;圖2A-2B為根據本發明優選實施例的圖形子系統描繪基元的圖;圖3示出根據本發明的一個優選實施例描繪一個實例基元的圖;圖4是根據本發明的一個優選實施例用于描繪基元的處理的較高級別的流程圖;圖5示出與已有技術掃描線描繪相比根據本發明的優選實施例的模塊描繪期間的改進紋理重復使用。
現在參照附圖,特別參照圖1,該圖示出一個其中實現本發明的一個優選實施例的數據處理系統的方框圖。在示范的實施例,數據處理系統100包括一個連接到二級(L2)高速緩沖104的處理器102,該高速緩沖104依次連接到一個系統總線106,其中數據處理系統100可以是從Armonk,New York的國際商用機器公司得到的任何數據處理系統。
還連接到系統總線106的為系統存儲器108和輸入/輸出(I/O)總線橋110。I/O總線橋110將I/O總線112連接到系統總線106,中繼和/或從一個總線到另一個總線轉換數據交易。諸如非易失性存儲器114之類的外圍設備連接到I/O總線112,外圍設備可以是一個硬盤驅動器,以及鍵盤/指向設備116,鍵盤/指向設備116可以包括一個常規的鼠標、跟蹤球或數字化墊。
在優選實施例,數據處理系統100包括一個連接到系統總線106的圖形適配器116,接收來自處理器102用于描繪的基元并如下面詳細描述得那樣產生用于顯示器120得像素。然而,本領域的技術人員可以認識到一個圖形適配器不是必須的并且根據本發明的描繪可使用用于計算的處理器102和用于幀緩沖器的系統存儲器部分108在數據處理系統100的剩余部分執行。然而,本發明最好在包括一個具有與下面描述類似的后端配置的圖形適配器的數據處理系統內實現。
圖1示出的示范實施例僅用于解釋本發明的目的,本領域的技術人員可以認識到在形式上和功能上的各種變化是可能的。例如,數據處理系統100還可以包括一個圖形或顯示處理器,幀緩沖器可以實現為處于數據處理系統內或圖形適配器118上的視頻隨機存取存儲器(VRAM),并且一個查詢表和/或數字到模擬轉換器可以在圖形適配器118和顯示器120之間實現。所有這些變化被認為是處于本發明的精神和范圍之內的。
現在參照圖2A-2B,該圖示出根據本發明的一個優選實施例的圖形子系統描繪基元的圖。圖2A示出的圖形子系統最好實現在圖形適配器內,并且包括一個光柵引擎202,成塊控制邏輯204,內插器206,以及一個連接到數據處理系統的存儲器子系統(例如,系統存儲器)的像素和紋理高速緩存208。
光柵引擎202連接到成塊控制邏輯204以及內插器206。光柵引擎202接收用于描繪的基元,并將基元分為沿水平或垂直方向的掃描線。光柵引擎202產生要描繪的掃描線組,每組包含一個或四個掃描線。每組最好包括四個(2N)掃描線,如果掃描線的總數不被4均勻分開,則最后組包括剩余的掃描線。應該注意到應從顯示區域的邊沿而不是從要描繪的基元邊沿的4(或2N)掃描線邊界產生跨越組,這就隱含著不但第一和/或最后掃描組都可以包含少于4(2N)的跨度。
掃描線組以及描繪方向上的提示一起傳送給成塊控制邏輯204,其中基元的邊緣為長邊。描繪方向一般從一個基元頂點或一次一個掃描線的跨度朝向多邊形的相對端點(例如,使用從左到右描繪的每個掃描線,由掃描線或掃描線組從顯示器的上面到下面逐步跨越多邊形)掃描線還被稱為跨度,一個涉及一個掃描線或構成一個掃描線的相鄰像素序列的內部可互換的術語。可以通過線長度的簡單等式很容易地確定來自開始掃描的初始頂點或跨度的基元的長邊緣。
成塊控制邏輯204連接到內插器206和像素及紋理高速緩存208。成塊控制邏輯204將每個掃描線組轉換為4×2(M×N)像素模塊。在示范的實施例,這準確對應于像素及紋理高速緩存208內的高速緩存線尺寸,每個高速緩存線保留用于8個像素的數據。成塊控制邏輯204還管理Z,字母,顏色和紋理結構內插器206。
在圖2B詳細示出的內插器206控制用于當前描繪模塊的像素信息,初始值,以及用于計算Z,字母,顏色和紋理坐標等的當前值的增量。盡管在圖2B僅示出一個單獨的內插器,一個圖形子系統實際上可以包括8個內插器,一個用于一個模塊內的每個像素。
內插器206包括由正和負(X,Y)步長,推入棧210和推出棧212,以及繪圖模塊組成。在示范實施例,內插器206在棧寄存器214內包括一個深度棧,在如下描述的描繪期間使用該深度棧。根據該設計,棧可以多于一個深度。例如,可以使用兩個深度棧來限定當跨度組大于4個跨度時橫越的頁數。
成塊控制邏輯204利用描繪方向上的提示以及從光柵引擎202接收的長邊沿來描繪以最高效的順序定義的基元的模塊。成塊控制邏輯204使用要描繪的每個模塊的(X,Y)地址提供像素和紋理高速緩存器208。高速緩存器208采用地址信息以確定用于描繪當前塊的像素信息(即,Z,字母,顏色和紋理結構等)在高速緩存器208內是否有效。如果不是這樣,高速緩存器208要求從存儲器子系統丟失的信息。
在本發明中,要描繪的基元首先被分為4個跨度組,這些跨度組接著被分解為4×2模塊。第一跨度組從包括初始頂點或基元跨度的初始模塊到緊跟在初始模塊后面的第二模塊進行描繪,接著以折線方式沿著跨度組以離開基元長邊沿的方式逐塊進行,最終以折線方式沿著跨度組以朝向基元長邊沿的方式逐塊進行。
應該注意到在初始模塊之后描繪的下一個模塊不必處于初始模塊后面。下一個模塊沿基于(或者向上,向下,向左或向右)產生跨度以及基于基元的形狀的方向與初始模塊相鄰。在示范實施例,跨度被推測為從上向下產生。
從在前跨度組內描繪的最后模塊下面的入口模塊開始描繪每個后續跨度組,接著以折線方式沿著跨度組以離開基元長邊沿的方式逐塊進行,最終以折線方式沿著跨度組以朝向基元長邊沿的方式逐塊進行。
本發明的描繪方案導致一種螺旋描繪模式。基元首先被向下分為4個跨度組,接著跨度組被分解為4×2的象素模塊。接著以螺旋模式沿離開基元的長邊沿的方向描繪模塊,作為一種替換,描繪來自給定4個跨度組的每兩個跨度子組的一個或兩個像素模塊。
用于基元描繪的第一跨度組從包括基元頂點(或,作為替換,包括多邊形的長邊沿的多邊形的初始跨度模塊)的初始像素模塊開始描繪,接著,使用被描繪的初始模塊下面的像素模塊,向下,接著以折線方式沿跨度子組以離開長邊的方向進行。如果必要的話,第一跨度組接著從入口模塊下面的像素模塊沿朝向長邊沿的方向描繪。
從與最后在前描繪的跨度組內描繪的最后像素模塊相鄰的入口像素模塊描繪基元內的每個后續跨度組,接著以離開長邊沿的方向沿著來自入口模塊的跨度描繪,接著以朝向長邊沿的方向沿著來自入口模塊的跨度描繪。在以離開長邊沿的方向沿著來自入口模塊的跨度描繪之后僅一個或兩個像素模塊可以保留在跨度組內描繪。
在基元內的所選模塊—在第一掃描組內的初始模塊和每個后續掃描組內的入口模塊下面的模塊—將內插值推入到棧內以允許沿相反方向繼續跨度的描繪。一旦當前方向(離開長邊沿方向)上的所有模塊已被描繪,則棧被推出并以相同的折線或螺旋方式沿相反方向,朝向基元長邊沿的方向描繪模塊。
當描繪當前跨度組內的所有模塊時,內插器沿描繪方向(橫越跨度)移動以建立下一個跨度組。下一個跨度組使用與前一個掃描組內描繪的最后模塊相鄰的像素模塊開始。提供繪圖控制以避免描繪不包含跨度部分的模塊。
現在參照圖3,示出一個用于根據本發明的優選實施例描繪實例基元的圖。沿從最上頂點306開始的方向304描繪三角形基元302。如上所述,基元302首先分為4個掃描線的跨度組308a-308c,接著4個掃描線的跨度組308a-308c被分為多個4×2模塊310。
接著以螺旋方式,從包括基元302的開始頂點306和要描繪的第一跨度組308a內的線的初始模塊1開始描繪基元302內的模塊310。如果多邊形的描繪從一個跨度而不是一個頂點開始,則初始模塊將最接近多邊形的長邊沿。
實例基元302的描繪接著向下進行到模塊2,模塊2與模塊1相鄰,但是處于與包括模塊1的子組不同的子組內,接著沿離開長邊沿312的方向到達模塊3。如果必要的話,描繪將使用被交替描繪的一個跨度子組的兩個模塊310,以折線方式沿著掃描線進行,直到到達跨度的端點為止,其中使用相同跨度組內的兩個其他掃描子組模塊繪制模塊310。
在從模塊2到達模塊3之前,模塊2的內插值被推入棧以允許從模塊2沿相反方向,朝向長邊沿312繼續描繪。這樣,在描繪模塊3之后,通過從模塊2到模塊4的描繪,推出棧并且描繪方向被反向。如果必要的話,使用被交替描繪的一個跨度子組的兩個模塊310,以上述折線方式,描繪將再次沿著掃描線進行,這次方向朝向基元的長邊沿,直到到達跨度的端點為止,其中使用其他跨度子組內的兩個模塊繪制模塊310。
接著使用與前面跨度組描繪的最后模塊,模塊4相鄰的入口模塊,模塊5開始描繪下一個跨度308b組。在從模塊5開始描繪之前,將模塊5的內插值推入后面使用的棧。描繪從模塊5開始,沿離開基元長邊的方向,以螺旋方式通過模塊6到11,直到到達跨度組的對面端點為止。
接著從棧推出模塊5的值并且描繪從模塊5沿相反方向到達跨度組的端點,該跨度組包括長邊沿,長邊沿包括實例基元302內的模塊12和13。下一個跨度組308c的描繪由入口模塊開始,模塊14與前面跨度組308b內描繪的最后模塊(模塊13)相鄰。
將模塊14的像素和紋理信息推入棧。模塊15到18如圖所示描繪,使用繪圖控制以抑制模塊17的描繪,該模塊17不包含實例基元302的任何部分。對于某些基元可能會是這樣,這是因為在優選實施例存在必須處理4×2模塊的情況,但這些模塊不包含要繪制的像素。這可以通過允許對角線步長(即,沿X和Y方向的步長)并必須抑制描繪來消除,其中對角線步長可被采用以避免訪問模塊17,抑制描繪是以復雜化內插器為代價的。下一次從棧推出模塊14的像素和紋理信息,并且描繪模塊19和20。
參照圖4,示出根據本發明優選實施例的用于描繪基元處理的較高層次的流程圖。該處理在步驟402開始,該步驟示出一個被接收用于描繪的基元。接著該處理到達步驟404,該步驟示出被分為2N掃描線的掃描線組,接著被分為M×N像素模塊的基元。
該處理下一次到達步驟406,該步驟示出描繪方向以及被確定的基元的長邊沿,接著處理到達步驟408,該步驟示出描繪基元內的初始模塊。初始模塊應處于要描繪的第一2N跨度組的第一跨度子組內。處理下一次到達步驟410,該步驟示出描繪與初始模塊相鄰并處于基元的第一2N跨度組的另一個跨度子組內的第二模塊,接著處理到達步驟412,該步驟示出將剛描繪模塊的像素和紋理信息推入棧。
接著處理到達步驟414,該步驟414示出從跨度組內的“推入”模塊以螺旋順序,沿著形成2N跨度組的跨度子組之間的折線,以離開基元的長邊沿的方向描繪跨度組內的模塊,直到到達跨度組的端點為止。該處理下一次到達步驟416,該步驟示出從棧推出用于推出模塊的像素和紋理信息,接著到達步驟418,該步驟示出從推出模塊以螺旋順序沿相反方向,朝向基元的長邊沿描繪跨度組內的模塊,直到到達跨度組的端點為止。
接著處理到達步驟420,該步驟示出確定是否已描繪基元內的所有跨度組。如果不是這樣,處理進行到步驟422,該步驟示出描繪下一個跨度組內,與最后跨度組內描繪的最后模塊相鄰的入口模塊,接著處理返回步驟412,用于將剛描繪模塊的像素和紋理信息推入棧,使得剛描繪模塊成為新的“推入”模塊。接著重復步驟414到420。
一旦在步驟420確定已描繪了基元的最后掃描組,則處理更換進行到步驟424,該步驟示出成為空閑的處理直到接收另一個用于描繪的基元。
本發明指出使用描繪利用M×N像素組的基元的已有技術描繪方法的低效(在已有技術方法或者M或者N將為1),使模塊接近正方形,就優化了用于較小跨度和取出紋理的重復使用的描繪方法。盡管示范實施例采用4×2模塊像素,但是本發明不需要一個具體的模塊尺寸。另外,本發明的方法可適用于跨度生成之外的其他描繪技術,例如,flood-fill算法。也可以將與兩個深度棧一起的著色算法用于描繪具有最小頁橫越的較大基元。
本發明還不需要一個產生跨度的分開的光柵引擎,但是可以將其用于使用光柵引擎和成塊控制邏輯組合以產生模塊而不是跨度的任何描繪方法。分開的像素引擎或內插器可以在M×N模塊內的每個像素上進行并行操作。
使用優于已有技術公知的8×1方法的本發明的4×2結構改進用于包括一個到幀緩沖器的8像素接口的系統的存儲器帶寬應用以及相應的像素和紋理高速緩沖線尺寸。這可以通過考慮使用兩種結構描繪的假定50像素四邊形(兩個三角形,或一個不規則四邊形)來表示。不規則四邊形應該包括大約7個跨度,對于形成不規則四邊形的兩個三角形中的每一個,每個跨度平均3.5個像素。在8×1結構,將要求對應于存取的112個像素的14次存儲器存取描繪50像素,效率為44%。在本發明的4×2結構,將要求對應于存取的總共80個像素的僅10次存儲器存取描繪50像素,效率為62.5%。這樣,本發明的4×2結構具有比已有技術8×1結構高大約20%效率。進一步,這種效率的提高不完全隨基元尺寸的增加或減少而變化。
本發明的模塊描繪方法的另一個優點是減少幀緩沖器頁橫越。假定存儲器塊(tile)(映象到屏幕上的矩形)至少為所選模塊4×2模塊高度的2倍并且至少等于該模塊的寬度,則描繪一個基元所需要的頁橫越的數量減少75%。通過組合模塊描繪和跨度生成消除所產生的中間跨度將進一步頁橫越的數量。
參照圖5,與已有技術掃描線描繪相比示出本發明的優選實施例的模塊描繪期間的改進的紋理重復使用。多個流行的圖形子系統已存取作為紋理模塊的紋理存儲器并使用芯片內的紋理高速緩存。描繪正方形或接近正方形補片內的多邊形改進了紋理結構高速緩存的使用,這是因為紋理結構映象需要8個紋理以計算三線mip映象內的一個像素的紋理結構。
圖5示出不但使用已有技術公知的掃描線描繪而且使用本發明的螺旋模塊描繪描繪紋理結構的28個像素。假定跨度足夠長以開始沖洗來自高速緩存的紋理,則必須取出64個紋理用于28像素的掃描線描繪,同時僅取出40個用于螺旋模塊描繪方法,減少紋理取出的37.5%。這僅是潛在的性能優點的示意,所需要的紋理取出的實際減少將高度依賴于被描繪的基元和紋理映象坐標以及所包含的參數。
重要的是注意到,盡管在完全功能性的數據處理系統和/或網絡的范圍內已描述了本發明,本領域的技術人員將認識到本發明的原理可以以指令的計算機可用介質的形式分布在各種形式內,并且可以同樣應用本發明,與用于實際完成分布的信號承受信號的介質的特定類型無關。計算機可用介質的實例包括諸如只讀存儲器(ROM)或可擦除,電編程只讀存儲器(EEPROM)之類的非易失性,硬編碼型介質,諸如軟盤、硬盤驅動器和CD-ROM之類的記錄類型的介質,以及諸如數字和模擬通信線路之類的傳輸型介質。
盡管參照優選實施例已特定示出并描述了本發明,本領域技術人員可以認識到,在不脫離本發明的精神和范圍的情況下在形式上和細節上可以作出各種變化。
權利要求
1.一種描繪基元的方法,包括將基元分為跨度組;從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組;和從入口開始沿著跨度以朝向基元長邊沿的方向描繪每個跨度組。
2.如權利要求1所述的方法,其中將基元分為跨度組的步驟進一步包括將基元分為跨度組,每個跨度組包括至少兩個子跨度組。
3.如權利要求2所述的方法,其中從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組的步驟進一步包括交替描繪來自不同子跨度組的像素模塊,同時沿著跨度描繪。
4.如權利要求3所述的方法,其中交替描繪來自不同子跨度組的像素模塊,同時沿著跨度描繪的步驟進一步包括(a)描繪子跨度組內的像素模塊;(b)描繪與最后描繪的像素模塊相鄰并處于與最后描繪的像素模塊相同的子跨度組內的像素模塊;(c)描繪與步驟(b)內描繪的像素模塊相鄰的不同子跨度組內的像素模塊;和(d)重復步驟(b)和(c)直到已描繪當前描繪方向上的當前跨度組內的所有像素模塊。
5.如權利要求1所述的方法,其中將基元分為跨度組的步驟進一步包括將基元分為四跨度組。
6.如權利要求5所述方法,其中從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組的步驟進一步包括交替描繪一個或兩個來自處于一個跨度組內的兩個不同跨度子組的4×2像素模塊,同時沿著跨度描繪。
7.如權利要求1所述的方法,其中從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組的步驟進一步包括從包括沿離開長邊沿方向的基元的頂點的像素模塊開始描繪第一跨度組;和在從包括沿離開長邊沿方向的基元的頂點的像素模塊開始描繪第一跨度組之后,如果必要的話,從包括沿朝向長邊沿方向的頂點的像素模塊開始描繪第一跨度組。
8.如權利要求7所述的方法,其中從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組的步驟進一步包括描繪第一跨度組后續的每個跨度組從與前面跨度組內描繪的最后像素模塊相鄰的入口像素模塊沿離開長邊沿的方向開始;和在沿離開長邊沿的方向從入口像素模塊開始描繪之后,如果必要的話,沿朝向長邊沿的方向從入口像素模塊開始描繪。
9.如權利要求1所述的方法,其中從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組的步驟進一步包括描繪M×N像素模塊內的每個跨度組。
10.如權利要求9所述的方法,其中描繪M×N像素模塊內的每個跨度組進一步包括描繪4×2像素模塊內的每個跨度組。
11.一種描繪基元的系統,包括成塊控制邏輯,將基元分為跨度組,每個跨度組包括2N跨度,并且進一步將跨度組分為M×N像素模塊;和一個或多個內插器,從入口開始沿著跨度以離開基元長邊沿的方向描繪每個跨度組,以及接著從入口開始沿著跨度以朝向基元長邊沿的方向描繪每個跨度組。
12.如權利要求11所述的系統,其中一個或多個內插器以螺旋順序沿著跨度逐塊描繪跨度組。
13.如權利要求12所述的系統,其中每個跨度組包括兩個N跨度子組以及在描繪不同跨度子組內的至少一個模塊之前一個或多個內插器描繪一個給定跨度子組內的不多于兩個的模塊。
14.如權利要求12所述的系統,進一步包括一個圖形適配器,包含成塊控制邏輯以及一個或多個內插器。
15.如權利要求12所述的系統,進一步包括一個數據處理系統,包括一個顯示器;以及一個圖形適配器,處于數據處理系統內并包含成塊控制邏輯以及一個或多個內插器,圖形適配器描繪用于顯示的基元。
16.如權利要求12所述的系統,其中一個或多個內插器中的每一個包括在描繪跨度組內的其他模塊之前將跨度組內的入口模塊的像素和紋理信息推入其中的至少一個一次深度棧。
17.如權利要求16所述的系統,其中入口模塊為包括一個基元頂點的第一跨度組內的初始模塊。
18.如權利要求16所述的系統,其中入口模塊為與前面跨度組內的最后描繪模塊相鄰的跨度組內的一個模塊。
19.如權利要求16所述的系統,其中在從入口模塊開始沿從離開長邊沿到跨度組的第一端點的方向描繪跨度組之后并且在從入口模塊開始沿朝向長邊沿到第二端點,該跨度組的相對端點的方向描繪跨度組之前從棧中推出入口模塊的像素和紋理信息。
20.一種用于描繪基元的計算機可用介質內的計算機程序產品,包括用于從入口模塊開始沿離開基元長邊沿的方向以螺旋順序逐塊描繪基元內的模塊組的指令;和用于從入口模塊開始沿朝向基元長邊沿的方向以螺旋順序逐塊描繪基元內的模塊組的指令。
21.如權利要求20所述的指令,進一步包括用于將基元邏輯上分為M×N像素模塊以及模塊組的指令,其中每個模塊組包括跨越基元的兩個并行模塊行。
22.如權利要求20所述的計算機程序產品,其中用于從入口模塊開始沿離開基元長邊沿的方向以螺旋順序逐塊描繪基元內的模塊組的指令進一步包括用于在描繪模塊組內的另一個模塊行內的至少一個模塊之前描繪該模塊組內的一模塊行內的不多于兩個的模塊。
23.如權利要求20所述的計算機程序產品,其中用于從入口模塊開始沿離開基元長邊沿的方向以螺旋順序逐塊描繪基元內的模塊組的指令進一步包括用于描繪模塊組內的兩行模塊之間的折線同時描繪模塊組的指令。
24.如權利要求20所述的計算機程序產品,其中用于從入口模塊開始沿離開基元長邊沿的方向以螺旋順序逐塊描繪基元內的模塊組的指令進一步包括用于首先描繪模塊組內的入口模塊的指令;和用于在描繪模塊組內的任何其他模塊之前將入口模塊的像素和紋理信息推入棧內。
25.如權利要求20所述的計算機程序產品,進一步包括用于從入口模塊開始沿從離開長邊沿的方向描繪跨度組內所有模塊之后并且在從入口模塊開始沿朝向長邊沿的方向描繪跨度組內的任何模塊之前從棧中推出入口模塊的像素和紋理信息。
全文摘要
將基元分為2N個跨度的跨度組,每個跨度組從初始或入口模塊開始,首先沿離開基元的長邊沿的方向接著沿朝向基元的長邊沿方向,以螺旋順序逐塊描繪每個跨度組。內插器包括一個在描繪跨度組內的任何其他模塊之前將初始或入口模塊的像素和紋理信息推入其中的一次深度棧。接著交替描繪跨度組的不同跨度子組內的模塊或模塊對,以便隨著進行到跨度組的端點,描繪跨度子組之間的折線。
文檔編號G06T15/80GK1274902SQ0011763
公開日2000年11月29日 申請日期2000年5月18日 優先權日1999年5月24日
發明者C·R·約翰斯, J·S·利伯蒂, B·W·邁克爾, J·F·斯潘瑙斯 申請人:國際商業機器公司