TWI765574B - 圖形系統和相應地圖形處理方法 - Google Patents
圖形系統和相應地圖形處理方法 Download PDFInfo
- Publication number
- TWI765574B TWI765574B TW110105014A TW110105014A TWI765574B TW I765574 B TWI765574 B TW I765574B TW 110105014 A TW110105014 A TW 110105014A TW 110105014 A TW110105014 A TW 110105014A TW I765574 B TWI765574 B TW I765574B
- Authority
- TW
- Taiwan
- Prior art keywords
- graphics
- operations
- pipeline
- effects engine
- stage
- Prior art date
Links
Images
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/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
本發明提供一種圖形系統和相應地圖形處理方法。本發明的圖形處理方法,由圖形處理單元(GPU)執行,包括:對幀中的圖形對象執行流水線操作;響應指令而調用效果引擎;對幀中的圖形對象的子集執行一組預定義的圖形操作並生成輸出;以及對包括效果引擎的輸出的圖形對象執行輸出處理用於顯示。本發明的圖形系統和相應地圖形處理方法可以改善渲染圖像的視覺質量。
Description
本發明的實施例涉及圖形處理系統;更具體地說,涉及圖形處理的加速。
在計算機圖形學中,渲染是根據圖形對象或模型的描述在顯示設備上生成圖像的過程。圖形處理單元(GPU)將(通常由諸如點、線、多邊形和高階表面之類的圖元的組合)表示的3D圖形對象渲染為圖片元素(像素)。
GPU通常包括用於執行渲染操作的圖形流水線(pipeline)。圖形流水線包括以下主要階段:(1)頂點處理(vertex processing),處理頂點(描述基元)並將其轉換到投影空間;(2)柵格化(rasterization),將每個基元轉換為與顯示設備上的像素網格對齊的一組3D像素,該3D像素具有3D位置、顏色、法向(normal)和紋理等屬性,(3)片段(fragment)處理,用於處理每個單獨的3D像素集合,以及(4)輸出處理,用於將所有圖元的3D像素合併為用於顯示的2D空間。
為了在圖像中渲染逼真的效果,一些人訴諸於支持光線跟蹤(ray tracing)的GPU。光線跟蹤是一項計算密集型技術,可能需要幾天甚至幾週的時間才能渲染出複雜的特殊效果。因此,光線跟蹤通常用於高質量的非實時圖形渲染任務,例如動畫電影的製作,或生成對不同材料的光的行為進行建模的
2-D圖像。光線跟蹤能夠產生高度的視覺真實感,但是與柵格化方法相比,其計算成本更高。需要將光線跟蹤結合到實時圖形處理中,以便以合理的成本改善渲染圖像的視覺質量。
本發明提供一種圖形系統,包括效果引擎;圖形流水線;以及一個或多個與該效果引擎和該圖形流水線耦合的緩衝器,其中,該圖形流水線可操作以對幀中的圖形對象執行流水線操作,該效果引擎可操作用於在該幀中的該圖形對象的子集上執行一組預定義的圖形操作,以及該一個或多個緩衝器可操作接收該幀的像素用於顯示,該幀包括由該圖形流水線操作的該圖形對象和由該效果引擎操作的該圖形對象的該子集。
本發明還提供一種圖形系統,包括效果引擎;以及圖形流水線,用於對幀中的圖形對象執行流水線操作,該圖形流水線至少包括第一階段和第二階段,其中該第一階段可操作來調用該效果引擎以對該幀中的該圖形對象的子集執行一組預定義的圖形操作,以及在該圖形流水線中的該第一階段之後的該第二階段,接收該效果引擎的輸出並對包括該效果引擎的該輸出的該圖形對象執行輸出處理。
本發明還提供一種圖形處理方法,由可圖形處理單元(GPU)執行,包括:對幀中的圖形對象執行流水線操作;響應指令而調用效果引擎;對該幀中的該圖形對象的子集執行一組預定義的圖形操作並生成輸出,且能依照應用選擇是否在不同階段將結果返回流水線中使用或單獨輸出至效果引擎指定之輸出;以及對包括該效果引擎的該輸出的該圖形對象執行輸出處理用於顯示。
本發明的圖形系統和相應地圖形處理方法可以改善渲染圖像的視覺質量。
110:CPU
120a、120b:GPU
122:記憶體
123:固定功能電路
125:可程式化電路
150a、150b:效果引擎
180:計算單元
200:圖形系統
250:匯流排或互連
240:記憶體控制器
230:系統記憶體
260:顯示器
300:圖形流水線
310:頂點著色器
320:幾何著色器
330:細分
340:柵格化
350:片段著色器
360:渲染輸出
410:光線產生模塊
420:光線遍歷模塊
430:相交計算模塊
440:陰影模塊
450:對象資料
510、530:著色器代碼
520、540:彙編代碼或機器代碼
610、620:顏色緩衝器
700:方法
710~740:步驟
結合在本說明書中並構成本說明書一部分的附圖示出了本發明的實施例,並且與說明書一起用於解釋本發明的原理:第1A圖示出了根據一個實施例的包括效果引擎的GPU。第1B圖示出了根據另一實施例的包括效果引擎的GPU。
第2圖示出了根據一個實施例的包括第1A圖或第1B圖的GPU的圖形系統。
第3圖示出了根據一個實施例的耦合到效果引擎的圖形流水線。
第4圖示出了根據一個實施例的效果引擎的示例。
第5A和5B圖示出了根據一些實施例的著色器代碼和對應的編譯代碼的示例。
第6A和6B圖示出了根據一些實施例的將圖形流水線連接到效果引擎的替代路徑。
第7圖為說明根據一個實施例的由GPU執行的方法的流程圖。
在下面的描述中,闡述了許多具體細節。然而,應當理解,可以在沒有這些具體細節的情況下實踐本發明的實施例。在其他情況下,未詳細示出習知的電路、結構和技術,以免混淆對本說明書的理解。然而,所屬領域具有通常知識者將理解,可以在沒有這種具體細節的情況下實踐本發明。具有所包括的描述的所屬領域具有通常知識者將能夠實現適當的功能而無需過度的實驗。
本發明的實施例使得圖形系統能夠選擇性地利用效果引擎來加速高複雜度圖形操作。圖形系統包括圖形處理單元(GPU)。GPU可以通過在兩個並行執行路徑中執行指令來渲染幀:一個是圖形流水線路徑,另一個是效
果引擎路徑。圖形流水線(也稱為渲染流水線)執行柵格化操作並在多個預定義階段輸出像素。效果引擎是GPU中的加速器,用於執行高複雜度的圖形操作。效果引擎可以與圖形流水線在同一幀中的圖形對象上並行執行操作。
效果引擎執行的高複雜度圖形操作的示例是光線跟蹤。GPU可以將光線跟蹤應用於要在幀中渲染的任何數量的像素、圖元、對象和/或效果。應當理解,本文描述的技術可應用於其他高複雜度圖形操作。儘管在整個本公開中將光線跟蹤用作示例,但是應當理解,本公開的系統和方法可應用於計算密集的其他高複雜度圖形操作。在一些實施例中,效果引擎可以專門用於執行與光線跟蹤不同的高複雜度圖形操作。例如,效果引擎可以在GPU中圖形流水線的片段著色器階段之後執行高複雜度的後處理操作。後處理操作的示例包括但不限於:光線跟蹤操作、超解析度操作、抗鋸齒(anti-aliasing)操作,高動態範圍(HDR)色彩空間轉換(將HDR圖像從一種色彩空間轉換為另一種色彩空間))和色調(tone)映射操作(將一組顏色映射到另一組顏色)。
在一個實施例中,應用程式編程接口(API)可以包括一組指定效果引擎路徑的指令。指令可以指定以下一項或多項以供效果引擎執行:頂點、像素位置、圖元、圖形對象、效果類型等。效果類型的示例包括但不限於:反射、折射、陰影,等等。
在一個實施例中,效果引擎可以由硬體實現。在另一個實施例中,效果引擎可以由GPU中的可程式化電路執行的軟體來實現。在又一個實施例中,效果引擎可以是硬體和軟體的組合。下面分別參考第1A圖和第1B圖顯示了硬體效果引擎和軟體效果引擎。
第1A圖是示出根據一個實施例的GPU 120a的框圖。GPU 120a包括固定功能電路123和可程式化電路125。可程式化電路125的示例包括計算單元180的陣列,計算單元180的陣列還包括算術邏輯單元(arithmetic logic unit,
簡寫為ALU)的陣列,該算術邏輯單元可執行並行操作並支持根據單指令多資料(single instruction multiple data,簡寫為SIMD)執行模型的執行。可程式化電路125可以包括執行指令的附加可程式化處理元件。GPU 120a還包括記憶體122,其可以存儲代碼和資料,並且可以用作一個或多個緩衝器。記憶體122可以包括隨機存取記憶體(RAM)設備、只讀記憶體(ROM)設備或其他類型的記憶體設備。在一個實施例中,GPU 120a包括效果引擎150a,其是專用於目標計算(例如,光線跟蹤或其他高複雜度計算任務)的硬體組件。效果引擎150a可以由專用積體電路(ASIC)、場可程式化門陣列(FPGA)或另一種類型的電路來實現。
第1B圖是示出根據另一實施例的GPU 120b的框圖。在該實施例中,GPU 120b包括通過軟體代碼實現的效果引擎150b。實現效果引擎150b的軟體代碼可以存儲在GPU 120b內部的記憶體122中,並且可以由諸如計算單元180之類的可程式化電路125執行。效果引擎150b可以執行與第1A圖中的效果引擎150a相同的功能。
第2圖示出了根據一個實施例的包括中央處理單元(CPU)110和GPU 120的圖形系統200。儘管僅示出了一個CPU和一個GPU,但是應當理解,圖形系統200可以包括任意數量的CPU和GPU,以及任意數量的其他處理器。在一個實施例中,圖形系統200可以被實現為在計算和/或通信系統中使用的片上系統(system-on-a-chip,簡寫為SoC)。在一個實施例中,CPU 110和GPU 120經由匯流排(bus)或互連250和記憶體控制器240與系統記憶體230(例如,動態隨機存取記憶體(DRAM)或其他易失性或非易失性隨機存取記憶體)通信。圖形系統200進一步包括顯示器260,該顯示器260顯示包括GPU 120的輸出在內的渲染圖像。應當理解,為了簡化說明,這裡省略了許多其他系統組件。
GPU 120可以包括用於加速計算的效果引擎150。效果引擎150的
示例包括第1A圖中的硬體效果引擎150a,第1B圖中的軟體效果引擎150b或其組合。
在一個實施例中,圖形系統200中的CPU 110或其他處理單元可以向GPU 120發送指令以供執行。指令可指示GPU 120執行多種不同類型的流水線操作,例如頂點著色器、幾何著色器、細分(tessellation)、柵格化、片段著色器、渲染輸出操作(例如,混合,深度測試等)。這些流水線操作由GPU的圖形流水線執行;一些操作可以由固定功能電路123執行,而其他一些可以由可程式化電路125(第1A或1B圖)執行。來自CPU 110或其他處理單元的指令的子集可以指示GPU 120執行預定義的高複雜度操作,例如光線跟蹤。在一個實施例中,GPU 120可以將這些預定義的高複雜度操作分發給效果引擎150。效果引擎150耦合到圖形流水線但在圖形流水線之外。以下公開相對於圖形流水線的功能描述了效果引擎150的功能。應當理解,該描述適用於效果引擎150的各種形式的實現,包括硬體、軟體或其組合。
第3圖示出了根據一個實施例的GPU 120中的功能塊。每個功能塊可以通過硬體、軟體或其組合來實現。應當理解,在替代實施例中,GPU 120可以包括與第3圖所示的功能塊相比更少、更多和/或不同的功能塊。在該實施例中,GPU 120包括圖形流水線300,其進一步包括以下階段:頂點著色器310、幾何著色器320、細分330、柵格化340、片段著色器350、渲染輸出360。在替代實施例中,一個或多個階段,例如幾何著色器320和細分330可以是可選的。頂點著色器310、幾何形狀著色器320和細分330可以被統稱為頂點處理階段。
在頂點處理階段,頂點著色器310接收圖形資料,例如定義圖元邊界的頂點的有序列表,並將這些輸入頂點轉換為投影空間中的輸出頂點。每個輸出頂點都屬於一個圖元,並且每個圖元由一個或多個頂點組成。圖元是圖形系統可以繪製和存儲的一組最簡單的幾何對象。例如,點、線段、曲線、三
角形、多邊形等。資料結構可用於描述頂點,其中該資料結構包括一組屬性(例如,位置、顏色、法線、紋理等)。幾何著色器320處理每個圖元並根據用戶定義的指令創建幾何以作為輸出。細分330是將圖形對象的表面劃分成諸如三角形的圖元網格的過程。柵格化340處理和內插每個頂點集合以在由頂點定義的每個圖元內生成像素。這些像素與顯示器的像素網格對齊。這些像素具有與它們的頂點相同的屬性,例如位置、顏色、法線、紋理等。柵格化340的輸出被發送到片段著色器350,片段著色器350對每個圖元執行紋理和照明(lighting)操作。渲染輸出級360在將所得到的像素發送到幀緩衝器用於顯示之前,執行進一步的處理,例如深度測試、顏色混合等。
在一個實施例中,圖形流水線級310-350之一可以檢測用於調用效果引擎150的指示(例如,指令)。該指令可以指定一個或多個像素、圖元、圖形對象和/或效果。在檢測到指令時,GPU 120處理從圖形流水線300出來的分支以進入效果引擎150。在第3圖的示例中,指令可以指示片段著色器350發送一組圖元(代表待渲染的圖形對象的一部分)到效果引擎150進行光線跟蹤。在該示例中,效果引擎150可以專用於加速光線跟蹤操作。可以將包括光線跟蹤結果的效果引擎150的輸出發送回渲染輸出級360,以進行進一步處理,例如深度測試、色彩融合等。在替代實施例中,效果引擎150的輸出可以被寫入顏色緩衝器,並且可以與來自圖形流水線300的輸出合成為用於顯示的幀。
第4圖是說明根據一個實施例的效果引擎150執行光線跟蹤操作的示例的框圖。效果引擎150包括光線產生模塊410、光線遍歷(traversing)模塊420、相交計算模塊430和陰影模塊440。光線產生模塊410為圖像中的像素產生光線,並將這些光線提供給光線遍歷模塊420。光線遍歷模塊420遍歷這些光線並測試光線是否與場景中的任何對象相交。光線遍歷和相交計算使用對象資料450,該對象資料450可以包括位置、屬性、邊界體積層次結構(bounded volume
hierarchy,簡寫為BVH)資訊等。相交計算模塊430標識場景中的相交表面,並且計算可以針對每個對象遍歷所有對象光線。陰影模塊440計算每個光線相交的效果。光線陰影計算可能會導致創建其他光線以進行遍歷。
第5A圖和第5B圖示出了根據一些實施例的著色器代碼510和530以及用於調用效果引擎150的相應編譯代碼的示例。著色器代碼510和530可以在代碼執行期間離線或即時地(on-the-fly)編譯。諸如彙編代碼或機器代碼520和540的編譯代碼可以從主機處理器(例如,CPU)發送到GPU120。預定義的指令集和/或功能集向GPU 120指示哪些像素或哪些對象將由效果引擎150執行。在第5A圖的示例中,函數RayTraceJob_ext被編譯為代碼520中的新硬體機器指令。在第5B圖的示例中,新的API函數擴展VkEffectStart被編譯為代碼540中的新硬體機器指令。在一些實施例中,著色器代碼510和530可以用高級圖形語言編寫,例如OpenGL陰影語言(GLSL),Direct3D中的高級陰影語言(HLSL)或用於圖形的C(C for Graphics,簡寫為Cg)等,以及為效果引擎150執行定義的附加GPUAPI和/或功能。
第6A和6B圖示出了根據一些實施例的將圖形流水線300連接到效果引擎150的替代路徑。在第6A圖中,效果引擎150的輸出被發送回圖形流水線300;更具體地,到圖形流水線300的渲染輸出級360,其可以對效果引擎150的輸出和片段著色器350的輸出執行進一步的處理。渲染輸出級360的輸出被寫入顏色緩衝器610,其由顯示控制器讀取,並作為幀顯示在顯示器上。
在第6B圖的替代實施例中,效果引擎150的輸出被發送到與耦合到渲染輸出360的顏色緩衝器610不同的顏色緩衝器620。顏色緩衝器610和620的內容可以被合成一個幀。合成幀可以由顯示控制器讀取並顯示在顯示器上。
第6A和6B圖示出了片段著色器350可以在圖形指令的執行期間調用效果引擎150。第6A和6B圖還示出了用於調用效果引擎150的替代或附加路
徑,如虛線所示。例如,頂點著色器310、幾何著色器320和細分330中的一個或多個可以調用效果引擎150。也就是說,階段310、320、330和350中的任何一個都可以將作業提交給效果引擎150執行。在提交作業之後,這些階段可以繼續其流水線操作,而無需等待效果引擎150完成作業。因此,可以並行執行由圖形流水線300執行的流水線操作和效果引擎操作。這些流水線操作和效果引擎操作可以在同一幀中的不同像素、對象和/或效果上執行。
根據本文描述的一個實施例,圖形流水線300可操作以對幀中的圖形對象執行流水線操作。效果引擎150用於在幀中的圖形對象的子集上執行一組預定義的圖形操作。效果引擎150執行的圖形操作的預定集合比流水線操作具有更高的計算複雜度。一個或多個緩衝器(例如,彩色緩衝器610和620)可操作來接收幀的像素以供顯示。顯示的幀包括由圖形流水線300操作的圖形對象和由效果引擎150操作的圖形對象的子集。
顏色緩衝器610和620可以由從記憶體層次結構分配的記憶體來實現。在一些實施例中,這些顏色緩衝器610和620的部分或全部可以在專用存儲元件中實現。
第7圖示出了根據一個實施例的GPU(例如,第2圖的GPU 120)的方法700的流程圖。在一實施例中,當GPU在步驟710處對幀中的圖形對象執行流水線操作時,方法700開始。響應於指令,在步驟720處調用效果引擎(例如,第2圖中的效果引擎150)。在步驟730,效果引擎在幀中的圖形對象的子集上執行一組預定義的圖形操作,並生成輸出。在步驟740,GPU對圖形對象執行輸出處理,包括用於顯示的效果引擎的輸出。圖形操作的預定集合比流水線操作具有更高的計算複雜度。
方法700可以由硬體(例如,電路、專用邏輯、可程式化邏輯、微代碼等)、軟體(例如,在處理設備上運行的指令)或其組合來執行。在一個
實施例中,GPU 120可以是移動計算和/或通信設備(例如,智慧電話、平板電腦、膝上型計算機等)的一部分。在一個實施例中,GPU 120可以是服務器系統或云計算系統的一部分。
已經參考第1A、1B、2、6A和6B圖的示例性實施例描述了第7圖的流程圖的操作。然而,應當理解,除了參考第1A、1B、2、6A和6B圖所討論的那些實施例之外,還可以依據本發明的其他實施例執行第7圖的流程圖的操作,此外,第1A、1B,2、6A和6B圖可以執行與參考流程圖所討論的操作不同的操作。儘管第7圖的流程圖示出了由本發明的某些實施例執行的操作的特定順序,但是應當理解,該順序是示例性的(例如,替代實施例可以以不同的順序執行操作、組合某些操作、重疊某些操作等)。
在此已經描述了各種功能組件或塊。如所屬領域具有通常知識者將理解的,功能塊將通過電路(在一個或多個處理器和編碼指令的控制下操作的專用電路或通用電路)來實現,電路通常將包括晶體管,該晶體管被配置為根據本文描述的功能和操作來控制電路的操作。
雖然已經根據幾個實施例描述了本發明,但是所屬領域具有通常知識者將認識到,本發明不限於所描述的實施例,並且可以在所附申請專利範圍的精神和範圍內進行修改和變型來實施。因此,該描述應被認為是說明性的而不是限制性的。
700:方法
710~740:步驟
Claims (20)
- 一種圖形系統,包括:效果引擎;圖形流水線,包括至少一個片段著色器階段和隨後的階段;以及一個或多個與該效果引擎和該圖形流水線耦合的緩衝器,其中,該圖形流水線可操作以對幀中的圖形對象執行流水線操作,該片段著色器階段可操作用於檢測應用程式編程接口提供的指令,該指令指定該幀中的該圖形對象的子集供該效果引擎執行,以及相應地調用該效果引擎;該效果引擎可操作用於在該幀中的該圖形對象的子集上執行一組預定義的圖形操作,該隨後的階段可操作用於處理該效果引擎和該片段著色器階段的結果,該一個或多個緩衝器可操作接收該幀的像素用於顯示,該幀包括由該圖形流水線操作的該圖形對象和由該效果引擎操作的該圖形對象的該子集,以及其中該組預定義的圖形操作具有比該流水線操作高的計算複雜度。
- 如請求項1所述之圖形系統,其中,該圖形流水線檢測該應用程式編程接口提供的該指令,該指令指定頂點、像素位置、圖元、圖形對象、效果類型等之一或多個供該效果引擎執行。
- 如請求項1所述之圖形系統,其中,該效果引擎被該圖形流水線中的一個或多個階段調用以執行該組預定義的圖形操作,該一個或多個階段包括頂點著色器階段、細分階段和幾何著色器階段。
- 如請求項1所述之圖形系統,其中,該圖形流水線的該隨後的階段執行包括深度測試的渲染輸出操作。
- 如請求項1所述之圖形系統,其中,該組預定義的圖形操作包 括光線跟蹤操作。
- 如請求項1所述之圖形系統,其中,該圖形流水線的該隨後的階段執行包括顏色混合的渲染輸出操作。
- 如請求項1所述之圖形系統,其中,該圖形流水線的輸出被發送到第一緩衝器,並且該效果引擎的輸出被發送到第二緩衝器,並且其中,該圖形系統可操作以合成該第一緩衝器和該第二緩衝器的內容用於顯示。
- 如請求項1所述之圖形系統,其中,該圖形流水線可操作為與該效果引擎執行該組預定義的圖形操作同時地執行該流水線操作的至少一部分。
- 一種圖形系統,包括:效果引擎;以及圖形流水線,用於對幀中的圖形對象執行流水線操作,該圖形流水線至少包括片段著色器階段和隨後的階段,其中該片段著色器階段用於檢測應用程式編程接口提供的指令,該指令指定該幀中的該圖形對象的子集供該效果引擎執行,以及相應地調用該效果引擎,該效果引擎可操作用於對該幀中的該圖形對象的該子集上執行一組預定義的圖形操作,以及在該圖形流水線中的該片段著色器階段之後的該第二階段,接收並處理該效果引擎及該片段著色器階段的結果,以及其中該組預定義的圖形操作具有比該流水線操作高的計算複雜度。
- 如請求項9所述之圖形系統,其中,該效果引擎被該圖形流水線中的一個或多個階段調用以執行該組預定義的圖形操作,該一個或多個階段包括頂點著色器階段、細分階段和幾何著色器階段。
- 如請求項9所述之圖形系統,其中,該組預定義的圖形操作包 括光線跟蹤操作。
- 如請求項9所述之圖形系統,其中,該效果引擎的輸出被發送到該圖形流水線以進行渲染輸出處理。
- 如請求項9所述之圖形系統,其中,該圖形流水線的輸出被發送到第一緩衝器,並且該效果引擎的輸出被發送到第二緩衝器,並且其中,該圖形系統可操作以合成該第一緩衝器和該第二緩衝器的內容用於顯示。
- 如請求項9所述之圖形系統,其中,該圖形流水線可操作為與該效果引擎執行該組預定義的圖形操作同時地執行該流水線操作的至少一部分。
- 一種圖形處理方法,由圖形處理單元(GPU)執行,包括:對幀中的圖形對象執行流水線操作;圖像流水線中的片段著色器階段檢測應用程式編程接口提供的指令,該指令指定該幀中的該圖形對象的子集供該效果引擎執行,以及相應地調用該效果引擎;該效果引擎對該幀中的該圖形對象的該子集執行一組預定義的圖形操作並生成輸出至圖像流水線中的隨後階段;以及該隨後階段對包括該效果引擎的該輸出和該片段著色器階段的結果的該圖形對象執行輸出處理用於顯示;其中該組預定義的圖形操作具有比該流水線操作高的計算複雜度。
- 如請求項15所述之圖形處理方法,其中,該圖形流水線的第一階段調用該效果引擎,其中該第一階段是包括頂點著色器階段、細分階段和幾何著色器階段的流水線階段之一。
- 如請求項15所述之圖形處理方法,其中,該組預定義的圖形操作包括在該圖形流水線的片段著色器階段之後執行的後處理操作中的一個或 多個,該後處理操作包括:光線跟蹤操作、超解析度操作、抗鋸齒操作、高動態範圍色彩空間轉換和色調映射操作。
- 如請求項15所述之圖形處理方法,其中,該隨後階段執行包括顏色混合和深度測試之一或二者的渲染輸出操作。
- 如請求項15所述之圖形處理方法,還包括:合成該第一緩衝器和該第二緩衝器的內容用於顯示,其中該第一緩衝器存儲該圖形流水線的輸出,該第二緩衝器存儲該效果引擎的輸出。
- 如請求項15所述之圖形處理方法,該圖形流水線可操作以與該效果引擎執行該組預定義的圖形操作同時地執行該流水線操作的至少一部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/789,870 US11321901B2 (en) | 2020-02-13 | 2020-02-13 | Hybrid rendering mechanism of a graphics pipeline and an effect engine |
US16/789,870 | 2020-02-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202131277A TW202131277A (zh) | 2021-08-16 |
TWI765574B true TWI765574B (zh) | 2022-05-21 |
Family
ID=77180859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110105014A TWI765574B (zh) | 2020-02-13 | 2021-02-09 | 圖形系統和相應地圖形處理方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11321901B2 (zh) |
CN (2) | CN113256771A (zh) |
TW (1) | TWI765574B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2592942B (en) * | 2020-03-11 | 2023-09-20 | Sony Interactive Entertainment Inc | Apparatus and method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201337739A (zh) * | 2011-11-30 | 2013-09-16 | Intel Corp | 圖形管線之外部驗證技術 |
US20150262407A1 (en) * | 2014-03-13 | 2015-09-17 | Imagination Technologies Limited | Object Illumination in Hybrid Rasterization and Ray Traced 3-D Rendering |
US20160027203A1 (en) * | 2014-07-22 | 2016-01-28 | Samsung Electronics Co., Ltd. | Method and apparatus for hybrid rendering |
CN107392989A (zh) * | 2016-04-29 | 2017-11-24 | Arm有限公司 | 图形处理系统 |
CN107492065A (zh) * | 2016-06-12 | 2017-12-19 | 苹果公司 | 用于经改进图形流水线中的镶嵌的系统和方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8379022B2 (en) * | 2008-09-26 | 2013-02-19 | Nvidia Corporation | Fragment shader for a hybrid raytracing system and method of operation |
US9305370B2 (en) * | 2013-07-31 | 2016-04-05 | Qualcomm Incorporated | Graphical rendering with implicit surfaces |
US9607426B1 (en) * | 2013-12-20 | 2017-03-28 | Imagination Technologies Limited | Asynchronous and concurrent ray tracing and rasterization rendering processes |
US9607425B2 (en) * | 2014-10-17 | 2017-03-28 | Qualcomm Incorporated | Ray-box intersection testing using dot product-based fixed function logic |
US10733786B2 (en) * | 2018-07-20 | 2020-08-04 | Facebook, Inc. | Rendering 360 depth content |
US11138009B2 (en) * | 2018-08-10 | 2021-10-05 | Nvidia Corporation | Robust, efficient multiprocessor-coprocessor interface |
US11004255B2 (en) * | 2019-04-24 | 2021-05-11 | Microsoft Technology Licensing, Llc | Efficient rendering of high-density meshes |
-
2020
- 2020-02-13 US US16/789,870 patent/US11321901B2/en active Active
-
2021
- 2021-02-04 CN CN202110158755.4A patent/CN113256771A/zh active Pending
- 2021-02-04 CN CN202411039895.XA patent/CN118761898A/zh active Pending
- 2021-02-09 TW TW110105014A patent/TWI765574B/zh active
-
2022
- 2022-03-30 US US17/708,965 patent/US11941741B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201337739A (zh) * | 2011-11-30 | 2013-09-16 | Intel Corp | 圖形管線之外部驗證技術 |
US20150262407A1 (en) * | 2014-03-13 | 2015-09-17 | Imagination Technologies Limited | Object Illumination in Hybrid Rasterization and Ray Traced 3-D Rendering |
US20160027203A1 (en) * | 2014-07-22 | 2016-01-28 | Samsung Electronics Co., Ltd. | Method and apparatus for hybrid rendering |
CN107392989A (zh) * | 2016-04-29 | 2017-11-24 | Arm有限公司 | 图形处理系统 |
CN107492065A (zh) * | 2016-06-12 | 2017-12-19 | 苹果公司 | 用于经改进图形流水线中的镶嵌的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN118761898A (zh) | 2024-10-11 |
US11941741B2 (en) | 2024-03-26 |
US20220222885A1 (en) | 2022-07-14 |
US11321901B2 (en) | 2022-05-03 |
CN113256771A (zh) | 2021-08-13 |
US20210256753A1 (en) | 2021-08-19 |
TW202131277A (zh) | 2021-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9019280B2 (en) | Area-based rasterization techniques for a graphics processing system | |
US11657560B2 (en) | VRS rate feedback | |
US7843463B1 (en) | System and method for bump mapping setup | |
US9761037B2 (en) | Graphics processing subsystem and method for updating voxel representation of a scene | |
US9390540B2 (en) | Deferred shading graphics processing unit, geometry data structure and method of performing anti-aliasing in deferred shading | |
EP3427229B1 (en) | Visibility information modification | |
TWI765574B (zh) | 圖形系統和相應地圖形處理方法 | |
US20140176546A1 (en) | Shadow softening graphics processing unit and method | |
US20140160124A1 (en) | Visible polygon data structure and method of use thereof | |
US10062140B2 (en) | Graphics processing systems | |
US11972518B2 (en) | Hybrid binning | |
US11741653B2 (en) | Overlapping visibility and render passes for same frame | |
US10026223B2 (en) | Systems and methods for isosurface extraction using tessellation hardware | |
US12118656B2 (en) | VRS rate feedback | |
US10559122B2 (en) | System and method for computing reduced-resolution indirect illumination using interpolated directional incoming radiance | |
US11908069B2 (en) | Graphics processing | |
Novello et al. | Immersive Visualization | |
JP2023530309A (ja) | ビニングハードウェアにおけるきめ細かなリプレイ制御 | |
Choudhari et al. | A Survey Paper on OpenGL ES |