TWI434226B - 影像處理技術 - Google Patents
影像處理技術 Download PDFInfo
- Publication number
- TWI434226B TWI434226B TW099135060A TW99135060A TWI434226B TW I434226 B TWI434226 B TW I434226B TW 099135060 A TW099135060 A TW 099135060A TW 99135060 A TW99135060 A TW 99135060A TW I434226 B TWI434226 B TW I434226B
- Authority
- TW
- Taiwan
- Prior art keywords
- shadow
- buffer
- target
- stencil buffer
- boundary volume
- 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/50—Lighting effects
- G06T15/60—Shadow generation
-
- 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
Description
在本文中所揭示之標的物大致地有關繪圖處理,包含要顯現之陰影的決定。
在影像處理技術中,陰影係針對螢幕上之獨特目標而界定。例如,G. Johnson,W. Mark及C. Burns,“不規則的Z緩衝區及其對陰影映像之應用”,University of Texas at Austin(2009年4月)(可在http://www.cs.utexas.edu/ftp/pub/techreports/tr04-09.pdf取得),敘述相對於其第4圖及所附正文之根據光視野及眼睛/相機視野深度緩衝區的場景之習知及不規則陰影映像的典型技術。
從光透視圖來考慮其中角色正站在牆後的場景。若該角色係完全在牆的陰影之內時,則不必估計角色的陰影,因為該牆的陰影會覆蓋其中該角色的陰影已在該處之區域。典型地,在繪圖管道中,所有角色之線條將予以顯現以決定該角色的陰影。然而,角色的陰影及對應的光視野深度值將與此場景無關聯。相對昂貴的頂點處理係使用以顯現角色的線條及陰影。已知的陰影顯現技術會招致在陰影情況之期間顯現整個場景或使用目標配置之應用特定知識的代價。
降低陰影顯現期間所發生的處理量係所欲的。
在此說明書中對“一實施例”或“實施例”之參考意指的是,連同該實施例所敘述之特定的特性、結構、或特徵係包含於本發明之至少一實施例中。因此,在此說明書中的不同處之“在一實施例中”或“實施例”之措辭的出現無需一定均指相同的實施例。再者,該等特定的特性、結構、或特徵可結合於一或更多個實施例之中。
各式各樣的實施例藉由使用由眼睛視野的深度緩衝區之光視野所產生的模板緩衝區,而致能階層式裁切法於陰影產生之期間。該模板緩衝區可藉由投影相機視野的標準面中之深度值至光視野的影像面之中而產生。該模板緩衝區係來自光視野,且指示眼睛視野中之可潛在地在陰影中的點或區域。若在點或區域與光源之間係無物時,則該點會自光視野變亮。若某物係在該點或區域與光源之間時,則該點係在陰影中。例如,若在模板緩衝區中之區域對應於來自眼睛視野的可視點或可視區域時,則在模板緩衝區中之該區域可具有“1”值(或其他值)。該點或區域可藉由標準面座標而表示。
應用程式可顯現諸如代理幾何/邊界容積之簡單的幾何,且對模板緩衝區使用逐出質問以決定任何代理幾何是否已投射陰影。若無時,則可略過要顯現與該代理幾何相關聯之目標陰影的潛在昂貴之處理,藉以潛在地縮減產生陰影的時間。
可使用階層式裁切法,使得可以以最高至最低優先序之次序而執行逐出質問於代理幾何。例如,針對高解析度之角色,可執行用於整個角色之代理幾何的逐出質問,而隨後執行用於該角色之四肢或驅幹的逐出質問。通常,遊戲具有可用於實體計算及其他用途之該代理幾何。
第1圖描繪其中應用程式102請求顯現一或更多個目標之系統的實例。應用程式102可發出場景圖形至繪圖管道104及/或處理器106。場景圖形可包含若干網格。各個網格可包含對指引緩衝區,頂點緩衝區,紋理,頂點,頂點的連接率,著色器(例如,要使用之特定的幾何、頂點、及像素著色器),及粗糙區代理幾何之階層的引用。
處理器106可為單一或多重線程,單一或多重核心,中央處理單元,繪圖處理單元,或執行一般計算操作的繪圖處理單元。除了其他操作之外,處理器106可執行繪圖管道104的操作。
應用程式102指明特定之像素著色器要使用的場景圖形以產生相對於彩色值之深度值以及指明相機視野矩陣(例如,外觀、上方、側邊、及視場參數),該相機視野矩陣指明來自該場景之視野以產生深度值。在各式各樣的實施例中,繪圖管道104使用其之像素著色器(末描繪)以產生用於場景圖形中之目標的深度緩衝區120,而該場景圖形係由用於相機視野矩陣之應用程式102所提供。藉由繪圖管道104之輸出合倂可予以略過。深度緩衝區120可指示目標於相機空間之中的x,y,z位置。該z位置可指示點距離相機的距離。深度緩衝區120可為與彩色緩衝區之尺寸(例如,螢幕尺寸)相同的尺寸。繪圖管道104儲存深度緩衝區120於記憶體108之中。
為了要自相機/眼睛空間來產生深度緩衝區,可使用一或組合式處理器(例如,處理器或在繪圖處理單元上的一般用途計算),繪圖管道中之像素著色器(例如,藉由處理器所執行的軟體,以及在繪圖處理處理單元上的一般用途計算),而輸出深度值。
在某些情況中,繪圖處理器可安裝深度緩衝區及彩色緩衝區,以使像素光柵化。若使用繪圖處理器時,則可使彩色緩衝區的產生操作失能。可安裝深度緩衝區以決定像素截止,亦即,該繪圖處理器截止來自相機透視圖之在被顯現的現有像素之後(亦即,遠離現有像素)的像素。該深度緩衝區儲存與1/深度相關的非線性深度值。該等深度值可被常態化為一範圍。處理器的使用可降低記憶體之使用,且當使彩色緩衝區之顯現失能時,通常會更快。
在其中像素著色器產生深度緩衝區的情況中,像素著色器會產生深度值。像素著色器的使用可准許線性內插之深度值的儲存。陰影映像的視覺假缺陷可藉由使用線性內插之深度值而降低。
在場景圖形中的深度緩衝區包含來自眼睛視野的場景中之所有目標的可視點。在深度緩衝區120係可用之後,應用程式102指示處理器106將深度緩衝區120自相機空間轉換至光空間。處理器106可藉由自相機視野投影深度值至光視野影像面之上,而決定模板緩衝區。投影可使用矩陣乘法而執行。處理器106儲存來自光空間的深度緩衝區120於記憶體108中,做為模板緩衝區122。模板緩衝區122包含來自眼睛視野之所有可視點的光視野透視圖。在某些情況中,模板緩衝區122可溢寫深度緩衝區,或可被寫入至記憶體中的另一個緩衝區之中。
在各式各樣的實施例中,模板緩衝區122指示相機/眼睛視野中可自光視野視見的點或區域,前提為無其他目標投射陰影在該目標之上。在一實施例中,模板緩衝區係初始化為均零。若來自眼睛/相機視野的像素係可自光視野視見時,則將“1”儲存於與該區域相關聯的一部分模板緩衝區之中。第5A圖描繪根據來自眼睛視野的目標視見度之模板緩衝區的實例。“1”係儲存於可自光視野視見的區域之中。例如,區域可為4像素×4像素區域。如稍後將更詳細敘述地,當使來自光視野之場景光柵化時,可將場景中映像至模板緩衝區中之空區域之目標的4像素×4像素區域自已繪製陰影的區域排除。
習知係相反的,以致“0”指示來自光視野的可見度以及“1”指示來自光視野的不可見度。
模板緩衝區可為二維陣列。可將模板緩衝區定尺寸,使得在模板緩衝區中之位元組對應於光視野顯現目標中之4像素×4像素區域。可選擇位元組尺寸以匹配散佈指令可參考的最小尺寸。該散佈指令分配儲存的值至多重目的地。相對地,傳統的儲存指令分配值至順序的/鄰接的位址。例如,軟體光柵化器可由於其之16倍寬的SIMD指令組而同時操作於16個像素之上。
該模板緩衝區可為任何尺寸。較小尺寸的模板緩衝區將更快以產生及使用,但會過度地保守;反之,較大的尺寸將以更多時間來產生及更多記憶體佔用空間的代價而更精確。例如,若模板緩衝區為1位元時,則映像場景至模板緩衝區中之任何空的區域可能造成場景之任何部分略過被遮蓋。若該模板緩衝區為更高的解析度時,則掃描模板緩衝區中之多重像素將發生以決定場景的那些部分並不會產生陰影。性能調諧可針對給定的應用而導致最適的模板緩衝區解析度。
例如,由於投影來自場景之3D目標至2D模板緩衝區之上而造成顯現的代理幾何可覆蓋100×100像素。
在模板緩衝區係有效於使用之後,應用程式102可請求產生簡單的代理幾何或邊界容積(例如,矩形,球形,或凸包),而表示目標在產生深度緩衝區及模板緩衝區所使用的相同場景圖形之中。例如,若目標係茶壺時,則該目標可使用一或更多個邊界容積或包圍該目標之某一三維容積而表示,但具有比所包圍之目標更少的細部。若該目標係人物時,則可將頭部表示為球形,且可藉由包圍目標之邊界容積或某一三維容積而表示軀幹及各肢,但具有比所包圍之目標更少的細部。
此外,應用程式102可識別一或更多個場景圖形(使用於相機及光視野二者以產生模板緩衝區之相同的場景圖形),且請求繪圖管道104決定該等場景圖形之邊界容積中的各個區域是否映像至模板緩衝區之中的對應區域。在此情況中,可使用場景圖形中之各個目標的邊界容積以決定所包圍的目標是否投射陰影於被投影至光視野且可自眼睛視野視見的目標之上。對照地,深度緩衝區及模板緩衝區的決定係考慮目標而相對於考慮目標的邊界容積。
繪圖管道104使用一或更多個像素著色器而映像邊界容積之部分至模板緩衝區的對應部分之上。來自光視野之場景圖形中的各個邊界容積可映像至模板緩衝區的對應區域。若來自光視野之目標的邊界容積並未覆蓋標示為“1”之模板緩衝區的任何區域時,則該目標無法投射陰影於可自眼睛視野視見的目標之上。因而,該目標會自陰影顯現排除。
在各式各樣的實施例中,針對場景圖形中的各個目標,代理幾何係使用繪圖管道104而被顯現自光視野,且像素著色器讀取模板緩衝區以決定代理幾何是否具有陰影。
第5B圖描繪投影邊界容積至有關第5A圖所產生的模板緩衝區上之實例。邊界容積1及2二者係由模板緩衝區所造成之不可自眼睛視野轉換的光視野視見。在此實例中,邊界容積1自光視野投影至模板緩衝區中的1之上,且因而,對應的目標並未自可顯現陰影的目標排除。邊界容積2投影至模板緩衝區的0之上。因而,與邊界容積2相關聯的目標可自陰影顯現排除。
請參閱第1圖,可將輸出緩衝區124初始化為零。若任何區域覆蓋具有“0”的深度緩衝區時,則不寫入至輸出緩衝區。若任何區域覆蓋具有“1”的深度緩衝區時,則以“1”來寫入至輸出緩衝區。相同目標之不同區域的並聯處理可同時地發生。若在任何時間將輸出緩衝區寫入為“1”時,則與邊界容積相關聯的目標並不自陰影顯現排除。
在某些情況中,輸出緩衝區124可為模板緩衝區中之值的總和。因而,若輸出緩衝區曾經大於零時,則對應的目標並不自陰影顯現排除。
在另一設想情況中,輸出緩衝區可為多重位元之尺寸,且具有多重部分。第一像素著色器可映像代理幾何的第一部分至模板緩衝區的對應部分,且若該代理幾何的第一部分映像至模板緩衝區中的“1”時,則寫入“1”至輸出緩衝區124的第一部分,或者若該代理幾何的第一部分映像至模板緩衝區中的“0”時,則寫入“0”。此外,並聯地,第二像素著色器可映像同一代理幾何的第二部分至模板緩衝區的對應部分,且若該代理幾何的任何部分映像至模板緩衝區中的“1”時,則寫入“1”至輸出緩衝區124的第二部分,或者若該代理幾何的第二部分映像至模板緩衝區中的“0”時,則寫入“0”。在輸出緩衝區124中之結果可邏輯“或”一起,且若輸出為“0”時,則該代理幾何不產生陰影且自將產生陰影之代理目標的列表排除。若來自輸出緩衝區124之邏輯“或”一起的輸出產生“1”時,則代理目標無法自將產生陰影之代理目標的列表排除。一旦被安裝時,可並聯可靠地存取模板緩衝區內容,而無爭議。
繪圖處理單元或處理器使邊界容積以與模板緩衝區之解析度相同的解析度而光柵化。例如,若模板緩衝區具有2×2像素區域的解析度時,則邊界容積係以2×2像素區域及其類似區域而被光柵化。
在決定將自陰影顯現排除的目標之後,應用程式102(第1圖)提供與使用以決定模板緩衝區及自陰影顯現排除目標之場景圖形相同的場景圖形至繪圖管道104,而產生陰影。其中邊界容積係映像至模板緩衝區中之“1”的任何目標係自將產生陰影的代理目標之列表排除。在此情況中,係使用相對於邊界容積之場景圖形中的目標來產生陰影。若在網格中之任一邊界容積投射陰影於模板緩衝區的可視區域之上時,則整個網格被估計以供陰影顯現之用。網格陰影旗標126可使用以指示已被顯現陰影的網格。
第2圖描繪可使用於實施例中之合適的繪圖管道。該繪圖管道可與以下相容:Segal,M. and Akeley,K.,“OpenGL繪圖系統:A規格(型式2.0)”(2004年);微軟DirectX9可編程繪圖管道,微軟出版中心(2003年);以及微軟Direct X10(例如,描述於D. Blythe,“Direct3D 10系統”,微軟公司(2006年))及其變更版本。DirectX係與輸入裝置,聲頻,及視頻/繪圖有關之應用程式介面(API)的組群。
在各式各樣的實施例中,繪圖管道之所有的級可使用一或更多個應用程式介面(API)來加以組構。繪圖圖元(例如,三角形、矩形、方形、線條、點、或具有至少一頂點的形狀)流動於此管道的頂部之中,且被轉換及光柵化為螢幕空間的像素,以供電腦螢幕上的繪圖之用。
輸入組譯器級202係要自直至8個頂點緩衝區輸入流來收集頂點資料。其他數目之頂點緩衝區輸入流也可予以收集。在各式各樣的實施例中,輸入組譯器級202亦可支援所謂“實證”的處理,其中輸入組譯器級202僅透過一繪製呼叫而複製目標若干次。
頂點著色器(VS)級204係要自目標空間轉換頂點至截割空間。VS級204係要讀取單一頂點且產生單一轉換的頂點做為輸出。
幾何著色器級206係要接收單一基元的頂點且產生零或更多個基元的頂點。幾何著色器級206係要輸出圖元及線條做為頂點的連接帶。在某些情況中,幾何著色器級206係要在所謂資料放大的處理中,自來自頂點著色器級的各個頂點發出直至1024個頂點。而且,在某些情況中,幾何著色器級206係要自頂點著色器級204取得頂點的組群且結合它們,以發出更少的頂點。
流輸出級208係要自幾何著色器級206直接轉移幾何資料至記憶體250中之圖框緩衝區的一部分。在資料自流輸出級208轉移至圖框緩衝區之後,資料可送回至管道中之任一點以供額外的處理之用。例如,流輸出級208可以以依序之順序來拷貝由幾何著色器級206所輸出之頂點資訊的子集至記憶體250中的輸出緩衝區。
光柵化器級210係要執行諸如截割,消除,分段產生,交剪,透視畫分,視埠變換,圖元設置,及深度偏置之操作。
像素著色器級212係要讀取各個單一像素分段的性質,且產生具有彩色及深度值的輸出分段。在各式各樣的實施例中,像素著色器212係根據來自應用程式的指令而選擇。
當使代理幾何光柵化時,像素著色器根據邊界容積的像素位置而查明模板緩衝區。像素著色器可決定任一邊界容積是否已藉由比較邊界容積中的各個區域與模板緩衝區中的對應區域產生陰影。若對應於邊界容積之區域的模板緩衝區中之所有區域指示並無陰影投射在可視目標之上時,則將對應於邊界容積的目標自將顯現陰影之目標的列表排除。因而,實施例提供自將顯現陰影之邊界容積的列表來識別及排除目標。若目標並未投射陰影在可視目標之上時,則可略過潛在昂貴的高解析度陰影計算和光柵化操作。
輸出合倂級214係要執行模板及深度測試於來自像素著色器級212的分段之上。在某些情況中,輸出合倂級214係要執行顯現目標摻和。
記憶體250可實施為以下之任一者或其組合:揮發性記憶體裝置,諸如但未受限於隨機存取記憶體(RAM),動態隨機存取記憶體(DRAM),靜態RAM(SRAM),或任何其他類型之半導體為基的記憶體;或磁性記憶體。
第3圖描繪可使用以決定場景中已產生陰影之目標的合適處理。
方塊302包含提供用於光柵化的場景圖形。例如,應用程式可提供場景圖形至繪圖管道以供光柵化之用。該場景圖形可描繪將使用網格而顯示的場景,頂點,連接性資訊,使場景光柵化所使用之著色器的選擇,以及邊界容積。
方塊304包含建構用於來自相機視野之場景圖形的深度緩衝區。繪圖管道的像素著色器可使用以產生來自特定相機視野的場景圖形中之目標的深度值。應用程式可指明像素著色器要儲存場景圖形的深度值,且使用相機視野矩陣來指明相機視野。
方塊306包含根據來自光視野的深度緩衝區而產生模板緩衝區。矩陣數學可使用以自相機空間來轉換深度緩衝區至光空間。應用程式可指示處理器,繪圖處理器,或請求在繪圖處理器上的一般用途計算,而自相機空間來轉換深度緩衝區至光空間。處理器儲存來自光空間之生成的深度緩衝區於記憶體中,做為模板緩衝區。模板緩衝區之各式各樣可行的實施例可與第1及5A圖相關聯而敘述。
方塊308可包含根據模板緩衝區的內容而決定來自方塊302中所提供之場景圖形的目標是否可投射陰影。例如,像素著色器可比較用於目標之代理幾何中的各個區域與模板緩衝區中的對應區域。若在代理幾何中之任何區域與模板緩衝區中的“1”重疊時,則該代理幾何投射陰影,且對應的目標不自陰影顯現排除。若代理幾何並未與模板緩衝區中的任何“1”重疊時,則在方塊310中,將該代理幾何自陰影顯現排除。
可重複方塊308及310,直至檢查出所有代理幾何目標為止。例如,可設定其中檢驗目標之次序,以決定它們是否投射陰影。例如,針對高解析度的人形狀之圖形,可先檢驗整個人的圖形之邊界盒,且然後,檢驗四肢及軀幹的邊界盒。若並無陰影自人的圖形之代理幾何的任何部分投射時,則可略過該圖形之四肢及軀幹的代理幾何。然而,若陰影係自人的圖形之代理幾何的一部分投射時,則檢查該人的圖形之其他的子幾何,以決定陰影是否由任何部分所投射。因而,可略過某些子幾何的顯現,以節省記憶體和處理資源。
第4圖描繪決定要自將被顯現之目標的列表排除之代理邊界目標之處理的另一流程圖。
方塊402包含設定用於場景圖形的顯現狀態。應用程式可藉由指明像素著色器寫入來自特殊相機視野之場景圖形的深度值,而設定顯現狀態。該應用程式提供相機視野矩陣以指明相機視野。
方塊404包含應用程式,該應用程式提供場景圖形至繪圖管道,以供顯現之用。
方塊406包含繪圖管道,該繪圖管道根據特定的相機視野轉換而處理輸入的網格,及儲存深度緩衝區至記憶體之內。場景圖形可藉由繪圖管道而並聯地處理。該管道的許多級可予以平行化。像素處理可與頂點處理並聯地發生。
方塊408包含轉換深度緩衝區位置成為光空間。應用程式可請求處理器轉換來自相機空間之深度緩衝區的x,y,z座標成為光空間中的x,y,z座標。
方塊410包含投影三維的光位置至二維的模板緩衝區之上。處理器可轉換光空間中之x,y,z位置至二維的模板緩衝區。例如,可使用矩陣數學以轉換該等位置。該模板緩衝區可儲存於記憶體之中。
方塊412包含應用程式,該應用程式可編程繪圖管道以指示代理幾何是否投射陰影。應用程式可選擇用於場景圖形的像素著色器以讀取模板緩衝區。並聯地,所選擇的像素著色器比較代理幾何中的位置與模板緩衝區中的對應位置。像素著色器係要從模板緩衝區中的區域讀取模板值,且若在代理幾何中之任何對應的區域也具有1時,則寫入1至輸出緩衝區。該模板緩衝區及使用模板緩衝區而決定由於代理幾何之陰影的產生之各式各樣實施例可與第1,5A,及5B圖相關聯而敘述。
方塊414包含選擇場景圖形中之下一個網格。
方塊416包含決定所有的網格是否已相對於模板緩衝區而被測試。若所有的網格均已被測試時,則在方塊416之後進行方塊450。若所有的網格尚未被測試完時。則在方塊416之後進行方塊418。
方塊418包含清除輸出緩衝區。該輸出緩衝區指示邊界容積幾何是否投射任何陰影。若輸出緩衝區係非零時,則陰影可由與邊界容積相關聯的目標所顯現。與顯現邊界容積相反地,當使用顯現實際目標以顯現陰影時,則可知道陰影是否被投射。在某些情況中,即使當邊界容積與模板緩衝區之間的比較指示陰影被投射時,目標並未投射陰影。
方塊420包含所選擇的像素著色器決定代理幾何是否投射陰影。若在代理幾何中之對應位置對應於模板緩衝區中的1時,則像素著色器遵循來自方塊412的命令,而儲存1至輸出緩衝區。多重像素著色器可並聯地操作,而以與第1圖相關聯所述之方式來比較代理幾何的不同部分與模板緩衝區中的對應部分。
方塊422包含決定輸出緩衝區是否被清除。若輸出緩衝區指示並無代理幾何映像至模板緩衝區中的任一1時,則輸出緩衝區被清除。若輸出緩衝區係在執行方塊420之後被清除時,則在方塊430中將網格標示為未投射陰影。若輸出緩衝區並未在執行方塊420之後被清除時,則在方塊422之後進行方塊424。
方塊424包含決定網格階層是否被指明用於網格。應用程式指明網格階層。若階層被指明時,則在方塊424之後進行方塊426。若階層未被指明時,則在方塊424之後進行方塊440。
方塊426包含選擇下一個最高優先序代理幾何,且然後,重複方塊418。方塊418係執行用於下一個最高優先序代理幾何。
方塊440包含標示網格為投射陰影。若在網格中之任一邊界盒具有根據模板緩衝區中之對應位置的投射陰影時,則在該網格中的所有目標將不考慮用於陰影顯現。
方塊450包含准許產生陰影的應用程式。不產生陰影的網格係自可產生陰影之目標列表排除。若在網格中的任一邊界盒投射陰影於模板緩衝區之上時,則估計整個網格以供陰影顯現之用。
在某些實施例中,形成模板緩衝區可與形成不規則z緩衝區(IZB)光視野表示相結合。不規則陰影映像的下方資料結構係格柵,但格柵以用於光視野中之各像素的子像素解析度來儲存投影之像素的列表。IZB陰影表示可藉由以下處理而產生。
(1)使來自眼睛視野的場景光柵化,僅儲存深度值。
(2)投影深度值至光視野影像面之上,且儲存子像素準確位置於取樣的每像素列表之中(零或更多的眼睛視野之點可映像至相同的光視野像素)。此係資料結構建構階段,且在此資料結構建構階段之期間,當各個眼睛視野的值被投影至光空間之內時,可將位元設定於2D模板緩衝區之內。多重像素可對應至相同的模板緩衝區位置,但可儲存單一的“1”。
格柵分佈的模板緩衝區可產生於(2)之期間,而指示IZB的區域不具有像素值。具有像素值的區域係與邊界容積比較,以決定陰影是否可藉由該邊界容積所投射。
(3)顯現來自光視野之幾何,相對於模板緩衝區的測試產生於(2)之中。若在模板緩衝區之中的取樣係在光視野目標的邊緣之內,但在與光有關連的目標之後(亦即,遠離該目標)時,則該取樣係在陰影之中。因而,標示陰影的取樣。當使來自光視野之幾何光柵化於(3)之中時,可跨越區域而映像至模板緩衝區中之空的區域中,因為將不具有相對於IZB資料結構的該區域中之測試的眼睛視野之取樣。
(4)顯現再次來自眼睛視野之場景,但使用由於步驟(3)所產生的陰影資訊。
因為許多留下陰影之技術(除了IZB之外)會由於不精確及重疊誤差而具有各式各樣的假缺陷,所以可將代理幾何擴大(例如,經由簡單的比例因子)或將模板緩衝區擴張,以使測試更趨保守,且藉以避免引入甚至更多的假缺陷。
在某些實施例中,模板緩衝區可儲存來自光視野的深度值,而取代1及0之值。針對區域,若在模板緩衝區中的深度值係比自光視野面至邊界容積之距離更大時(亦即,邊界容積係比記錄於模板緩衝區中之目標更靠近光源),則該邊界容積投射陰影於該區域之上。針對區域,若在模板緩衝區中的深度值係比自光視野面至邊界容積之距離更小時(亦即,邊界容積係比記錄於模板緩衝區中之目標更遠離光源),則該邊界容積並不投射陰影於該區域之上,且相關聯的目標可自將被顯現陰影之目標排除。
第6圖描繪可使用本發明之實施例的合適系統。電腦系統可包含主機系統502及顯示器522。電腦系統500可實施於手持式個人電腦,行動電話,機上盒,或任何計算裝置之中。主機系統502可包含晶片組505,處理器510,主記憶體512,儲存器514,繪圖子系統515,及無線電520。晶片組505可提供相互連繫於處理器510,主記憶體512,儲存器514,繪圖子系統515,及無線電520之間。例如,晶片組505可包含能提供與儲存器514相互連繫的儲存轉接器(未描繪)。例如,該儲存轉接器能符合以下協定而與儲存器514連繫:小電腦系統介面(SCSI),光纖通道(FC),以及先進串聯技術附接(S-ATA)。
在各式各樣的實施例中,電腦系統執行有關第1至4圖所描述之技術,以決定將被顯現陰影的代理幾何。
處理器510可實施成為複雜指令集電腦(CISC)或精減指令集電腦(RISC)處理器,多核心,或任何其他的微處理器或中央處理單元。
主記憶體512可實施成為揮發性記憶體裝置,諸如,但未受限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、或靜態RAM(SRAM)。儲存器514可實施成為非揮發性儲存裝置,諸如,但未受限於磁碟驅動器、光碟驅動器、磁帶驅動器、內部儲存裝置、附接儲存裝置、快閃記憶體、電池後備SDRAM(同步DRAM)、及/或網路可存取式儲存裝置。
繪圖子系統515可執行諸如靜像或視頻之影像的處理,以供顯示之用。類比或數位介面可使用以傳達地耦接繪圖子系統515及顯示器522。例如,該介面可為高清晰度多媒體介面、視訊介面、無線HDMI、及/或無線HD相容技術之任一者。繪圖子系統515可集成至處理器510或晶片組505之內。繪圖子系統515可為傳達地耦接至晶片組505之獨立卡。
無線電520可包含能依據可應用之無線式標準(諸如,但未受限於IEEE 802.11及IEEE 802.16之型式),而傳送及接收信號之一或更多個無線電。
在此所敘述之繪圖及/或視頻處理技術可實施於各式各樣的硬體架構之中。例如,繪圖及/或視頻的功能性可集成於晶片組之中。選擇性地,可使用分立的繪圖及/或視頻處理器。做為仍一實施例,繪圖及/或視頻功能可藉由包含多核心處理器之一般用途處理器而加以實施。在進一步的實施例中,該等功能可實施於消費性電子裝置之中。
本發明之實施例可實施成為以下之任一者或其組合:使用主機板所互連之一或更多個微晶片或積體電路,硬線式邏輯,由記憶體裝置所儲存且由微處理器所執行的軟體,韌體,應用特定積體電路(ASIC),及/或可場編程之閘陣列(FPGA)。例如,“邏輯”之用語可包含軟體或硬體及/或軟體和硬體的組合。
例如,可將本發明之實施例提供成為可包含一或更多個機器可讀取媒體之電腦程式產品,該一或更多個機器可讀取媒體儲存機器可執行指令於上,當藉由一或更多個諸如電腦、電腦之網路、或其他電子裝置的機器所執行時,可依據本發明之實施例產生一或更多個機器執行操作。機器可讀取媒體可包含,但未受限於磁盤、光碟、CD-ROM(小型碟片僅讀記憶體)、磁光碟、ROM(僅讀記憶體)、RAM(隨機存取記憶體)、EPROM(可拭除式可編程僅讀記憶體)、EEPROM(可電拭除式可編程僅讀記憶體)、磁性或光學卡、快閃記憶體、或適用以儲存機器可執行指令之其他類型的媒體/機器可讀取媒體。
圖式及上述說明給定本發明之實例。雖然將一或更多個元件描繪為若干不同的功能項目,但熟習於本項技藝之該等人士將理解的是,可將該一或更多個元件適當地結合成為單一功能之元件。選擇性地,可將若干元件分成多重功能之元件。來自一實施例之元件可被添加至另一實施例。例如,在此所敘述之處理的次序可予以改變且並未受限於此處所描述之方式。此外,任一流程圖的動作無需一定要以所示之次序而實施,且非所有該等動作均需予以執行。而且,不相依於其他動作之該等動作可與其他動作並聯地執行。然而,本發明之範疇絕不受限於該等特定的實例。不論是否明顯地給定於說明書中,諸如在結構、尺寸、及材料使用上的差異之種種變化係可能的。本發明之範疇係至少如下文申請專利範圍所給定的一樣地寬廣。
102...應用程式
104...繪圖管道
106、510...處理器
108、250...記憶體
120...深度緩衝區
122...模板緩衝區
124...輸出緩衝區
126...網格陰影旗標
202...輸入組譯器級
204...頂點著色器(VS)級
206...幾何著色器級
208...流輸出級
210...光柵化器級
212...像素著色器級
214...輸出合倂級
320~310、402~450...方塊
502...主機系統
522...顯示器
505...晶片組
512...主記憶體
514...儲存器
515...繪圖子系統
520...無線電
本發明之實施例係藉由實例而描繪於圖式中,且非為限制,以及其中相同的參考符號表示相似的元件。
第1圖描繪其中應用程式請求顯現場景圖形之系統的實例;
第2圖描繪可使用於實施例中之合適的繪圖管道;
第3圖描繪可使用以決定那些目標已產生陰影的合適處理;
第4圖描繪自產生陰影的目標列表排除代表邊界目標之決定處理的另一流程圖;
第5A圖描繪模板緩衝區產生的實例;
第5B圖描繪投影邊界容積至模板緩衝區上之實例;及
第6圖描繪可使用本發明之實施例的合適系統。
102...應用程式
104...繪圖管道
106...處理器
108...記憶體
120...深度緩衝區
122...模板緩衝區
124...輸出緩衝區
126...網格陰影旗標
Claims (17)
- 一種電腦實施之方法,包含:請求根據相機視野來決定場景的深度緩衝區;請求自光視野來轉換該深度緩衝區成為模板緩衝區,該模板緩衝區自該光視野來辨識該場景的可視區域;決定代理幾何中之任一區域是否會投射陰影在該模板緩衝區中的可視區域上,其中該代理幾何包含三維容積,其包圍一目標但具有比所包圍之該目標更少的細部;自陰影顯現來選擇性地排除該代理幾何,以回應於不投射陰影在該模板緩衝區中的可視區域上之該代理幾何中的任一區域;以及顯現對應於並未自該陰影顯現排除之該代理幾何之目標的陰影。
- 如申請專利範圍第1項之方法,其中該請求決定場景的深度緩衝區包含:請求像素著色器根據特定的相機視野而自場景圖形來產生該深度緩衝區的深度值。
- 如申請專利範圍第1項之方法,其中該請求轉換深度緩衝區包含:指明處理器而自相機視野至光視野來轉換該深度緩衝區。
- 如申請專利範圍第1項之方法,進一步包含:選擇最高優先序代理幾何,其中該決定代理幾何中之任一區域是否會投射陰影在該模板緩衝區中的可視區域之 上包含決定該最高優先序代理幾何中之任一區域是否會投射陰影在該模板緩衝區中的可視區域之上。
- 如申請專利範圍第4項之方法,其中該最高優先序代理幾何包含用於多重部件之目標的代理幾何且進一步包含:排除與該多重部件之目標的各個部件相關聯之任一代理幾何,以回應於並未投射陰影在該模板緩衝區中的可視區域上之該最高優先序代理幾何。
- 如申請專利範圍第4項之方法,其中該最高優先序代理幾何包含用於多重部件之目標的代理幾何且進一步包含:回應於投射陰影在該模板緩衝區中的可視區域上之該最高優先序代理幾何,決定與該多重部件之目標的各個部件相關聯之各個代理幾何是否投射陰影在該模板緩衝區中的可視區域之上。
- 如申請專利範圍第1項之方法,進一步包含:回應於投射陰影在該模板緩衝區中的可見區域上之網格中的任一代理幾何,決定與該網格相關聯之各個代理幾何是否投射陰影在該模板緩衝區中的可視區域之上。
- 一種影像處理設備,包含:應用程式,用以請求顯現場景圖形;像素著色器邏輯,自眼睛視野來產生該場景圖形的深度緩衝區;處理器,根據光視野而轉換該深度緩衝區成為模板緩 衝區;記憶體,儲存該深度緩衝區及該模板緩衝區;一或更多個像素著色器,決定邊界容積之部分是否投射陰影至該模板緩衝區所指示的可視區域之上,且選擇性地排除與不投射陰影在可視區域上之邊界容積相關聯的目標,其中該邊界容積包含三維容積,其包圍該相關聯的目標但具有比所包圍之該目標更少的細部;以及邏輯,顯現對應於並未自陰影顯現排除之邊界容積的目標之陰影。
- 如申請專利範圍第8項之設備,其中該應用程式係用以指明要使用的像素著色器。
- 如申請專利範圍第8項之設備,其中該一或更多個像素著色器係為:選擇最高優先序邊界容積,其中要決定邊界容積之部分是否投射陰影至該模板緩衝區所指示的可視區域之上,該一或更多個像素著色器係要決定該最高優先序邊界容積中之任一區域是否投射陰影在該模板緩衝區中的可視區域之上。
- 如申請專利範圍第10項之設備,其中該最高優先序邊界容積包含用於多重部件之目標的邊界容積且其中該一或更多個像素著色器係要:自陰影顯現來辨識與該多重部件之目標的各個部件相關聯之任一邊界容積以供排除之用,而回應於並未投射陰影在該模板緩衝區中的可視區域上之該最高優先序邊界容 積。
- 如申請專利範圍第10項之設備,其中該最高優先序邊界容積包含用於多重部件之目標的邊界容積且其中該一或更多個像素著色器係為:回應於投射陰影在該模板緩衝區中的可視區域上之該最高優先序邊界容積,而決定與該多重部件之目標的各個部件相關聯之各個邊界容積是否投射陰影在該模板緩衝區中的可視區域之上。
- 如申請專利範圍第8項之設備,其中該一或更多個像素著色器係要:決定與網格相關聯之各個邊界容積是否投射陰影在該模板緩衝區中的可視區域之上,以回應於投射陰影在該模板緩衝區中的可視區域上之該網格中的任一邊界容積。
- 一種影像處理系統,包含:顯示裝置;無線介面;以及主機系統,係傳達地耦接至該顯示裝置且傳達地耦接至該無線介面,該主機系統包含:請求顯現場景圖形之邏輯;自眼睛視野來產生該場景圖形的深度緩衝區之邏輯;根據光視野而轉換該深度緩衝區成為模板緩衝區之邏輯;儲存該深度緩衝區及該模板緩衝區之記憶體; 決定邊界容積之部分是否投射陰影至該模板緩衝區所指示的可視區域之上,且選擇性地排除與不投射陰影在可視區域上之邊界容積相關聯的目標之邏輯,其中該邊界容積包含三維容積,其包圍該相關聯的目標但具有比所包圍之該目標更少的細部;顯現對應於並未自陰影顯現排除之邊界容積的目標之陰影的邏輯;以及提供所顯現之陰影用於在該顯示器上顯示之邏輯。
- 如申請專利範圍第14項之系統,其中決定邊界容積之部分是否投射陰影之該邏輯係為:選擇最高優先序邊界容積,其中要決定邊界容積之部分是否投射陰影至該模板緩衝區所指示的可視區域之上,該一或更多個像素著色器係要決定該最高優先序邊界容積中之任一區域是否投射陰影在該模板緩衝區中的可視區域之上。
- 如申請專利範圍第14項之系統,其中該最高優先序邊界容積包含用於多重部件之目標的邊界容積且其中決定邊界容積之部分是否投射陰影的該邏輯係要:自陰影顯現來辨識與該多重部件之目標的各個部件相關聯之任一邊界容積以供排除之用,而回應於並未投射陰影在該模板緩衝區中的可視區域上之該最高優先序邊界容積。
- 如申請專利範圍第14項之系統,其中該最高優先序邊界容積包含用於多重部件之目標的邊界容積且其中 決定邊界容積之部分是否投射陰影的該邏輯係為:回應於投射陰影在該模板緩衝區中的可視區域上之該最高優先序邊界容積,而決定與該多重部件之目標的各個部件相關聯之各個邊界容積是否投射陰影在該模板緩衝區中的可視區域之上。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/653,296 US20110141112A1 (en) | 2009-12-11 | 2009-12-11 | Image processing techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201142743A TW201142743A (en) | 2011-12-01 |
TWI434226B true TWI434226B (zh) | 2014-04-11 |
Family
ID=43334057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099135060A TWI434226B (zh) | 2009-12-11 | 2010-10-14 | 影像處理技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20110141112A1 (zh) |
CN (1) | CN102096907B (zh) |
DE (1) | DE102010048486A1 (zh) |
GB (1) | GB2476140B (zh) |
TW (1) | TWI434226B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10089774B2 (en) * | 2011-11-16 | 2018-10-02 | Qualcomm Incorporated | Tessellation in tile-based rendering |
CN103810742B (zh) * | 2012-11-05 | 2018-09-14 | 正谓有限公司 | 图像渲染方法和系统 |
US9117306B2 (en) * | 2012-12-26 | 2015-08-25 | Adshir Ltd. | Method of stencil mapped shadowing |
US20140184600A1 (en) * | 2012-12-28 | 2014-07-03 | General Electric Company | Stereoscopic volume rendering imaging system |
EP2804151B1 (en) * | 2013-05-16 | 2020-01-08 | Hexagon Technology Center GmbH | Method for rendering data of a three-dimensional surface |
GB2518019B (en) * | 2013-12-13 | 2015-07-22 | Aveva Solutions Ltd | Image rendering of laser scan data |
US11403809B2 (en) | 2014-07-11 | 2022-08-02 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for image rendering |
US10692272B2 (en) | 2014-07-11 | 2020-06-23 | Shanghai United Imaging Healthcare Co., Ltd. | System and method for removing voxel image data from being rendered according to a cutting region |
AU2016250919A1 (en) * | 2015-04-22 | 2017-11-09 | Esight Corp. | Methods and devices for optical aberration correction |
US20180082468A1 (en) * | 2016-09-16 | 2018-03-22 | Intel Corporation | Hierarchical Z-Culling (HiZ) Optimized Shadow Mapping |
US10643374B2 (en) * | 2017-04-24 | 2020-05-05 | Intel Corporation | Positional only shading pipeline (POSH) geometry data processing with coarse Z buffer |
US10685473B2 (en) * | 2017-05-31 | 2020-06-16 | Vmware, Inc. | Emulation of geometry shaders and stream output using compute shaders |
US11270494B2 (en) | 2020-05-22 | 2022-03-08 | Microsoft Technology Licensing, Llc | Shadow culling |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549203B2 (en) * | 1999-03-12 | 2003-04-15 | Terminal Reality, Inc. | Lighting and shadowing methods and arrangements for use in computer graphic simulations |
US6384822B1 (en) * | 1999-05-14 | 2002-05-07 | Creative Technology Ltd. | Method for rendering shadows using a shadow volume and a stencil buffer |
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
US7145565B2 (en) * | 2003-02-27 | 2006-12-05 | Nvidia Corporation | Depth bounds testing |
JP4307222B2 (ja) * | 2003-11-17 | 2009-08-05 | キヤノン株式会社 | 複合現実感提示方法、複合現実感提示装置 |
US7248261B1 (en) * | 2003-12-15 | 2007-07-24 | Nvidia Corporation | Method and apparatus to accelerate rendering of shadow effects for computer-generated images |
US7030878B2 (en) * | 2004-03-19 | 2006-04-18 | Via Technologies, Inc. | Method and apparatus for generating a shadow effect using shadow volumes |
US7423645B2 (en) * | 2005-06-01 | 2008-09-09 | Microsoft Corporation | System for softening images in screen space |
US7688319B2 (en) * | 2005-11-09 | 2010-03-30 | Adobe Systems, Incorporated | Method and apparatus for rendering semi-transparent surfaces |
US8860721B2 (en) * | 2006-03-28 | 2014-10-14 | Ati Technologies Ulc | Method and apparatus for processing pixel depth information |
DE112007002991B4 (de) * | 2006-12-08 | 2011-09-08 | Mental Images Gmbh | Computergraphikschattenvolumen unter Verwendung von hierarchischem Okklusions-Culling |
ITMI20070038A1 (it) * | 2007-01-12 | 2008-07-13 | St Microelectronics Srl | Dispositivo di renderizzazione per grafica a tre dimensioni con architettura di tipo sort-middle. |
US8471853B2 (en) * | 2007-10-26 | 2013-06-25 | Via Technologies, Inc. | Reconstructable geometry shadow mapping method |
WO2010135595A1 (en) * | 2009-05-21 | 2010-11-25 | Sony Computer Entertainment America Inc. | Method and apparatus for rendering shadows |
-
2009
- 2009-12-11 US US12/653,296 patent/US20110141112A1/en not_active Abandoned
-
2010
- 2010-10-14 DE DE102010048486A patent/DE102010048486A1/de not_active Withdrawn
- 2010-10-14 TW TW099135060A patent/TWI434226B/zh not_active IP Right Cessation
- 2010-10-19 GB GB1017640.2A patent/GB2476140B/en not_active Expired - Fee Related
- 2010-12-10 CN CN201010588423.1A patent/CN102096907B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW201142743A (en) | 2011-12-01 |
DE102010048486A1 (de) | 2011-06-30 |
CN102096907A (zh) | 2011-06-15 |
GB2476140A (en) | 2011-06-15 |
GB201017640D0 (en) | 2010-12-01 |
CN102096907B (zh) | 2015-05-20 |
US20110141112A1 (en) | 2011-06-16 |
GB2476140B (en) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI434226B (zh) | 影像處理技術 | |
US11182952B2 (en) | Hidden culling in tile-based computer generated images | |
CN108734624B (zh) | 包括多个处理级的图形处理流水线及其操作方法与介质 | |
KR102475212B1 (ko) | 타일식 아키텍처들에서의 포비티드 렌더링 | |
TWI592902B (zh) | 來自片段著色器程式之樣本遮罩的控制 | |
CN106296565B (zh) | 图形管线方法和设备 | |
US10204391B2 (en) | Method of and apparatus for processing graphics | |
EP2831848B1 (en) | Method for estimating the opacity level in a scene and corresponding device | |
WO2018222271A1 (en) | Storage for foveated rendering | |
KR20150039495A (ko) | 이전 타일의 이미지를 이용하여 현재 프레임을 렌더링하는 방법 및 장치 | |
US10432914B2 (en) | Graphics processing systems and graphics processors | |
US8810587B2 (en) | Conversion of contiguous interleaved image data for CPU readback | |
KR20190030174A (ko) | 그래픽 처리 | |
KR20160046614A (ko) | 텍스쳐를 처리하는 방법 및 장치 | |
JP2016520909A (ja) | タイルベースレンダラに関するクエリ処理 | |
US10192348B2 (en) | Method and apparatus for processing texture | |
US8462156B1 (en) | Method and system for generating shadows in a graphics processing unit | |
KR20170025099A (ko) | 렌더링 방법 및 장치 | |
TW201447813A (zh) | 產生防鋸齒體素資料 | |
US8823715B2 (en) | Efficient writing of pixels to tiled planar pixel arrays | |
US11423618B2 (en) | Image generation system and method | |
Mahsman | Projective grid mapping for planetary terrain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |