TWI361395B - Components, computer program products and methods for providing intermediate targets in a graphics system - Google Patents
Components, computer program products and methods for providing intermediate targets in a graphics system Download PDFInfo
- Publication number
- TWI361395B TWI361395B TW099132084A TW99132084A TWI361395B TW I361395 B TWI361395 B TW I361395B TW 099132084 A TW099132084 A TW 099132084A TW 99132084 A TW99132084 A TW 99132084A TW I361395 B TWI361395 B TW I361395B
- Authority
- TW
- Taiwan
- Prior art keywords
- program
- computer
- graphics
- mrts
- memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
Description
1361395 六、發明說明: 著作權聲明與許可 本專利文件揭露書的—部份可能包含在著作權法保護下之材料。本著作權 擁有人對於複製再生任何一專利文件或專利揭露書並無異議,當其是出現 在專利與商標局之專利標案或記錄中,否則將保留任何所有之著作權。下 列通知將應用於本文件:著作權@2002年微軟公司。 【發明所屬之技術領域】 本,明疋心用於提供連結電腦圖形之中間記憶體目標的系統及方法。 ^特別疋’本發0祕㈣聽提供朗在連結程序著色則諸如像素與頂點 者色器)之中間記憶體目標的系統及方法。 【先前技術】 一描繪及顯示三維⑽圖形通常係涉及許多計算與電腦作業。例如,描繪 ^ D物件時,會形成—組界定待描繪物件之練點或頂點。頂點可加以 形祕定待齡與細雜縣蚊多邊形。—旦形成界定物件之 二點料職可從-參考之物件或模型視框轉換成—參考之全域視 二可在Γ平面顯示裝置(諸如一發幕)顯示之2-D座標。依此方 1欠接二:胁可視範圍之外頂點可以旋轉、比例縮放、消除或修整、 ^各種^機制絲賴射、加彩色、其财式之轉移著色I描繪及 ..不·物件之程序將會是㈣電職算且可涉及大量之頂點。 =如第! _示,複雜之3七物件或其部份可由代表該3七物件 之相鄰三角形(“一網絡”)之組合、或由二維㈣平面空間的一 表面表示。該網絡可經由三角形之頂點加以確定。可依據-胁數之紋理義射至該表面,以產生—紋理化表面。 如荖“=紋理化之域可為非常通用,且可特定可輸入至轉換機制(諸 著色器程序)之任何型式的令間結果,以產生—與一樣本點有關之最終彩 Γ* , ^} 4 1361395 . 色及/或其他值。 在紋理取樣後,額外的轉換(諸如著色演算法與技藝)可在以—顯 之圖片元件(像素)描繪該影像前,或在將該資料輪出至其他地方用於顯示外 之用途前,視需要應用在該紋理化表面上《在電腦卿中之影像通常 示成- 2-D陣列之離散值(灰階),或成為3組2七陣列之離散值(彩色)。使 用-標準(X,y,z)矩形座標系統,可將-表面明定為各網絡頂點且有一& , y,z)座標之網絡,或為一幾何圖,其中該(x,y,z)座標被訂為:2d(u 座標(或稱為表面參數空間)的一直線影像。 在表面參數空間中之樣本點(其中信號已附接至該表面,包括其幾何形 鲁狀},可從紋理化網絡或幾何圖中產生。這些樣本可使用各種電腦運算加以 轉換與著I在此轉換與著色處理結束後,—樣本點會包括(雜置資訊, 即一指明該點映射在該影像平面位置何處之影像地址,及(b)指明在由該位 置資訊所示位置處之樣本的紋理彩色或灰階資訊。也可以包括其他資料, 諸如允許隱藏表面刪除之樣本點深度、重量或其他可被包括有關該樣本點 之有用資訊。在由一 2-D像素影像空間(X,y)顯示以描繪前,所轉換、紋理 化之表面係置於-視框緩衝器内。在此,如果是一黑/白顯示裝置在2 D 影像空間令各(X,y)像素位置會依據該表面在視框緩衝器中某些功能而指定 • 一灰階值。在一典型彩色顯示裝置中,在2-D影像空間中各(x,y)像素^置 •會被指定紅、綠與藍(RGB)值。應注意除了 RGB外也存在有各種彩色格式。 雖然架構從頭至尾變化,上述整理大量圖形頂點與像素資料之傳播媒介係 習知之圖形管線。 ' 、 過去數年中已見到電腦圖形產業與圖形管線非常驚人之成長量。例 如,這一代之電腦遊戲已經以日漸增加與更實體化之流行式樣朝三維(3心) 圖形邁進β同時,要求的遊戲速度愈來愈快。此組合已激發在相 統中快迷描繪3-D圖形的由衷需求。 、' 早在1970年代’3-D描繪系統已有能力依據參數以描述物件之“外觀”。 這些及其後之方法根據其表面及照明光源之位置與方位,提供一可察覺物 1361395 的=數。因此’物件之外觀可從其計算I參數進_步包括諸如擴 =色、鏡面反射係數、反射彩色、反射比與物件材料之透明度。這些參 數疋總稱為物件之著色參數。 早期m將著色參數視為單—數值而因此錄件之整個表面都 維持固定與—致。往後之系統容許使用在物件各不同部位具有不同值之非 致參數(例如透明度)。二種著名且不同之技藝已被用以描述由這些非一致 參數在物件表面铸錄得讀值:程雜料驗料射。紋理映射是 以像素為架構且與解析度相關的。
—程序性著色說明在任何⑺、2_D與3_D空間點處一材質之外觀,藉由 定義由此空間進人著色參數空間之-魏(通倾為程序性著色♦該物件 係“浸入,,該原始丨-HD與3_D空間而在該物件表面一特定點處之著色參 數值將被"成在此狀程雜著色魏之結果。例如,模擬木材、大理 石或其他枝㈣外觀之程序性著色!開發出且可在文獻中獲知。 在電腦系統中圖形資料之描繪是一資源密集過程的工作。用以決定某 些與圖形資料結構糊之基本值⑽如彩色等)之著色過程(即在成組之特殊 圖形標案結構上施行複雜算之難),繼了此—運算密集與複雜之過 程。大體上著色過程已標準化至某些程度1由將設計為與—料器運作 之來源碼傳至—顧程式巾…著色雜絲該應用程式可產生/使用之物 件’以利於有效轉製複_涵_: 著㈤與像素著色器係此類 著色器之範例。 在其如目前於專用硬體晶片中實施前,頂點與像素著色器有時全部或 大多數疋以軟體程式碼方式實施’且树是以更嚴謹之硬體與祕控制該 硬體之軟_組合m這些實施鱗含有—CPU賴贱職系統 之cpu者。例如,該硬體實施直接將一 CPU晶片整合於其設計中以施行著 色工作所需之處理魏。在-CPU增加該箸色過程(因為一標準處理晶片提 供之功能範圍)許多彈性之同時,併入一 CPU增加了專用著色過程之間接費 用。不具有像今日之硬體工藝時,將是少有選擇的。 1361395 ' 今日,現存先進硬體技術有助於將先前在軟體中實施之功能移至專用 硬體之能力。結果,今日之像素與頂點著色器是以特定與可程式硬體晶片 方式實施。今日像素與頂點著色器晶片之硬體設計是高度特定,而因此不 像以往所實施之CPU硬體的表現。 顯現今日像素與頂點著色器之特定功能之特定3-D圖形API業已研 發。就此而言,一開發者已可將指令下載至一有效程式化該頂點著色器以 施行特定表現之頂點著色器。例如’API顯現與頂點著色器中所增加暫存器 數目有關之功能,如與在一暫存器層面之浮點數目有關之特定頂點著色功 能。此外,將可能施行一造成極快速頂點著色器回到只有部份浮點數目之 ® 指令。各種功能可經由下載這些指令而達成,假設未超過該指令計數該頂 點著色器之限制。 同理,關於像素著色器,特定像素著色功能可經由下載指令至該像素 著色器而達成。例如,可顯現在像素著色器中提供一線性内插機制之功能。 再者,許多不同操作修改器之功能會結合修整適合像素著色器之指令組而 揭示予開發者。例如否定、再映射、偏離與其他功能對許多需求有效率像 素著色之圖形應用程式是極有用的,但因為其是以一單一指令之部份執 ,其最好表示為該指令之修改卜簡言之,上述魏是有利於許多圖形 操作’且從祕研發與改進錢之麟而言,其魏上併人已狀之成組 像素與頂點著色H指令是增加了極大的價值許多魏如此可經由下載這 些指令而達成,假設未超過該像素著色器之該指令計數限制。 2001年3月6日申請,共同受渡審理中美國專利申請案㈣〇1,〇79號 中提供此代表性三維(3-D)API,用於與實施具有區域暫存器之頂點 像,著色器的硬體通信。關於頂點著色器,其中所描述之奶通信可用^ 一晶片上暫存器之指標且AH通信也具有一特定功能(在暫存器層面實 施)’其輸出該部份之輸入。關於像素著色器,通信會具有一特定功能 (也是在暫存器層面實施),其施行一否決、互補、再映射偏離、比例縮放、 浸透。有利的是,必通信揭示非常有用之晶片上演算元件予一開發者,同 7 1361395 時對其隱藏頂點著色器絲素著色^片之操作細節。 =年3月丨日t請,共同受渡審理中美國專辦請案麵1〇79號 ΙίΐίΓΓ1,其揭示獨—演算祕予開發者,供經由—概念上位於軟 機舰用程雜著色器,且使—開發者得以下載指令至 =序ϋ著色器與GPU。例如,此一 3_DAPI可使操作得以下载至一犯晶 片’用於改進效能特徵,3_D奶利闕始處理此可程式功能之切緣 圖H藉由包括在晶聽理之雜與在以記龍之_,以便從 f處理器之處理轉動特形程式碼,以置放此可程式與可下載功能於 :圖形晶片内。此AH使得由開發者所寫之程式化或演算树可下載至該 2 ’據以程式化該晶>{以施行那些在改進效能層面之演算法。有關一開 ,者可撰寫一可下載至該3_D晶片之常式,也有成套之演算元件提供與㈤ Ϊ連結(非由開發者撰寫之常式,而是已經程式化供開發者使用)。同理, 一開發者可下載這些預先包裝之API演算法至供改進效能之—可程式3 d 晶片。下載3-D演算元件之能力提做進效能、較多控制且易於開發。 因此’導入可程式操作至-每頂點與每像素基礎已在今日圖形硬體上 2泛散播。這種通用之可程式能力提供在漸增效能之層面麟複雜創作性 决算法的莫大職ϋ,對於可達朗會有些聞。通常,現今頂點與 像素著色器處之描繪管線(如第2Α圖所示),—幾何_f料流咖將會輸 入頂點著色器200以施行該等頂點之-些操作’隨後一點陣轉換器21〇該 幾何資料點陣轉換成像素資料、輸出-像素資料流spD卜繼著色器如二 可接收程式化該頂點著色器200以施行特定功能之指令。同理,一像素著 色器200視需要可對該資料施行-或多數之轉換而輪出輸出一像素資料流 咖2。像素著色器22〇也可接收程式化像素著色器22〇⑽行特定功能之 指令,但在該像素著色器指令之大小與複雜性上有些限制。因此,對八曰 之API與相關硬體的-限制在於大多數之硬體具有極受限制之指令計^。 此受限之指令計數阻止由關發者使用API實施-些非f複雜之演算法。 此外’現行之可喊硬體·在分_式間交㈣料具轉常侷限之機 t S) 8 1361395 •制,即一第一像素著色器程式無法再使用從-第二像素著色器輪出之資料。 此外,如第2A圖所示,一像素通常可視為在影像空間之2 d網格中的 -點’其具有相關之灰階值或彩色值;然而現代圖形法將找像素引擎管 線中之一像素視為有關在任何2-D陣列之一點的任何聚集資料,不論其是 否與-顯示影像有關。例如’雖絲2A圖示範-像素具有—堆紅色、3 綠色與-堆藍色,此並非必須,且任何之堆數與相關值均可成為—像素。 如此在產生像素資料之2-D陣列上有相當大之彈性,其可包括用於照明效 果、重S、z-緩衝器資訊等之參數值。今日圖形管線之一(如第圖所示), 是有關可輸出那些分離像素組之彈性。雖然像素引擎23〇具有輸出任何種 鲁類像素資料之能力,即當作輸出而流動之像素PI、P2、P3、至pN對界 定該像素P卜P2、P3、P4至PN之堆的種類與數目可具有相當大彈性,ρι、 P2、P3、P4至PN仍然必須為相同之堆。因此如果ρι包括R、G、b資料, P2、P3、P4至PN也是如此,且因此不具有彈性以界定不同組輸出像素資 料’其中-些可側於照明且—些可僅用於純。再者現拥於描繪目 標之解析度是依據點陣轉換過程而預設,即該描緣過程推導出可置放在一 描繪目標中之樣本數量,且如此將需求可變化地控制一描繪目標之解析 ' 度,即可連結一描繪目標而儲存之樣本數量。 龜 因此將會需求實施可克服目前結合現今圖形管線架構之可程式能力的 •缺點、因為指令計數限制而限制其輸出之型式,及在程式間缺乏共享資料 之系統與方法。 【發明内容】 依據以上湖,本發_示系統與方法,用於提供連結電齡統中電 腦圖形之巾間目標。在各種具體實細巾,本發明提供及使用在視頻記憶 體中之中間記憶緩衝器’以允許來自圖形奶之系列化程式支援超過單一 程式程雜著色器之指令限制的演算法。該_間緩衝器也可允許與其他用 途之程式同時共享資料’且係可自動地存取。緩衝器之大小(即健存在中間 1361395 目標之資料量)可依與該圖形資料有關之解析度量之變化而可改變地設定。 就此而言,一單一程式產生之中間資料視需要時可由該相同程式的延伸及/ 或任何數目之其他程式一用再用,使得相當大彈性與複雜性之著色程式具 有可行性,同時能維持現代圖形晶片之速度。 本發明之其他特色與具體實施例描述於下。 【實施方式】 依據以上說明’本發明能使多個中間目標以著色語言(例如低階著色語 ♦言)循環使用,其使-開發者得以程式化程序性著色器之功能。未具有^ 核明之再循環中間目標之圖形平台會受限於在每一像素與每一頂點層面 操作之程式的大小與複雜性。本發明之系統與方法使得產生之高階語言能 夠抽取與簡要使用結合一通常可程式圖形管線發展之該可程式能力。本發 明也可用以產生允許使用硬體加速非即時描緣之虛擬未限制長度程式。缓 衝器之大小(即儲存在中間目標之資料量)可依與該圖形資料有關之解析度 之變化量破變設t依據本發於非即時鱗顧程式之雜制硬體 :加速再循環之可用性,因此增加了一圖形平台之速度與效能。 代表性網路與分散環境 熟%先則技藝之人士絲解—電腦或其他用戶端與伺服器裝置可配 置為-電腦網路的部份,或位於—分散式電腦環境卜就此而言,本發明 有關可結合本剌中間記憶體目標使用之具有任何數目的記憶體或儲存單 ^任,電«統’與橫跨姉數量之婦單元絲積發生之购數目的 應用程式與程序。本發啊綱於—具有配置在— 環境中之刪電腦與用戶端電腦之環境(具有遠端或區域性儲存= ==:ΓΓ電腦裝置,其具有程式化語言功能、用於連接遠端 或£域_務以產生、接收與傳輸f訊之演譯與執行能力。 S1 10 1361395 - 分散^電腦舰可藉纟在電職置齡、關直接交換而共享電腦資源 >、服務。這些資源與服務包括交換資訊、快取儲存與檔案之磁碟儲存。分 散式電腦利用網路連接性,允許用戶端運用其聚集之力量使整個企業受 惠。據此,各種裂置可具有包含本發明中間記憶體目標之應用程式物件 或資源。 第3A圖提供-代表性網路或分散式電腦環境之概略圖式。該分散式電 腦環境至少包含電腦物件10a、1〇b等與電腦物件或裝置_ ' 等。^•些物#可至少包含程式、方法、資料儲存、可程式邏輯等。該物件 可至少包含相同或不置之部份,諸如PDA、電視、刪隨身聽、個人 籲電?等。各物件可藉由通信網路Μ與其他物件通信。此網路本身可至少包 含提供服務予第3Α圖之系統的其他電腦物件與電腦裝置。依據本發明的一 特點’各物件1〇a、10b等或110a、11〇b、u〇c等可含有可使用一奶之應 用程式(或其他物件)而需求使用本發明之中間記憶體目標。 在-分散式電腦架射,傳統上被單_侧戶端之該等電腦可在其 中直接相互通信且可兼具用戶端與⑮㈣之角酿設何翻色對該網路而 吕最有效率)。此可減低仙願上之貞荷且料所有用戶端可存取在其他 用戶端上可狀資源’據以增加整侧路之能力與鱗。如此,依據本發 明使用中間目標之服務可分散於用戶端與伺服器間以對網路最有效率之 •方式運作。 分散式電腦有助於使商業遞送服務與能力更有效地跨過各種地形疆 2。再者’分散式電腦可將資料移至更靠近以具有網路快取記憶機制功能 耗用資料之點。分散式電腦同時容許電腦網路動態地使用智慧型代理程式 -起運作。代理程式駐留在同級電腦上且將各種資訊來回地傳送。代理程 式也可起動代表其他同級電腦之工作。例如,智慧型代理程式可用以排定 在網路上工作的優練、改魏信_、局部地搜尋齡或決定不符合規 則之订為(諸如病毒)並在其影響該網路前加以阻止。同時,可預期所有其他 種類之服務。由於_物件、紋理圖、著色麟等實f上可實體地位於一 11 1361395 *或夕數位置’分散使用本麵述巾間目標之服務的能力在此-系统係極且 使用性》 同時應瞭解諸如ll〇c的一物件可寄生在另一電腦裝置1〇a' 1〇b等或 110a、11Gb等上。因此,賴例示之實體環境可能會顯示已連接如電腦之 裝置’此tf範僅雜表性且可替代性軸示或說明該實體環境至少包含諸 如PDA、電視、MP3隨身聽等各種數位裝置及諸如介面、c〇M物件與 其類似等軟體物件》 〃 會有一些支援分散式電腦環境之系統、組件與網路組態。例如,可藉 由有線或無線系統及藉由區域或廣域分散式網路將電腦系統連接在一起。 •目别許多網路會福合至網際網路,其提供用於廣泛分赋電腦之基礎建設 且包含許多不同之網路。 ° 在家用網路環境中’有至少四種各支持一獨特通信協定的不同網路傳 輸媒體,諸如電源線、資料(無線與有線)、聲音(如電話)與娛樂媒體。大多 數家用控制裝置(諸如燈光開關與家電用品)是使用電源線連接。資料服務可 用寬頻(如DSL或電纜數據機中任一)進入家中且可使用無線(如HomeRP或 8〇2.11b)或有線(如家用pNA、Cat5、甚至電源線)連接^聲音交流可以有線(如 Cat3)或無線(如蜂巢式電話)進入家中且可使用Cat3配線分散於家中。娛樂 =體或其他圖形資料可經由衛星或電纜進入家中,且通常是使用同軸電纜 分散於家中。IEEE1394與DVI也可現身作為媒體裝置之群組的數位内部連 線。所有這些網路環境及其他可作為通信協定標準者可經内部連接,以形 成一可藉由網際網路方式連接至外界之内部網路。簡言之,存在各種不同 來源用於儲存與傳輸資料且因此,電腦裝置將會需要共享資料之方式,諸 如隨著依據本發明使用中間目標之程式物件所存取或使用之資料。 網際網路通常是指使用TCP/IP通信協定之網路與閘道的集合,其係習 知之電腦網路技藝。TCP/IP是“傳輸控制通信協定/介面程式,,之縮寫字。網 際網路可描述為地理上分散之遠端電腦網路的一系統,藉由容許使用者透 過網路互動與共享資訊之電腦執行網路化之通信協定互連。因為此類廣泛 12 1361395 • 傳播之資訊共享,諸如網際網路之遠端網路迄今已大體上演化成一開放性 系統’使開發者可實質上無限制地設計軟體應用程式用於施行特定操作或 服務。 因此,網路基礎建設使一主要網路拓樸諸如用戶端/伺服器、對等式或 混合架構可行。“用戶端,’是指使用與其無關聯之另一等級與群之服務的一等 級或群中之一員。因此,在電腦運作中,一用戶是一個程序,即約略是一 組要求另一程式提供服務之指令或工作。該用戶端程序使用所要求之服務 而無須“了解”有關其他程式之工作細節或該服務本身。在一用戶端/伺服器 架構中(特別是一網路系統),用戶端通常是一取得由另一電腦(如一伺服器) φ 提供共旱網路資源的電腦。在第3A圖之範例中,電腦ii〇a、ii〇b等可視 為用戶端,而電腦l〇a、10b等可視為伺服器,其中伺服器1〇a、1〇b等維持 該資料而後複製於電腦ll〇a、ll〇b等中。 伺服器通常是一可透過諸如網際網路之遠端網路存取之遠端電腦系 統。該用戶端序可在一第一電腦系統中活動,而該伺服器程序可在一第二 電腦系統中活動,透過一通信媒體彼此通信,如此提供分散式功能且容許 多數用戶端利用到該伺服器累積資源之能力 用戶端與伺服器使用一通信協定層提供之功能相互通信。例如,超文 字通信協定(HTTP)是一用以結合全球資訊網(WWW)之通用協定。通常一諸 鲁如統一資源定位器(URL)或網際網路通信協定(IP)地址之電腦網路地址是供 伺服器與用戶端電腦用以相互識別。網路地址可稱為一 URL地址。例如, 可透過一通信媒體提供通信。特別是,用戶端與伺服器可經由用於高容量 通信之TCP/IP連接加以輕合。 因此,第3A圖顯示一代表性網路化或分散式環境,一伺服器經由一網 路/匯流排與用戶端電腦通信,其中可使用本發明。更詳細說明的是,依據 本發明,一些伺服器l〇a、l〇b等是經由網路/匯流排14(諸如一 LAN、WAN、 内部網路、網際網路等)與一些用戶端或遠端電腦裝置11〇a、11〇b、11〇c、 110d、ll〇e等(諸如可攜式電腦、手持電腦、精簡型用戶端、網路化家電用 13 1361395 - 品)或其他裝置(諸如VCR、電視、烤箱燈、加熱器與其類似者)互連。如此 預期本發明可細於任何與需求處理娜物件者相關之電腦裝置。 在通信網路/匯流排14是一網際網路之網路環境中,例如伺服器10a、 1〇b等可為與用戶端應、110b、110c、ii〇d、ll〇e等經由任何—些習知 k協定(如HTTP)通信之網路伺服器。祠服器1〇a、⑽等也可具有如用戶端 ll〇a、11Gb、、腿、11Ge等在—分散式制環境内之通信視 情形可為有線或無線。用戶端110a、腿、u〇c、疆、施等可以/也可 不經由通信網路/匯流排14進行通信,且可和與其相關者單獨通信。例如, 在TV或VCR的情況下,可以或不以網路化方式加以控制。每一個用戶端 馨ll〇a、110b、ll〇c、ll〇d、ll〇e等與舰器1〇a、1〇b等可配備各種應用程 式模組或· 135,且可連賊進人各種赋之贿元件雜件,橫跨其所 儲存之槽案或可下載或遷移之部錄案^依縣個,任何伽、⑽、 ll〇a、ll〇b、ll〇c、ll〇d等均可負責維持與更新一資料庫2〇或其他儲存元 件(諸如祕齡麟本發明處理之_物件或巾湖形物件或資料的一資 料庫或記憶體2〇)。因此’本發明可使用於一電腦環境内,其具有可存取及 與一電腦網路/匯流排Η互動之用戶端電腦職、議等及可與用戶端 服、腿等及其他類似裝置互動之舰器電腦⑽、⑽等,及詩庫2〇。 •代表性電腦裝置 第3B圖與以下是希望提供可適於施行本發明之電腦環境的簡要 說明。然而應瞭解,預期該手持、可揭式與並他各式電腦裝置與電腦物件 可與本發縣合·。雖触下是财_型電腦,此僅是—範例且本 發明可以-具有網路/匯流排相互運作能力與互動之精簡型用户端施行。因 此’本發明可施行在-以網路為主要服務之環境中,其中只包含極少數或 最低之用戶端資源’如在該用戶端只具有為該網路/匯流排介面之功能的一 網路化環境中,諸如在-家電用品内之物件。實質上任何可儲存資料或 可榻取資料之處’均會是-操作本發明之圖形管線技藝的符合需求、適當 1361395 - 之環境。 雖然非必須,本發明可藉由一裝置或物件之服務的開發者經一作業系 統而施行’及/或在連結本個之巾間目標操作之程絲^本發明也 包含項點著色器與像素著色器之設計,以便與本發明之中間目標互動。軟 體可在由-或多數電腦(諸如用戶端工作站、飼服器或其他裝置)執行之電腦 可執仃指令(諸如程式模組)的一般上下文中加以描述。大體上,程式模組包 括施行特定工作或實施特定抽象資料型式之常式、程式、物件、組件、資 料結構與其他類似者。通常,在各種具體實施例中該等程式模組可視需要 加以組合或分散。再者,熟知此項技藝人員應瞭解本發明可以其他電腦系 籲統組態施行。其他習知電腦系统 '環境及/或組態均可適用於本發明,包括 但不限於個人賴(PC)、自紐員機、舰n電腦、手賊膝上型裝置多 重微處理器系統、以微處理器為架構之系統、可程式消費者電子裝置、網 路pc、家電用品、燈、環境控制元件、迷你型電腦、主機型電腦與其類似 物。本發明也可實現於工作是藉由經一通信網路墙流排或其他資料傳輸媒 體連結之遠端處理裝置施行的分散式電腦環境。在一分散式電腦環境中, 程式模組可位於包括記麵儲存裝置之區域與遠端電腦儲存舰中,且用 戶端節點可表現如伺服器節點。 、第3B®因此示範可實施本發明的-適用電腦系統環境!00之範例,雖 然以上已明不’該電腦系統環境1〇〇僅是一適用電腦環境之一範例,且不 希望使人聯想到任何對本發a月使用或功能的限制。同時不希望電腦環境⑽ 被解讀為躲代祕猶_ 1GQ t所雜德件具紐難或必需性。 請參考第犯圖’用以實施本發明的一代表性系統包跡電腦ιι〇型式 之一通用型電腦。電腦11G之組件可包括(但不限於)—處理單元12〇、一系 統記憶體130及-將包括系統記憶體之各種系統組件賴合至處理單元12〇 之系統匯流排121。系統匯流排121可為數種型式匯流排結構中任一種包 記憶體匯流排或記憶體控制器、—周邊雖排與—制任何一種匯流 排結構之區域匯流排。藉由實例說明而非限制,此架構包括工業標準架構 15 1361395 ._)匯流排、微通道架構(MCA)匯流排、增強工業標準架構卿A)匯流 排、視頻電子標準協會(VESA)區域隨排、與週邊组件内部連線卿)匯流 排(亦稱為Mezzanine匯流排)。 電腦110通常包括各種電腦可讀雜。電腦可讀媒體可為能由電腦11〇 存取之任何可用媒體’且同時包括揮發性與非揮發性、可移與不可移媒體。 以實例說明(而非限制),電腦可讀媒體至少包含電腦儲存媒體與通信媒體。 電腦儲存媒體包括揮發性與非揮發性、可移與不可移媒體,可以任何用於 儲存諸如電腦可讀指令、資料結構、程式模組或其他龍之資訊的方法或 技術施行。電腦館存媒體包括(但不限於)RAM、R0M、EEPR0M、快閃記 _憶卡或其他記憶體技術,CDROM、數位視頻碟片(dvd)或其他光碟儲存、 磁卡匿、磁帶、磁碟儲存或其他磁性儲存裝置、或任何其他可用以儲存需 求資訊與可由電腦110存取之媒體。通信媒體通常包括電腦可讀指令資 料結構、程式模組或在調變資料信號(諸如載波或其他傳輸機構)内之其他資 料,且包括任何資訊傳遞媒體。“調變資料信號”一詞意指一信號具有能經設 定或改變之一或多數特徵,以便將資訊編碼在該信號中。舉例而言(而非限 制),通信媒體包括有線媒體(諸如有線網路或直接佈線連接)與無線媒體(諸 如音頻、射頻、紅外線及其他無線媒體)。以上之任何組合也包括在電腦可 讀媒體之範疇。 ^ 系統記憶體130之電腦儲存媒體型式包括揮發性及/或非揮發性記憶 體’諸如隨機存取記憶體(RAM)132與唯讀記憶體(ROM)13卜含有可協: 在電腦110内之元件間傳送資訊(諸如在開機期間)之基本常式的—基本輸入 /輸出系統(BIOS)通常係儲存於ROM 131内。RAM 132通常含有可由處理 單元120立即存取及/或目前正在其上操作之資料及/或程式模組。舉例而言 (而非限制)’第3B圖示範作業系統134、應用程式135、其他程式模組136 與程式資料137。 電腦110也可包括其他可移/不可移、揮發性/非揮發性媒體。舉例而言 (而非限制),第3B圖示範一讀自或寫至一不可移、非揮發性磁性媒體的一 16 1361395 ,碟驅動器⑷、-用於讀自與寫至—可移、非揮發性磁碟i52之磁碟驅動
用於讀自與寫至—可移、非揮發式光碟156(諸如—C_M 體)之光碟驅動器155。其他可用於該代表性操作環境中之可 移/不可移、揮發,_揮發性鶴__包括(但不限於)磁帶计 =憶卡、數位視頻碟片、數位錄影帶、固態戰、固態職與其他= 物:該硬碟驅 Mi通常是軸—如介面⑽之不可移記隨介面連接 至系統匯流排121,而磁碟驅動器151與光碟驅動器155通常是藉由一 面150之可移式記憶體介面連接至系統匯流排121。 ' 以上討論與示範於第3B圖中之驅動器及其相關電腦儲存媒體提 腦no之電腦可讀指令、資料結構、程式模組或其他資料的儲存。在第犯 圖中(例如)’所示之硬碟驅動!|⑷是作為儲存作業系统⑷、應用程式 145、其他程式模組146與程式資料147。請注意這些組件可與作業系統 134、應用程式135、其他程式模組1S6與程式資料⑺相同或不同。在此 給予不同數字之作業系統M4、應用程式145、其他程式模組146與程式資 料I47 ’是用以示範(最舰度)其等是不同之版本。一使用者可將命令與資 訊經由輸人裝置(諸如_ 162與—般稱為滑鼠、獅球_觀之點取裝 置161)輸入電腦11〇〇其他輸入裝置(未顯示)可包括一麥克風搖桿、遊戲 墊、萬用碟、掃描器或其類似物。這些與其他輸入裝置通常經由一耦合至 系統匯流排121之使用者輸入介面16〇連接至處理單元12〇,但也可藉由其 他介面與匯流排(諸如一平行連接埠、遊戲連接埠、統一串列匯流排(USB)) 連接。一圖形介面182(諸如北橋,Northbridge)也可連接至系統匯流排121。 北橋是一可與CPU或主處理單元120通信之晶片組,且假設負責與圖形加 速卡(AGP)通信。一或多數個圖形處理單元(Gpu^184可與圖形介面ι82通 信。據此’ GPU 184大體上包括晶片上記憶體儲存(諸如暫存器儲存)且Gpu 184與一會實施本發明之視頻記憶體晰通信。然而Gpu 184只是協同處 理器的一範例且因此在電腦110中可包括各種協同處理器裝置,且可包括 各種程序性著色器,諸如像素與頂點著色器。一螢幕191或其他型式之顯 17 1361395 示裝置也可經由一介面(諸如一視頻介面190)連接至系統匯流排121,而後 與視頻記憶體186通信。除螢幕191外,電腦通常也包括其他周邊輸出裝 置,諸如喇叭197與列表機196可經由一周邊輸出介面195連接。 電腦110可在一使用邏輯連接至一或多數遠端電腦(諸如一遠端電腦 180)之網路化或分散式環境中運作。遠端電腦180可以是一伺服器、一路由 器、一網路PC、一同級裝置或其他共用網路節點,且通常包括許多或所有 上述與電腦110有關之元件(雖然第3B圖中只示範一記憶體儲存裝置 181)。第3B圖中例示之邏輯連接包括一區域網路(LAN)172與一廣域網路 (WAN)173,但也可包括其他網路/匯流排。此網路化環境係位於家中、辦公
至、泛企業電腦網路、内部網路與網際網路中之共用處所。 當使用在區域網路化環境中時,電腦11〇係經由一網路介面或適配器 170連接至區域網路171。當在廣域網路環境中使用時,電腦11〇通常包括 一數據機172或其他用於透過廣域網路173(諸如網際網路)建立通信的構 件。數據機172(内建或外接式)係經由使用者輸入介面16〇或其他適當機制 連接至系統匯流排121。在一網路化環境中,所顯示連接至個人電腦ιι〇之 程式模組或其部份,可儲存於遠端記憶體儲存裝置中。藉由舉例(而非限 制),第3B ®顯示遠端應用程式⑻係駐留在憶體裝置181上。應瞭解所 顯示之網路連接是代表性’且其他在電關建立—通信鏈結之其他構件 可使用。 代表性分散式電瑙框架或架構 根據個人無_路之聚合,各種分散式電腦㈣#已或正開發 中°個人與產紐用者囉設置有-無線之可崎運作及網路可用介面, 用於應用程式與電職置’使電腦活動日漸使賴路難器或網路導向。 例如微軟(MICROSOFT©)之.NET平台包括伺服器、區塊建立服務,諸 如網路架構資_存與可下餘務健。大體而言,該删^平台提供⑴ 使電腦裝4之整健圍―起運狀能力且自動更難用者資訊與使其全部 18 置之互_,使雜_觀« , (3) 務至使用者mtttl務錄—管理各魏狀f央起触㈣產品與服 =====,或軟;諸如0·_,⑷會增加效率且易 师取貢訊之中央資科儲存,及在使用者與裝置 如件:真_之能力,幡於_,2生 他跨平台整合瓣。峨》蝴蝴㈣目及⑺許多其 雖穌文中之代表性具體實施例是以結合駐留在—電職置上之軟體 發明的—或多數部份可經由一作業系統、應用程式介面_ 與議制之“中介者,,物件來實施.可控制之紋 及/装^=财之語言或服務支援或可經由其全部存取而施行, =其^散式電腦框架中施行。此外,本發明另-特點在於中間目標本 犬疋似憶體中’以及圖形架構容許程序性著色器從处1接收程 式,而後將其翻譯成各種中間目標。 多重中間目標循環 ㈣系統與方法使得產生之高階語言賴抽取與簡要使用結合一 蓺二式圖形管線發展之該可程式能力。本發明因此使得一容許圖形技 :之較廣泛細_由綱發者表達,域由_硬體錄高效能水準實 舍有依ί本發明之再循環中間目標的圖形平台,從效能觀點而言, 素與每頂點層面運作之程式大小與複雜性,其中額外之 韓触結果。例如,—些實絲果之程式或類似 卢具有本發日㈣被_為非即時®形,目為所涉及程式之複離 如第4騎不’—相當複雜之著色^程式SP舰所涉及硬 主處理器指令限制’且目此未受㈣於本發狀開發者會讓 I、’其對於即時需求而言將可能不夠快。經由使用中間 1361395 目標MRT1與MRT2(其依據本發明可具有可變化之大小),開發者可實際上 將程式SP分成SPP卜SPP2與SPP3,全都不超過該硬體之指令限制,但藉 由輪出與再使財間結果可聚合施行sp之功能^例如,sppi將中間結果 輪出至作為程式部份SPP2的一輪入之中間目標,其接著將中間結果 輪出至作為程式部份SPP 3的一輪入之中間目標廳2,其接著輸出該需求 之已轉換資料。本發明因此可用以產生一允許使用硬體加速之非即時描繪 的虛捷未限制長度。依據本發明帛於非即時描纟t應帛之非限制硬體加 逮再循環之可行性,可增加一圖形平台之速度與效能。 匕再者,不限次數再循環MRT内之資料至任何程式當作為輸入之能力即 心疊代操作’與再使用巾間資料而無須重新計數可由任何程式達成。再進 步’在中間目標内之資料會由開發者設定,使得娜们可包括藍綠、 紅彩色資料’❿MRT2可包括與彩色完全域之料,如該諸可能只有 關位置之複數函數或重量。_如上述,緩衝器之大小(即儲存在中間目標 之資料莖)可視依圖形資料之解析度變化量而可變化地設定。 如在本文中之使用,本發明之多重再循環目標_τ)是用作緩衝器之紋 理。該緩衝11可_賴人至簡出自-般簡“像素著⑽,,之每像素程 式。-單-騎著色n程式可從魏理型式之任他量的這些應同時輸 入’同時輸丨至呈現為财目標往何數量的其他MRT些不同緩衝器 之數目只受限於硬體、視頻記憶體大小,且因此這些緩衝器可以是相當多 的。 本發明之代表性組件包括:⑴具有取樣_且輸出至多數财目標(除 了至最終選擇性視框緩衝輸出外)之能力,及(2)再循環緩衝器,可被結合至 該像素著色H程式作純出之描緣目標或輸人之紋理。 非限制性具體實施例 以下是使壯述本發明之組件_限舰健倾。就細言,本發 明以至少二種型式表達MRT以適應硬體之變化。該實施包括稱為順型 20 1361395 :式的—型。該贿型式是—較簡賴。在ΜΒΤ 之清七該中間四組件輸出大體上與一以 器程式所表達之技藝最有利 i二表面了針對各彩色元件’以對該像素著色 的方式而在格式上加以變化。
非限制性MET API 盘-V 2 :必之用途,傳統紋理可視為—單—元件紋理,使得該應用 程^夠同時從像素著色器寫至一紋理之多數元件以致在下一個描_ 鲁程I應用程式可使用-或多數個這些元件作為一單一元件紋理即作為 像素著色器之輸入。這些額外元件可被視為供暫時儲存待由該應用程式在 後續過程中使用之中間結果。 MET之代表性無限制使用是由第5圖之虛擬程式碼流程圖。在5〇〇, -應用程式藉由檢查MET格式之可用性而尋找中間目標之支援。在51〇, 該應用程式藉由調用- CreateSurface功能而產生met表面。在52〇,該應 用程式經由賴_ SetRendeiTarget雜設定—met作為—①疏❿辦。 該像素著色器230使用一移動指令輸出至該表面。在53〇,一 SetTexture功 能經調肋設定-MET表©至-特定站。如同其他紋理,相同表面可一次 譬被設定至多數站。在540,- SetSamplerState功能被調用,以便將一 D3DAMP_ELEMENTINDEX變數設定為來自該取樣器樣本之施丁紋理中 之該適S元件數目’藉以使該取樣狀悲之既定值為〇,意即將無met紋理 會作用。一 ValidateDevice功能調用會提報此狀態之設定為—不適當數字, 如該MET只是2元件寬,但取樣器則要求從第4元件取樣。 以下為支援MET特色的一非限制性API。有以下所示的表面格式以表 達格式之交錯。 //該介面卡可支援之交錯表面格式 D3DFMT_MUUTI2—ARGB8=MAKEFOURCC(‘M’,’E’,,T,,,1,), 21 1361395 . D3DFMT—MUUTI4_ARGB8=MAKEFOURCC(‘MVE,,’T’,’2,),
//指出要拾取何元件之取樣器狀態 D3DSAMP_ELEMENTINDEX //描繪器狀態 //D3DRS_COLORWRITEENABLE應用至描繪目標(或元件)0 〇 D3DRS—COLORWRITEENABLE1 D3DRS 一 COLORWRITEENABLE2 • D3DRS_COLORWRITEENABLE3 //選擇性裝置特定覆蓋 D3DPMISCCAPS_INDEPENDENTWRITEMASKS// 為真’如果裝置可支 援獨立寫入遮罩
無限制多數描綸目標(MRTUPI 許多實施可支援較少限制型式之MET,在本文中稱為mrt。此一放寬 是具有多數可獨立產生之描繪目標的能力。這些圖形描繪可具有不同格 * 式。目前’一些3-D圖形支援一可經由該預先存在之SetRenderTargetAPI 設定之單一圖形描繪目標。依據本發明,此APj輸入點已經擴展以允許多 數描繪目標同時出現在裝置中。一個新的覆蓋會表達此能力。 以下oCn暫存器代表一 met紋理之不同元件:(a) 〇c〇 :彩色〇(元件 〇) ’(b) oCl :彩色1(元件1),(c) oC2 :彩色2(元件2),⑷〇C3 :彩色3(元 件3),(e) oDepth .針對深度模版緩衝器之深度測試的新深度值。可使用一 移動指令寫至oCx暫存器。 MRTAPI之代表性非限制性虛擬程式碼如下: IDdirect3DDdevice9::SetRenderTarget(DWORDRenderTargetIndex, 22 1361395 IDirect3Dsurface9* pRenderTarget); IDdirect3DDdevice9: :GetRenderTarget(DWORD RenderTargetIndex, IDdirect3Dsurface9** ppRenderTarget) i //裝置特定覆蓋 D3DCAPS9.NumSimultaneousRTs//除了可支援此特徵外為1。永不為〇 //移動指令 Move:mov 權杖格式:lopcode權杖-D3DSIO_MOV(指令長度攔設為:2) 1目標權杖 1來源權杖 指令:mov[_sat]dst[.mask],[-]srcO[.swizzle]
以下包括一泛組件移動之代表性虛擬程式碼說明: 操作:dst=srcO dst 可為 r#/〇c#/〇Depth srcO 可為 r#/c#/v#/t# 中間目標之代表性用法 第6 ®顯示在具有本發.巾間目標下, ::::=前之像素__的是 用。例如,像 =二之存資:素可無R_被保留,咖 中。像素pw至PX可儲二像素之R、G與B值且被置於中間目標 可儲存某些其他中間心=被置於中間目標1T2,且像素py至 ,果且破置於中間目標ΙΤ3中。在各中間目標m、 23 1361395 - 與1T3中之資料可由相同或不同程式或其程式之部份再使用,如此可達到 各種複雜著色效果。包括一頂點著色器與一像素著色器之硬體(如圖形晶 片)’依據該開發器之規格經由Apj輸出至或輸入自該中間目標。 至於可依據本發明達成較複雜操作之一範例,第7圖示範一已存留一 些時間之中間目標]V[RH,且被要求成為一第一程式Passi(其將MRTi用作 輸入而後輸出中間目標MRT2)的一輸入。之後或之前,程式PasS2將MRT1 用作一輸入而後輸出中間目標MRT3。此外,程式Pass3輸出中間目標 而無輸入。最後程式Pass4施行一些操作將mrd、MRT3與MRT4當作輪 入至該硬體。使用數個MRT以允許數個像素程式以一更複雜方式共享中間 • 資料。此驗證了 MRT壽限是完全可由開發者控制。 換句話說,程式起自Passl。資料是讀自MRT1(其係由一些其他程式在 先前產生)。Passl執行一些程式化演算法而後產生。Pass2再度使用 MRT1且施行一不同演算法以產生。程式pags3經演算以產生MR” 而無輸入。Pass4(最後過程)從MRT2、MRT3與MRT4將資料組合而最後放 射該正確彩色資料至視框緩衝器,可達到一比以往先前技藝中圖形硬體受 到限制時更複雜之著色效果。 有許多方式來實施本發明。其一方式是提供一種實施,其中協同處理 器(如GPU)是經預先製造以施行本發明之功能,且接收適用於如本文描述 * 之多重中間目標的命令。本發明另一實施包括一適當之API、工具套件、驅 動器程式碼、作業系統、單獨或可下載軟體物件等,其允許應用程式與服 務使用中間目標以達到更複雜之功能。本發明預期是從APR或其他軟體物 件)、圖形晶片與視頻記憶體之觀點使用本發明。因此,本文中描述之本發 明各種實施具有全部以硬體、部份以硬體與部份以軟體以及軟體之觀點。 如上述,雖然本發明之代表性具體實施例是結合各種電腦裝置與網路 架構加以說明,以下觀念可被應用至任何電腦裝置或系統,其中需求以以 較不瑣碎之方式以程式化程序性著色器。因此,依據本發明用於提供程序 性著色器之改進可程式能力的技藝可應用至各種應用程式與裝置。例如, 24 1361395 本發月之/寅算法與硬體實施可應用於—電腦裝置之作業系統,提供作為裝 置上的刀離物件、作為另一物件、作為來自於飼服器的一可下載物件、 作為介於-裝置或物件與網路間的―“中介者,,、作為—分散式物件作為 硬體、在記憶财及任何前述之組合等。賴本文巾之代表性程式語言、 名稱與範例是被選為各種選擇之代表,這些語言、名稱與範例並不希望是 -種限制。熟習先前技藝人士將瞭解有許多提供目的程式碼可由本發明之 API達到相同、類似或等效功能之方式。 入在此描述之各種技藝可結合硬體或軟體或(在適當時)以該二者的一組 合來實施。因此’本發明之方法與設備(或其某些特點或部份)可採取包含在 籲-實體媒體(諸如軟碟、CD-ROM、硬碟或任何機器可讀儲存媒體)中之程式 碼的型式,其中當該程式碼被載入一機器(諸如一電腦)而執行時該機器即 成為用於實現本發明的一設備。如果程式碼是在可程式電腦上執行,該電 腦裝置大體上會包括-處理器、一由該處理器可讀之儲存媒體(包括揮發性 與非揮發性記得體及/或儲存元件)、至少一輸入裝置與至少一輸出裝置。可 使用本發明之中間目標功能(如經由使用一資料處理API或其類似者)的一 或多數程式,最好以一高層面程序性或物件導向程式語言實施以便與一 電腦系統通信。然而,該等程式視需要可以組合或機器語言實施。無論如 ^ 何,該語言可為一經編譯或經解釋之語言,且與硬體組合實施。 本發明之方法與設備也可經由包含在透過某些傳輸媒體(諸如透過電性 導線或纜線、通過光纖或經由任何其他型式之傳輸)傳遞之程式碼型式中之 通信而實現,其中當該程式碼被接收而載入且由一機器(諸如一 EpR〇M、 -閘陣列、—可程式邏輯裝置(PLD)、一用戶端電腦、—視鱗職或其類 似者、或一具有如以上代表性具體實施例所描述之信號處理能力的接收機 器)執行時,該機器即成為用於實現本發明的一設備。當在一通用電腦上實 施時’該程式碼會結合該處理器以提供一運作以受助於本發明功能之獨一 設備。此外,任何用以結合本發明功能之儲存技藝必然是硬體與軟體的一 組合、 25 1J01395 雖然本伽是結合各_態之較佳具體實施修^朗,應 用其他類似具體實施例或可對所描述之具體實施例加以修改與増加 =行本發軸輸__她。·,_她 路 ,以一網路化環境之文字加以描述(諸如一對— 項技β人士應_本發料纽於此,私本發㈣請針描述之方法, 可應用至任何電腦裝置或魏(諸如—遊戲控制台、手持制、可携式電腦 等)不响有線或無線’且可應用至經由一通信網路且跨過該網路連接之任 何數目的此類電腦裝置。再者,應強調的是各種電腦平台(包括手縣置作 業系統其他應用程式特定作業系統),特別是無線網路裝置將可預期持續 地擴展再進.步’本發明可實施於或橫跨複數個處理晶片或裝置,且儲 存對複數健置可同樣地有效。因此本發明不限定於任何單一具體實施 例’反而應是廣泛地轉且依據_中請專利細之範嘴。 【圖式簡單說明】. 依據本發侧於提供中間記憶體之系統與方法將參考隨_式進-步 說明,其中: 第1圖提供在-電觸料H形管線_序之全景; 第2Α至2C顯示先前技藝圖形管線之各種限制與問題; 第3A圖代表可實施本發明的一具有各種電腦裝置之代表性網路環境的方 塊圖; 第3B圖代表可貫施本發明的一代表性非限制性電腦裝置; 第4圖顯林剌之巾間記髓目標餅硬船旨令雜關之錄性用法; 第5圖係顯示依據本發明使用-API之代表性流程圖; 第6圖係顯示本發明之中間記憶體目標的代表性特點之方塊圖;及 第n爾本發明使用射間記舰目標綱從硬體傳送之數個程式 26 1361395 以達到複雜的功能。 【主要元件符號說明】
10a電腦物件 14 通信網路/匯流排 100電腦系統 110a用戶端電腦 110c用戶端電腦 1 10e用戶端電腦 1 2 1系統匯流排 13 1唯讀記憶體 134作業系統 136其他程式模組 140介面 144作業系統 146其他程式模組 150介面 152磁碟 156光碟 1 6 1點取裝置 170網路介面 172數據機 180遠端電腦 182圖形介面 185遠端應用程式 190視頻介面 10b電腦物件 20資料庫 1 10電腦 1 10b用戶端電腦 110d用戶端電腦 120處理單元 130系統記憶體 132隨機存取記憶體 135應用程式 137程式資料 141硬碟驅動器 145應用程式 147程式資料 151磁碟驅動器 155光碟驅動器 160使用者輸入介面 162鍵盤 1 7 1 區域網路 173廣域網路 1 8 1記憶儲存裝置 184圖形處理單元 186視頻記憶體 191螢幕 27 1361395
195周邊輸出介面 196列表機 197喇叭 200頂點著色器 210點陣轉換器 220像素著色器 230像素引擎 28
Claims (1)
- 七、申請專利範圍··( ---- 1 人 |)0·年9·月2S修正本 件,其用下线的—圖形子系統的部 數個處Γ具複數個表面之三維卿的―®形程式的操作,其中該等複 數個表面之各桃元件可分腦合至個別的表面; 計數接絲自形程式的—指令’該_程式超過—最大_硬體指令 配置用於該三維圖形的中間記憶體緩衝器; 將該指令分成組程式指令來執行__第—函數該第—函數不超 广.大圖I硬體彳a令梢且使職中間記憶體緩補,該第—組程式指 7用來使該GPU執行該圖職式的—部份的各操作; 、將該指令分成-第二組程式指令來執行一第二函數,該第二函數不超 ^最大圖①硬私7植且使用該巾間記紐緩齡,鱗二組程式指 々用來使驗U執行不同於該第一組程式指令的該圖形程式的另一部份的 各操作;以及 將該指令分成-第三組程式指令來執行一第三函數該第三函數不超 過該最大晴硬體指令計數且使_巾間記憶體緩魅,該第三組程式指 令用來使該GPU執行不該第-组程式指令以及不同於該第二組程式指 令的該圖形程式的另一部份的各操作。 2·如申請專利範圍第1項所述之部件,其中該部件包含一程序性著色器。 3·如申請專利範圍第2項所述之部件,其中各中間記憶體缓衝器之一解析 度為可變化地設定,《巾各彩色元件可由-交錯方式被寫入至各表 面0 《-種包含可在-計算系統中操作的多重再循環目標(mrTs)的電腦程 ύ 29 1361395 式產品,該計鼻系統包含一記憶體 '一中央處理單元(cpu),以及一圖形 處理單元(GPU),該MRTs包含: 一第一組MRTs’其作為至一圖形程式的輸入且不超過一最大圖形指 7什數’欄雜^貫施-程雜著色H且處理具複數個紋理表面之三維 圖形’且其找特數個紋理表面之各彩色元件可分別結合至個別的紋理 表面,其中該圖形程式超過該最大圖形指令計數; 第一組MRTs ’其作為-程式部份的輸出,該程式部份為超過該最 ,圖形齡計數之賴雜式的—,且不會超過該最大圖職令(mgi) 計數’該第二組MRTs由-表面建立函數喊於制練式超過該最大圖 形指令計數的-決定而產生,該第二組MrTs ^致使個別的彩色元 件被分別結合至_的表面,該程式部份在自該第—組應、5的任何數目 的MRTs同時讀取後’寫入該第二組膽3的任何數目的罐^。 5. 如申請專利範圍第4項所述之電腦程式產品,其中該第二組遣Ts MRT的一解析度為可變化地設定。 6.如申請專利範圍第4項所述之電腦程式產品,其中該程式部份同 至該第二組MRTs的乡個_,射該帛二組_的各_包含 紋理表面之各紋理的一獨立的元件。 以等 組MRTs包含 7·如申請專利範圍第6項所述之電腦程式產品,其中該第 單一元件紋理。 8.如申請專利範圍第4項所述之電腦程式產品,其中該程 該第二組MRTs的多個聰而同時寫人—紋理的多個元件。W由寫入 9·如懈侧第4項输電職產心㈣物份以—交錯 1361.395 方式寫入與複數個紐之各者的—彩色元件相_四個部件輪出。 ίο.如申請專利範圍第4項所述之電腦程式產品,其中 頂點著色器或一像素著色器之至少一者。 者色益為一 π.- 種在-計算线提供三維圖形財間記憶體緩衝器的方法該 =驟_理私(GPU)以及—中央處理單元(cpu),該方法包含 操作包含一程序性著色器的一圖形程式; 圖"?式超過—最大圖形硬體齡計數啸制形程式分成各 ,射該料組程式指令不超過該最大圖形硬體指令計數,且 其中该二_有複數個表面,且其中該 ^ 別結合至_練面; 涵切色7C件被分 將一組程式指令傳送至該GPU ; 緩衝_持 以及 經由該組程式指令寫入至該等複數個中間記憶體緩衝器; 維持該等中間記憶體緩衝器以供由其他組程式指令來使用 U項所述之方法,其⑽間記憶體緩衝器之一解 器^變化地設疋,且其中侧時完成寫人該等複數财間記憶體緩衝 頂點基^專概圍第U項所达之方法,其_形程式即時操作於一每 ”請專鄕_ U項所述之方法,其t該程序性著色器為―頂點著 31 1361395 色器或一像素著色器之一者,其中被傳送至該GPU的該組擇式指令同時輸 出資料至該等複數個表面之各者的一紋理的多個元件且其中該組程式指 令使用複數個該等多個元件作為一早—元件紋理。 15.如申請專利範圍第u項所述之方法,其中在—第—中間記憶體緩衝器 中的資料呈現相較於在一第二中間記憶體緩衝器中的資斜之不同像素資 料。 、16.如申請專利範圍第U項所述之方法,其中該中間記憶體缓衝器包含— 部分的視訊記憶體。 Π·如申請專利範圍第u項所述之方法,其中該組程式指令同時輸出資料 至一紋理的多個元件。 认=請專利範圍第U項所述之方法,其中該中間記憶體缓衝器經由該 組程式指令透過一呼叫至一應用程式介面而建立。19.如申請專利範圍第u項所述之方法 一特定階段。 其中該組程式指令設定各表面至 20.如申請專利範圍第u項所述之方法,丈 ,、T各早一表面的一彩色元件的 四個部件的各者以一交錯方式被寫入。 32
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/196,864 US7564460B2 (en) | 2001-07-16 | 2002-07-16 | Systems and methods for providing intermediate targets in a graphics system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201112162A TW201112162A (en) | 2011-04-01 |
TWI361395B true TWI361395B (en) | 2012-04-01 |
Family
ID=22727078
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092108739A TWI340927B (en) | 2002-07-16 | 2003-04-15 | Systems and methods for providing intermediate targets in a graphics system |
TW099132084A TWI361395B (en) | 2002-07-16 | 2003-04-15 | Components, computer program products and methods for providing intermediate targets in a graphics system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092108739A TWI340927B (en) | 2002-07-16 | 2003-04-15 | Systems and methods for providing intermediate targets in a graphics system |
Country Status (15)
Country | Link |
---|---|
US (3) | US7564460B2 (zh) |
EP (2) | EP1383080B1 (zh) |
JP (2) | JP4583720B2 (zh) |
KR (2) | KR100969448B1 (zh) |
CN (1) | CN100507832C (zh) |
AU (1) | AU2003203499B2 (zh) |
BR (1) | BRPI0301122B1 (zh) |
CA (2) | CA2424650C (zh) |
MX (1) | MXPA03004601A (zh) |
MY (1) | MY142776A (zh) |
NO (2) | NO328438B1 (zh) |
PL (1) | PL360754A1 (zh) |
RU (1) | RU2337402C2 (zh) |
TW (2) | TWI340927B (zh) |
ZA (1) | ZA200302809B (zh) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6828975B2 (en) | 2001-03-01 | 2004-12-07 | Microsoft Corporation | Method and system for managing graphics objects in a graphics display system |
US7564460B2 (en) | 2001-07-16 | 2009-07-21 | Microsoft Corporation | Systems and methods for providing intermediate targets in a graphics system |
US6809732B2 (en) * | 2002-07-18 | 2004-10-26 | Nvidia Corporation | Method and apparatus for generation of programmable shader configuration information from state-based control information and program instructions |
US6825843B2 (en) * | 2002-07-18 | 2004-11-30 | Nvidia Corporation | Method and apparatus for loop and branch instructions in a programmable graphics pipeline |
US6975321B1 (en) * | 2003-05-05 | 2005-12-13 | Nvidia Corporation | System and method for generating multiple outputs in a single shader processing pass in a hardware graphics pipeline |
US7681112B1 (en) | 2003-05-30 | 2010-03-16 | Adobe Systems Incorporated | Embedded reuse meta information |
US8035646B2 (en) * | 2003-11-14 | 2011-10-11 | Microsoft Corporation | Systems and methods for downloading algorithmic elements to a coprocessor and corresponding techniques |
US8704837B2 (en) * | 2004-04-16 | 2014-04-22 | Apple Inc. | High-level program interface for graphics operations |
US7847800B2 (en) | 2004-04-16 | 2010-12-07 | Apple Inc. | System for emulating graphics operations |
US8134561B2 (en) | 2004-04-16 | 2012-03-13 | Apple Inc. | System for optimizing graphics operations |
US7231632B2 (en) | 2004-04-16 | 2007-06-12 | Apple Computer, Inc. | System for reducing the number of programs necessary to render an image |
US7636489B2 (en) | 2004-04-16 | 2009-12-22 | Apple Inc. | Blur computation algorithm |
US7248265B2 (en) | 2004-04-16 | 2007-07-24 | Apple Inc. | System and method for processing graphics operations with graphics processing unit |
US7570267B2 (en) * | 2004-05-03 | 2009-08-04 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US7978205B1 (en) | 2004-05-03 | 2011-07-12 | Microsoft Corporation | Systems and methods for providing an enhanced graphics pipeline |
US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
US7397964B2 (en) | 2004-06-24 | 2008-07-08 | Apple Inc. | Gaussian blur approximation suitable for GPU |
US8130237B2 (en) | 2004-06-24 | 2012-03-06 | Apple Inc. | Resolution independent user interface design |
US8068103B2 (en) | 2004-06-24 | 2011-11-29 | Apple Inc. | User-interface design |
US8302020B2 (en) | 2004-06-25 | 2012-10-30 | Apple Inc. | Widget authoring and editing environment |
US8453065B2 (en) | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US8566732B2 (en) | 2004-06-25 | 2013-10-22 | Apple Inc. | Synchronization of widgets and dashboards |
US7761800B2 (en) | 2004-06-25 | 2010-07-20 | Apple Inc. | Unified interest layer for user interface |
US7652678B2 (en) | 2004-06-25 | 2010-01-26 | Apple Inc. | Partial display updates in a windowing system using a programmable graphics processing unit |
US7490295B2 (en) | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US8239749B2 (en) | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
US7730026B2 (en) | 2004-07-01 | 2010-06-01 | Apple Inc. | Method and system using reusable state information for synchronization and maintenance of data |
US8044951B1 (en) | 2004-07-02 | 2011-10-25 | Nvidia Corporation | Integer-based functionality in a graphics shading language |
US7746347B1 (en) * | 2004-07-02 | 2010-06-29 | Nvidia Corporation | Methods and systems for processing a geometry shader program developed in a high-level shading language |
US7958498B1 (en) | 2004-07-02 | 2011-06-07 | Nvidia Corporation | Methods and systems for processing a geometry shader program developed in a high-level shading language |
US8624906B2 (en) * | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
DE102004051567A1 (de) * | 2004-10-22 | 2006-05-04 | Siemens Ag | Verfahren zur schnellen Bildverarbeitung zweidimensionaler Bilder |
US8725990B1 (en) | 2004-11-15 | 2014-05-13 | Nvidia Corporation | Configurable SIMD engine with high, low and mixed precision modes |
US7227551B2 (en) | 2004-12-23 | 2007-06-05 | Apple Inc. | Manipulating text and graphic appearance |
US8140975B2 (en) | 2005-01-07 | 2012-03-20 | Apple Inc. | Slide show navigation |
US8004515B1 (en) * | 2005-03-15 | 2011-08-23 | Nvidia Corporation | Stereoscopic vertex shader override |
US7852353B1 (en) | 2005-03-31 | 2010-12-14 | Apple Inc. | Encoding a transparency (alpha) channel in a video bitstream |
GB2425030A (en) * | 2005-04-09 | 2006-10-11 | Tenomichi Ltd | Managed network render targets for routing graphical information |
US7289127B1 (en) | 2005-04-25 | 2007-10-30 | Apple, Inc. | Multi-conic gradient generation |
US8452090B1 (en) | 2005-04-25 | 2013-05-28 | Apple Inc. | Bayer reconstruction of images using a GPU |
US8543931B2 (en) | 2005-06-07 | 2013-09-24 | Apple Inc. | Preview including theme based installation of user interface elements in a display environment |
US8495015B2 (en) | 2005-06-21 | 2013-07-23 | Apple Inc. | Peer-to-peer syncing in a decentralized environment |
US7523146B2 (en) | 2005-06-21 | 2009-04-21 | Apple Inc. | Apparatus and method for peer-to-peer N-way synchronization in a decentralized environment |
DE102005031642B4 (de) * | 2005-07-06 | 2008-05-29 | Siemens Ag | Mobiler Defibrillator |
US8793576B2 (en) | 2005-10-14 | 2014-07-29 | Apple Inc. | System and method for computing a desktop picture |
US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
US7793169B2 (en) * | 2005-10-19 | 2010-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Intelligent table-driven interleaving |
US8543824B2 (en) | 2005-10-27 | 2013-09-24 | Apple Inc. | Safe distribution and use of content |
US7954064B2 (en) | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US7483037B2 (en) | 2005-10-27 | 2009-01-27 | Apple, Inc. | Resampling chroma video using a programmable graphics processing unit to provide improved color rendering |
US7743336B2 (en) | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
US9104294B2 (en) | 2005-10-27 | 2015-08-11 | Apple Inc. | Linked widgets |
US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
KR100696198B1 (ko) * | 2005-12-23 | 2007-03-20 | 엠텍비젼 주식회사 | 프로그래밍 가능한 쉐이더 기반의 그래픽 연산을 지원하는임베디드 시스템 |
CN100395778C (zh) * | 2006-03-15 | 2008-06-18 | 威盛电子股份有限公司 | 绘图系统以及绘图控制方法 |
TW200820131A (en) * | 2006-05-22 | 2008-05-01 | Nvidia Corp | Frame buffer merging |
US20070268298A1 (en) * | 2006-05-22 | 2007-11-22 | Alben Jonah M | Delayed frame buffer merging with compression |
US8154554B1 (en) | 2006-07-28 | 2012-04-10 | Nvidia Corporation | Unified assembly instruction set for graphics processing |
US7860826B2 (en) | 2006-08-04 | 2010-12-28 | Apple Inc. | Method and system for using global equivalency sets to identify data during peer-to-peer synchronization |
US8869027B2 (en) | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
US8232991B1 (en) | 2006-11-03 | 2012-07-31 | Nvidia Corporation | Z-test result reconciliation with multiple partitions |
US7760767B2 (en) | 2007-01-05 | 2010-07-20 | Apple Inc. | Wide area peer-to-peer synching in a decentralized environment |
US7657769B2 (en) | 2007-01-08 | 2010-02-02 | Marcy M Scott | N-way synchronization of data |
KR101349171B1 (ko) * | 2007-01-17 | 2014-01-09 | 삼성전자주식회사 | 3차원 그래픽 가속기 및 그것의 픽셀 분배 방법 |
US8954871B2 (en) | 2007-07-18 | 2015-02-10 | Apple Inc. | User-centric widgets and dashboards |
US8683126B2 (en) | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
US8667415B2 (en) | 2007-08-06 | 2014-03-04 | Apple Inc. | Web widgets |
US8659601B1 (en) * | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
US8156467B2 (en) | 2007-08-27 | 2012-04-10 | Adobe Systems Incorporated | Reusing components in a running application |
US8176466B2 (en) | 2007-10-01 | 2012-05-08 | Adobe Systems Incorporated | System and method for generating an application fragment |
US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8780123B2 (en) | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US9619304B2 (en) | 2008-02-05 | 2017-04-11 | Adobe Systems Incorporated | Automatic connections between application components |
US8681861B2 (en) | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8581912B2 (en) | 2008-06-27 | 2013-11-12 | Microsoft Corporation | Dynamic subroutine linkage optimizing shader performance |
US8656293B1 (en) | 2008-07-29 | 2014-02-18 | Adobe Systems Incorporated | Configuring mobile devices |
US8489851B2 (en) | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
US8289341B2 (en) * | 2009-06-29 | 2012-10-16 | Intel Corporation | Texture sampling |
US8922555B2 (en) * | 2009-10-07 | 2014-12-30 | Nvidia Corporation | Pixel shader output map |
US9530189B2 (en) | 2009-12-31 | 2016-12-27 | Nvidia Corporation | Alternate reduction ratios and threshold mechanisms for framebuffer compression |
US8340416B2 (en) * | 2010-06-25 | 2012-12-25 | Microsoft Corporation | Techniques for robust color transfer |
KR101926570B1 (ko) | 2011-09-14 | 2018-12-10 | 삼성전자주식회사 | 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치 |
US9591309B2 (en) | 2012-12-31 | 2017-03-07 | Nvidia Corporation | Progressive lossy memory compression |
US9607407B2 (en) | 2012-12-31 | 2017-03-28 | Nvidia Corporation | Variable-width differential memory compression |
US10043234B2 (en) | 2012-12-31 | 2018-08-07 | Nvidia Corporation | System and method for frame buffer decompression and/or compression |
TWI517137B (zh) | 2013-06-05 | 2016-01-11 | 晨星半導體股份有限公司 | 將影像寫入記憶體的方法及其裝置 |
CN104252414B (zh) * | 2013-06-25 | 2018-03-27 | 晨星半导体股份有限公司 | 将影像写入存储器的方法及其装置 |
JP2016527631A (ja) * | 2013-07-17 | 2016-09-08 | エー2ゼットロジックス,インコーポレーテッド | グラフィックス処理ユニットを用いたヒストグラム計算のシステム及び方法 |
US9832388B2 (en) | 2014-08-04 | 2017-11-28 | Nvidia Corporation | Deinterleaving interleaved high dynamic range image by using YUV interpolation |
EP3012737A1 (en) * | 2014-10-24 | 2016-04-27 | Thomson Licensing | Devices and methods for generating elementary geometries |
GB2538119B8 (en) * | 2014-11-21 | 2020-10-14 | Intel Corp | Apparatus and method for efficient graphics processing in virtual execution environment |
CN105719229B (zh) * | 2014-12-19 | 2020-03-03 | 谷歌有限责任公司 | 一种基于指令流截取的应用程序透明化的分辨率控制 |
US10108321B2 (en) * | 2015-08-31 | 2018-10-23 | Microsoft Technology Licensing, Llc | Interface for defining user directed partial graph execution |
CN105678679B (zh) * | 2015-12-31 | 2019-02-12 | 公安部第三研究所 | 大规模图片集合快速预览的系统及方法 |
JP2019204348A (ja) | 2018-05-24 | 2019-11-28 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
KR20200145665A (ko) * | 2019-06-19 | 2020-12-30 | 삼성전자주식회사 | 최적화된 픽셀 셰이더 속성 관리 |
US12051144B2 (en) | 2020-02-28 | 2024-07-30 | Advanced Micro Devices, Inc. | Fully utilized hardware in a multi-tenancy graphics processing unit |
CN114115873B (zh) * | 2021-11-18 | 2024-08-27 | 网易(杭州)网络有限公司 | 着色器数据处理方法、装置、设备及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5392391A (en) * | 1991-10-18 | 1995-02-21 | Lsi Logic Corporation | High performance graphics applications controller |
TW219989B (en) | 1992-05-29 | 1994-02-01 | Ind Tech Res Inst | A screen refreshing method which is independent of resolution |
US5388206A (en) * | 1992-11-13 | 1995-02-07 | The University Of North Carolina | Architecture and apparatus for image generation |
US5422657A (en) * | 1993-09-13 | 1995-06-06 | Industrial Technology Research Institute | Graphics memory architecture for multimode display system |
TW299406B (en) | 1993-10-29 | 1997-03-01 | Ind Tech Res Inst | Display memory structure of multi-mode display system |
US6067098A (en) * | 1994-11-16 | 2000-05-23 | Interactive Silicon, Inc. | Video/graphics controller which performs pointer-based display list video refresh operation |
WO1996031844A1 (fr) * | 1995-04-05 | 1996-10-10 | Hitachi, Ltd. | Systeme graphique |
US5793374A (en) * | 1995-07-28 | 1998-08-11 | Microsoft Corporation | Specialized shaders for shading objects in computer generated images |
US5793371A (en) * | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
US6496190B1 (en) * | 1997-07-02 | 2002-12-17 | Mental Images Gmbh & Co Kg. | System and method for generating and using systems of cooperating and encapsulated shaders and shader DAGs for use in a computer graphics system |
US5969728A (en) * | 1997-07-14 | 1999-10-19 | Cirrus Logic, Inc. | System and method of synchronizing multiple buffers for display |
US6353460B1 (en) * | 1997-09-30 | 2002-03-05 | Matsushita Electric Industrial Co., Ltd. | Television receiver, video signal processing device, image processing device and image processing method |
US6208273B1 (en) * | 1999-01-29 | 2001-03-27 | Interactive Silicon, Inc. | System and method for performing scalable embedded parallel data compression |
US6421053B1 (en) * | 1999-05-24 | 2002-07-16 | International Business Machines Corporation | Block rendering method for a graphics subsystem |
TW444183B (en) | 1999-06-28 | 2001-07-01 | Integrated Technology Express | Device and method for image rotation |
JP3350655B2 (ja) | 2000-01-25 | 2002-11-25 | 株式会社ナムコ | ゲームシステム及び情報記憶媒体 |
US7159041B2 (en) * | 2000-03-07 | 2007-01-02 | Microsoft Corporation | Method and system for defining and controlling algorithmic elements in a graphics display system |
US6819325B2 (en) * | 2000-03-07 | 2004-11-16 | Microsoft Corporation | API communications for vertex and pixel shaders |
US6862730B1 (en) * | 2000-04-26 | 2005-03-01 | Lucent Technologies Inc. | Register allocation in code translation between processors |
US7034828B1 (en) * | 2000-08-23 | 2006-04-25 | Nintendo Co., Ltd. | Recirculating shade tree blender for a graphics system |
US7564460B2 (en) | 2001-07-16 | 2009-07-21 | Microsoft Corporation | Systems and methods for providing intermediate targets in a graphics system |
-
2002
- 2002-07-16 US US10/196,864 patent/US7564460B2/en not_active Expired - Fee Related
-
2003
- 2003-04-07 EP EP03007908.1A patent/EP1383080B1/en not_active Expired - Lifetime
- 2003-04-07 AU AU2003203499A patent/AU2003203499B2/en not_active Ceased
- 2003-04-07 EP EP16202270.1A patent/EP3156965A1/en not_active Withdrawn
- 2003-04-07 CA CA2424650A patent/CA2424650C/en not_active Expired - Fee Related
- 2003-04-07 NO NO20031556A patent/NO328438B1/no not_active IP Right Cessation
- 2003-04-07 CA CA2772030A patent/CA2772030C/en not_active Expired - Fee Related
- 2003-04-09 BR BRPI0301122A patent/BRPI0301122B1/pt not_active IP Right Cessation
- 2003-04-10 CN CNB031217990A patent/CN100507832C/zh not_active Expired - Fee Related
- 2003-04-10 MY MYPI20031322A patent/MY142776A/en unknown
- 2003-04-10 ZA ZA200302809A patent/ZA200302809B/xx unknown
- 2003-04-11 RU RU2003110511/09A patent/RU2337402C2/ru not_active IP Right Cessation
- 2003-04-11 JP JP2003108482A patent/JP4583720B2/ja not_active Expired - Fee Related
- 2003-04-14 KR KR1020030023429A patent/KR100969448B1/ko active IP Right Grant
- 2003-04-15 TW TW092108739A patent/TWI340927B/zh not_active IP Right Cessation
- 2003-04-15 TW TW099132084A patent/TWI361395B/zh not_active IP Right Cessation
- 2003-05-23 MX MXPA03004601A patent/MXPA03004601A/es active IP Right Grant
- 2003-06-17 PL PL03360754A patent/PL360754A1/xx unknown
-
2009
- 2009-06-22 US US12/489,316 patent/US8063909B2/en not_active Expired - Fee Related
- 2009-08-26 JP JP2009195887A patent/JP4922367B2/ja not_active Expired - Fee Related
-
2010
- 2010-02-04 NO NO20100178A patent/NO331263B1/no not_active IP Right Cessation
- 2010-02-26 KR KR1020100017849A patent/KR100995157B1/ko active IP Right Grant
-
2011
- 2011-10-31 US US13/286,054 patent/US8379035B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI361395B (en) | Components, computer program products and methods for providing intermediate targets in a graphics system | |
US9064334B2 (en) | Systems and methods for providing an enhanced graphics pipeline | |
US7570267B2 (en) | Systems and methods for providing an enhanced graphics pipeline | |
US7176919B2 (en) | Recirculating shade tree blender for a graphics system | |
US6664958B1 (en) | Z-texturing | |
US6707458B1 (en) | Method and apparatus for texture tiling in a graphics system | |
TWI328200B (en) | Systems and methods for providing controllable texture sampling,and computer readable medium for recording related instructions thereon | |
US9928637B1 (en) | Managing rendering targets for graphics processing units | |
US7212206B2 (en) | Method and apparatus for self shadowing and self interreflection light capture | |
CN102982504A (zh) | 图形流水线状态的快速重新配置 | |
JP2011065677A (ja) | グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置 | |
JP2011090699A (ja) | グラフィックシステム、グラフィックス画像を生成する方法およびプログラムにおける無色光のライティング | |
JP2002208026A (ja) | グラフィックスシステムにおけるテクスチャタイリングのための方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |