TWI479451B - 邊緣處理技術 - Google Patents

邊緣處理技術 Download PDF

Info

Publication number
TWI479451B
TWI479451B TW100104924A TW100104924A TWI479451B TW I479451 B TWI479451 B TW I479451B TW 100104924 A TW100104924 A TW 100104924A TW 100104924 A TW100104924 A TW 100104924A TW I479451 B TWI479451 B TW I479451B
Authority
TW
Taiwan
Prior art keywords
patch
edge
attributes
index
shared
Prior art date
Application number
TW100104924A
Other languages
English (en)
Other versions
TW201142741A (en
Inventor
Rahul P Sathe
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201142741A publication Critical patent/TW201142741A/zh
Application granted granted Critical
Publication of TWI479451B publication Critical patent/TWI479451B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)
  • Computer And Data Communications (AREA)

Description

邊緣處理技術
[相關申請案]
此申請案有關於由發明人為Sathe及Rosen在2008年12月31日申請之名稱為「A TESSELLATOR WHOSE TESSELLATION TIME GROWS LINEARLY WITH THE AMOUNT OF TESSELLATION」的序號12/347,114(代理人卷號P29143)及由發明人為Sathe及Rosen在2009年4月29日申請之名稱為「IMAGE FORMATION TECHNIQUES」的序號12/347,114(代理人卷號P29929)之美國專利申請案,以及在2009年12月23日申請之名稱為「Image Processing Techniques」的PCT/US2009/069353(代理人卷號P31681)。
在此揭露之標的主要關於圖形處理,以及詳言之關於修補邊緣的處理。
圖形管線可負責呈現遊戲、電腦動畫、醫學應用等的圖形。圖形處理管線(如MicrosoftDirectX 11)藉由增加細分曲面(tessellation)細節來增加幾何細節。細分曲面為從粗糙的多邊形模型開始之一連串三角形之形成,以呈現物體之影像。修補(patch)為在粗級之基礎單元,描述一表面之控制箱(control cage)。修補可代表曲線或區域並可與物體表面呈正切。該表面可為可描述成參數函數的任何表面。控制箱為熟此技藝者用來產生平滑表面的低解析度模型。因此,藉由提供較高程度的細分曲面,可描繪之圖形細節的程度更大。然而,處理速度可能受到不利影響。希望增加可提供圖形細節以用於顯示的速度。
【發明內容及實施方式】
在整份說明書中對於「一實施例(one embodiment)」或「一實施例(an embodiment)」的參照意指連同該實施例所述的特定特性、結構、或特徵係包括在本發明之至少一實施例中。因此,在說明書中各處中詞語「在一實施例中」的出現並非一定皆參照相同實施例。此外,可在一或更多實施例中結合特定特性、結構、或特徵。
一些實施例用於產生由兩或更多幾何連續的修補所共享之邊緣的邊緣快取資料表。針對每一修補分配一識別值。當第一修補與第二修補具有共同邊緣時,依照具有共同邊緣之兩修補的識別值產生表中之一項目的獨特識別值。共同邊緣的屬性係儲存在與獨特識別值關聯之表中的該項目中。當評估第二修補之共同邊緣時,可以相反順序從表中讀取邊緣。在一些實施例中,修補為可加以繪製以產生出三維(3-D)形狀的二維(2-D)表面。
使用邊緣快取表能避免使用計算繁重的著色器(shader)實例、紋理查詢、及過濾。使用表能避免沿兩或更多幾何連續的修補所共享之邊緣的冗餘頂點處理及紋理查詢。
目前已知的方法建議一次處理一修補以利用平行性並允許沿邊緣之頂點的重複評估。這構成因浮點算術之不可交換性(non-commutative nature)而產生裂紋的風險。欲嘗試實現防水(watertight)表面,MicrosoftDirectX 11指明在固定點算術中評估域位置。欲嘗試在圖形處理單元上使用平行性,各種實施例提出可多次評估並位移邊緣頂點並可能沿邊緣實現防水性。據此,各種實施例可減少沿共享邊緣之頂點的評估近乎50%。
各種實施例可倂入DirectX 11細分曲面驅動器中,但亦可用於其他類型的圖形管線中。在此所述之邊緣快取表可用於任何REYES型微多邊緣為基之管線。
第1圖描繪圖形管線。可在圖形處理器中作為獨立且專用之積體電路、在軟體中透過軟體實行的一般目的處理器,或藉由軟體及硬體之組合來實行圖形管線。在一些實施例中,在第1圖中,可在硬體中實行具有直角邊緣的元件並可在軟體中實行具有圓潤邊緣的元件。
可在例如無線電話、倂入有線或無線通訊裝置之行動手持計算裝置、或任何電腦中實行圖形管線。圖形管線可提供顯示用之影像或視頻至顯示裝置。可使用各種技術來處理提供至顯示器之影像。例如,可使用符合高解析度多媒體介面(High-Definition Multimedia Interface)、DisplayPort、無線HDMI、及/或無線HD之技術來轉移影像至顯示器。
輸入組譯器12使用固定函數運算從記憶體讀取出頂點,形成幾何,並產生管線工作項目(work items)。自動產生的識別符致能特定識別符處理,如在第1圖中右邊上的虛線上所示。從頂點著色器14起可得頂點識別符及實例識別符。從殼體著色器(hull shader)16起可得基元(primitive)識別符。在殼體著色器16中可得控制點識別符。
頂點著色器14執行諸如轉變、換面板(skinning)、或明暗分佈之操作。其可輸入一頂點並輸出一頂點。在控制點階段中,每輸出控制點被引動並由一控制點識別符識別各者,頂點著色器具有與輸出數量無關地讀取一修補的所有輸入控制點之能力。殼體著色器16針對每次引動輸出控制點。聚集輸出為至下一個殼體著色器階段及至域著色器20之共享輸入。可以所有輸入之共享讀取輸入及輸出控制點,針對每修補引動修補常數階段一次。殼體著色器16輸出邊緣細分曲面因數及其他修補常數資料。如此所用,可交換使用邊緣細分曲面因數及具有每基元域之邊緣若干間隔的邊緣細節程度。將碼分段所以可以最後為聯合步驟之平行加工進行獨立工作。
可在硬體或軟體中實行細分曲面器18。在一些有利的實施例中,細分曲面器可為軟體實行的細分曲面器。細分曲面器18擷取經編碼域點或(u,v)值。儲存的經編碼域點可具有無正負號整數格式。細分曲面器18可從殼體著色器接收界定細分曲面次數的數字。細分曲面器18產生拓撲,如點、線、或三角形。細分曲面器18可輸出至少一頂點。
邊緣決定區塊19決定被評估的修補A是否與另一修補(修補B)共享一邊緣。若與修補B共享邊緣,則在表中針對共享邊緣產生一獨特的識別符。獨特識別符可為一數值或其他字母數字碼。項目儲存共享邊緣之頂點的屬性。域著色器20可用來產生共享邊緣之數值屬性。當(在修補A之後)評估修補B時,可識別與修補A之共同邊緣。依據共同邊緣,可決定獨特識別符。可依據獨特識別符擷取表中之項目。可以相反順序擷取修補B的數值屬性來取代使用域著色器20計算那些值。可將修補B之已擷取的數值轉移至幾何著色器(GS)22。據此,當評估修補B時,可避免使用域著色器20來決定在修補A及B之間共享的邊緣之屬性。邊緣決定區塊19可請求將該表儲存在快取或其他記憶體(未圖示)中。
域著色器20為使用由細分曲面器18所供應的域點,(u,v)值,來產生修補上之真實3D點之可編程級。域著色器20評估頂點位置及屬性並藉由查詢位移映圖來位移這些點。域著色器20使用來自細分曲面器18的(u,v)值來評估位置的法線及其他屬性。可使用位移映圖來添加修補之高頻細節。在一些實施例中,域著色器20可為軟體實行者。在一些實施例中,產生域著色器20之一部分的著色編譯器施加定標及偏差技術以將來自細分曲面器18的經編碼域點轉換成[0,1]的域。
域著色器20可使用純量位移映圖來位移點或計算其他頂點屬性。在一些情況中,頂點評估可涉及:
1. 決定位置之雙三次多項式。
2. 使用輔助切線及雙切線控制箱並取其交叉乘積來計算偏導數或評估切線及雙切線。
3. 以某些過濾(如線性過濾)執行紋理查詢。
4. 沿法線位移點(在純量值位移的情況中)。
5. 沿能從其他紋理讀取所讀取之方向位移點(在向量值位移的情況中)。
幾何著色器22可輸入一基元並輸出多達四串流,各獨立地接收零或更多基元。在幾何著色器之輸出出現的串流可提供基元給光柵化程式24,而多達四串流可序連至緩衝器30。可由光柵化程式24實行剪裁(clipping)、分透視(perspective dividing)、視域(view port)、及剪刀選擇實行(scissor selection implementation)及基元設定。
畫素著色器26輸入一畫素並在相同位置輸出一畫素或無畫素。輸出合倂器28提供固定函數目標呈現、混合、深度、及模板操作。
第2圖描繪可用來決定是否儲存或擷取表中之共享邊緣的屬性之程序。區塊202包括決定修補A是否與另一修補(修補B)有共同邊緣。若有共同邊緣,則區塊210跟隨在區塊202之後。若沒有共同邊緣,則區塊204跟隨在區塊202之後。在修補A的景況中評估(並位移)此共享邊緣上的頂點時,表不具有修補A及B之間的共同邊緣之項目。處理修補A包括藉由使用u,v值來評估修補A中的所有點以產生x,y,z值。處理修補A亦包括沿與其他修補共享之修補A的邊緣來評估點。修補中之一點具有u,v座標。若u或v為0或1,則那個點在邊緣上。在一些實施例中,若一修補之一邊緣的端點之真實x,y,z位置匹配另一修補的端點之x,y,z位置,則與另一修補共享該邊緣。
區塊204包括產生修補A之頂點的屬性值。可使用域著色器來產生屬性值。可提供屬性值至幾何著色器。在評估並位移沿修補A及B之間共享的邊緣之所有點之後填充此項目。在一些實施例中,屬性值可為連同下表所述者。下列提供表之一範例。
位置代表沿共同邊緣之頂點的位置。法線代表每一頂點之法線。紋理座標代表每一頂點之紋理座標。切線代表每一頂點之切線向量。雙切線代表雙切線向量。其他屬性可為顏色屬性、轉移性(transferency)、或其他使用者界定的屬性。表中之項目可儲存沿共享邊緣之頂點的所有(或一些)屬性。每一行儲存每一項目之多個值,如多個位置值。
區塊210包括決定該共同邊緣之項目是否存在於邊緣快取表中。若項目存在,則區塊220跟隨在區塊210之後。若項目不存在,則區塊212跟隨在區塊210之後。可使用為修補A及B之識別符的函數之計算來進行該共同邊緣之項目是否存在於邊緣快取表中的決定。例如,該計算可依據修補A及B的修補號碼之散列(hash)來決定項目的識別符,因為修補A及B共享一共同邊緣。當將在評估修補B之景況中評估沿修補A及B之間共享的邊緣之點時,在位置散列(B,A)評估該表以決定是否存在有效項目。由於散列(B,A)與散列(A,B)相同,項目存在且取代評估點,擷取表中儲存的資料。另外,散列分配具有固定大小之表中的項目號碼。例如,若表為16項目,則散列提供16個獨特的識別符。
例如,針對散列(修補ID1,修補ID2),其中修補ID最大可為2^N,其中N<=16,則散列運算可為:
此散列運算考慮這兩個修補識別符的最後8個位元。將兩個8位元串之較大者位移8位元並與兩個8位元串之較小者進行邏輯或(OR)。返還值為無正負號的16位元值,其用為項目識別符I。若這兩修補具有以64分隔之修補識別符,那些修補會映射至相同項目。
舉另一例而言,針對散列(修補ID1,修補ID2),其中修補ID最大可為2^N,其中N<=16,則散列運算可為:
返還值,索引I,為位移N位元的較大值並接著與較小值進行邏輯或(OR)。在此範例中,N為16,但N可為其他值。當N為16時,索引變成32位元值,並因此表可涵蓋近乎40億位元組的記憶體。索引I可後續被重新映射至較小記憶體區域。
在一些實施例中,散列運算可最小化表中之連續項目以釋放記憶體中之空間來儲存用以儲存其他資訊之項目。例如,若表中有兩個項目,則索引值可分配給連續記憶體位置中之兩個項目。在其他情境中,不用來儲存項目的記憶體可由其他應用程式使用。在一些情況中,以相反順序讀出之項目可供覆寫且相應的索引值可供分配至另一共同邊緣。
區塊220包括以相反順序從邊緣快取表中之項目I讀取頂點並儲存頂點到目前修補的頂點緩衝器中。發生以相反順序讀取頂點,因為在相鄰修補中邊緣逆轉為相反方向。例如,若修補B為目前修補並決定與修補A的共同邊緣之屬性係儲存在表中,則以相反順序讀取相關於修補A所評估之共同邊緣的屬性。
區塊212包括產生共同邊緣之獨特識別符I。散列計算可用來依據修補A及B的修補識別值而產生共同邊緣之獨特識別符I。可執行各種類型的計算來決定表中之項目的獨特識別符。例如,DirectX11的SV_PRIMITIVE_ID代表修補識別值。
區塊214包括沿著共同邊緣評估並位移點。例如,可使用純量位移映圖來沿共同邊緣位移點。域著色器可用來評估並位移點。
區塊216包括將頂點插在邊緣快取表中之項目I。
區塊218包括在目前修補的中間頂點緩衝器中儲存頂點。之後,可由幾何著色器使用頂點屬性。
由於某些高通量架構在其計算力上優於其之記憶體頻寬,計算密集技術可能比記憶體密集者為較佳。然而,在此情況中,由於紋理單元之長潛伏,可使用比仰賴於計算更仰賴於記憶體存取之技術。在此所述之各種實施例可用於「呈現一切你見過的東西」(Renders Everything You Ever Saw;REYES)型的架構,因為頂點紋理化在那些架構中較普遍且涉及比單單位移映圖更多對紋理之存取。
可使用具有遞延細分曲面技術之各種實施例來避免有關於環境中的共同邊緣之冗餘決定,(描述於由發明人為Sathe及Rosen在2008年12月31日申請之名稱為「A TESSELLATOR WHOSE TESSELLATION TIME GROWS LINEARLY WITH THE AMOUNT OF TESSELLATION」的序號12/347,114(代理人卷號P29143)、由發明人為Sathe及Rosen在2009年4月29日申請之名稱為「IMAGE FORMATION TECHNIQUES」的序號12/347,114(代理人卷號P29929)、及在2009年12月23日申請之名稱為「Image Processing Techniques」的PCT/US2009/069353(代理人卷號P31681)中)。
在多核心環境中,每一核心可具有自己的快取表。例如,第一核心產生一共享邊緣之快取項目且第一核心使用該快取項目。由於每一核心處理較小數量的修補,可使用比在於多個核心之間共享表的情況中更小之快取。若每一核心使用自己的表,項目查詢可更快速。在一些情況中,邊緣快取項目可在針對共享邊緣而讀出後被覆寫。
可分配核心以執行任何類型的著色器操作,如域、幾何、或畫素著色。據此,若從表擷取一項目,則可釋放核心而使其不執行域著色並且被釋放的核心可執行其他類型的操作。
第3圖描繪可使用本發明之實施例的適當系統。電腦系統可包括主機系統302及顯示器322。可在手持個人電腦、行動電話、機上盒、或任何計算裝置中實行電腦系統300。主機系統302可包括晶片組305、處理器310、主機記憶體312、貯存(storage)314、圖形子系統315、及無線電320。晶片組305可提供處理器310、主機記憶體312、貯存314、圖形子系統315、及無線電320之間的相互通訊。例如,晶片組305可包括能夠與貯存314提供相互通訊之貯存轉接器(未圖示)。例如,貯存轉接器能夠順應任何協定而與貯存314通訊。
在各種實施例中,電腦系統執行相關於第1及2圖所述之技術以決定呈現修補。
處理器310可實行為複雜指令集電腦(CISC)、減少指令集電腦(RISC)處理器、x86相容處理器、多核心、或任何其他微處理器或中央處理單元。
主機記憶體312可實行為依電性記憶體裝置,例如但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、或靜態RAM(SRAM)。貯存314可實行為非依電性儲存裝置,例如但不限於磁碟機、光碟機、磁帶機、內部儲存裝置、附接儲存裝置、快閃記憶體、電池備用SDRAM(同步DRAM)、及/或網路可存取儲存裝置。
圖形子系統315可執行影像之處理,如靜態或視頻,以供顯示。類比或數位介面可用來通訊式耦合圖形子系統315及顯示器322。例如,介面可為高解析度多媒體介面(High-Definition Multimedia Interface)、DisplayPort、無線HDMI、及/或無線HD順應技術的任何者。圖形子系統315可整合到處理器310或晶片組305中。圖形子系統315可為獨立卡或通訊式耦合至晶片組305。
無線電320可包括能夠根據適用的無線電標準(例如但不限於IEEE 802.11及IEEE 802.16之任何版本)來傳送及接收信號的一或更多無線電。
可在各種硬體架構中實行在此所述之圖形及/或視頻處理技術。例如,可將圖形及/或視頻功能整合在晶片組內。替代地,可使用分離的圖形及/或視頻處理器。作為另一實施例,可藉由一般目的處理器(包括多核心處理器)實行圖形及/或視頻功能。在又一實施例中,可在消費者電子裝置中實行該些功能。
可提供本發明之實施例作為例如電腦程式產品,其可包括一或更多機器可讀取媒體,其上儲存有機器可執行指令,當由一或更多機器(如電腦、電腦網絡、或其他電子裝置)執行指令時,會導致一或更多機器進行根據本發明之實施例的操作。機器可讀取媒體可包括,但不限於,軟碟、光碟、CD-ROM(光碟唯讀記憶體)、光磁碟、ROM(唯讀記憶體)、RAM(隨機存取記憶體)、EPROM(可抹除可編程唯讀記憶體)、EEPROM(可電性抹除可編程唯讀記憶體)、磁或光卡、快閃記憶體、或適合儲存機器可執行指令之其他類型的媒體/機器可讀取媒體。
圖及前述說明提出本發明之範例。雖描繪成若干不同的功能物件,熟悉此技藝人士將認知到一或更多這種元件當然可結合到單一功能元件中。替代地,某些元件可分成多個功能元件。來自一實施例之元件可添加至另一實施例。例如,可改變在此所述之程序的順序且不限於在此所述之方式。此外,不需以所示順序實行任何流程圖的動作;也不一定得執行所有動作。並且,依賴其他動作的那些動作可與該些其他動作平行地執行。然而,本發明之範疇決不被這些特定範例所限制。可有各種變化,無論其在說明書中明確被提出與否,例如結構、尺寸、及材料使用上的差別。本發明之範疇至少如下列申請專利範圍所提供般的廣泛。
12...輸入組譯器
14...頂點著色器
16...殼體著色器
18...細分曲面器
19...邊緣判斷區塊
20...域著色器
22...幾何著色器
24...光柵化程式
26...畫素著色器
28...輸出合倂器
30...緩衝器
300...電腦系統
302...主機系統
305...晶片組
310...處理器
312...主機記憶體
314...貯存
315...圖形子系統
320...無線電
322...顯示器
在圖中舉例而非限制性地繪示本發明之實施例,圖中類似符號參照類似元件。
第1圖為根據一實施例的圖形管線之示意圖。
第2圖描繪可用來決定是否儲存或擷取表中之共享邊緣的屬性之程序。
第3圖描繪可使用本發明之實施例的適當系統。
12...輸入組譯器
14...頂點著色器
16...殼體著色器
18...細分曲面器
19...邊緣判斷區塊
20...域著色器
22...幾何著色器
24...光柵化程式
26...畫素著色器
28...輸出合倂器
30...緩衝器

Claims (18)

  1. 一種儲存指令之電腦可讀取媒體,當由電腦執行該些指令時,令該電腦:決定第一修補(patch)之邊緣是否與第二修補共享;回應於該第一修補與該第二修補共享邊緣而依據該些第一及第二修補的識別符來決定項目的索引,位移較大值修補識別符X位元,邏輯或(logically OR)該已位移的修補識別符與該較小值修補識別符,以及提供該索引作為經過邏輯或的值;以及回應於該第一修補與該第二修補共享邊緣而儲存該共享邊緣的屬性於表中的該項目中。
  2. 如申請專利範圍第1項所述之媒體,其中該些指令進一步包含指令,當由電腦執行該些指令時,令該電腦:決定該第二修補之邊緣是否與另一修補共享;回應於該第二修補與該另一修補共享邊緣而依據該第二修補及該另一修補的識別符來選擇性決定第二索引;依據該已決定的第二索引請求由該第二修補與該另一修補共享之該邊緣的屬性;以及以相反順序提供該些請求的屬性。
  3. 如申請專利範圍第2項所述之媒體,其中該決定項目的索引及該決定第二索引兩者皆包含施加散列運算,其提供相同的值,無論該些識別符是否為相反,作為至該散列的輸入。
  4. 如申請專利範圍第1項所述之媒體,其中X包含8 或16之一。
  5. 如申請專利範圍第1項所述之媒體,其中該些指令進一步包含指令,當由電腦執行該些指令時,令該電腦:從域著色器請求該邊緣的屬性。
  6. 如申請專利範圍第1項所述之媒體,其中該些屬性包含:沿著共享邊緣的頂點之位置、紋理座標、及每一頂點的法線。
  7. 一種用於邊緣處理的系統,包含:無線網路界面;顯示器;以及計算系統,以產生修補以傳送至顯示器,其中該計算系統包含:邊緣分析邏輯以:回應於第一修補與第二修補共享之邊緣而依據該些第一及第二修補的識別符來決定項目的索引,位移較大值修補識別符X位元,邏輯或該已位移的修補識別符與該較小值修補識別符,以及提供該索引作為經過邏輯或的值;以及回應於該第一修補與該第二修補共享之邊緣而儲存該共享邊緣的屬性於表中的該項目中。
  8. 如申請專利範圍第7項所述之系統,其中該邊緣分析邏輯:決定該第二修補是否與另一修補共享邊緣; 回應於該第二修補與該另一修補共享邊緣而依據該第二修補及該另一修補的識別符來選擇性決定第二索引;依據該已決定的第二索引請求由該第二修補與該另一修補共享之該邊緣的屬性;以及以相反順序提供該些請求的屬性至幾何著色器。
  9. 如申請專利範圍第8項所述之系統,其中該決定項目的索引及該決定第二索引兩者皆包含施加散列運算,其提供相同的值,無論該些識別符是否為相反,作為至該散列的輸入。
  10. 如申請專利範圍第7項所述之系統,其中X包含8或16之一。
  11. 如申請專利範圍第8項所述之系統,其中該些屬性包含:沿著共享邊緣的頂點之位置、紋理座標、及每一頂點的法線。
  12. 一種圖形管線,包含:域著色器邏輯,以決定修補之邊緣的屬性並儲存該些屬性;邊緣決定邏輯,以回應於第一修補與第二修補共享邊緣之決定而選擇性請求將以相反順序提供之由該些第一及第二修補共享之邊緣的屬性,位移較大值修補識別符X位元,邏輯或該已位移的修補識別符與該較小值修補識別符,以及提供該索引作為經過邏輯或的值;以及幾何著色器邏輯,以回應於該第一修補與該第二修補 共享邊緣之決定而接收已儲存的屬性。
  13. 如申請專利範圍第12項所述之圖形管線,其中該域著色器邏輯回應於一修補之邊緣與另一修補共享而將該邊緣的屬性儲存在表中。
  14. 如申請專利範圍第12項所述之圖形管線,其中該邊緣決定邏輯依據該些第一及第二修補的識別符決定該些請求屬性的識別符,而不論接收該些第一及第二修補之該些識別符的順序為何。
  15. 如申請專利範圍第14項所述之圖形管線,其中修補識別符包含DirectX11之SV_PRIMITIVE_ID。
  16. 如申請專利範圍第12項所述之圖形管線,其中X包含8或16之一。
  17. 如申請專利範圍第12項所述之圖形管線,其中該些屬性包含:沿著共享邊緣的頂點之位置、紋理座標、及每一頂點的法線。
  18. 如申請專利範圍第12項所述之圖形管線,進一步包含表,以儲存每一共享邊緣的屬性。
TW100104924A 2010-03-08 2011-02-15 邊緣處理技術 TWI479451B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/660,956 US20110216068A1 (en) 2010-03-08 2010-03-08 Edge processing techniques

Publications (2)

Publication Number Publication Date
TW201142741A TW201142741A (en) 2011-12-01
TWI479451B true TWI479451B (zh) 2015-04-01

Family

ID=43881448

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100104924A TWI479451B (zh) 2010-03-08 2011-02-15 邊緣處理技術

Country Status (6)

Country Link
US (1) US20110216068A1 (zh)
CN (1) CN102201108A (zh)
DE (1) DE102011011947A1 (zh)
GB (1) GB2478626B (zh)
RU (1) RU2487410C2 (zh)
TW (1) TWI479451B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013101177A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Reducing the domain shader/tessellatorinvocations
WO2013147826A1 (en) * 2012-03-30 2013-10-03 Intel Corporation Offloading tessellation from a graphics processor to a central processing unit
US9449419B2 (en) * 2012-03-30 2016-09-20 Intel Corporation Post tessellation edge cache
TW201437966A (zh) 2013-03-29 2014-10-01 Automotive Res & Testing Ct 自適應影像邊緣修復裝置及其方法
KR102053351B1 (ko) * 2013-08-12 2019-12-06 삼성전자주식회사 테셀레이션 데이터 생성 방법과 상기 방법을 수행할 수 있는 장치들
US9626795B2 (en) * 2013-12-17 2017-04-18 Intel Corporation Reducing shading by merging fragments from the adjacent primitives
AU2013273716A1 (en) 2013-12-19 2015-07-09 Canon Kabushiki Kaisha Method, apparatus and system for rendering an image
US9483862B2 (en) * 2013-12-20 2016-11-01 Qualcomm Incorporated GPU-accelerated path rendering
US9767602B2 (en) * 2014-06-30 2017-09-19 Intel Corporation Techniques for reduced pixel shading
US9665975B2 (en) 2014-08-22 2017-05-30 Qualcomm Incorporated Shader program execution techniques for use in graphics processing
US20160093102A1 (en) * 2014-09-25 2016-03-31 Peter L. Doyle Efficient tessellation cache
GB2532495B (en) * 2014-11-21 2018-05-02 Advanced Risc Mach Ltd Graphics processing systems
US10417280B2 (en) * 2014-12-23 2019-09-17 Intel Corporation Assigning global edge IDs for evolving graphs
US10535188B2 (en) * 2016-09-23 2020-01-14 Apple Inc. Tessellation edge shaders
US11995767B2 (en) 2020-08-17 2024-05-28 Intel Corporation Apparatus and method for compressing ray tracing acceleration structure build data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697064B1 (en) * 2001-06-08 2004-02-24 Nvidia Corporation System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline
US6707452B1 (en) * 2000-07-19 2004-03-16 Pixar Method and apparatus for surface approximation without cracks
US20040085313A1 (en) * 2000-08-31 2004-05-06 Moreton Henry P. Integrated tessellator in a graphics processing unit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6147689A (en) * 1998-04-07 2000-11-14 Adobe Systems, Incorporated Displaying 2D patches with foldover
US6115050A (en) * 1998-04-08 2000-09-05 Webtv Networks, Inc. Object-based anti-aliasing
EP1026639A3 (en) * 1999-02-04 2002-09-04 Canon Kabushiki Kaisha 3D computer graphics processing apparatus and method
US6535219B1 (en) * 2000-03-30 2003-03-18 Intel Corporation Method and apparatus to display objects in a computer system
US7589746B2 (en) * 2006-03-23 2009-09-15 Intel Corporation Optimized frustum clipping via cached clip vertices
US7940262B2 (en) * 2006-06-15 2011-05-10 Right Hemisphere Limited Unification and part hiding in three dimensional geometric data
RU2328770C1 (ru) * 2006-12-08 2008-07-10 Общество с ограниченной ответственностью ООО "Юник Ай Сиз" Способ выделения характерных деталей на цифровых изображениях (варианты)
US20090069353A1 (en) 2007-09-12 2009-03-12 Protia, Llc Deuterium-enriched ambrisentan
JP4994203B2 (ja) * 2007-11-29 2012-08-08 株式会社リコー 画像処理装置
CN101625767B (zh) * 2008-07-10 2013-07-10 北京石油化工学院 非平行轮廓医学影像的点云式三维表面重建方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6707452B1 (en) * 2000-07-19 2004-03-16 Pixar Method and apparatus for surface approximation without cracks
US20040085313A1 (en) * 2000-08-31 2004-05-06 Moreton Henry P. Integrated tessellator in a graphics processing unit
US6697064B1 (en) * 2001-06-08 2004-02-24 Nvidia Corporation System, method and computer program product for matrix tracking during vertex processing in a graphics pipeline

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Getting hash of a list of strings", http://stackoverflow.com//questions/670063/getting-hash-of-a-list-of-strings available online since Mar. 2009 Ni et al. "Efficient Substitutes for Subdivision Surfaces" SIGGRAPH 2009 Course Notes, Aug. 5, 2009 NVIDIA White Paper, "Sparking Effect" Feb. 2007 *

Also Published As

Publication number Publication date
GB2478626B (en) 2013-03-06
GB201102994D0 (en) 2011-04-06
CN102201108A (zh) 2011-09-28
RU2011108595A (ru) 2012-09-10
TW201142741A (en) 2011-12-01
DE102011011947A1 (de) 2012-03-01
US20110216068A1 (en) 2011-09-08
GB2478626A (en) 2011-09-14
RU2487410C2 (ru) 2013-07-10

Similar Documents

Publication Publication Date Title
TWI479451B (zh) 邊緣處理技術
US20200372602A1 (en) Scheme for compressing vertex shader output parameters
US20220164919A1 (en) Tile based computer graphics
US8482560B2 (en) Image forming techniques
US10388033B2 (en) Texture processing apparatus and method
US10593096B2 (en) Graphics processing employing cube map texturing
JP5616333B2 (ja) ジオメトリシェーダを用いる平面充填エンジンのためのシステム、方法及びコンピュータプログラム
US9076260B2 (en) Stitching for primitives in graphics processing
EP3420537B1 (en) Single pass bounding volume hierarchy rasterization
CN105654418B (zh) 图形处理单元和包括其的装置
CN111279384B (zh) 图形流水线中的索引的压缩和解压缩
GB2509113A (en) Tessellating Patches Of Surface Data In Tile Based Computer Graphics Rendering
US8072464B2 (en) 3-dimensional graphics processing method, medium and apparatus performing perspective correction
WO2008091198A1 (en) Method, display adapter and computer program product for improved graphics performance by using a replaceable culling program
US9898838B2 (en) Graphics processing apparatus and method for determining level of detail (LOD) for texturing in graphics pipeline
GB2531427A (en) Graphics processing systems
US20160071317A1 (en) Graphics processing unit (gpu) including subdivider and device including the gpu
US10176600B2 (en) Texture processing method and unit
US10580209B2 (en) Removal of degenerated sub-primitives in tessellation
US7595806B1 (en) Method and system for implementing level of detail filtering in a cube mapping application
Kazakov Catmull-Clark subdivision for geometry shaders
US11677927B2 (en) Stereoscopic graphics processing
WO2022089504A1 (zh) 一种数据处理方法及相关装置
US10089783B2 (en) Graphics processing
US10354431B2 (en) Level of detail offset determination

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees