本發(fā)明專利技術涉及在圖形處理系統(tǒng)中處理具有未解析片段的基元。一種圖形處理系統(tǒng)對基元的片段執(zhí)行隱藏面消除和紋理化/著色化。該系統(tǒng)包括用于存儲解析片段的深度值的主深度緩沖器(PDB)以及用于存儲未解析片段的深度值的次級深度緩沖器(SDB)。針對來自PDB或SDB的深度值對傳入片段進行深度測試。當片段通過深度測試時,如果其為解析片段(例如,如果其不透明或半透明)則其深度值被存儲在PDB中,并且如果其為未解析片段(例如,如果其為穿通片段)則其深度值被存儲在SDB中。這為后續(xù)不透明對象提供更多機會以重寫通過深度測試的穿通片段,由此減少可能花費在最終將不貢獻于最終渲染圖像的片段上的不必要的處理和時間。
【技術實現(xiàn)步驟摘要】
【專利摘要】本專利技術涉及在圖形處理系統(tǒng)中處理具有未解析片段的基元。一種圖形處理系統(tǒng)對基元的片段執(zhí)行隱藏面消除和紋理化/著色化。該系統(tǒng)包括用于存儲解析片段的深度值的主深度緩沖器(PDB)以及用于存儲未解析片段的深度值的次級深度緩沖器(SDB)。針對來自PDB或SDB的深度值對傳入片段進行深度測試。當片段通過深度測試時,如果其為解析片段(例如,如果其不透明或半透明)則其深度值被存儲在PDB中,并且如果其為未解析片段(例如,如果其為穿通片段)則其深度值被存儲在SDB中。這為后續(xù)不透明對象提供更多機會以重寫通過深度測試的穿通片段,由此減少可能花費在最終將不貢獻于最終渲染圖像的片段上的不必要的處理和時間。【專利說明】在圖形處理系統(tǒng)中處理具有未解析片段的基元
本專利技術涉及圖形處理系統(tǒng),具體涉及在圖形處理系統(tǒng)中處理具有未解析片段的基J L ο
技術介紹
圖形處理系統(tǒng)被用于處理圖形數(shù)據(jù)以便渲染圖像。作為由圖形處理系統(tǒng)執(zhí)行的處理的部分,三維場景中的對象的基元被處理以確定基元中的哪些基元在圖形處理系統(tǒng)的渲染空間的每個樣本位置處可見,并且確定在樣本位置處的可見基元的外觀。在一些示例中,單個樣本位置可以與最終渲染的圖像的像素位置相對應,但是在其他示例中,多于一個(例如,四個)樣本位置可以與每個像素位置相對應。典型的圖形處理系統(tǒng)的兩個階段為:(i)隱藏面消除(HSR),其中由場景中的其他面隱藏的面被消除,以及(ii)紋理化和/或著色化,其中對象的面被給予合適的外觀。在延遲渲染圖形處理系統(tǒng)中,隱藏面消除階段在紋理化/著色化階段之前被實施。延遲渲染圖形處理系統(tǒng)100的部分的示例被示出在圖1中。系統(tǒng)100包括圖形處理單元(GPU)102,其包括HSR模塊104以及用于對基元的片段執(zhí)行紋理化和/或著色化的片段處理模塊106。作為術語,“片段”為在樣本位置處的基元的元素。系統(tǒng)100還包括存儲器108,其被布置為向GPU 102提供基元并從GPU 102接收經處理的像素。HSR模塊104包括深度測試邏輯110、深度緩沖器112以及標簽緩沖器114。在延遲渲染系統(tǒng)100中,HSR模塊104被布置為從存儲器108接收基元。深度緩沖器112存儲針對樣本位置的數(shù)組的深度值以指示在每個樣本位置處的當前深度。深度測試邏輯110使用存儲在深度緩沖器112中的深度值以執(zhí)行針對傳入片段的深度測試以確定片段是否由先前經處理的片段隱藏。如果傳入片段未被隱藏,則深度緩沖器112中的合適深度值能夠被更新以反映傳入片段的深度。在與不透明對象類型或半透明對象類型相關聯(lián)的片段的存在和/或深度值將不被片段處理模塊106更改的意義上,這些片段為解析片段。如下面所描述的,在此引用的“存在”是基元中的存在,而非例如最終圖像(其中諸如遮擋的其他因素可以應用)中的存在。因此,如果傳入片段是不透明的或半透明的,則深度測試邏輯110將使用(通過深度測試的)傳入片段的深度值來將深度值重寫到深度緩沖器112中。如果傳入片段是不透明的,則重寫的片段能夠被丟棄,因為它們將不貢獻于最終渲染的圖像。然而,如果傳入片段是半透明的,則重寫的片段可能仍然貢獻于最終渲染的圖像。因此,半透明的片段被處理使得使用由應用指示的混合方程來將新的半透明的片段值與先前片段值進行組合。通常,混合方程被實施在片段處理模塊106中并且在被稱為“阿爾法混合”的過程中使用源自于紋理的阿爾法值以便確定片段多么透明。其他類型的對象可以包括未解析片段。如果片段的存在和/或深度值由片段處理模塊106更改,則片段可以為“未解析”的。例如,當穿通對象類型到達HSR模塊104時生成的片段最初是未解析片段,因為它們的存在尚待由片段處理模塊106解析。具有穿通對象類型的基元可以具有通過紋理化和著色化操作確定的孔(即,透明區(qū)域)。片段在其與基元的不透明區(qū)域相對應時被稱為存在于基元中,并且在其與基元的透明區(qū)域相對應時被稱為不存在。穿通對象類型應當由HSR模塊處理使得有可能在去除被確定為不存在的任何片段之后通過剩余的孔來看到。如果(基于將其深度值與深度緩沖器112中的對應深度值進行比較)穿通片段通過初始深度測試,則穿通片段被轉發(fā)到片段處理模塊106,但是在那時深度緩沖器112中的深度值不被更新,因為深度緩沖器112被布置為僅僅保持針對解析片段的深度值(即將不被來自片段處理模塊106的反饋更改或無效的深度值)以確保深度測試的結果是準確的。片段處理模塊106通過執(zhí)行指示片段是否“存在”、即是否為基元的部分的測試(其可以被稱為“阿爾法測試”)來處理穿通片段。以這種方式,片段處理模塊106解析穿通片段的存在。針對片段的阿爾法測試使用可以源自于紋理的阿爾法值以便確定片段是否存在。該測試的結果被反饋回到深度測試邏輯110,如由圖1中的“反饋”示出的。如果片段被確定為不存在(即,如果片段未通過阿爾法測試),則沒有針對該片段的深度值被寫入到深度緩沖器112中。然而,如果片段被確定為存在(S卩,如果片段通過阿爾法測試),則到深度測試邏輯110的反饋指示片段的存在已經被解析,使得片段現(xiàn)在可以被當作解析片段。深度測試邏輯110能夠之后利用穿通片段的深度值來更新深度緩沖器112。圖1示出了標簽緩沖器114位于深度測試邏輯110與片段處理模塊106之間的接口處。標簽是基元標識符,其將片段與片段為其部分的基元相關聯(lián),并且其允許諸如針對基元的紋理化和著色化數(shù)據(jù)的屬性在需要時被提取。標簽緩沖器114被用于保持針對來自針對當前被處理的渲染空間的部分中(例如,當系統(tǒng)100為基于圖塊的系統(tǒng)時在圖塊中)的每個樣本位置的最前面的基元的片段(例如,通過深度測試的那些片段)的標簽。如以上所描述的,針對通過深度測試的不透明片段的標簽通常被寫入到標簽緩沖器114中,即使它們重寫如與正確操作相對應的現(xiàn)有標簽以處理不透明片段。來自半透明和穿通基元的片段可能需要與它們透支的片段進行組合。這些片段的組合通常必須被執(zhí)行以便它們由應用提交。因此,無論何時半透明或穿通片段被發(fā)現(xiàn)為位于當前存儲在標簽緩沖器114內的片段前面,HSR模塊104就將當前可見的標簽沖刷到片段處理模塊106。如以上所描述的,在穿通片段的情況下,片段的存在以及因此其深度值是否應當在深度緩沖器112中被更新由片段處理模塊106確定。因此,針對穿通基元的標簽還必須在當前存儲在標簽緩沖器114內的任何標簽已經被沖刷之后直接被沖刷。注意,標簽緩沖器114中的標簽和位置的組合定義片段,因此對來自標簽緩沖器114的標簽的沖刷能夠被認為是沖刷來自標簽緩沖器114的片段。在概念上,考慮片段被存儲在標簽緩沖器114中并且片段被沖刷出去到片段處理模塊106是有意義的。在實際實施方式中,片段的該概念流程通過將標簽存儲在標簽緩沖器114中并沖刷來自標簽緩沖器114的標簽來實現(xiàn)。能夠認識到,在延遲渲染系統(tǒng)(諸如,系統(tǒng)100)中,具有未解析片段的對象(例如,穿通對象)能夠影響系統(tǒng)的效率。例如,當遇到穿通對象的片段時,HSR模塊104不能夠利用片段的深度值來更新深度緩沖器112,直到其已經接收到來自片段處理模塊106的反饋的時間,即直到片段的存在已經被解析。這可以具有許多不利后果,諸如:-后續(xù)由不透明片段透支的穿通片段可以不必由片段處理模塊106著色化,本文檔來自技高網...
【技術保護點】
一種圖形處理系統(tǒng),包括:第一深度緩沖器,被配置為將針對多個樣本位置的解析片段的深度值存儲在所述圖形處理系統(tǒng)的渲染空間內;第二深度緩沖器,被配置為存儲針對所述樣本位置的未解析片段的深度值;以及深度測試邏輯,被配置為接收與基元相關的基元數(shù)據(jù)并且使用存儲在所述深度緩沖器中的至少一個深度緩沖器中的深度值來對所述基元的片段執(zhí)行深度測試;其中所述圖形處理系統(tǒng)被配置為:(i)在通過深度測試的片段為解析片段時將所述片段的所述深度值存儲在所述第一深度緩沖器中,以及(ii)在通過深度測試的片段為未解析片段時將所述片段的所述深度值存儲在所述第二深度緩沖器中。
【技術特征摘要】
...
【專利技術屬性】
技術研發(fā)人員:J·豪森,
申請(專利權)人:想象技術有限公司,
類型:發(fā)明
國別省市:英國;GB
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。