TW201407534A - 鑲嵌後邊緣快取 - Google Patents
鑲嵌後邊緣快取 Download PDFInfo
- Publication number
- TW201407534A TW201407534A TW102111411A TW102111411A TW201407534A TW 201407534 A TW201407534 A TW 201407534A TW 102111411 A TW102111411 A TW 102111411A TW 102111411 A TW102111411 A TW 102111411A TW 201407534 A TW201407534 A TW 201407534A
- Authority
- TW
- Taiwan
- Prior art keywords
- plaque
- field
- colored
- edge
- processor
- 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
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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/20—Finite element generation, e.g. wire-frame surface description, tesselation
Abstract
依據一些實施例,領域著色器和/或鑲嵌器操作係可在其屬冗餘時消除。藉由使用頂角快取,一項檢查可判定出一個給定頂角,令其為一個頂點或一個四邊形頂角,是否已在領域著色器和/或鑲嵌器中做過評估,並且若是如此,則可再利用先前操作的結果而不進行可能會增加電力消耗或降低速度的不必要引動。
Description
本申請案是一個非臨時申請案,聲求對在2013年五月30日提申的臨時申請案序號61/617740號之優先權,茲此藉由參照的方式明確併入本文中。
本發明大體上係有關圖形處理。
在圖形處理中,會實施管線,在此管線當中有一連串的步驟在所謂的頂點(vertex)或頂角(corner)進行。可係使用基元來表示正被作圖形式呈現的一個表面。
鑲嵌是將要被作圖形式描繪的一個表面再分成更小的形狀的處理程序。鑲嵌將一個物件的表面瓦解成可管理的三角形。
領域著色器計算經再分輸出斑塊的各個頂點之性質。領域著色器接收由外殼著色器輸出的控制點及由鑲嵌器階段輸出的領域地點,並輸出一個頂點位置。
外殼著色器每斑塊被引動一次,並將輸入控制點轉換成構成斑塊的輸出控制點。其進行一些每班塊計算,以為鑲嵌階段和領域著色器提供資料。
領域著色器一詞大體上係與DirectX管線相關聯。基本上相同的功能也在用於圖形處理的其他應用程式介面當中進行,包括開放圖形程式館(OpenGL),其常以鑲嵌評估著色器來指涉DirectX領域著色器。在OpenGL中,外殼著色器常被稱為是鑲嵌控制著色器。
依據本發明之一實施例,係特地提出一種方法,其包含下列步驟:針對數個基元邊緣產生數個識別符;對該等識別符指定一個鑲嵌因素以創造一個標籤;與該等標籤一起儲存一個位元以指出邊緣定向;對一第一基元的一第一頂角作領域著色;以及只在一第二基元的一個頂角並非該第一頂角時對該第二基元之該頂角作領域著色。
依據本發明之另一實施例,係特地提出一種儲存有指令的非過渡性電腦可讀媒體,該等指令可使得一個處理器能夠進行一種方法,該方法包含下列步驟:針對數個基元邊緣產生數個識別符;對該等識別符指定一個鑲嵌因素以創造一個標籤;與該等標籤一起儲存一個位元以指出邊緣定向;對一第一基元的一第一頂角作領域著色;只在一第二基元的一個頂角並非該第一頂角時對該第二基元之該頂角作領域著色。
依據本發明之又一實施例,係特地提出一種設備,其包含:一個處理器,用以:針對數個基元邊緣產生數個識別符,對該等識別符指定一個鑲嵌因素以創造一個標籤,與該等標籤一起儲存一個位元以指出邊緣定向,對
一第一基元的一第一頂角作領域著色,及只在一第二基元的一個頂角並非該第一頂角時對該第二基元之該頂角作領域著色,以及耦接到此處理器的一個記憶體。
10‧‧‧管線
12‧‧‧輸入組譯器
14‧‧‧頂點著色器
16‧‧‧外殼著色器
18‧‧‧鑲嵌器
20‧‧‧邊緣快取查詢/頂角快取查詢
22‧‧‧快取;方塊
24‧‧‧菱形
26‧‧‧領域著色器
28‧‧‧基元組譯器
12、14~20、22、34~35、42~45、47、71~74‧‧‧頂角
A、B、C‧‧‧斑塊
N‧‧‧頂角
30~34‧‧‧方塊
700‧‧‧系統
702‧‧‧平臺
705‧‧‧晶片組
710‧‧‧處理器
712‧‧‧記憶體
714‧‧‧儲存體
715‧‧‧圖形子系統
716‧‧‧應用
718‧‧‧無線電
720、804‧‧‧顯示器
721‧‧‧GPS
722‧‧‧使用者介面
723‧‧‧攝影機
730‧‧‧內容服務裝置
740‧‧‧內容遞送裝置
750‧‧‧控制器
760‧‧‧網路
770‧‧‧作業系統
772‧‧‧對處理器的介面
780‧‧‧電池
790‧‧‧韌體
792‧‧‧韌體更新模組
800‧‧‧裝置
802‧‧‧外殼
806‧‧‧輸入/輸出(I/O)裝置
808‧‧‧天線
812‧‧‧導覽特徵
係針對下列圖式說明一些實施例:圖1是依據一個實施例的對一個圖形管線的一個示意描繪;圖2依據一個實施例,在左邊示出一個外殼著色器輸入控制籠箱,並在右邊示出一個外殼著色器輸出控制籠箱;圖3在左邊示出與圖2中所示出的輸入控制籠箱相同的輸入控制籠箱,但所示出的輸出控制籠箱是不同的;圖4是對於三個斑塊的描繪;圖5是一個實施例的流程圖;圖6是依據一個實施例的對於一個以處理器為基礎之系統的示意描繪;並且圖7是依據一個實施例的一個手持式裝置的前側正視圖。
依據一些實施例,係可消除領域著色器和/或鑲嵌器冗餘操作。藉由利用頂角快取,一項檢查可判定出一個給定頂角(無論其為三角形或四邊形頂角)是否已在此領域著色器和/或鑲嵌器中做過評估。若是如此,則可再利用先前操作的結果而不進行可能會增加電力消耗且/或降
低速度的不必要操作。
在後面的論述中,一般係使用DiretX應用程式介面(application program interface,API)術語。在所有的事例中,係可在其他應用程式介面中找到對應結構,包括OpenGL。特別是,對於領域著色器的指涉可應用於OpenGL中的鑲嵌評估著色器,並且對於外殼著色器的指涉對OpenGL中的鑲嵌控制著色器也具有可應用性。因此,下面的論述係可應用於用於圖形處理的任何應用程式介面。
控制籠箱是技師用來產生平滑表面的一個低解析度模型。藉由提供較高程度的鑲嵌,可描繪的圖形細節的等級也更高。然而,處理速度可能會受到更高程度鑲嵌的不利影響。
一個斑塊是一個粗糙等級的基本單元,其描述針對一個表面的一個控制籠箱。此表面可係可被以參數函式描述的任何表面。
係可將示於圖1中的圖形管線10作為一個獨立的、專用的積體電路而實施於圖形處理器中,或透過軟體實施的一般用途處理器而作為軟體實施於圖形處理器中,或藉由軟體與硬體之組合實施於圖形處理器中。在一些實施例中,繪示於圖1中的具有直角邊緣的元件可係實施於硬體中,並且繪示於圖1中的具有圓角邊緣的元件可係實施於軟體中。
此圖形管線可係實施於,例如,無線電話、整合了有線或無線通訊裝置的行動手持式運算裝置、或任何電
腦中。此圖形管線可提供影像或視訊到顯示裝置以供顯示。係可使用各種技術來處理被提供給顯示器的影像。
輸入組譯器12利用固定功能操作而從記憶體中讀取出頂點,形成幾何,並創造管線工作項目。自動產生的識別符使得能夠做特定於識別符的處理。向前可從頂點著色器14得到頂點識別符和實行識別符。向前可從外殼著色器16得到基元識別符。可在外殼著色器16中得到控制點識別符。
頂點著色器進行像是轉換、剝皮、或打亮等等的操作。其可輸入一個頂點並輸出一個頂點。此控制點階段根據輸出控制點而被引動,並且各係由一個控制點識別符來識別。
外殼著色器16控制點階段於每次引動輸出一個控制點。聚集後的輸出是對下一個外殼著色器階段和對領域著色器26的一個共享輸入。斑塊常數階段可就所有輸入的共享讀取輸入而被每斑塊引動一次,並輸出控制點。外殼著色器16輸出邊緣鑲嵌因數及其他斑塊常數資料。當於本文中使用時,邊緣鑲嵌因數和具有每基元領域邊緣之間隔數的細節邊緣等級係可互換使用。程式碼受到分段以使得可在末端以一個結合步驟來使獨立作業可以並行結束的方式完成。
鑲嵌器18可係實施於硬體中或軟體中。在一些有益的實施例中,此鑲嵌器可係一個軟體實施鑲嵌器。鑲嵌器18產生領域點或(u,v,w)值。鑲嵌器18可從外殼著色器接
收界定出要作多少鑲嵌的數目。鑲嵌器18產生拓樸,例如點、線或三角形。鑲嵌器18可輸出領域地點。
領域著色器24是一個可規劃階期,其使用由鑲嵌器18所供應的領域點的(u,v,w)值來在斑塊上產生真實的三維頂點。領域著色器26評估頂點位置和屬性,並選擇性地藉由查找置換地圖來置換這些點。領域著色器26可利用來自鑲嵌器18的(u,v,w)值來評估一個頂點的準平均或其他屬性。可利用置換地圖來加入斑塊的高頻細節。在一些實施例中,領域著色器26可係由軟體實施。
領域著色器26可利用一個純量置換地圖來置換一個點,或計算其他頂點屬性。在一些事例中,頂點評估可涉及針對位置之對於一個雙立方多項式(或一般是更高次的多項式)的判定、利用輔助切線和雙切線控制籠箱並得出其外積來計算偏導數或評估切線和雙切線、配合一些過濾(例如線性過濾)來進行具紋理查找、在純量值置換的事例中沿著一條法線而置換一個點、以及在向量值置換的事例中沿著有可能被從其他紋理舒易讀取的方向置換一個點。
基元組譯器28組譯所導致的基元並提供經組譯的基元給此管線之較後面的階期,其進而提供固定功能目標呈現、融接、深度和模板操作。
在一些實施例中,外殼著色器16輸出被連續封裝的三或四個額外的32位元識別符以形成一個陣列。三個輸出可係用於三角形的事例中,而在四邊形的事例中可能會
需要四個輸出。此陣列獨特地識別出一個輸出斑塊的輸出頂角。在發動針對這些頂角的領域著色引動之前,此管線利用對應的頂角識別符而詢問一個頂角快取22。若此管線並沒有找到對應於那個頂角的任何分錄,那個頂角的領域著色器便會受到評估。在此領域著色器之評估完成之後,此系統針對那個頂角而對領域著色器之輸出作快取,並使用對應的頂角識別符來標記它。
相反地,若系統找到針對一個特定頂角識別符的一個分錄,則其會使用被快取的值,而不針對那個頂角對領域著色器引動作評估。因此,針對各個三角形或四邊形斑塊,係可對應於三或四個頂角而創造上至三個或四個分錄。
頂角快取可在對製圖呼叫的實行之間被沖刷。在進取性的實作中,係可在要沖刷快取時將控制權給予使用者,並且因此,使用者可橫跨製圖呼叫而對這些值作快取。此情景可有助於單一個網目具有複數個類型的斑塊,例如規則性和異常性斑塊,並且有對應於各個類型的斑塊的一個製圖呼叫以作最大單指令多資料(single instruction multiple data,SIMD)使用時的情況。
在一些實施例中,係可在方塊22中分開提供一個邊緣快取和一個頂角快取。此邊緣快取可做與頂角快取相同的事情,也就是針對先前已被評估之邊緣避免對領域著色器和/或鑲嵌器的不必要引動。
然而,使頂角快取和邊緣快取分開可能會是有益
的,因為頂角和邊緣的沖刷週期是不一樣的。例如,一個邊緣只可被使用兩次,因為只有兩個相鄰斑塊會擁有一個共用邊緣。然而,在三角形斑塊的事例中,一個頂角典型上可能會被使用多達六次,因此,對於頂角和邊緣的沖刷之數量可能會有顯著的不同,並且在一些實施例中,沖刷操作可能會需要分開的程式規劃。
管線10可能會一次針對一個斑塊而循環一次。針對各個斑塊,係評估三或四個頂角或頂點,並且可能會評估高達四個邊緣。因此,在這一個實施例中,係從邊緣快取查詢/頂角快取查詢20對邊緣快取/頂角快取22作八個並行的詢問。可針對一個輸出控制籠箱的四個頂角中之各者而查詢頂角快取,並且同時,可對邊緣快取針對此輸出控制籠箱的四個邊緣作查詢。
若在邊緣快取/頂角快取22中找到一個給定邊緣或頂角,則於菱形24會檢測到一個快取命中。在這個事例中,可避免領域著色器引動,節省循環,並且在一些實施例中可改善速度和/或電力消耗。若沒有快取命中,則進行領域著色器引動,並且如由箭頭B所指出的,遺失的邊緣或頂角分錄如於此事例中所可能會有的被加入到頂角或邊緣快取中。
可係在快取22中內部地完成對邊緣快取/頂角快取的沖刷。每次有一個邊緣被發現已被再利用時,其便可能會被沖刷。沖刷此分錄的一種途徑是簡單地將其標示為可再次被使用來保持其他資料。然而,在頂角快取的事例
中,在每次使用此頂角時,它並不會被沖刷。相反地,其只能在已被再利用可能次數之後才被沖刷。因此,在矩形斑塊和矩形旁鄰的情況下,各個頂角可在被再利用三次之後被沖刷。在三角形斑塊和三角形旁鄰的情況下,可在再利用五次之後發生沖刷。可藉由模擬現實工作負載而憑經驗調整所容許再利用的數量,而非將其設定為某個固定數目。
一個輸入斑塊和它的一圈旁鄰的一個範例係示於圖2中。此斑塊係由頂角14、16、47和18界定。它的一圈旁鄰是由環繞一個給定斑塊的所有斑塊所組成。因此,頂角14可在接踵的斑塊14、18、72、71中、在斑塊14、18、72、71中、在斑塊14、15、12、74中、及在斑塊14、15、17和16中被再利用。示於圖2左邊的這個輸入控制斑塊接著被外殼著色器轉變成示於右邊的輸出控制斑塊。
在圖2的事例中,並沒有產生任何新的頂點或頂角。然而,在示出相同輸入斑塊的圖3中,卻係形成一個不同的輸出斑塊,其由具有被標示為N的新頂角的四個三角形組成。
可利用不會重複現有頂角編號的適當編號方案來給予這個新的頂角一個獨特識別符。對於組成擁有共用頂角N的這個輸出斑塊的這四個三角形的這四個連續生成各者必須是使用相同的號碼。因此,由四元組14、16、47和18所組成的最左邊的斑塊被呈交四次。每次它被呈交,這四個三角形中之一者便被生成,但對於各個三角形的中
央頂角所使用的是相同的識別符。
上面相關於領域著色器所描述的這些操作可亦係針對鑲嵌器18所為。易言之,可簡單地在鑲嵌器18階期之前由一個查詢20查詢快取22,以使得鑲嵌器18階期可被旁繞,以在適當核心中節省循環。
讓我們來考慮示於圖4中的一個簡單範例,其中係以A、B和C的順序,利用D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_P ATCHLIST呈交3個斑塊A、B、C以作呈現。圖中示出對於這些斑塊之「頂角」的頂點索引(SV_VERTEXID)和捲繞順序。在處理斑塊A時,使用者的外殼著色器(hull shader,HS)控制點階段(Control Point Phase)產生SV_CornerID[]={14,16,15}。在鑲嵌器產生領域地點後,此系統針對對應於這三個頂角的三個邊緣,也就是邊緣(14,16)、(16,15)和(15,14)產生識別符。讓我們假設對邊緣係分別指定鑲嵌因數10.0f、5.0f和7.0f。
此系統接著藉由將這些識別符「正準化」成下面的形式來創造對應於這三個邊緣的快取標籤。
typedef Tag struct{ UINT smallerIndex;//兩個頂角中的較小值UINT largerIndex;//兩個頂角中的較大值FLOAT tessFactor;//邊緣的SV_TessFactor值(經調校)};因此,對於斑塊A的三個邊緣的標籤是,(14,16,
10.0f)、(15,16,5.0f)和(14,15,7.0f)。
舉一個特殊的情況,若一個邊緣的較小和較大頂角識別符(identifier,Id)是相等的,則此系統產生一個邊緣快取未中。尤其是,SV_CornerID[](例如,若使用者並沒有宣告這個HS輸出)的預設值會是0xffffffff,以使得此邊緣快取不會衝擊現有的應用。此外,若有任何頂角id是無效的,則此系統可針對那個基元的所有的頂角和邊緣而評估領域著色器,無論是快取命中/未中。
我們也和標籤一起儲存指出此邊緣之定向的一個位元。若一個邊緣,如由SV_CornerID[]所界定的,是從較小的索引往較大的索引走,則此系統在定向欄位中儲存0,否則,此系統便儲存1。在我們的這個範例中,針對斑塊A之這三個邊緣的三個標籤是(14,16,10.0f)、(15,16,5.0f)和(14,15,7.0f),而其定向分別是0、1和1。
在此系統針對斑塊A的三個邊緣中之各者而得到快取未中時,其繼續針對斑塊A之所有點的對領域著色器(domain shader,DS)的評估。在對應的領域著色器(DS)實行完成之後,此系統以沿著他們的所有頂點之位置和屬性而針對這三個邊緣植入分錄。由於最大的邊緣鑲嵌因數(Edge Tessellation Factor)可為64,所以沿著這些邊緣最多可以有65個頂點生成。在簡樸實作中,邊緣快取中的各個分錄儲存上至值63*最大頂點步幅的頂點資料量。有好幾種方式可用來配置儲存體,例如,若使用者並未使用所有的可用頂點屬性,則我們應該能夠儲存更多的快取分錄。
可亦僅儲存在某個臨界值下的鑲嵌因數。也請注意,若沿著此邊緣並沒有任何點(鑲嵌因數為1),則此系統一併跳過邊緣快取查詢/更新機制,因為沒有要節省任何工作。在斑塊A已被鑲嵌且完成領域著色器評估後的一個邊緣快取標籤表如下:
可將用於邊緣快取(Edge Cache)查詢和插入的偽碼概括如下://N=3(三角形斑塊)或4(四邊形斑塊)for each corner in SV_CornerID[]{ a=SV_CornerID[corner];b=SV_CornerID[(1+corner)% N];minc=min(a,b);maxc=max(a,b);//tessFactor是一個鑲嵌因數//在minc和maxc標籤之間的邊緣的=tuple3(minc,maxc,tessFactor)//進行邊緣快取查找if(EdgeCache[tag]==CACHE_MISS){ //評估DS並儲存其
//輸出頂點於EdgeCache[tag]中}else{ //跳過DS評估並從EdgeCache[tag]//讀取快取值//完成邊緣定向o=minc!=SV_CornerID[corner];if(EdgeCache[tag].orientation==o){ //使用被快取的值}else{ //以相反順序使用被快取的值} }
在處理斑塊B時,外殼著色器控制點階段將會產生SV_CornerID[]={14,18,16}。正準標籤(14,18,tessFactor1)、(16,18,tessFactor2)和(14,16,10.f)及其各別的定向0、1和1被產生。接著,tessFactor1和tessFactor2分別為被指定給邊緣(14,18)和(16,18)的鑲嵌因數。在針對沿著斑塊B之邊緣的頂點發動DS實行之前,此系統針對標籤(14,16,10.0f)得到快取命中。在快取命中的事例中,此系統只讀取值ceil(TessFactor-1)個頂點的資料量。但由於針對斑塊B之邊緣的定向位元和邊緣快取分錄的定向位元並不相同,所以系統係以相反順序來讀取這些值。
若使用者對相同邊緣設定不同的鑲嵌因數,則系統將會評估沿著那個邊緣的頂點複數次,而導致裂縫。然
而,若使用者係對同一個邊緣設定相同的鑲嵌因數,但已寫入HS和DS而使得他們可能會產生裂縫,則系統將會再利用來自快取的頂點,且裂縫將會在快取命中的事例中消失。
對於一個邊緣快取的一個實作可係使得其將所有的邊緣點儲存為個別的點,並一次植入和查詢一個給定邊緣的所有點。這將會使得儲存體空間保持為完全佔滿,無視鑲嵌因數中的巨大變異。然而,被用來查找全相聯快取的標籤可係稍微寬一點(6個位元),因為沿著一個邊緣只可有上至64個點,並且6個位元便足以編碼沿著一個邊緣的本地頂點id。
另一個實作可選擇將把柄儲存至經著色的領域著色器輸出,而非儲存實際的頂點本身。這將會顯著減少邊緣快取的尺寸,並且儲存每邊緣快取分錄最差情況只會需要63個這樣的把柄。在一個實施例中,把柄可係僅各4位元組。
請參看圖5,係可在軟體、韌體和/或硬體中實施一個序列。在軟體和韌體實施例中,其可係藉由儲存有電腦執行指令的一或多個電腦可讀媒體來實施。這些指令可係儲存於一個非過渡性電腦可讀媒體中,例如磁性、光學、或半導體儲存體。
示於圖5中的這個序列始於針對基元邊緣產生識別符,如於方塊30中所指出的。在一個實施例中,這可係藉由簡便地針對此邊緣之各個頂角而傾聽識別符來完成。在一些實施例中,這些識別符可係總是有照順序的,首先
是較小的值,接著是較大的值。接著,對各個邊緣識別符指定鑲嵌因數以創造標籤,如於方塊32中所指出的。最後,有一個位元關聯於這個標籤而被儲存,以指出此邊緣之定向,如於方塊34中所指出的。
圖6例示出一個系統700的一個實施例。在一些實施例中,系統700可係一個媒體系統,但系統700並不受限於此脈絡。例如,系統700可被整合到個人電腦(personal computer,PC)、膝上型電腦、超膝上型電腦、輸入板、觸控板、可攜式電腦、手持式電腦、掌上型電腦、個人數位助理(personal digital assistant,PDA)、行動電話、組合式行動電話/PDA、電視、智慧型裝置(例如,智慧型電話、智慧型輸入板或智慧型電視)、行動網際網路裝置(mobile internet device,MID)、傳訊裝置、資料通訊裝置、及其他諸如此類者中。
在數個實施例中,系統700包含一個平臺702,其耦接至一個顯示器720。平臺702可自內容裝置接收內容,例如內容服務裝置730或內容遞送裝置740或其他類似內容來源。可使用包含一或多個瀏覽特徵的一個瀏覽控制器750來與,例如,平臺702和/或顯示器720互動。這些部件各將於下文中有更詳細說明。
在一些實施例中,平臺702可包含晶片組705、處理器710、記憶體712、儲存體714、圖形子系統715、應用716和/或無線電718的任何組合。晶片組705可提供在處理器710、記憶體712、儲存體714、圖形子系統715、應用716
和/或無線電718之間的交互通訊。例如,晶片組705可包括能夠提供與儲存體714之交互通訊的一個儲存體配接器(未繪示於圖中)。
係可將處理器710實施為複雜指令集電腦(Complex Instruction Set Computer,CISC)或精簡指令集電腦(Reduced Instruction Set Computer,RISC)處理器、x86指令集相容處理器、多核心、或任何其他微處理器或中央處理單元(central processing unit,CPU)。在數個實施例中,處理器710可包含雙核心處理器、雙核心行動處理器、及其他諸如此類者。
係可將記憶體712實施為依電性記憶體裝置,例如但不受限於隨機存取記憶體(Random Access Memory,RAM)、動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、或靜態RAM(Static RAM,SRAM)。
係可將儲存體714實施為非依電性儲存體裝置,例如但不受限於磁碟驅動器、光碟驅動器、卡帶驅動器、內部儲存體裝置、附接式儲存體裝置、快閃記憶體、受電池支援的同步DRAM(synchronous DRAM,SDRAM)、和/或可藉網路取用的儲存體裝置。在數個實施例中,儲存體714可包含用於在,例如,含有複數個硬碟時針對貴重數位媒體增加儲存體效能增強保護的技術。
圖形子系統715可進行對影像之處理,例如靜照或視訊,以供顯示。圖形子系統715可例如為一個圖形處理單元(graphics processing unit,GPU)或視覺處理單元
(visual processing unit,VPU)。可係使用類比或數位介面來通訊式地耦接圖形子系統715和顯示器720。例如,此介面可係高解析度多媒體介面(High-Definition Multimedia Interface)、顯示埠(DisplayPort)、無線HDMI、和/或無線HD適用技術中之任何一者。圖形子系統715可被整合到處理器710或晶片組705中。圖形子系統715可係耦接至晶片組705的一張獨立的卡。
係可在各種硬體架構中實施於本文中所說明的這些圖形和/或視訊處理技術。例如,係可將圖形和/或視訊功能整合在一個晶片組內。或者是,可係使用分立的圖形和/或視訊處理器。再舉另一個實施例,係可藉由一般用途處理器,包括多核心處理器,來實施這些圖形和/或視訊功能。在一個更進一步的實施例中,係可將這些功能實施在一個消費者電子裝置中。
無線電718可包括能夠利用各種適當的無線通訊技術來發送和接收信號的一或多個無線電。此種技術可涉及跨越一或多個無線網路的通訊。示範性無線網路包括(但不受限於)無線區域網路(wireless local area network,WLAN)、無線個人區域網路(wireless personal area network,WPAN)、無線都會區域網路(wireless metropolitan area network,WMAN)、胞狀網路、以及衛星網路。在橫跨此等網路的通訊上,無線電718可係依據任何版本的一或多個可應用標準而操作。
在一些實施例中,顯示器720可包含任何電視類
型監看器或顯示器。顯示器720可包含,例如,一個電腦顯示螢幕、觸控式螢幕顯示器、視訊監看器、電視型態裝置、和/或電視。顯示器720可係數位的和/或類比的。在一些實施例中,顯示器720可係一個全像顯示器。同時,顯示器720也可係可接收視覺投影的一個透明表面。此等投影可帶有各種形式的資訊、影像和/或物件。例如,此等投影可係針對一個行動擴增實境(mobile augmented reality,MAR)應用的一個視覺覆蓋。在一或多個軟體應用716的控制之下,平臺702可在顯示器720上顯示使用者介面722。
在數個實施例中,內容服務裝置730可係由任何國家性、國際性、和/或獨立的服務所主持,其因此可由平臺702,例如,經由網際網路取用。內容服務裝置730可係耦接至平臺702且/或至顯示器720。平臺702和/或內容服務裝置730可係耦接至一個網路760以對網路760傳達(例如,傳送和/或接收)媒體資訊和自網路760傳達媒體資訊。內容遞送裝置740亦可耦接至平臺702且/或至顯示器720。
在數個實施例中,內容服務裝置730可包含纜線電視盒、個人電腦、網路、電話、可用網際網路裝置或能夠遞送數位資訊和/或內容的設施、及能夠經由網路760或直接地在內容提供者和平臺702和/顯示器720之間單向或雙向地傳達內容的任何其他類似裝置。可明顯看出,係可經由網路760單向或雙向地傳達內容至系統700中的這些部件中之任何一者和內容提供者,且可經由網路760單向或雙向地自系統700中的這些部件中之任何一者和內容提供者
傳達內容。內容的範例可包括任何媒體資訊,包括,例如,視訊、音樂、醫學和遊戲資訊、及其他諸如此類者。
內容服務裝置730接收內容,例如有線電視節目規劃,包括媒體資訊、數位資訊和/或其他內容。內容提供者的範例可包括任何有線或衛星電視、或是無線電或網際網路內容提供者。所提供的這些範例並沒有要限制本發明之實施例的意思。
在數個實施例中,平臺702可從具有一或多個瀏覽特徵的瀏覽控制器750接收控制信號。可,例如,利用控制器750的這些瀏覽特徵來與使用者介面722互動。在數個實施例中,瀏覽控制器750可係一個指點裝置,其可係容許使用者將空間性(例如,連續的和多維的)資料輸入到電腦中的一個電腦硬體部件(尤其是人類介面裝置)。許多系統,例如圖形使用者介面(graphical user interface,GUI)、及電視和監看器容許使用者利用實體姿態來控制和提供資料給電腦或電視。
控制器750的這些瀏覽特徵之移動可藉由顯示在顯示器(例如,顯示器720)上的指標、游標、聚焦環、或其他視覺指示符之移動而在此顯示器上產生迴響。例如,在軟體應用716的控制之下,位於瀏覽控制器750上的這些瀏覽特徵可,例如,被對映到顯示於使用者介面722上的視覺瀏覽特徵上。在數個實施例中,控制器750可並非為分開的部件,而是被整合到平臺702和/或顯示器720中。然而,本發明之實施例並不受限於這些元件或於本文中所示出或
說明的此脈絡中。
在數個實施例中,驅動器(未示於圖中)可包含用來在被致能時,例如,讓使用者能夠在初始啟動之後藉由觸控一個按鈕而立即開啟和關閉平臺702,像是電視等,的技術。程式邏輯可容許平臺702在此平臺被「關閉」時將內容串流到媒體適配器或其他內容服務裝置730或內容遞送裝置740。此外,晶片組705可包含,例如,對於5.1環場音效音訊和/或高解析度7.1環場音效音訊的硬體和/或軟體支援。驅動器可包括用於圖形平臺的圖形驅動器。在數個實施例中,此圖形驅動器可包含一個週邊組件互連(peripheral component interconnect,PCI)快捷(Express)圖形卡。
在許多實施例中,係可將示於系統700中之部件中的任何一或多者整合。例如,可使平臺702與內容服務裝置730整合,或可使平臺702與內容遞送裝置740整合,或是,例如,使平臺702、內容服務裝置730與內容遞送裝置740整合。在許多實施例中,平臺702和顯示器720可係一個經整合單元。例如,可使顯示器720與一或數個內容服務裝置730整合,或使顯示器720與一或數個內容遞送裝置740整合。並不欲使這些範例限制本發明。
在許多實施例中,係可將系統700實施為一個無線系統、有線系統、或此二者之組合。當被實施為無線系統時,系統700可包括適於經由無線共享媒體而通訊的部件和介面,例如一或多個天線、發送器、接收器、收發器、
放大器、過濾器、控制邏輯、及其他諸如此類者。無線共享媒體的範例可包括無線頻譜,例如RF頻譜,及其他諸如此類者。當被實施為有線系統時,系統700可包括適於經由有線通訊媒體而通訊的部件和介面,例如輸入/輸出(input/output,I/O)適配器、用於使I/O適配器與對應有線通訊媒體連接的實體連接器、網路介面卡(network interface card,NIC)、磁碟控制器、視訊控制器、音訊控制器、及其他諸如此類者。有線通訊媒體的範例可包括電線、纜線、金屬導線、印刷電路板(printed circuit board,PCB)、底板、開關纖維組織、半導體材料、雙絞線、同軸電纜、光纖、及其他諸如此類者。
平臺702可建立一或多個邏輯或實體通道來傳遞資訊。此訊息可包括媒體資訊和控制資訊。媒體資訊可係指代表針對一個使用者的內容的任何資料。內容之範例可包括,例如,來自語音對話的資料、視訊會議、串流視訊、電子郵件(email)訊息、語音郵件訊息、文數符號、圖形、影像、視訊、文字、及其他諸如此類者的資料。來自語音對話的資料可係,例如,言語資訊、沉默時期、背景雜訊、舒適雜訊、音調、及其他諸如此類者。控制資訊可係指代表用於一個自動系統的命令、指令或控制字組的任何資料。例如,可使用控制資訊來為媒體資訊作路線規劃通過一個系統,或指導一個節點來以預定方式處理媒體資訊。然而,這些實施例並不受限於示於或描繪於圖6中的這些元件或是示於或描繪於圖6中的脈絡。
如於上文中所述的,可係以各式各樣的實體形式或形狀因數來體現系統700。圖7例示出一個小型狀因數裝置800的實施例,系統700可體現於其中。在數個實施例中,例如,係可將裝置800實施為具有無線能力的一個行動運算裝置。行動運算裝置可例如係指具有處理系統和行動電源或電源供應器,例如一或多個電池,的任何裝置。
如於上文中所述,行動運算裝置的範例可包括個人電腦(PC)、膝上型電腦、超膝上型電腦、輸入板、觸控板、可攜式電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、手機、組合式手機/PDA、電視、智慧型裝置(例如,智慧型電話、智慧型輸入板或智慧型電視)、行動網際網路裝置(mobile internet device,MID)、傳訊裝置、資料傳遞裝置、及其他諸如此類者。
行動運算裝置的範例亦可包括被安排來由人體穿戴的電腦,例如手腕電腦、手指電腦、戒指電腦、眼鏡電腦、帶扣式電腦、臂帶電腦、鞋子電腦、衣著電腦、及其他可穿戴電腦。在數個實施例中,例如,係可將一個行動運算裝置實施為能夠執行電腦應用以及語音通訊和/或資料通訊的一個智慧型電話。雖然一些實施例可能係以示範方式配合被實施為智慧型電話的一個行動運算裝置來說明,但可識出,亦可係利用其他無線行動運算裝置來實施其他實施例。這些實施例並不受限於此脈絡。
在一些實施例中,處理器710可與一個攝影機722及一個全球定位系統感測器720通訊。耦接到處理器710的
一個記憶體712可儲存用於在軟體和/或韌體實施例中實施示於圖1和5中之序列的電腦可讀指令。
係可在各種硬體架構中實施於本文中所說明的這些圖形和/或視訊處理技術。例如,係可將圖形和/或視訊功能整合在一個晶片組內。或者是,可係使用分立的圖形和/或視訊處理器。再舉另一個實施例,係可藉由一般用途處理器,包括多核心處理器,來實施這些圖形和/或視訊功能。在一個更進一步的實施例中,係可將這些功能實施在一個消費者電子裝置中。
無線電718可包括能夠利用各種適當的無線通訊技術來發送和接收信號的一或多個無線電。此種技術可涉及跨越一或多個無線網路的通訊。示範性無線網路包括(但不受限於)無線區域網路(WLAN)、無線個人區域網路(WPAN)、無線都會區域網路(WMAN)、胞狀網路、以及衛星網路。在橫跨此等網路的通訊上,無線電718可係依據任何版本的一或多個可應用標準而操作。
在一些實施例中,顯示器720可包含任何電視類型監看器或顯示器。顯示器720可包含,例如,一個電腦顯示螢幕、觸控式螢幕顯示器、視訊監看器、電視型態裝置、和/或電視。顯示器720可係數位的和/或類比的。在一些實施例中,顯示器720可係一個全像顯示器。同時,顯示器720也可係可接收視覺投影的一個透明表面。此等投影可帶有各種形式的資訊、影像和/或物件。例如,此等投影可係針對一個行動擴增實境(MAR)應用的一個視覺覆蓋。在一
或多個軟體應用716的控制之下,平臺702可在顯示器720上顯示使用者介面722。
在數個實施例中,內容服務裝置730可係由任何國家性、國際性、和/或獨立的服務所主持,其因此可由平臺702,例如,經由網際網路取用。內容服務裝置730可係耦接至平臺702且/或至顯示器720。平臺702和/或內容服務裝置730可係耦接至一個網路760以對網路760傳達(例如,傳送和/或接收)媒體資訊和自網路760傳達媒體資訊。內容遞送裝置740亦可耦接至平臺702且/或至顯示器720。
在數個實施例中,內容服務裝置730可包含纜線電視盒、個人電腦、網路、電話、可用網際網路裝置或能夠遞送數位資訊和/或內容的設施、及能夠經由網路760或直接地在內容提供者和平臺702和/顯示器720之間單向或雙向地傳達內容的任何其他類似裝置。可明顯看出,係可經由網路760單向或雙向地傳達內容至系統700中的這些部件中之任何一者和內容提供者,且可經由網路760單向或雙向地自系統700中的這些部件中之任何一者和內容提供者傳達內容。內容的範例可包括任何媒體資訊,包括,例如,視訊、音樂、醫學和遊戲資訊、及其他諸如此類者。
內容服務裝置730接收內容,例如有線電視節目規劃,包括媒體資訊、數位資訊和/或其他內容。內容提供者的範例可包括任何有線或衛星電視、或是無線電或網際網路內容提供者。所提供的這些範例並沒有要限制本發明之實施例的意思。
在數個實施例中,平臺702可從具有一或多個瀏覽特徵的瀏覽控制器750接收控制信號。可,例如,利用控制器750的這些瀏覽特徵來與使用者介面722互動。在數個實施例中,瀏覽控制器750可係一個指點裝置,其可係容許使用者將空間性(例如,連續的和多維的)資料輸入到電腦中的一個電腦硬體部件(尤其是人類介面裝置)。許多系統,例如圖形使用者介面(GUI)、及電視和監看器容許使用者利用實體姿態來控制和提供資料給電腦或電視。
控制器750的這些瀏覽特徵之移動可藉由顯示在顯示器(例如,顯示器720)上的指標、游標、聚焦環、或其他視覺指示符之移動而在此顯示器上產生迴響。例如,在軟體應用716的控制之下,位於瀏覽控制器750上的這些瀏覽特徵可,例如,被對映到顯示於使用者介面722上的視覺瀏覽特徵上。在數個實施例中,控制器750可並非為分開的部件,而是被整合到平臺702和/或顯示器720中。然而,本發明之實施例並不受限於這些元件或於本文中所示出或說明的此脈絡中。
在數個實施例中,驅動器(未示於圖中)可包含用來在被致能時,例如,讓使用者能夠在初始啟動之後藉由觸控一個按鈕而立即開啟和關閉平臺702,像是電視等,的技術。程式邏輯可容許平臺702在此平臺被「關閉」時將內容串流到媒體適配器或其他內容服務裝置730或內容遞送裝置740。此外,晶片組705可包含,例如,對於5.1環場音效音訊和/或高解析度7.1環場音效音訊的硬體和/或軟體
支援。驅動器可包括用於圖形平臺的圖形驅動器。在數個實施例中,此圖形驅動器可包含一個週邊組件互連(PCI)快捷(Express)圖形卡。
在許多實施例中,係可將示於系統700中之部件中的任何一或多者整合。例如,可使平臺702與內容服務裝置730整合,或可使平臺702與內容遞送裝置740整合,或是,例如,使平臺702、內容服務裝置730與內容遞送裝置740整合。在許多實施例中,平臺702和顯示器720可係一個經整合單元。例如,可使顯示器720與一或數個內容服務裝置730整合,或使顯示器720與一或數個內容遞送裝置740整合。並不欲使這些範例限制本發明。
在許多實施例中,係可將系統700實施為一個無線系統、有線系統、或此二者之組合。當被實施為無線系統時,系統700可包括適於經由無線共享媒體而通訊的部件和介面,例如一或多個天線、發送器、接收器、收發器、放大器、過濾器、控制邏輯、及其他諸如此類者。無線共享媒體的範例可包括無線頻譜,例如RF頻譜,及其他諸如此類者。當被實施為有線系統時,系統700可包括適於經由有線通訊媒體而通訊的部件和介面,例如輸入/輸出(I/O)適配器、用於使I/O適配器與對應有線通訊媒體連接的實體連接器、網路介面卡(NIC)、磁碟控制器、視訊控制器、音訊控制器、及其他諸如此類者。有線通訊媒體的範例可包括電線、纜線、金屬導線、印刷電路板(PCB)、底板、開關纖維組織、半導體材料、雙絞線、同軸電纜、光纖、
及其他諸如此類者。
平臺702可建立一或多個邏輯或實體通道來傳遞資訊。此訊息可包括媒體資訊和控制資訊。媒體資訊可係指代表針對一個使用者的內容的任何資料。內容之範例可包括,例如,來自語音對話的資料、視訊會議、串流視訊、電子郵件(email)訊息、語音郵件訊息、文數符號、圖形、影像、視訊、文字、及其他諸如此類者的資料。來自語音對話的資料可係,例如,言語資訊、沉默時期、背景雜訊、舒適雜訊、音調、及其他諸如此類者。控制資訊可係指代表用於一個自動系統的命令、指令或控制字組的任何資料。例如,可使用控制資訊來為媒體資訊作路線規劃通過一個系統,或指導一個節點來以預定方式處理媒體資訊。然而,這些實施例並不受限於示於或描繪於圖6中的這些元件或是示於或描繪於圖6中的脈絡。
如於圖7中所示,裝置800可包含一個外殼802、一個顯示器804、一個輸入/輸出(I/O)裝置806、和一個天線808。裝置800亦可包含導覽特徵812。顯示器804可包含適當的顯示單元,用以顯示適於行動運算裝置的資訊。I/O裝置806可包含任何適當的I/O裝置,用以將資訊輸入到行動運算裝置中。I/O裝置806的範例可包括文數鍵盤、數字鍵盤、觸控板、輸入鍵、按鈕、開關、搖籃開關、麥克風、喇叭、語音辨識裝置和軟體、及其他諸如此類者。亦可藉由麥克風來將資訊輸入到裝置800中。此等資訊可由一個語音辨識裝置數位化。此等實施例並不受限於此脈絡。
許多實施例可係利用硬體元件、軟體元件、或此二者之組合來實施。硬體元件的範例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器、及其他諸如此類者)、積體電路、特定應用積體電路(application specific integrated circuit,ASIC)、可規劃邏輯裝置(programmable logic device,PLD)、數位信號處理器(digital signal processor,DSP)、可現場規劃閘陣列(field programmable gate array,FPGA)、邏輯閘、電阻器、半導體裝置、晶片、微晶片、晶片組、及其他諸如此類者。軟體的範例可包括軟體部件、程式、應用、電腦程式、應用程式、系統程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、子常式、函式、方法、程序、軟體介面、應用程式介面(application program interface,API)、指令集、運算碼、電腦碼、碼段、電腦碼段、字組、值、符號、或前述幾者的任何組合。對於一個實施例係要利用硬體元件和/或軟體元件來實施的判定可係由於任何數量的因素而改變,例如所欲運算速率、電力位準、耐熱性、處理週期預算、輸入資料率、輸出資料率、記憶體資源、資料匯流排速度、及其他設計或效能限制。
可係藉由儲存於一個機器可讀媒體上的代表性指令來實施至少一個實施例的一或多個面向,此機器可讀媒體代表在處理器內的各種邏輯,此等代表性指令在由一個機器讀取時會致使此機器製造用於進行於本文中所述之技術的邏輯。此等表示型態,其被稱為「IP核心」,可被儲
存在一個有形的機器可讀媒體上並被供應給許多客戶或製造設施以載入到實際做出此邏輯或處理器的製造機器中。
下面的句子和/或範例係有關一些進一步的實施例:一個示範實施例可係一種方法,用於對一第一斑塊的一第一頂角作領域著色,並且只在一第二斑塊的一個頂角並非該第一頂角時對此頂角作領域著色。此方法可亦包括:對一個斑塊的各個頂角提供一個獨特識別符。此方法可亦包括:利用一個識別符來判定一個頂角是否已被作領域著色。此方法可亦包括:儲存對於哪些頂角已被作領域著色的一個指示在一個快取中。此方法可亦包括:判定一個邊緣和一個斑塊是否已被作領域著色。此方法可亦包括:若一個邊緣已被作領域著色,則在後續的斑塊中跳過對那個邊緣的領域著色。此方法可亦包括:利用一個快取來儲存已被作領域著色的邊緣和頂角,以及一次分析一個斑塊的所有頂角和邊緣。此方法可亦包括:藉由對一個給定斑塊增加一個新頂角來對此斑塊作外殼著色。此方法可亦包括:在一個斑塊的中心形成一個新頂角,以及界定出一組四個三角形,該等三角形各在此斑塊內具有相同頂角。此方法可亦包括:自動判定針對此新頂角的一個獨特識別符。
另一個示範實施例可係一種儲存有指令的非過渡性電腦可讀媒體,此等指令可使一個處理器能夠進行一種方法,此方法包含:對一第一斑塊的一第一頂角作領域
著色,並且只在一第二斑塊的一個頂角並非該第一頂角時對此頂角作領域著色。此媒體可亦對一個斑塊的各個頂角提供一個獨特識別符。此媒體可亦利用一個識別符來判定一個頂角是否已被作領域著色。此媒體可亦儲存對於哪些頂角已被作領域著色的一個指示在一個快取中。此媒體可亦判定一個邊緣和一個斑塊是否已被作領域著色。此媒體可包括:若一個邊緣已被作領域著色,則在後續的斑塊中跳過對那個邊緣的領域著色。此媒體可亦利用一個快取來儲存已被作領域著色的邊緣和頂角,以及一次分析一個斑塊的所有頂角和邊緣。此媒體可包括:藉由對一個給定斑塊增加一個新頂角來對此斑塊作外殼著色。此媒體可包括:在一個斑塊的中心形成一個新頂角,以及界定出一組四個三角形,該等三角形各在此斑塊內具有相同頂角。此媒體可包括自動判定針對此頂角的一個獨特識別符。
一個示範實施例可係一種設備,其包含一個處理器和耦接到此處理器的一個記憶體,此處理器係用於對一第一斑塊的一第一頂角作領域著色,並且只在一第二斑塊的一個頂角並非該第一頂角時對此頂角作領域著色。此處理器的此設備用於:對一個斑塊的各個頂角提供一個獨特識別符。此處理器的此設備用於:利用一個識別符來判定一個頂角是否已被作領域著色。此處理器的此設備用於:儲存對於哪些頂角已被作領域著色的一個指示在一個快取中。此處理器的此設備用於:判定一個邊緣和一個頂角是否已被作領域著色。此處理器的此設備用於:若一個邊緣
已被作領域著色,則在後續的斑塊中跳過對那個邊緣的領域著色。此處理器的此設備用於:利用一個快取來儲存已被作領域著色的邊緣和頂角,以及一次分析一個斑塊的所有頂角和邊緣。此處理器的此設備用於:藉由對一個給定斑塊增加一個新頂角來對此斑塊作外殼著色。此處理器的此設備用於:在一個斑塊的中心形成一個新頂角,以及界定出一組四個三角形,該等三角形各在此斑塊內具有相同頂角。此處理器的此設備用於:自動判定針對此新頂角的一個獨特識別符。
於本說明書通篇中對於「一個實施例」或「一實施例」的指涉係指配合此實施例所描述的此特定特徵、結構或特性係包括在涵蓋於本發明內的至少一個實作中。因此,「一個實施例」或「在一實施例中」等詞語的出現並不必然係指同一個實施例。此外,這些特定特徵、結構或特性係可以與所例示之特定實施例不同的其他適當的形式制定,並且所有的這些形式都可係涵蓋於本申請案之申請專利範圍內。
雖然已針對有限數量的實施例來說明本發明,熟於此技者會可識出從中而生的許多修改體和變異體。係意欲要使後附申請專利範圍涵蓋落於本發明之真實精神與範疇內的所有這些修改體和變異體。
10‧‧‧管線
12‧‧‧輸入組譯器
14‧‧‧頂點著色器
16‧‧‧外殼著色器
18‧‧‧鑲嵌器
20‧‧‧邊緣快取查詢/頂角快取查詢
22‧‧‧快取;方塊
24‧‧‧菱形
26‧‧‧領域著色器
28‧‧‧基元組譯器
Claims (30)
- 一種方法,其包含下列步驟:針對數個基元邊緣產生數個識別符;對該等識別符指定一個鑲嵌因素以創造一個標籤;與該等標籤一起儲存一個位元以指出邊緣定向;對一第一基元的一第一頂角作領域著色;以及只在一第二基元的一個頂角並非該第一頂角時對該第二基元之該頂角作領域著色。
- 如請求項第1項之方法,其包括下列步驟:對一個斑塊的各個頂角提供一個獨特識別符。
- 如請求項第2項之方法,其包括下列步驟:利用一個識別符來判定一個頂角是否已被作領域著色。
- 如請求項第3項之方法,其包括下列步驟:儲存對於哪些頂角已被作領域著色的一個指示在一個快取中。
- 如請求項第1項之方法,其包括下列步驟:判定一個邊緣和一個斑塊是否已被作領域著色。
- 如請求項第5項之方法,其包括下列步驟:若一個邊緣已被作領域著色,則在後續的斑塊中跳過對那個邊緣的領域著色。
- 如請求項第6項之方法,其包括下列步驟:利用一個快取來儲存已被作領域著色的邊緣和頂 角,以及一次分析一個斑塊的所有頂角和邊緣。
- 如請求項第1項之方法,其包括下列步驟:藉由對一個給定斑塊增加一個新頂角來對此斑塊作外殼著色。
- 如請求項第8項之方法,其包括下列步驟:在一個斑塊的中心形成一個新頂角,以及界定出一組四個三角形,該等三角形各在此斑塊內具有相同頂角。
- 如請求項第9項之方法,其包括下列步驟:自動判定針對此新頂角的一個獨特識別符。
- 一種儲存有指令的非過渡性電腦可讀媒體,該等指令可使得一個處理器能夠進行一種方法,該方法包含下列步驟:針對數個基元邊緣產生數個識別符;對該等識別符指定一個鑲嵌因素以創造一個標籤;與該等標籤一起儲存一個位元以指出邊緣定向;對一第一基元的一第一頂角作領域著色;以及只在一第二基元的一個頂角並非該第一頂角時對該第二基元之該頂角作領域著色。
- 如請求項第11項之媒體,其包括:對一個斑塊的各個頂角提供一個獨特識別符。
- 如請求項第12項之媒體,其包括:利用一個識別符來判定一個頂角是否已被作領域 著色。
- 如請求項第13項之媒體,其包括:儲存對於哪些頂角已被作領域著色的一個指示在一個快取中。
- 如請求項第11項之媒體,其包括:判定一個邊緣和一個斑塊是否已被作領域著色。
- 如請求項第15項之媒體,其包括:若一個邊緣已被作領域著色,則在後續的斑塊中跳過對那個邊緣的領域著色。
- 如請求項第16項之媒體,其包括:利用一個快取來儲存已被作領域著色的邊緣和頂角,以及一次分析一個斑塊的所有頂角和邊緣。
- 如請求項第11項之媒體,其包括:藉由對一個給定斑塊增加一個新頂角來對此斑塊作外殼著色。
- 如請求項第18項之媒體,其包括:在一個斑塊的中心形成一個新頂角,以及界定出一組四個三角形,該等三角形各在此斑塊內具有相同頂角。
- 如請求項第19項之媒體,其包括:自動判定針對此新頂角的一個獨特識別符。
- 一種設備,其包含:一個處理器,用以: 針對數個基元邊緣產生數個識別符,對該等識別符指定一個鑲嵌因素以創造一個標籤,與該等標籤一起儲存一個位元以指出邊緣定向,對一第一基元的一第一頂角作領域著色,及只在一第二基元的一個頂角並非該第一頂角時對該第二基元之該頂角作領域著色,以及耦接到此處理器的一個記憶體。
- 如請求項第21項之設備,該處理器係用於:對一個斑塊的各個頂角提供一個獨特識別符。
- 如請求項第22項之設備,該處理器係用於:利用一個識別符來判定一個頂角是否已被作領域著色。
- 如請求項第23項之設備,該處理器係用於:儲存對於哪些頂角已被作領域著色的一個指示在一個快取中。
- 如請求項第21項之設備,該處理器係用於:判定一個邊緣和一個斑塊是否已被作領域著色。
- 如請求項第25項之設備,該處理器係用於:若一個邊緣已被作領域著色,則在後續的斑塊中跳過對那個邊緣的領域著色。
- 如請求項第26項之設備,該處理器係用於:利用一個快取來儲存已被作領域著色的邊緣和頂 角,以及一次分析一個斑塊的所有頂角和邊緣
- 如請求項第21項之設備,該處理器係用於:藉由對一個給定斑塊增加一個新頂角來對此斑塊作外殼著色。
- 如請求項第28項之設備,該處理器係用於:在一個斑塊的中心形成一個新頂角,以及界定出一組四個三角形,該等三角形各在此斑塊內具有相同頂角。
- 如請求項第29項之設備,該處理器係用於:自動判定針對此新頂角的一個獨特識別符。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261617740P | 2012-03-30 | 2012-03-30 | |
US13/628,247 US9449419B2 (en) | 2012-03-30 | 2012-09-27 | Post tessellation edge cache |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201407534A true TW201407534A (zh) | 2014-02-16 |
TWI595439B TWI595439B (zh) | 2017-08-11 |
Family
ID=49234334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102111411A TWI595439B (zh) | 2012-03-30 | 2013-03-29 | 鑲嵌後邊緣快取 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9449419B2 (zh) |
EP (1) | EP2831754B1 (zh) |
TW (1) | TWI595439B (zh) |
WO (1) | WO2013148732A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102104057B1 (ko) * | 2013-07-09 | 2020-04-23 | 삼성전자 주식회사 | 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들 |
KR102072656B1 (ko) * | 2013-07-16 | 2020-02-03 | 삼성전자 주식회사 | 캐시를 포함하는 테셀레이션 장치, 그의 동작 방법, 및 상기 장치를 포함하는 시스템 |
US9626795B2 (en) | 2013-12-17 | 2017-04-18 | Intel Corporation | Reducing shading by merging fragments from the adjacent primitives |
KR102329475B1 (ko) | 2014-08-27 | 2021-11-19 | 삼성전자주식회사 | 렌더링 퀄리티 제어 장치 및 방법 |
US20160093102A1 (en) * | 2014-09-25 | 2016-03-31 | Peter L. Doyle | Efficient tessellation cache |
US10535188B2 (en) | 2016-09-23 | 2020-01-14 | Apple Inc. | Tessellation edge shaders |
GB2572620C (en) | 2018-04-05 | 2021-10-20 | Imagination Tech Ltd | Accessing Primitive Data |
US11010862B1 (en) * | 2019-11-14 | 2021-05-18 | Advanced Micro Devices, Inc. | Reduced bandwidth tessellation factors |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7038692B1 (en) * | 1998-04-07 | 2006-05-02 | Nvidia Corporation | Method and apparatus for providing a vertex cache |
US6707452B1 (en) * | 2000-07-19 | 2004-03-16 | Pixar | Method and apparatus for surface approximation without cracks |
US8490065B2 (en) * | 2005-10-13 | 2013-07-16 | International Business Machines Corporation | Method and apparatus for software-assisted data cache and prefetch control |
US7561156B2 (en) | 2006-02-08 | 2009-07-14 | INOVO Limited | Adaptive quadtree-based scalable surface rendering |
US7928979B2 (en) | 2008-02-01 | 2011-04-19 | Microsoft Corporation | Efficient geometric tessellation and displacement |
TWI401615B (zh) * | 2008-12-12 | 2013-07-11 | Inst Information Industry | 向量繪圖系統及向量繪圖著色方法 |
US20100164954A1 (en) | 2008-12-31 | 2010-07-01 | Sathe Rahul P | Tessellator Whose Tessellation Time Grows Linearly with the Amount of Tessellation |
US8884957B2 (en) | 2009-09-09 | 2014-11-11 | Advanced Micro Devices, Inc. | Tessellation engine and applications thereof |
US20110216068A1 (en) * | 2010-03-08 | 2011-09-08 | Sathe Rahul P | Edge processing techniques |
GB201007348D0 (en) | 2010-04-30 | 2010-06-16 | Imagination Tech Ltd | Programmable tessellation in a tile based rendering system |
-
2012
- 2012-09-27 US US13/628,247 patent/US9449419B2/en active Active
-
2013
- 2013-03-26 WO PCT/US2013/033944 patent/WO2013148732A1/en active Application Filing
- 2013-03-26 EP EP13767795.1A patent/EP2831754B1/en not_active Not-in-force
- 2013-03-29 TW TW102111411A patent/TWI595439B/zh active
Also Published As
Publication number | Publication date |
---|---|
US20130257891A1 (en) | 2013-10-03 |
US9449419B2 (en) | 2016-09-20 |
EP2831754A1 (en) | 2015-02-04 |
EP2831754B1 (en) | 2017-03-08 |
TWI595439B (zh) | 2017-08-11 |
EP2831754A4 (en) | 2016-02-17 |
WO2013148732A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI595439B (zh) | 鑲嵌後邊緣快取 | |
CN110544289B (zh) | 在中排序架构中利用帧间相干性 | |
JP6495377B2 (ja) | 選択的ラスタライゼーション | |
TWI535277B (zh) | 用於深度緩衝之方法、設備及系統 | |
TWI582751B (zh) | 避免發送未改變區域至顯示器之技術 | |
TWI517086B (zh) | 用於去耦取樣為主描繪管線之低功率質心決定及紋理覆蓋區最佳化 | |
TWI615807B (zh) | 用於記錄在輸入幾何物件粒度上的可視度測試之結果的方法、設備及系統 | |
JP2014182831A (ja) | フィルタ・タップを廃棄するテクスチャ・アドレス・モード | |
US9262841B2 (en) | Front to back compositing | |
US9483810B2 (en) | Reducing the number of IO requests to memory when executing a program that iteratively processes contiguous data | |
EP3170069B1 (en) | Vector scaling instructions for use in an arithmetic logic unit | |
TWI489412B (zh) | 降低域著色器/細化器的呼用的方法、非暫態電腦可讀媒體及設備 | |
US20140192051A1 (en) | Offloading Tessellation from a Graphics Processor to a Central Processing Unit | |
TWI502581B (zh) | 高能效之反鋸齒的方法、機器可讀媒體以及系統 |