專利名稱:用于幾何圖形處理的系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明有關(guān)一種圖形處理的系統(tǒng)與方法,具體地說,尤其關(guān)于一種具有組合式著色器的圖形處理系統(tǒng)及其方法。
背景技術(shù):
著色器(shader)為一種使用在三維空間(D)的計算機繪圖程序,用于決定對象或影像的最后性質(zhì),這通常包括關(guān)于光線吸收與擴散、紋理對映、反射與折射、遮影、表面位移與后處理效應(yīng)。頂點著色器(vertex shader)是處理與頂點有關(guān)的計算。碎片著色器(fragment shader)是處理與像素有關(guān)的計算。
通常,圖形場景是由許多圖形元素所構(gòu)成,包括點、線、三角形等。圖形元素是由一個或多個頂點所構(gòu)成。為了更有彈性,一些使用者可將程序單元添加至制圖系統(tǒng)中,以取代固定功能單元。圖1說明了目前可供使用的典型制圖管道的系統(tǒng)100。
圖1中的制圖管道可分割成兩個大略級(stage)幾何處理級101與碎片處理級102。在幾何處理級101中,頂點存/取器103備制頂點資料,頂點著色器104在每一個頂點數(shù)據(jù)上執(zhí)行此使用者所設(shè)定的微程序,它取代傳統(tǒng)固定功能的T&L級,圖形元素組合器105從頂點著色器104取得頂點,且將頂點組合成圖形元素。作為簡單例子,可以將三個頂點組合成一個三角形,然后,將組合的圖形元素傳送至剪輯/揀選觀點單元106,在剪輯/揀選觀點單元106中的處理僅可以在圖形元素基礎(chǔ)上實施,使用剪輯/揀選以拋棄不可見的圖形元素,以減輕碎片處理級102的工作負載。其中屏幕化引擎107將上述圖形元素轉(zhuǎn)換成二維空間(2D)像素,碎片著色器108在屏幕化引擎107所產(chǎn)生的每一個像素上執(zhí)行使用者所設(shè)定的微程序,最后,將碎片著色器108的執(zhí)行結(jié)果寫入一畫面緩沖器109中,其中頂點著色器104與碎片著色器108均可以根據(jù)OpenGL2.0與DirectX9.0c實施紋理查詢,因此,紋理引擎110對于此兩者均可接達。
如圖1所示,頂點處理可以通過設(shè)定頂點著色器程序,而由使用者設(shè)定。碎片處理亦可通過設(shè)定碎片著色器程序,而由使用者設(shè)定。但是所有以圖形元素為主的處理是一種固定功能而非一種使用者設(shè)定的功能。目前,使用者一般是將程序圖形元素著色器添加至制圖管道,例如,在微軟(Microsoft)下一代繪圖器API WGF 2.0中,將“幾何著色器”(geometry shader)添加至幾何處理級,“幾何著色器”可以在各輸入圖形元素上執(zhí)行使用者設(shè)定的微程序,不同于在單一頂點上操作的頂點著色器,幾何著色器在每次引用執(zhí)行時,會處理整個圖形元素(一個頂點用于點、兩個頂點用于線、三個頂點用于三角形等),亦可以將選擇相鄰頂點輸入幾何著色器(兩個相鄰頂點用于線、三個相鄰頂點用于一個三角形、沒有相鄰頂點用于點)。
圖2說明另一個具有使用者程序“幾何著色器”的幾何處理結(jié)構(gòu)。系統(tǒng)200的一些組件與系統(tǒng)100相同頂點存/取器103、頂點著色器104、紋理引擎110、剪輯/揀選觀點單元106以及碎片處理級102。新添加的單元為幾何著色器203,因為幾何著色器203是以頂點格式輸入圖形元素以及輸出多個圖形元素,因此需要兩個圖形元素組合單元,第一圖形元素組合器202設(shè)置在頂點著色器104與幾何著色器203之間,第一圖形元素組合器202從頂點著色器104取得頂點,且將頂點組合成用于幾何著色器203的圖形元素,第二圖形元素組合器204設(shè)置在幾何著色器203與在此幾何處理級稍后的剪輯/揀選觀點單元106之間,幾何著色器203將頂點發(fā)至第二圖形元素組合器204,第二圖形元素組合器204將頂點組合成用于其后幾何處理單元的圖形元素。
發(fā)明內(nèi)容
本發(fā)明的主要目的是為了減少圖形處理系統(tǒng)的芯片面積。
本發(fā)明的另一目的是為提供彈性以容納各種制圖管道組態(tài)。
本發(fā)明的再一目的是對于不同真實情況,自動平衡頂點著色器與幾何著色器之間的工作負載。
為了實現(xiàn)上述目的,本發(fā)明采用了以下技術(shù)方案一方面,本發(fā)明提供一種圖形處理系統(tǒng),包括一第一轉(zhuǎn)換電路,即第一圖形元素組合器,其將第一數(shù)據(jù)格式轉(zhuǎn)換成第二數(shù)據(jù)格式;一處理器,即頂點/幾何著色器,其執(zhí)行第一著色器程序與第二著色器程序,以該第二數(shù)據(jù)格式接收輸入,且以該第一數(shù)據(jù)格式輸出結(jié)果;以及一第二轉(zhuǎn)換電路,即第二圖形元素組合器,其將該第一數(shù)據(jù)格式轉(zhuǎn)換成該第二數(shù)據(jù)格式,其中該輸入來自該第一轉(zhuǎn)換電路,以及該結(jié)果輸出至該第二轉(zhuǎn)換電路。
其還包括一儲存裝置,其記錄與該第一色器程序有關(guān)的狀態(tài),而用于該處理器的存取。
該第一數(shù)據(jù)格式包括一頂點格式。
該第二數(shù)據(jù)格式包括一圖形元素格式。
該第一著色器程序包括一頂點著色器程序。
該第二著色器程序包括一幾何著色器程序。
包括一紋理單元,用于提供所述處理器的紋理信息。
另一方面,本發(fā)明提供了一種圖形處理方法,其包括以下步驟將一圖形數(shù)據(jù)由頂點格式轉(zhuǎn)換成圖形元素格式;以該圖形元素格式在該圖形數(shù)據(jù)上執(zhí)行一頂點著色器程序;以該圖形元素格式產(chǎn)生第一結(jié)果;以該圖形元素格式在該第一結(jié)果上執(zhí)行幾何著色器程序;以該頂點格式產(chǎn)生第二結(jié)果;以及將該第二結(jié)果由該頂點格式轉(zhuǎn)換成該圖形元素格式。包括當(dāng)執(zhí)行該頂點著色器程序時,由一紋理引擎提供一第一紋理存取。
包括當(dāng)執(zhí)行該幾何著色器程序時,由該紋理引擎提供一第二紋理存取。
包括當(dāng)執(zhí)行該頂點著色器程序時,將該著色器程序分解成一第一位準著色器程序與一第二位準著色器程序。
在該圖形元素格式中的圖形數(shù)據(jù)包括一位置屬性與復(fù)數(shù)個性質(zhì)屬性;該性質(zhì)屬性包括顏色、亮度、或復(fù)數(shù)個紋理坐標。
包括當(dāng)執(zhí)行該頂點著色器程序時,忽略該圖形數(shù)據(jù)的性質(zhì)屬性。
本發(fā)明系統(tǒng)把傳統(tǒng)的頂點著色器、幾何著色器組合成頂點/幾何(VG)著色器,其中第一轉(zhuǎn)換電路提供用于頂點/幾何(VG)著色器的圖形元素數(shù)據(jù),而頂點/幾何著色器可以在圖形元素數(shù)據(jù)上執(zhí)行頂點著色器功能,然后再執(zhí)行幾何著色器功能以輸出頂點數(shù)據(jù),第二轉(zhuǎn)換電路提供用于頂點/幾何著色器的輸出的圖形元素數(shù)據(jù),故與傳統(tǒng)技術(shù)方案相比,本發(fā)明能夠減少圖形處理系統(tǒng)的芯片面積,并為提供彈性以容納各種制圖管道組態(tài),同時針對不同真實情況,自動平衡頂點著色器與幾何著色器之間的工作負載。
下面結(jié)合具體實施方式
對本發(fā)明作進一步詳細的說明。
圖1為典型制圖管道的方框圖。
圖2為具有幾何著色器的典型制圖管道的方框圖。
圖3為根據(jù)本發(fā)明一實施例的組合式頂點/幾何(VG)著色器的方框圖。
圖4為根據(jù)本發(fā)明一實施例的頂點/幾何(VG)著色器的硬件結(jié)構(gòu)的方框圖。
圖5是圖4所示的顯示頂點/幾何(VG)著色器程序的流程圖。
具體實施例方式
本發(fā)明中所使用的頂點著色器與幾何著色器的差異說明以下(1)輸入數(shù)據(jù)不同。頂點著色器是在各輸入頂點上實施,而幾何著色器是在各輸入圖形元素上實施。這即是說,頂點著色器藉由各引用實施而輸入一頂點;幾何著色器藉由各引用實施而輸入多個頂點(對于點為一個頂點,對于具有相鄰頂點的三角形最多六個頂點)。(2)輸出數(shù)據(jù)不同。對于各輸入頂點,有來自頂點著色器的正好一個輸出頂點;對于各輸入圖形元素,可以有來自幾何著色器的多個輸出圖形元素,且此輸出的圖形元素的型式可以改變。(3)目的不同。頂點著色器是以頂點為基礎(chǔ)操作,其原來被添加以取代此Transform and Light(TnL);幾何著色器的添加是在以圖形元素為主的處理上提供彈性,此需要圖形元素信息的任務(wù),只可以在幾何著色器中達成。
頂點著色器與幾何著色器的相同方面(1)兩者均使用相同的指令集,而只有幾個例外,其中ALU指令、流程控制指令、以及紋理存取指令均相同。(2)它們最后均在頂點數(shù)據(jù)上操作。實際上,圖形元素是由一或多個頂點所構(gòu)成。(3)頂點著色器與幾何著色器的結(jié)構(gòu)大致類似,例如,Constant/Temp的定義為類似。
本發(fā)明主要是關(guān)于圖形處理,以形成用于頂點著色器與幾何著色器的著色器單元。將頂點著色器與幾何著色器組合成單一的著色器單元,而具有名稱“頂點/幾何著色器301”,或簡稱為“VG著色器”。
圖3為根據(jù)本發(fā)明一實施例的組合式頂點/幾何(VG)著色器的方框圖。系統(tǒng)300包括頂點存/取器201、第一圖形元素組合器202、頂點/幾何著色器301、紋理引擎110、第二圖形元素組合器204、以及剪輯/揀選觀點單元106。與圖2相比,第一圖形元素組合器202向前移,它從頂點存/取器201直接取得頂點數(shù)據(jù),且將此數(shù)據(jù)組合成圖形元素,以及將圖形元素傳送至頂點/幾何著色器301,可以將此在頂點/幾何著色器301中使用者設(shè)定的程序分成兩個階段頂點處理階段與幾何處理階段。在頂點處理階段中,頂點/幾何著色器301在目前圖形元素中所有頂點上完成執(zhí)行頂點著色器程序;然后,在幾何處理階段中,在目前圖形元素上執(zhí)行幾何著色器程序,由于將兩個著色器組合成頂點/幾何著色器301,所以其只連接一個紋理引擎110,而提供紋理存取給頂點處理階段與幾何處理階段,由頂點/幾何著色器301發(fā)出多個頂點,且第二圖形元素組合器204接收多個頂點且將其組合成圖形元素,用于稍后的固定功能幾何處理階段。
本發(fā)明將實施頂點著色器的方式,從頂點為主改變至以圖形元素為主。因此,頂點著色器可以與幾何著色器組合成單一著色器單元,即頂點/幾何著色器301,而以圖形元素為基礎(chǔ)進行操作。在一般情形中,一些頂點是由一個以上圖形元素使用,在傳統(tǒng)方式中,頂點著色器程序僅對各頂點執(zhí)行一次。對于第一圖形元素組合器202的所有頂點數(shù)據(jù)輸入均具有所實施的頂點著色器處理。但是本發(fā)明將頂點著色器與幾何著色器組合成頂點/幾何著色器301,且第一圖形元素組合器202從頂點存/取器103直接取得頂點數(shù)據(jù),頂點/幾何著色器301在輸入頂點上執(zhí)行頂點著色器程序,例如,此由v0、v1、v2、以及v3所代表的四個頂點,從頂點存/取器103傳送至第一圖形元素組合器202,第一圖形元素組合器202將此四個頂點組合成兩個三角形t0(v0、v1、v2)與t1(v1、v2、v3),對于此兩個三角形t0與t1,兩個頂點v1、v2被使用兩次,然后,將t0與t1傳送至頂點/幾何著色器301。當(dāng)處理t0時,頂點/幾何著色器301首先在頂點v0、v1、v2上執(zhí)行頂點著色器程序,當(dāng)處理t1時,頂點/幾何著色器301首先在頂點v1、v2、v3上執(zhí)行頂點著色器程序,在v1與v2上的頂點著色器處理確實為冗余且浪費,本發(fā)明亦提供某種機構(gòu)以確定頂點著色器處理僅對各頂點實施一次。
如圖4所示,它與在圖3中所說明的系統(tǒng)300相比,除了添加了頂點高速緩存401,其它即與圖3相同,例如頂點/幾何著色器301、第一圖形元素組合器202、第二圖形元素組合器204以及紋理引擎110。其中第一圖形元素組合器202就是第一轉(zhuǎn)換電路,其將第一數(shù)據(jù)格式轉(zhuǎn)換成第二數(shù)據(jù)格式,即將頂點數(shù)據(jù)轉(zhuǎn)換成圖形元素數(shù)據(jù),同樣,第二圖形元素組合器204就是第二轉(zhuǎn)換電路,它也用于將頂點數(shù)據(jù)轉(zhuǎn)換成圖形元素數(shù)據(jù),上述兩個電路都可以具有用于轉(zhuǎn)換數(shù)據(jù)功能的緩存器,頂點/幾何著色器301就是處理器。第一圖形元素組合器202將用于遺失頂點的頂點數(shù)據(jù)寫至頂點高速緩存401,由第一圖形元素組合器202傳送至頂點/幾何著色器301的圖形元素,是由頂點的ID所描述,例如,如果第一圖形元素組合器202想要將圖形元素t0(v0、v1、v2)傳送至頂點/幾何著色器301,其將v0/v1/v2的欠缺頂點數(shù)據(jù)傳送至頂點高速緩存401,且將(v0,v1,v2)的頂點ID傳送至頂點/幾何著色器301以代表圖形元素t0。
頂點高速緩存401可以由頂點/幾何著色器301讀取與寫入,在頂點高速緩存401與頂點/幾何著色器301之間的接口404為雙向的,在第一圖形元素組合器202將未經(jīng)處理的頂點數(shù)據(jù)寫入于頂點高速緩存401中后,頂點高速緩存401擔(dān)任三個角色頂點著色器(VS)的輸入、輸出,以及幾何著色器(GS)的輸入,這即是說,頂點/幾何著色器301在頂點著色器階段會從頂點高速緩存401讀取此未處理頂點數(shù)據(jù),在此數(shù)據(jù)上執(zhí)行頂點著色器程序,將此結(jié)果寫入于頂點高速緩存401中相同位置中,然后,頂點/幾何著色器301在幾何著色器階段,會從此頂點高速緩存401讀取此經(jīng)處理頂點數(shù)據(jù),而執(zhí)行幾何著色器程序,在此之后,頂點/幾何著色器301將頂點輸出至第二圖形元素組合器204。
如圖4所示,在頂點高速緩存401中各項目導(dǎo)入具有名稱為“VS-Ready”的額外屬性。當(dāng)“VS-Ready”為偽時,意味著頂點著色器程序并未在此項目中的頂點數(shù)據(jù)上執(zhí)行,此值“真”顯示此儲存于目前項目中的頂點數(shù)據(jù)為頂點著色器程序的執(zhí)行結(jié)果,在第一圖形元素組合器202中將所欠缺的頂點寫入頂點高速緩存401中后,它的“VS-Ready”被初設(shè)為“偽”,頂點/幾何著色器301的頂點著色器階段會檢查在目前圖形元素中頂點的所有“VS-Ready”屬性。如果任何頂點的“VS-Ready”為偽,則執(zhí)行在其上的頂點著色器程序,且將“VS-Ready”設(shè)定為“真”;如果任何頂點的“VS-Ready”為“真”,則忽略此頂點著色器程序。當(dāng)圖形元素的所有頂點具有用于“VS-Ready”的“真”值時,則圖形元素可以進入幾何著色器階段。在先前所提及的例子亦可使用于此。假設(shè)將兩個三角形t0(v0、v1、v2)與t1(v1、v2、v3)從第一圖形元素組合器202傳送至頂點/幾何著色器301,將所有“VS-Ready”值初設(shè)為“偽”,在取得t0(v0、v1、v2)的后,頂點/幾何著色器301首先在v0、v1、以及v2上執(zhí)行頂點著色器程序,因為v0、v1、v2的“VS-Ready”值均為“偽”,在此之后,v0、v1、v2的“VS-Ready”值將被設(shè)定為“真”,正如圖4中所示的情況。在下一次當(dāng)頂點/幾何著色器301處理t1(v1、v2、v3)時,它將跳過而不在v1、v2上執(zhí)行頂點著色器程序,因為其“VS-Ready”值均為“真”。然而,無論如何,并不可以跳過而不在v3上執(zhí)行頂點著色器程序。
為了處理執(zhí)行ALU指令的等候延遲、或紋理存取的等候延遲,可以在一個頂點/幾何著色器301中執(zhí)行多個VG著色器線,頂點高速緩存401應(yīng)處理此種情況,而以多個VG著色器線存取在頂點高速緩存401中相同項目,此目標可以通過將另一控制屬性“VS-Busy”加入于頂點高速緩存401的各頂點項目中而達成。此屬性顯示是否有某線正在目前頂點項目上執(zhí)行頂點著色器程序,伴隨者某種硬件互斥鎖(mutexmutualexclusion lock)機構(gòu),此額外控制屬性可以支持在一頂點/幾何著色器301中的多個VG著色器線。
制圖API將頂點著色器內(nèi)容與幾何著色器內(nèi)容分別發(fā)出至驅(qū)動器,驅(qū)動器的責(zé)任為將兩種著色器內(nèi)容編輯與組合成一種單一VG著色器內(nèi)容,然后將此內(nèi)容安裝在VG著色器單元上,即將此內(nèi)容安裝在頂點/幾何著色器301上。此種組合包括將固定緩沖器組合,將緩沖器程序組合等,當(dāng)組合著色器程序時,會加入一些特定著色器指令。以下的擬似(pseudo)碼顯示在此驅(qū)動器編輯與組合后的VG著色器程序。
(1)//頂點著色器階段(2)檢查_旗標=偽;//將檢查_旗標初設(shè)為偽(3)For在圖形元素中的各頂點{(4) If(頂點.VS-Ready為真)(5)Continue;//跳過此已經(jīng)由頂點著色器程序處理過的頂點(6) else if(頂點.VS-Busy為真){(7) //某其它線在目前頂點上正在執(zhí)行頂點著色器程序(8) 檢查_旗標=真;(9) continue;//跳過正由其它線所處理的頂點(10) }(11) else{//在未處理的頂點上執(zhí)行VS程序(12) //在目前頂點上的原始VS程序(13) ……
(14) }(15) }(16)//幾何著色器階段(17)if(檢查_旗標=真)(18) 沉睡一直至在圖形元素中的所有頂點均具有用于VS-Ready的“真”值(19)//在目前圖形元素上的原始GS程序(20)……(21)發(fā)出(22)……在此擬似VG著色器程序中,行(13)代表原始頂點著色器程序,行(20~22)代表原始幾何著色器程序。添加除了批注以外的其它指令,以避免冗余的VS處理且支持多個VG著色器線。
在圖形元素基礎(chǔ)上執(zhí)行頂點著色器為本發(fā)明的重要特征。這即是說,即使在預(yù)-頂點處理期間,此圖形元素信息可供使用??梢允褂么朔莻鹘y(tǒng)特性以實施“兩個位準VS”。將原始頂點著色器程序分解成兩個位準,第一位準VS產(chǎn)生位置與其所屬性,第二位準VS產(chǎn)生由此第一位準所算出的其它屬性。在所給定頂點上實施第一位準VS后實施剪輯/揀選,以決定是否要將此頂點舍棄。對于例如墻后的對象的整個舍棄的頂點而言,忽略其第二位準VS與GS。
頂點著色器程序典型地計算用于每個頂點的許多屬性,例如位置、顏色、紋理坐標等。在頂點屬性中,使用位置用于剪輯/揀選而將不可見的圖形元素舍棄。如果將頂點完全舍棄,則僅其位置有用于剪輯/揀選。其它屬性例如顏色、紋理坐標等,則永不使用。可以跳過計算無用屬性的頂點著色器指令,可以節(jié)省某頂點計算,且可以大幅增加幾何性能表現(xiàn)。
在傳統(tǒng)制圖管道中難以實施“兩個位準VS”,因為頂點著色器程序是在頂點基礎(chǔ)上執(zhí)行而并不知曉圖形元素信息,而圖形元素信息為舍棄不可見的圖形元素所必須。但是當(dāng)給定本發(fā)明的頂點/幾何著色器301結(jié)構(gòu)時,則可以容易地執(zhí)行“兩個位準VS”。在頂點/幾何著色器301結(jié)構(gòu)中“兩個位準VS”的流程圖,見圖5。如果在頂點/幾何著色器301中實施“兩個位準VS”,則可以將VG著色器程序分解成四個階段。第一階段510執(zhí)行第一位準VS,計算出所需的頂點與屬性;其次,第二階段520將不可見的圖形元素舍棄然后,第三階段530執(zhí)行第二位準VS,計算其余頂點與屬性;最后,第四階段540執(zhí)行GS。例如,有兩個三角形(t0,t1)共享一頂點v0,在第一位準VS后,由于t0為不可見而被舍棄,另一個VGS線處理t1,它跳過v0的第一位準VS(此v0的屬性VS-Ready為真),但它仍需要處理用于v0的第二位準VS(此v0的屬性VS-Ready1為偽),這是因為將t0舍棄而沒有處理第二位準VS與GS。
需要用在頂點高速緩存401中頂點項目的更多控制屬性,以支持“兩個位準VS”。例如,需要“VS-Ready”/“VS-Busy”用于第一位準VS,以及“VS-Ready1”/“VS-Busy1”用于第二位準VS。如圖5中所示,如果在第二階段520中可以將一個圖形元素舍棄,則可以將第二位準VS與幾何著色器指令均跳過,這對于性能表現(xiàn)非常有幫助。
總之,由上述描述可知,本發(fā)明已完全且有效地達成其目的,相應(yīng)地,上述實施例的目的在于說明本發(fā)明的功能與結(jié)構(gòu)原理。故本發(fā)明雖然列舉了上述優(yōu)選實施方式,但是應(yīng)該說明,顯然本領(lǐng)域的技術(shù)人員可以進行各種變化和改型。因此,除非這樣的變化和改型偏離了本發(fā)明的范圍,否則都應(yīng)該包括在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種圖形處理系統(tǒng),其特征在于其包括一第一轉(zhuǎn)換電路,將第一數(shù)據(jù)格式轉(zhuǎn)換成第二數(shù)據(jù)格式;一處理器,執(zhí)行一第一著色器程序與一第二著色器程序,以該第二數(shù)據(jù)格式接收輸入,且以該第一數(shù)據(jù)格式輸出結(jié)果;以及一第二轉(zhuǎn)換電路,將該第一數(shù)據(jù)格式轉(zhuǎn)換成該第二數(shù)據(jù)格式,其中該輸入來自該第一轉(zhuǎn)換電路,以及該結(jié)果輸出至該第二轉(zhuǎn)換電路。
2.根據(jù)權(quán)利要求1所述的圖形處理系統(tǒng),其特征在于其還包括一儲存裝置,其記錄與該第一色器程序有關(guān)的狀態(tài),而用于該處理器的存取。
3.根據(jù)權(quán)利要求1所述的圖形處理系統(tǒng),其特征在于該第一數(shù)據(jù)格式包括一頂點格式。
4.根據(jù)權(quán)利要求1所述的圖形處理系統(tǒng),其特征在于該第二數(shù)據(jù)格式包括一圖形元素格式。
5.根據(jù)權(quán)利要求1所述的圖形處理系統(tǒng),其特征在于該第一著色器程序包括一頂點著色器程序。
6.根據(jù)權(quán)利要求1所述的圖形處理系統(tǒng),其特征在于該第二著色器程序包括一幾何著色器程序。
7.根據(jù)權(quán)利要求1所述的圖形處理系統(tǒng),其特征在于包括一紋理單元,用于提供所述處理器的紋理信息。
8.一種圖形處理方法,其特征在于其包括以下步驟將一圖形數(shù)據(jù)由頂點格式轉(zhuǎn)換成圖形元素格式;以該圖形元素格式在該圖形數(shù)據(jù)上執(zhí)行一頂點著色器程序;以該圖形元素格式產(chǎn)生第一結(jié)果;以該圖形元素格式在該第一結(jié)果上執(zhí)行幾何著色器程序;以該頂點格式產(chǎn)生第二結(jié)果;以及將該第二結(jié)果由該頂點格式轉(zhuǎn)換成該圖形元素格式。
9.根據(jù)權(quán)利要求8所述的圖形處理方法,其特征在于包括當(dāng)執(zhí)行該頂點著色器程序時,由一紋理引擎提供一第一紋理存取。
10.根據(jù)權(quán)利要求8所述的圖形處理方法,其特征在于包括當(dāng)執(zhí)行該幾何著色器程序時,由該紋理引擎提供一第二紋理存取。
11.根據(jù)權(quán)利要求8所述的圖形處理方法,其特征在于包括當(dāng)執(zhí)行該頂點著色器程序時,將該著色器程序分解成一第一位準著色器程序與一第二位準著色器程序。
12.根據(jù)權(quán)利要求8所述的圖形處理方法,其特征在于在該圖形元素格式中的圖形數(shù)據(jù)包括一位置屬性與復(fù)數(shù)個性質(zhì)屬性。
13.根據(jù)權(quán)利要求12所述的圖形處理方法,其特征在于該性質(zhì)屬性包括顏色、亮度、或復(fù)數(shù)個紋理坐標。
14.根據(jù)權(quán)利要求8所述的圖形處理方法,其特征在于包括當(dāng)執(zhí)行該頂點著色器程序時,忽略該圖形數(shù)據(jù)的性質(zhì)屬性。
全文摘要
一種圖形處理系統(tǒng),包括第一轉(zhuǎn)換電路,將第一數(shù)據(jù)格式轉(zhuǎn)換成第二數(shù)據(jù)格式;處理器,執(zhí)行第一著色器程序與第二著色器程序,以該第二數(shù)據(jù)格式接收輸入,且以該第一數(shù)據(jù)格式輸出結(jié)果;第二轉(zhuǎn)換電路,將該第一數(shù)據(jù)格式轉(zhuǎn)換成該第二數(shù)據(jù)格式。一種圖形處理方法,其將圖形數(shù)據(jù)由頂點格式轉(zhuǎn)換成圖形元素格式;以該圖形元素格式執(zhí)行頂點著色器程序;以該圖形元素格式產(chǎn)生第一結(jié)果;以圖形元素格式在第一結(jié)果上執(zhí)行幾何著色器程序;以頂點格式產(chǎn)生第二結(jié)果;及將第二結(jié)果由頂點格式轉(zhuǎn)換成圖形元素格式。本發(fā)明能夠減少圖形處理系統(tǒng)的芯片面積、容納各種制圖管道組態(tài),并且對于不同真實情況,自動平衡頂點著色器與幾何著色器之間的工作負載。
文檔編號G06T15/00GK101017566SQ20071008583
公開日2007年8月15日 申請日期2007年2月26日 優(yōu)先權(quán)日2006年10月24日
發(fā)明者尹小勤, 鄭金山, 夏芳, 邵平平, 張劍波 申請人:圖誠科技股份有限公司