TW201344624A - 降低域渲染器/細化器的呼用 - Google Patents
降低域渲染器/細化器的呼用 Download PDFInfo
- Publication number
- TW201344624A TW201344624A TW101150124A TW101150124A TW201344624A TW 201344624 A TW201344624 A TW 201344624A TW 101150124 A TW101150124 A TW 101150124A TW 101150124 A TW101150124 A TW 101150124A TW 201344624 A TW201344624 A TW 201344624A
- Authority
- TW
- Taiwan
- Prior art keywords
- patch
- corner
- domain
- rendered
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
依照一些實施例,域渲染器及/或細化器操作當它們為多餘時能被排除。藉由使用一角快取,檢查能判斷是否已在域渲染器及/或細化器中評估一特定角,其為頂點或四邊形的角,若是,則能重新使用先前操作的結果而不進行不必要之可能增加功率消耗或降低速度的呼用。
Description
本發明通常關於繪圖處理。
在繪圖處理中,實作對所謂的頂點或角進行一串步驟的管線。可使用圖元來表現表面被生動地描繪。
曲面細化技術是細分表面以被生動地描繪成較小形狀的程序。曲面細化技術將物體的表面打破成可管理的三角形。
域渲染器計算細分之輸出補丁的每個頂點之特性。域渲染器接收外殼渲染器輸出控制點以及細化器階段輸出域區位並輸出頂點位置。
每個補丁呼用一次外殼渲染器並將輸入控制點轉成補足補丁的輸出控制點。每個補丁做一些計算以提供用於細化階段和域渲染器的資料。
域渲染器之詞通常關聯於DirectX管線。實質上在用於繪圖處理(包括通常稱為DirectX域渲染器的OpenGL)的其它應用程式介面中進行與細化器評估渲染器相同的功能。在OpenGL中,通常稱外殼渲染器為細化器控制渲染器。
依照一些實施例,能排除域渲染器及/或細化器多餘
操作。藉由使用角快取,檢查能判斷是否已在域渲染器及/或細化器中評估一特定角。若是,則能重新使用先前操作的結果而不進行不必要之可能增加功率消耗及/或降低速度的操作。
在下列討論中,通常使用DirectX應用程式介面(API)術語。在所有情況中,可在包括OpenGL的其它應用程式介面中發現對應結構。尤其是,提及域渲染器是可應用於OpenGL中的細化器評估渲染器,且提及外殼渲染器可應用於OpenGL中的細化器控制渲染器。因此接下來的說明可適用於用於繪圖處理的任何應用程式介面。
控制外廓是藝術家所使用的低解析度模型以產生平滑表面。藉由提供較高程度的細分,能被描繪之圖形細節的程度會更大。然而,較大程度的細分可能不利地影響處理速度。
補丁是在粗粒級下的基本單位,描繪表面的控制外廓。表面會是能被描繪成參數函數的任何表面。
第1圖所示的繪圖管線10可實作在繪圖處理器中作為單獨、專用積體電路,或透過軟體實作之通用處理器以軟體實作,或藉由軟體和硬體之組合實作。在一些實施例中,第1圖中所繪之具有直角邊的元件能以硬體來實作,且第1圖中所繪之具有圓角邊的元件能以軟體來實作。
繪圖管線可例如實作在無線電話、合併有線或無線通訊裝置的行動手持計算裝置或任何電腦中。繪圖管線可提供影像或視頻給顯示裝置以供顯示。能使用各種技術來處
理提供給顯示器的影像。
輸入組合器12使用固定函數操作、形成幾何、及產生管線工作項目來讀取記憶體外的頂點。自動產生的識別符啟動識別符特定處理。頂點識別符和實例識別符可從向前的頂點渲染器14得到。圖元識別符可從向前的外殼渲染器16得到。控制點識別符可在外殼渲染器16中得到。
頂點渲染器進行如轉換、蒙皮或打光的操作。它可輸入一個頂點並輸出一個頂點。每個輸出控制點呼用控制點階段且每個階段由一控制點識別符識別。
外殼渲染器16控制點階段每個呼用輸出一個控制點。聚集輸出是至下一個外殼渲染器階段並至域渲染器26的共有輸入。每個補丁可能以所有輸入和輸出控制點的共有讀取點來呼用補丁固定階段。外殼渲染器16輸出邊細化因數及其他補丁固定資料。如於此所使用,可替換地使用圖元域之每邊具有一些間隔的邊細化因數和邊詳細程度。將程式碼分段使得能平行地完成獨立作業而最後以結合步驟結束。
細化器18可以硬體或軟體實作。在一些有利實施例中,細化器可以是軟體實作的細化器。細化器18取得已編碼的域點或(u,v,w)值。細化器18可從外殼渲染器接收定義細化多少的數量。細化器18產生拓樸,如點、線或三角形。細化器18可輸出域區位。
域渲染器24是使用域點之(u,v,w)值的可程式階段,此值係由細化器18供應以產生在補丁上的真實三維
頂點。域渲染器26藉由查找位移貼圖來評估頂點位置和屬性並非必要地移動點。域渲染器26可使用來自細化器18的(u,v,w)值來評估頂點的法線及其他屬性。能使用位移貼圖來加入補丁的高頻細節。在一些實施例中,域渲染器26可以是軟體實作的。
域渲染器26可使用純量位移貼圖來移動點或計算其他頂點屬性。在一些情況中,頂點評估可包括判斷用於位置的雙立方多項式(或通常更高的有序多項式)、計算偏微分或使用輔助正切和公切控制外廓並採用它們的交叉乘積來估計正切和公切、以如線性過濾的一些過濾來進行材質查找、在純量值位移的情況中沿著法線移動點、以及在向量值位移的情況中沿著可能從其他材質讀取的方向來移動點。
圖元組合器28組合生成圖元並提供已組合的圖元至管線的之後階段,其依次提供固定功能目標上彩、混合、深度及印刷操作。
在一些實施例中,外殼渲染器16輸出連續填充之三個或四個額外的32位元識別符以形成陣列。在三角形的例子中可使用三個輸出,且在四邊形的例子中可能需要四個輸出。陣列唯一地識別輸出補丁的輸出角。在發出用於角之域渲染器呼用之前,管線使用對應角識別符來查詢角快取22。若管線未發現對應於此角的項目,則評估此角的域渲染器。在域渲染器的評估完成之後,系統針對此角儲存了域渲染器的輸出並使用對應角識別符來加標它。
相反地,若系統發現用於特定角識別符的項目,則使用已儲存值而不對此角評估域渲染器呼用。因此針對每個三角形或四邊形補丁,可能產生高達三個或四個項目對應於三個或四個角。
可在繪圖呼用之間清除角快取。在主動實作中,其中一種實作能當清除快取時把控制交給使用者,因此使用者能儲存跨越繪圖呼用的值。此方案可幫助單一網目具有多種類型之補丁(如正常或異常的補丁)的情況,且有一個對應於每種類型之補丁的繪圖呼用以供最大單指令多資料(SIMD)利用。
在一些實施例中,在方塊22中可分開提供邊快取和角快取。邊快取可能對先前已評估的邊做與角快取相同的事情,亦即避免不必要的域渲染器及/或細化器之呼用。
然而,具有分開的角和邊快取可能是有利的,因為對角和邊的清除週期是不同的。例如,邊只能使用兩次,因為只有兩個相鄰補丁會具有一個共同邊。然而,一般來說在三角形補丁之例子中的角可使用六次之多,因此對角和邊的清除次數可能顯著不同且在一些實施例中的清除操作可能需要單獨編程。
可一次對一個補丁循環管線10。針對每個補丁,評估三個或四個角或頂點且可評估高達四個邊。因此,在一實施例中,從邊快取查詢/角快取查詢20到邊快取/角快取22做出八個平行查詢。能為輸出控制外廓的四個角之每一者查詢角快取且同時能對邊快取查詢輸出控制外廓的
四個邊。
若在邊快取/角快取22中發現特定邊或角,則在菱形24中偵測到快取命中。在此情況中,可避免域渲染器呼用,節省週期、及可能在一些實施例中改善速度及/或功率消耗。若沒有快取命中,則嘗試域渲染器呼用(如箭頭B所指)並將缺掉的邊或角加至此例可能的角或邊快取。
可在快取22內完成邊快取/角快取的清除。每次發現已被重新使用的邊時,可清除之。清除項目的其中一個方法是簡單地標明它為可用的來重新使用以保持其他資料。然而,在角快取的情況中,每次使用角,不會清除。反而,只有在可能已重新使用幾次之後才會清除。因此,透過四邊形補丁和四邊形鄰近補丁,在重新使用三次之後會清除每個角。透過在四邊形鄰近中的四邊形補丁,可在重新使用五次之後發生清除。允許重新使用的次數可憑經驗地藉由模擬實際工作量來調整,而非設成一些固定數量。
第2圖中顯示輸入補丁及其一個周圍鄰近補丁的實例。藉由角14、16、47、及18來定義補丁。其一個周圍鄰近補丁係由圍繞特定補丁的所有補丁組成。因此,在接著補丁14、18、72中、補丁14、74、73中、補丁14、15、12、74中及補丁14、15、17、和16中可再使用角14。第2圖中左邊所示的輸入控制補丁接著被外殼渲染器轉成右邊所示輸出控制補丁。
在第2圖的例子中,不產生新的頂點或角。然而在第3圖中,顯示相同的輸入補丁,形成由具有標為N之新的
角之四個三角形組成的不同輸出補丁。
可使用不複製現有角號碼之適當編號架構來給新的角唯一識別符。相同號碼必須用於四個連續產生之構成具有共同角N之輸出補丁的四個三角形之各者。如此,由四邊形14、16、47及18構成的最左邊補丁會被提交四次。每次提交就產生四個三角形的其一者,但對用於每個三角形的中心角使用相同的識別符。
以上所述之關於域渲染器的操作亦能用於細化器18。換言之,快取22只可在細化器18階段之前被查詢20查詢,以至於可繞過細化器18階段以在適當核心中節省週期。
第4圖繪示系統700的實施例。在實施例中,系統700可以是媒體系統,儘管系統700並不限於此內文。例如,系統700可併入個人電腦(PC)、膝上型輕便電腦、輕薄膝上型電腦、平板電腦、觸控墊、可攜式電腦、手持電腦、掌上型電腦、個人數位助理(PDA)、行動電話、組合行動電話/PDA、電視、智慧型裝置(例如,智慧型手機、智慧型平板或智慧型電視)、行動上網裝置(MID)、發信裝置、資料通訊裝置等。
在實施例中,系統700包含耦接顯示器720的平台702。平台702可從如內容服務裝置730或內容傳送裝置740的內容裝置或其他類似內容來源接收內容。包含一或更多導航特徵的導航控制器750可用來與例如平台702及/或顯示器720互動。以下更詳細地說明這些元件之各
者。
在實施例中,平台702可包含晶片組705、處理器710、記憶體712、儲存器714、繪圖子系統715、應用程式716及/或無線電718之任何組合。晶片組705可在處理器710、記憶體712、儲存器714、繪圖子系統715、應用程式716及/或無線電718之間提供互相通訊。例如,晶片組705可包括能提供與儲存器714互相通訊的儲存轉接器(未顯示)。
處理器710可實作成複雜指令集電腦(CISC)或精簡指令集電腦(RISC)處理器、x86指令集相容處理器、多核心、或任何其它微處理器或中央處理單元(CPU)。在實施例中,處理器710可包含雙核心處理器、雙核心行動處理器等。
記憶體712可實作成揮發性記憶體裝置,例如但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態RAM(SRAM)。
儲存器714可實作成非揮發性儲存裝置,例如但不限於磁碟機、光碟機、磁帶驅動設備、內部儲存裝置、附接儲存裝置、快閃記憶體、電池備份SDRAM(同步DRAM)、及/或網路可存取儲存裝置。在實施例中,例如當包括多個硬碟機時,儲存器714可包含增加對有價值的數位媒體的儲存效能增強保護之技術。
繪圖子系統715可進行如靜止或視頻的影像之處理以供顯示。例如,繪圖子系統715可以是繪圖處理單元
(GPU)或視覺處理單元(VPU)。可使用類比或數位介面來通訊地耦接繪圖子系統715和顯示器720。例如,介面可以是高解析多媒體介面、顯示埠、無線HDMI、及/或無線HD相同技術之任一者。繪圖子系統715可併入處理器710或晶片組705。繪圖子系統715可能是通訊地耦接晶片組705之單獨的卡。
本文所述之繪圖及/或視頻處理技術可實作在各種硬體架構中。例如,繪圖及/或視頻功能可整合在晶片組內。替代地,可使用分離的繪圖及/或視頻處理器。作為又一實施例,繪圖及/或視頻功能可藉由包括多核心處理器之通用處理器來實作。在另一實施例,功能可實作在消費者電子裝置中。
無線電718可包括能使用各種適當無線通訊技術來傳送和接收信號的一或更多無線電。這類技術可涉及跨一或更多無線網路的通訊。示範無線網路包括(但不限於)無線區域網路(WLAN)、無線個人區域網路(WPAN)、無線都會區域網路(WMAN)、蜂巢式網路、及衛星網路。在跨上述網路的通訊中,無線電718可依照任何版本之一或更多可適用標準來操作。
在實施例中,顯示器720可包含任何電視類型監視器或顯示器。顯示器720可包含例如電腦顯示螢幕、觸控螢幕顯示器、視頻監視器、類似電視的裝置、及/或電視。顯示器720可能是數位的及/或類比的。在實施例中,顯示器720可能是全像式顯示器。又,顯示器720可能是可
接收視覺投影的透明表面。這類投影可傳播各種形式的資訊、影像、及/或物件。例如,這類投影可以是用於行動強化實境(MAR)應用程式的視覺疊加。在一或更多軟體應用程式716的控制下,平台702可顯示使用者介面722在顯示器720上。
在實施例中,內容服務裝置730可被任何國家、國際及/或獨立服務管理,因此可經由例如網際網路被平台702存取。內容服務裝置730可耦接平台702及/或顯示器720。平台702及/或內容服務裝置730可耦接網路760以傳遞(例如,傳送及/或接收)媒體資訊至網路760或從網路760傳遞資訊。內容傳送裝置740亦可耦接平台702及/或顯示器720。
在實施例中,內容服務裝置730可包含有線電視盒、個人電腦、網路、電話、網際網路啟動裝置或能傳送數位資訊及/或內容的設備、及能經由網路760或直接地在內容提供者與平台702及/或顯示器720之間單向地或雙向地傳遞內容的任何其他類似裝置。將知道可經由網路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)快捷繪圖卡。
在各種實施例中,可整合系統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」)信息、語音郵件信息、文數符元、繪圖、影像、視頻、文字等的資料。來自語音會話的資料可例如是語音資訊、靜默時間、背景雜音、舒適雜音、音調等。控制資訊可提及表示對自動化系統有意義之命令、指令或控制字的任何資料。例如,控制資訊可用來路由通過系統的媒體資訊、或命令節點以預定方式來處理媒體資訊。然而,實施例並不限於第4圖所示或所述之元件或內文中。
如上所述,系統700可以多種實體樣式或形狀因子來具現化。第5圖顯示其中可實作系統700之小型形狀因子裝置800的實施例。在實施例中,例如,裝置800可實作成具有無線能力的行動計算裝置。例如,行動計算裝置可關於具有處理系統及行動電源或供應器(如一或更多電池)的任何裝置。
如上所述,行動計算裝置之實例可包括個人電腦(PC)、膝上型輕便電腦、輕薄膝上型電腦、平板電腦、觸控墊、可攜式電腦、手持電腦、掌上型電腦、個人數位助理(PDA)、行動電話、組合行動電話/PDA、電視、智慧型裝置(例如,智慧型手機、智慧型平板或智慧型電視)、行動上網裝置(MID)、發信裝置、資料通訊裝置等。
行動計算裝置之實例亦可包括被安排由人們穿戴的計算機,例如手腕計算機、手指計算機、戒形計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋子計算機、衣服計算機、及其他隨身計算機。在各種實施例中,例如,行
動計算裝置可實作成能夠執行電腦應用程式以及語音通訊及/或資料通訊的智慧型手機。雖然有些實施例可透過實例以實作成智慧型手機的行動計算裝置來說明,但可了解其他實施例仍可同樣使用其他無線行動計算裝置來實作。本實施例並不限於此內文。
在一些實施例中,處理器710可與照像機722和全球定位系統感測器720通訊。耦接處理器710的記憶體712可儲存電腦可讀指令來在軟體及/或韌體實施例中實作第4、5、及6圖所示之序列。
本文所述之繪圖及/或視頻處理技術可實作在各種硬體架構中。例如,繪圖及/或視頻功能可整合在晶片組內。替代地,可使用分離的繪圖及/或視頻處理器。作為又一實施例,繪圖及/或視頻功能可藉由包括多核心處理器之通用處理器來實作。在另一實施例,功能可實作在消費者電子裝置中。
無線電718可包括能使用各種適當無線通訊技術來傳送和接收信號的一或更多無線電。這類技術可涉及跨一或更多無線網路的通訊。示範無線網路包括(但不限於)無線區域網路(WLAN)、無線個人區域網路(WPAN)、無線都會區域網路(WMAN)、蜂巢式網路、及衛星網路。在跨上述網路的通訊中,無線電718可依照任何版本之一或更多可適用標準來操作。
在實施例中,顯示器720可包含任何電視類型監視器或顯示器。顯示器720可包含例如電腦顯示螢幕、觸控螢
幕顯示器、視頻監視器、類似電視的裝置、及/或電視。顯示器720可能是數位的及/或類比的。在實施例中,顯示器720可能是全像式顯示器。又,顯示器720可能是可接收視覺投影的透明表面。這類投影可傳播各種形式的資訊、影像、及/或物件。例如,這類投影可以是用於行動強化實境(MAR)應用程式的視覺疊加。在一或更多軟體應用程式716的控制下,平台702可顯示使用者介面722在顯示器720上。
在實施例中,內容服務裝置730可被任何國家、國際及/或獨立服務管理,因此可經由例如網際網路被平台702存取。內容服務裝置730可耦接平台702及/或顯示器720。平台702及/或內容服務裝置730可耦接網路760以傳遞(例如,傳送及/或接收)媒體資訊至網路760或從網路760傳遞資訊。內容傳送裝置740亦可耦接平台702及/或顯示器720。
在實施例中,內容服務裝置730可包含有線電視盒、個人電腦、網路、電話、網際網路啟動裝置或能傳送數位資訊及/或內容的設備、及能經由網路760或直接地在內容提供者與平台702及/或顯示器720之間單向地或雙向地傳遞內容的任何其他類似裝置。將知道可經由網路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)快捷繪圖卡。
在各種實施例中,可整合系統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」)信息、語音郵件信息、文數符元、繪圖、影像、視頻、文字等的資料。來自語音會話的資料可例如是語音資訊、靜默時間、背景雜音、舒適雜音、音調等。控制資訊可提及表示對自動化系統有意義之命令、指令或控制字的任何資料。例如,控制資訊可用來路由通過系統的媒體資訊、或命令節點以預定方式來處理媒體資訊。然而,實施例並不限於第4圖所示或所述之元件或內文中。
如上所述,系統700可以多種實體樣式或形狀因子來具現化。第5圖顯示其中可實作系統700之小型形狀因子裝置800的實施例。在實施例中,例如,裝置800可實作成具有無線能力的行動計算裝置。例如,行動計算裝置可關於具有處理系統及行動電源或供應器(如一或更多電池)的任何裝置。
如上所述,行動計算裝置之實例可包括個人電腦(PC)、膝上型輕便電腦、輕薄膝上型電腦、平板電腦、觸控墊、可攜式電腦、手持電腦、掌上型電腦、個人數位助理(PDA)、行動電話、組合行動電話/PDA、電視、智慧型裝置(例如,智慧型手機、智慧型平板或智慧型電視)、行動上網裝置(MID)、發信裝置、資料通訊裝置等。
行動計算裝置之實例亦可包括被安排由人們穿戴的計
算機,例如手腕計算機、手指計算機、戒形計算機、眼鏡計算機、皮帶夾計算機、臂帶計算機、鞋子計算機、衣服計算機、及其他隨身計算機。在各種實施例中,例如,行動計算裝置可實作成能夠執行電腦應用程式以及語音通訊及/或資料通訊的智慧型手機。雖然有些實施例可透過實例以實作成智慧型手機的行動計算裝置來說明,但可了解其他實施例仍可同樣使用其他無線行動計算裝置來實作。本實施例並不限於此內文。
如第5圖所示,裝置800可包含外殼802、顯示器804、輸入/輸出(I/O)裝置806、及天線808。裝置800亦可包含導航特徵812。顯示器804可包含任何適當顯示單元來顯示適用於行動計算裝置之資訊。I/O裝置806可包含任何適當I/O裝置來將資訊輸入行動計算裝置中。針對I/O裝置806的實例可包括字母數字鍵盤、數字小鍵盤、觸控墊、輸入鍵、按鍵、開關、搖桿開關、麥克風、揚聲器、語音辨識裝置及軟體、等等。資訊亦可透過麥克風(未顯示)輸入至裝置800。可透過語音辨識裝置來數位化上述資訊。本實施例並不限於此內文。
各種實施例可使用硬體元件、軟體元件、或這兩者之組合來實作。硬體元件之實例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、積體電路、專用積體電路(ASIC)、可程式邏輯裝置(PLD)、數位信號處理器(DSP)、現場可程式閘陣列(FPGA)、邏輯閘、暫存器、半導體裝置、晶片、微晶
片、晶片組等等。軟體之實例可包括軟體元件、程式、應用、電腦程式、應用程式、系統程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、副常式、函數、方法、程序、軟體介面、應用程式介面(API)、指令集、計算碼、計算機碼、碼段、計算機碼段、字組、值、符號、或以上之任何組合。判定實施例是否使用硬體元件及/或軟體元件來實作可依照如所欲之計算率、功率級、耐熱性、處理週期預算、輸入資料率、輸出資料率、記憶體資源、資料匯流排速度及其他設計或效能限制的一些因數而有所不同。
至少一實施例的一或多個態樣可藉由儲存在機器可讀媒體上的代表指令來實作,其表現在處理器內的各種邏輯,當指令被機器讀取時會使機器組裝邏輯來進行本文描述的技術。這樣的表現,稱為「IP核心」,可儲存在有形的機器可讀媒體上並供應至各種顧客或製造廠來下載至實際產生邏輯的製造機器或處理器中。
各種實施例可使用硬體元件、軟體元件、或這兩者之組合來實作。硬體元件之實例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、積體電路、專用積體電路(ASIC)、可程式邏輯裝置(PLD)、數位信號處理器(DSP)、現場可程式閘陣列(FPGA)、邏輯閘、暫存器、半導體裝置、晶片、微晶片、晶片組等等。軟體之實例可包括軟體元件、程式、應用、電腦程式、應用程式、系統程式、機器程式、作業系
統軟體、中間軟體、韌體、軟體模組、常式、副常式、函數、方法、程序、軟體介面、應用程式介面(API)、指令集、計算碼、計算機碼、碼段、計算機碼段、字組、值、符號、或以上之任何組合。判定實施例是否使用硬體元件及/或軟體元件來實作可依照如所欲之計算率、功率級、耐熱性、處理週期預算、輸入資料率、輸出資料率、記憶體資源、資料匯流排速度及其他設計或效能限制的一些因數而有所不同。
至少一實施例的一或多個態樣可藉由儲存在機器可讀媒體上的代表指令來實作,其表現在處理器內的各種邏輯,當指令被機器讀取時會使機器組裝邏輯來進行本文描述的技術。這樣的表現,稱為「IP核心」,可儲存在有形的機器可讀媒體上並供應至各種顧客或製造廠來下載至實際產生邏輯的製造機器或處理器中。
在遍及本說明書中提到的「一個實施例」或「一實施例」表示關於實施例所述之特定特徵、結構、或特性係包括在本發明內的至少一實作中。因此,出現「一個實施例」或「一實施例」之用詞不一定係指相同的實施例。再者,可以有別於所示之特定實施例的其他適當形式來建立特定特徵、結構、或特性,且所有這類形式可包含在本發明之申請專利範圍內。
儘管已參考限制數量的實施例來說明本發明,本領域之熟知技術者將從中知道許多修改及變化。預料所依附的申請專利範圍涵蓋所有這樣的修改及變化如同落在本發明
之真正精神和範圍內。
10‧‧‧管線
12‧‧‧輸入組合器
14‧‧‧頂點渲染器
16‧‧‧外殼渲染器
18‧‧‧細化器
20‧‧‧邊快取查詢/角快取查詢
22‧‧‧邊快取/角快取
26‧‧‧域渲染器
28‧‧‧圖元組合器
700‧‧‧系統
702‧‧‧平台
705‧‧‧晶片組
710‧‧‧處理器
712‧‧‧記憶體
714‧‧‧儲存器
715‧‧‧繪圖子系統
716‧‧‧應用程式
718‧‧‧無線電
720‧‧‧顯示器
722‧‧‧使用者介面
730‧‧‧內容服務裝置
740‧‧‧內容傳送裝置
750‧‧‧導航控制器
760‧‧‧網路
800‧‧‧裝置
802‧‧‧外殼
804‧‧‧顯示器
806‧‧‧輸入/輸出裝置
808‧‧‧天線
812‧‧‧導航特徵
第1圖係依照一實施例之繪圖管線的示意圖;第2圖顯示根據一實施例之左邊的外殼渲染器輸入控制外廓和右邊的外殼渲染器輸出控制外廓;第3圖顯示左邊的與第2圖所示之輸入控制外廓相同的輸入控制外廓但顯示不同的輸出控制外廓;第4圖係根據一實施例之處理器基礎系統的示意圖;及第5圖係根據一實施例之手持裝置的前正面圖。
10‧‧‧管線
12‧‧‧輸入組合器
14‧‧‧頂點渲染器
16‧‧‧外殼渲染器
18‧‧‧細化器
20‧‧‧邊快取查詢/角快取查詢
22‧‧‧邊快取/角快取
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 (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/068076 WO2013101177A1 (en) | 2011-12-30 | 2011-12-30 | Reducing the domain shader/tessellatorinvocations |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201344624A true TW201344624A (zh) | 2013-11-01 |
TWI489412B TWI489412B (zh) | 2015-06-21 |
Family
ID=48698411
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104114061A TWI556191B (zh) | 2011-12-30 | 2012-12-26 | 降低域著色器/細化器的呼用的方法、非暫態電腦可讀媒體及設備 |
TW101150124A TWI489412B (zh) | 2011-12-30 | 2012-12-26 | 降低域著色器/細化器的呼用的方法、非暫態電腦可讀媒體及設備 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104114061A TWI556191B (zh) | 2011-12-30 | 2012-12-26 | 降低域著色器/細化器的呼用的方法、非暫態電腦可讀媒體及設備 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9449420B2 (zh) |
CN (1) | CN104025030B (zh) |
TW (2) | TWI556191B (zh) |
WO (1) | WO2013101177A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160093102A1 (en) * | 2014-09-25 | 2016-03-31 | Peter L. Doyle | Efficient tessellation cache |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08194702A (ja) * | 1995-01-19 | 1996-07-30 | Canon Inc | 情報処理装置及びその文字キャッシュ方法 |
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 |
US7895036B2 (en) | 2003-02-21 | 2011-02-22 | Qnx Software Systems Co. | System for suppressing wind noise |
US8490065B2 (en) * | 2005-10-13 | 2013-07-16 | International Business Machines Corporation | Method and apparatus for software-assisted data cache and prefetch control |
US8482560B2 (en) | 2008-12-31 | 2013-07-09 | Intel Corporation | Image forming techniques |
US20100164954A1 (en) | 2008-12-31 | 2010-07-01 | Sathe Rahul P | Tessellator Whose Tessellation Time Grows Linearly with the Amount of Tessellation |
US8384715B2 (en) * | 2009-04-13 | 2013-02-26 | Microsoft Corporation | View-dependent rendering of parametric surfaces |
US8698802B2 (en) | 2009-10-07 | 2014-04-15 | Nvidia Corporation | Hermite gregory patch for watertight tessellation |
US20110216068A1 (en) * | 2010-03-08 | 2011-09-08 | Sathe Rahul P | Edge processing techniques |
US8144147B2 (en) * | 2010-04-07 | 2012-03-27 | Intel Corporation | Hierarchical bounding of displaced parametric surfaces |
GB201007348D0 (en) * | 2010-04-30 | 2010-06-16 | Imagination Tech Ltd | Programmable tessellation in a tile based rendering system |
CN101963953B (zh) * | 2010-09-08 | 2012-05-23 | 东莞电子科技大学电子信息工程研究院 | 一种移动富媒体播放器的缓存优化方法 |
-
2011
- 2011-12-30 WO PCT/US2011/068076 patent/WO2013101177A1/en active Application Filing
- 2011-12-30 US US13/992,966 patent/US9449420B2/en active Active
- 2011-12-30 CN CN201180076157.7A patent/CN104025030B/zh not_active Expired - Fee Related
-
2012
- 2012-12-26 TW TW104114061A patent/TWI556191B/zh not_active IP Right Cessation
- 2012-12-26 TW TW101150124A patent/TWI489412B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
TW201535313A (zh) | 2015-09-16 |
TWI556191B (zh) | 2016-11-01 |
US20140198120A1 (en) | 2014-07-17 |
US9449420B2 (en) | 2016-09-20 |
WO2013101177A1 (en) | 2013-07-04 |
CN104025030B (zh) | 2017-08-29 |
CN104025030A (zh) | 2014-09-03 |
TWI489412B (zh) | 2015-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110544289B (zh) | 在中排序架构中利用帧间相干性 | |
JP6676703B2 (ja) | 選択的ラスタライゼーション | |
TWI595439B (zh) | 鑲嵌後邊緣快取 | |
TWI582751B (zh) | 避免發送未改變區域至顯示器之技術 | |
TWI559256B (zh) | 藉由合倂自相鄰圖元之片段以減少著色之技術 | |
TWI535277B (zh) | 用於深度緩衝之方法、設備及系統 | |
TWI517086B (zh) | 用於去耦取樣為主描繪管線之低功率質心決定及紋理覆蓋區最佳化 | |
TWI515580B (zh) | 使用成本評估以增進用於影像處理的砌塊描繪效能之技術 | |
TWI615807B (zh) | 用於記錄在輸入幾何物件粒度上的可視度測試之結果的方法、設備及系統 | |
JP2014182831A (ja) | フィルタ・タップを廃棄するテクスチャ・アドレス・モード | |
US9262841B2 (en) | Front to back compositing | |
KR20170005035A (ko) | 깊이 오프셋 압축 기법 | |
TWI489412B (zh) | 降低域著色器/細化器的呼用的方法、非暫態電腦可讀媒體及設備 | |
US20130342553A1 (en) | Texture mapping techniques | |
US20140192051A1 (en) | Offloading Tessellation from a Graphics Processor to a Central Processing Unit | |
US20140028668A1 (en) | Multiple scissor plane registers for rendering image data | |
US9569879B2 (en) | Culling using linear bounds for stochastic rasterization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |