專利名稱:邊緣處理技術(shù)的制作方法
技術(shù)領(lǐng)域:
本文公開的主題一般涉及圖形處理,且更具體地涉及處理補片(patch)的邊緣。
背景技術(shù):
圖形管線可負責渲染用于游戲、計算機動畫和醫(yī)學(xué)應(yīng)用等的圖形。諸如 Microsoft DirectXll的圖形處理管線通過增加鑲嵌(tessellation)細節(jié)來增加幾何細節(jié)。鑲嵌是以粗糙多邊形模型開始、渲染對象圖像的一系列三角形的組成物。補片是描述表面控制構(gòu)架(cage)的處于粗糙水平的基本單元。補片可代表曲線或區(qū)域,并且可與對象表面相切。表面可以是能被描述成參數(shù)函數(shù)的任何表面??刂茦?gòu)架是藝術(shù)家用來生成平滑表面的低解析度模型。因而,通過提供更高程度的鑲嵌,能被描述的圖形細節(jié)水平更大。然而,處理速度可能受到不利的影響。期望增加能提供圖形細節(jié)用于顯示的速度。
發(fā)明內(nèi)容
本發(fā)明提供了一種存儲指令的計算機可讀介質(zhì),當通過計算機執(zhí)行所述指令時, 引起所述計算機確定第一補片的邊緣是否與第二補片共享;響應(yīng)于所述第一補片的所述邊緣與所述第二補片共享、基于所述第一補片和所述第二補片的標識符,確定用于條目的索引;以及響應(yīng)于所述第一補片的所述邊緣與所述第二補片共享,在表內(nèi)的所述條目中存儲所共享的邊緣的屬性。本發(fā)明還提供了一種系統(tǒng),包括無線網(wǎng)絡(luò)接口 ;顯示器;以及生成傳輸至顯示器的補片的計算系統(tǒng),其中所述計算系統(tǒng)包括邊緣分析邏輯,用于響應(yīng)于第一補片的邊緣與第二補片共享、基于所述第一補片和所述第二補片的標識符,確定用于條目的索引,以及響應(yīng)于所述第一補片的邊緣與所述第二補片共享,在表內(nèi)的所述條目中存儲所共享的邊緣的屬性。本發(fā)明還提供了一種圖形管線,包括域著色器邏輯,用于確定補片邊緣的屬性并存儲所述屬性;邊緣確定邏輯,用于響應(yīng)于確定第一補片與第二補片共享邊緣,選擇性地請求以反向順序提供、由所述第一補片和所述第二補片共享的邊緣的屬性;以及幾何體著色器邏輯,用于響應(yīng)于確定所述第一補片與所述第二補片共享邊緣,接收存儲的屬性。
在附圖中以示例而不是限定的方式示出了本發(fā)明的實施例,并且在附圖中相同的附圖標記是指相似的元件。圖1是根據(jù)一實施例的圖形管線的示意圖。圖2描述了可用于確定在表中是存儲還是取回共享邊緣的屬性的過程。圖3描述了能使用本發(fā)明實施例的合適系統(tǒng)。
具體實施例方式貫穿本說明書引用的“一個實施例”或“實施例”意味著結(jié)合該實施例描述的具體特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少一個實施例中。因而,在貫穿本說明書的許多位置中出現(xiàn)的短語“在一個實施例中”或“實施例”并不必須都指相同的實施例。此外,具體特征、 結(jié)構(gòu)或特性可在一個或多個實施例中組合。一些實施例提供了生成用于由兩個或更多個幾何相鄰的補片共享的邊緣的邊緣高速緩存數(shù)據(jù)表。為每個補片分配標識值。當?shù)谝谎a片具有與第二補片共同的邊緣時,基于具有共同邊緣的兩個補片的標識值為表內(nèi)條目(entry)生成唯一標識值。共同邊緣的屬性存儲在與唯一標識值相關(guān)聯(lián)的表內(nèi)條目中。當為第二個補片估計共同邊緣時,邊緣能夠以反向順序從表中讀取。在一些實施例中,補片是能夠被繪制以創(chuàng)建三維形狀的二維表面。使用邊緣高速緩存表能夠潛在地避免使用計算繁重的著色器實例、紋理查找和濾波。使用該表能夠潛在地減少沿著由兩個或更多個幾何相鄰的補片共享的邊緣的冗余頂點處理和紋理查找。目前已知的方法建議在某個時刻處理一個補片,以利用平行性并且允許沿著邊緣重復(fù)的頂點估計。由于浮點算法的不可交換性,這將造成風險或引入裂縫。為了嘗試達到水密的表面,Microsoft DirectXll規(guī)定了以定點算法估計域位置。為了嘗試在圖形處理單元上使用平行性,許多實施例規(guī)定邊緣頂點可被估計和置換(displace)多次并且可沿著邊緣潛在地達到水密性。因此,許多實施例可將沿著共享邊緣的頂點估計減少大約50%。許多實施例可合并到DirectX 11鑲嵌驅(qū)動程序中,但也可用在其它類型的圖形管線中。本文描述的邊緣高速緩存表可用于基于任何REYES風格微多邊形的管線中。圖1描述了圖形管線。圖形管線可在作為獨立的專用集成電路的圖形處理器中實現(xiàn),通過軟件實現(xiàn)的通用處理器以軟件實現(xiàn),或者由軟件和硬件的組合實現(xiàn)。在一些實施例中,在圖1中,具有直角邊緣的元件可在硬件中實現(xiàn),并且具有圓形邊緣的元件可在軟件中實現(xiàn)。例如,可在無線電話、合并有線或無線通信設(shè)備的移動手持計算設(shè)備、或者任何計算機中實現(xiàn)圖形管線。圖形管線可向顯示設(shè)備提供用于顯示的圖像或視頻。多種技術(shù)可用于處理提供給顯示器的圖像。例如,高清晰度多媒體接口、DisplayPort、無線HDMI、和/或無線高清符合技術(shù)可用于將圖像轉(zhuǎn)移至顯示器。輸入?yún)R編器12使用固定功能操作(fixed function operation)、形成幾何體以及創(chuàng)建管線工作項目來從存儲器中讀取頂點。自動生成的標識符使能標識符特定處理,正如圖1中右側(cè)虛線指示的那樣。頂點標識符和實例標識符從前面的頂點著色器14是可獲得的?;獦俗R符(Primitive identifier)從前面的外殼著色器16是可獲得的??刂泣c標識符在外殼著色器16中是可獲得的。頂點著色器14執(zhí)行諸如變換、蒙皮(skinning)或照明的操作。它可輸入一個頂點并輸出一個頂點。在控制點階段(Phase)中,按輸出控制點調(diào)用并且各自通過控制點標識符識別,頂點著色器具有獨立于輸出數(shù)目為補片讀取所有輸入控制點的能力。外殼著色器16按調(diào)用輸出控制點??傒敵鍪窍乱粋€外殼著色器階段和域著色器20的共享輸入。通過所有輸入和輸出控制點的共享讀取輸入,可每補片調(diào)用一次補片恒定階段。外殼著色器 16輸出邊緣鑲嵌因子和其它補片恒定數(shù)據(jù)。正如在本文所使用,基元域的每個邊緣具有許多間隔的細節(jié)邊緣水平和邊緣鑲嵌因子可以可互換地使用。將代碼分段,使得能夠并行進行獨立的工作,結(jié)束于末尾處的接合步驟(join step) 0鑲嵌器18可在硬件或軟件中實現(xiàn)。在一些有優(yōu)勢的實施例中,鑲嵌器可以是軟件實現(xiàn)的鑲嵌器。鑲嵌器18將取回編碼的域點或者(u,ν)值。存儲的編碼域點可以采用無符號整數(shù)格式。鑲嵌器18可從外殼著色器接收定義有多少要鑲嵌的數(shù)目。鑲嵌器18生成拓撲,例如點、線或者三角形。鑲嵌器18可輸出至少一個頂點。邊緣確定塊19將確定估計的補片A是否與另一個補片(補片B)共享邊緣。如果與補片B共享邊緣,則在用于共享邊緣的表中創(chuàng)建唯一標識符。該唯一標識符可以是數(shù)字值或其它字母-數(shù)字代碼。條目存儲共享邊緣的頂點的數(shù)字屬性。域著色器20可用于為共享邊緣生成數(shù)字屬性。當估計補片B時(在補片A之后),可識別與補片A的共同邊緣。 基于該共同邊緣,可確定唯一標識符?;谠撐ㄒ粯俗R符可取回表中的條目。補片B的數(shù)字屬性可以反向順序取回,而不是使用域著色器20來計算那些值。補片B的取回的數(shù)字值可轉(zhuǎn)移到幾何體著色器(GQ 22。因此,當估計補片B時,能夠避免使用域著色器20來確定補片A和B之間共享的邊緣的屬性。邊緣確定塊19可請求將表存儲在高速緩存或其它存儲器中(未描述)。域著色器20是可編程級,其使用由鑲嵌器18供給的域點(U,ν)值在補片上生成真實的三維點。域著色器20估計頂點位置和屬性,并通過查找置換圖來置換點。域著色器 20使用來自鑲嵌器18的(u,ν)值來估計位置的法線(normal)和其它屬性。可使用置換圖來增加補片的高頻細節(jié)。在一些實施例中,域著色器20可軟件實現(xiàn)。在一些實施例中, 域著色器20的著色器編譯器生成的部分應(yīng)用比例和偏差技術(shù),以將編碼的、來自鑲嵌器18 的域點轉(zhuǎn)換到域
0域著色器20可使用標量置換圖來置換點或者計算其它頂點屬性。在一些情況下, 頂點估計可包括1.用于位置的二次-三次多項式的確定。2.計算偏導(dǎo)數(shù)或利用輔助正切和雙正切控制構(gòu)架估計正切和雙正切并取得它們的叉積。3.通過某種濾波,例如線性濾波,執(zhí)行紋理查找。4.沿著法線置換點(在標量數(shù)值置換的情況下)。5.沿著能潛在地從其它紋理讀數(shù)讀取的方向置換點(在矢量數(shù)值置換的情況下)。幾何體著色器22可輸入一個基元,并輸出多達四個流,各獨立地接收零或更多
6基元。出現(xiàn)在幾何體著色器輸出的流能夠向光柵器M提供基元,而多達四個流能夠連結(jié) (concatenate)至緩沖區(qū)30。通過光柵器M可實現(xiàn)裁剪、透視分隔、視見區(qū)(view port)、 以及剪刀(scissor)選擇實現(xiàn)和基元設(shè)立。像素著色器沈輸入一個像素,并在同一位置輸出一個像素或不輸出像素。輸出合并器觀提供固定功能目標渲染、混合、深度和模板(stencil)操作。圖2描述了可用于確定是在表中存儲還是取回共享邊緣的屬性的過程。塊202包括確定補片A是否與另一個補片(補片B)具有共同邊緣。如果存在共同邊緣,則塊210跟隨著塊202。如果不存在共同邊緣,則塊204跟隨著塊202。當在補片A的上下文中估計 (和置換)此共享邊緣上的頂點時,表不具有用于補片A和B之間的共同邊緣的條目。處理補片A包括通過使用U,ν值創(chuàng)建X,y, ζ值來估計補片A中的所有點。處理補片A也包括沿著補片A和其他補片共享的邊緣估計點。補片中的點具有u,v坐標。如果1!或¥是0或 1,則那個點在邊緣上。在一些實施例中,如果補片的某個邊緣的終點的實際χ,ι, ζ位置與另一個補片的終點的X,y, ζ位置匹配,則該邊緣與另一個補片共享。塊204包括為補片A的頂點生成屬性值。域著色器可用于生成屬性值。屬性值可提供給幾何體著色器。在沿著補片A和B之間共享的邊緣估計和置換所有點之后,填充 (populate)這個條目。在一些實施例中,屬性值可以是通過下表描述的那些。下面提供了
表的示例。
權(quán)利要求
1.一種存儲指令的計算機可讀介質(zhì),當通過計算機執(zhí)行所述指令時,引起所述計算機確定第一補片的邊緣是否與第二補片共享;響應(yīng)于所述第一補片的所述邊緣與所述第二補片共享、基于所述第一補片和所述第二補片的標識符,確定用于條目的索引;以及響應(yīng)于所述第一補片的所述邊緣與所述第二補片共享,在表內(nèi)的所述條目中存儲所共享的邊緣的屬性。
2.根據(jù)權(quán)利要求1的介質(zhì),其中所述指令進一步包括當由計算機執(zhí)行時引起所述計算機如下的指令確定所述第二補片是否與另一補片共享邊緣;響應(yīng)于所述第二補片與所述另一補片共享邊緣、基于所述第二補片和所述另一補片的標識符,選擇性地確定第二索引;基于所確定的第二索引,請求由所述第二補片和所述另一補片共享的所述邊緣的屬性;以及以反向順序提供所請求的屬性。
3.根據(jù)權(quán)利要求1的介質(zhì),其中確定用于條目的索引和確定第二索引都包括應(yīng)用哈希操作,所述哈希操作提供相同值而不論所述標識符是否被反向作為哈希的輸入。
4.根據(jù)權(quán)利要求1的介質(zhì),其中確定用于條目的索引和確定第二索引都將 使較大值的補片標識符移位X位;使所移位的補片標識符與較小值的補片標識符進行邏輯或;以及提供作為進行邏輯或后的值的所述索引。
5.根據(jù)權(quán)利要求4的介質(zhì),其中X包括8或16之一。
6.根據(jù)權(quán)利要求1的介質(zhì),其中所述指令進一步包括當由計算機執(zhí)行時引起所述計算機如下的指令從域著色器請求所述邊緣的屬性。
7.根據(jù)權(quán)利要求1的介質(zhì),其中所述屬性包括沿著共享的邊緣的頂點的位置、紋理坐標和每個頂點的法線。
8.一種系統(tǒng),包括 無線網(wǎng)絡(luò)接口; 顯示器;以及生成傳輸至顯示器的補片的計算系統(tǒng),其中所述計算系統(tǒng)包括 邊緣分析邏輯,用于響應(yīng)于第一補片的邊緣與第二補片共享、基于所述第一補片和所述第二補片的標識符,確定用于條目的索引,以及響應(yīng)于所述第一補片的邊緣與所述第二補片共享,在表內(nèi)的所述條目中存儲所共享的邊緣的屬性。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中所述邊緣分析邏輯將 確定所述第二補片是否與另一補片共享邊緣;響應(yīng)于所述第二補片與所述另一補片共享邊緣、基于所述第二補片和所述另一補片的標識符,選擇性地確定第二索引;基于所確定的第二索引,請求由所述第二補片和所述另一補片共享的所述邊緣的屬性;以及以反向順序向幾何體著色器提供所請求的屬性。
10.根據(jù)權(quán)利要求9的系統(tǒng),其中確定用于條目的索引和確定第二索引都包括應(yīng)用哈希操作,所述哈希操作提供相同值而不論所述標識符是否被反向作為哈希的輸入。
11.根據(jù)權(quán)利要求9的系統(tǒng),其中為確定用于條目的索引和確定第二索引,所述邊緣分析邏輯將使較大值的補片標識符移位X位;使所移位的補片標識符與較小值的補片標識符進行邏輯或;以及提供作為進行邏輯或后的值的所述索引。
12.根據(jù)權(quán)利要求11的系統(tǒng),其中X包括8或16之一。
13.根據(jù)權(quán)利要求9的系統(tǒng),其中所述屬性包括沿著共享的邊緣的頂點的位置、紋理坐標和每個頂點的法線。
14.一種圖形管線,包括域著色器邏輯,用于確定補片邊緣的屬性并存儲所述屬性;邊緣確定邏輯,用于響應(yīng)于確定第一補片與第二補片共享邊緣,選擇性地請求以反向順序提供、由所述第一補片和所述第二補片共享的邊緣的屬性;以及幾何體著色器邏輯,用于響應(yīng)于確定所述第一補片與所述第二補片共享邊緣,接收存儲的屬性。
15.根據(jù)權(quán)利要求14的圖形管線,其中所述域著色器邏輯將響應(yīng)于補片的邊緣與另一補片共享,在表中存儲所述邊緣的屬性。
16.根據(jù)權(quán)利要求14的圖形管線,其中所述邊緣確定邏輯基于所述第一補片和所述第二補片的標識符來確定所請求的屬性的標識符,而不論接收所述第一補片和所述第二補片的標識符的順序。
17.根據(jù)權(quán)利要求16的圖形管線,其中補片標識符包括DirectXll的SV_PRIMITIVE_IDs。
18.根據(jù)權(quán)利要求14的圖形管線,其中為確定所請求的屬性的標識符,所述邊緣確定邏輯將使較大值的補片標識符移位X位;使所移位的補片標識符與較小值的補片標識符進行邏輯或;以及提供作為進行邏輯或后的值的所述索引,其中X包括8或16之一。
19.根據(jù)權(quán)利要求14的圖形管線,其中所述屬性包括沿著共享的邊緣的頂點的位置、紋理坐標和每個頂點的法線。
20.根據(jù)權(quán)利要求14的圖形管線,進一步包括表,所述表存儲每個共享邊緣的屬性。
全文摘要
本發(fā)明為“邊緣處理技術(shù)”。在一些實施例中,生成由兩個或多個幾何上相鄰的補片共享的邊緣的邊緣高速緩存數(shù)據(jù)表。為每個補片分配標識值。當?shù)谝谎a片與第二補片具有共同邊緣時,基于具有共同邊緣的兩個補片的標識值,為表中的條目生成唯一的標識值。共同邊緣的屬性存儲在與唯一標識值相關(guān)聯(lián)的表內(nèi)條目中。當為第二補片估計共同邊緣時,能夠從表中以反向順序讀取邊緣。
文檔編號G06T1/00GK102201108SQ20111009857
公開日2011年9月28日 申請日期2011年3月8日 優(yōu)先權(quán)日2010年3月8日
發(fā)明者R·P·薩塞 申請人:英特爾公司