一種用于提高光線跟蹤性能的技術。在一個實施例中,不對那些與特別創建的平截頭體不相交的多邊形進行進一步的光線-三角形測試,從而實現與給定場景相對應的加速結構的更有效率的遍歷。
【技術實現步驟摘要】
本專利技術的各實施例通常涉及計算機圖形學領域。更具體地,本專利技術的 各實施例涉及用于在計算機系統內執行光線跟蹤的技術。
技術介紹
光線跟蹤是一種涉及找到給定光線與場景中的幾何對象的相交部分的 技術。與傳統的柵格化方法相比,光線跟蹤可被用于創建更加令人滿意和豐富的3D體驗,因為其更精確地模擬了自然光的傳播。因為光線跟蹤可能會涉及到許多光線-多邊形相交測試,所以可能會使 用一些被稱為"加速結構"的附加結構,以便將光線/多邊形相交測試的數 量減到最小。加速結構可以包括多個鏈接的數據數組,該數組包含有與3D 場景中的幾何細節有關的信息(例如包圍盒的坐標),使得與測試照射在場 景內或場景中對象內的每個多邊形的每道光線所必需花費的時間量相比, 能夠使用以對ff減少的時間量在場景中跟蹤光線軌跡。有很多類型的加速 結構,包括"kd-樹"加速結構,其包含有"節點",該節點代表了由分割 平面劃分為兩個子空間的3D空間。在kd-樹中,樹的葉節點包含有與葉節 點的包圍盒相交的多邊形。典型地,在諸如kd-樹的加速結構中,較大的 包圍盒出現在層級結構的最高級,逐級變小的包圍盒則位于該結構的底部。 創建諸如kd-樹這樣的加速結構在計算上是昂貴的。較小的加速結構 創建起來更快,但它們能消除的光線-多邊形相交測試也會更少。加速結構 的最佳尺寸取決于與所使用的光線-三角形相交測試的平均速度相比,遍歷 該加速結構的速度能有多快。附圖說明本專利技術的實施例是通過示例而非限制的方式示出的,在附圖中,相似的參考數字表示類似的元件,并且其中圖l示出了處理器的方框圖,可以在該處理器中使用本專利技術的至少一個實施例;圖2示出了共享總線計算機系統的方框圖,在該系統中可以使用本發 明的至少一個實施例;圖3示出了點對點互連計算機系統的方框圖,在該系統中可以使用本 專利技術的至少一個實施例;圖4示出了根據至少一個實施例的將被渲染的三維(3D)圖像; 圖5示出了可以與一個實施例結合使用的加速結構; 圖6示出了包圍盒,該包圍盒與平截頭體和位于平截頭體之外的多邊 形相交,根據一個實施例可以剔除該多邊形;圖7是示出了可以在一個實施例中所使用的操作的流程圖。具體實施例方式可以在實現了圖形渲染硬件的計算機系統中使用本專利技術的實施例。而 且,可以在實現了通用中央處理單元(CPU)的計算機系統或微處理器中使 用實施例。此外,可以在通過相同的或不同的硬件執行圖形處理和通用 CPU處理的系統和處理器中使用一些實施例。在又一些實施例中,本文描述的操作可以用軟件、硬件或這兩者的某些組合來實現。在一些實施例中,本文描述的技術可以提高對光線跟蹤算法之中所使 用的加速結構進行遍歷的速度。在一個實施例中,本文描述的技術通過增 加將要被遍歷的子節點(或"葉節點")的尺寸來縮小加速結構之內的搜索樹,從而減少了當使用光線跟蹤技術對3D圖形場景進行渲染時,計算包 含在該加速結構之內的適當信息所必需的計算量,并由此提高了 3D圖形 應用的性能。在一個實施例中,在加速結構(例如kd-樹)之中表示3D場景,例如, 通過確定哪些多邊形沒有落在由光線組所形成的子空間(或"平截頭體") 之內,可以減少待測試的多邊形的個數。平截頭體可被概括為在3D空間 中以三個或更多個(例如四個)平面相交所界定的3D形狀。通過在遍歷加速 結構的葉節點時,確定出哪些多邊形與平截頭體相交并且在光線-多邊形測 試中使用相應的多邊形,相當一部分的處理工作可被避免,因為,只有那些與平截頭體相交的多邊形才會被測試。圖1示出了一個處理器,可以在該處理器中使用本專利技術的至少一個實施例。特別的是,圖1示出了處理器100,處理器100具有一個或多個中 央處理單元(CPU)105和110以及至少一個非CPU功能單元107和113。圖 1還示出了至少一個其它非CPU功能單元115,其可以執行其它不由功能 單元107和113來執行的操作。在一個實施例中,功能單元107、 113和 115可以包括諸如圖形處理、存儲器控制以及外設控制(例如音頻、視頻、 盤片控制、數字信號處理等)這樣的功能。在一些實施例中,處理器100還 可以包括其它未在圖1中示出的邏輯,例如i/o控制。在一個實施例中, 多處理器系統中的每個處理器或多核處理器中的每個處理器核可以包括或 關聯到邏輯119,以根據至少一個實施例的技術來提高光線跟蹤的加速結 構遍歷的速度以及相應的多邊形渲染的速度。在一個實施例中,處理器100 是圖形處理器,并且邏輯119用于幫助確定哪些多邊形位于由穿過給定包 圍盒的光線所定義的平截頭體之外。在另一些實施例中,邏輯119可以包 括用于幫助確定哪些多邊形頂點在平截頭體之內或之外的軟件。在另一些 實施例中,邏輯119可以包括用于幫助確定與平截頭體相交或被包含在平 截頭體之內的多邊形的硬件和軟件。在一些實施例中,處理器100可以是通用CPU。在另一些實施例中, 處理器可以是通用CPU,也可以是在系統內執行圖形專用功能的硬件,該 系統可以既包括通用CPU集成電路,又包括圖形專用硬件或其它并行計算 硬件。隨著通用計算與并行計算硬件(例如圖形引擎、紋理采樣等)變得更 加一體化,邏輯119也變得更加多用途并且位置更加獨立。結果是,邏輯 119可以包括硬件、軟件或這兩者的任意組合,并且可位于或被集成在處 理器100的任何部分之內或之外。在一個實施例中,邏輯119包括用于執行圖形柵格化裁剪功能的邏輯。 此外,在一個實施例中,該邏輯包括算術邏輯單元(ALU),其存在于單指 令多數據(SIMD)執行邏輯之內或與單指令多數據執行邏輯相關聯。因為本 專利技術的實施例會在位于平截頭體之內和之外的多個多邊形之間執行比較分 析,所以與實施例有關的操作適合于由并行指令集架構(ISA)和微架構來執 行。但是傳統的單指令單數據架構/微架構也同樣適合于執行本專利技術的實施例。在一個實施例中,處理器100的邏輯單元可以通過環互連、共享總線 互連(例如前端總線)、點對點(P2P)互連或其它互連結構來相互連接。圖2示出了一個共享總線計算機系統,可以在該系統中使用本專利技術的 一個實施例。微處理器201-215可以包含有多種功能單元,例如一個或多 個CPU(223、 227、 233、 237、 243、 247、 253、 257)、圖形設備(207、 217、 227、 237)、存儲器控制器(225、 235、 245、 255)、 I/O控制或其它功能單 元(例如PCI或PCIe控制器(220、 230、 240、 250))。圖2的系統可以還包 括I/O控制器265,以便為微處理器提供到外設控制設備260的接口在一個實施例中,該系統包括3D圖形邏輯,例如渲染引擎、紋理采 樣器等,該3D圖形邏輯可以包括用于執行本專利技術的至少一個實施例的邏 輯。此外,在其他實施例中,外設控制設備可以包括用于執行本專利技術的實 施例的圖形設備。該系統中的任何CPU還可以包括用于執行與本專利技術的實 施例有關的操作的邏輯。在一個實施例中,圖2的一個或多個微處理器可 以包括通用處理器、圖形處理器或具有邏輯219的某個其它類型的處理器, 邏輯219用于確定出哪個多邊形落在了平截頭體之內和/或之外,該平截頭 體是由加速結構(例如kd-樹)內的給定節點的本文檔來自技高網...
【技術保護點】
一種裝置,包括: 邏輯,其確定在將要渲染的三維(3D)圖形場景的包圍盒之內的多邊形是否與平截頭體相交,所述平截頭體由穿過所述包圍盒的多條光線的多個進入點和離開點界定,其中,所述確定用于至少部分地控制被測試的光線-多邊形組合的個數。
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:A列舍托夫,
申請(專利權)人:英特爾公司,
類型:發明
國別省市:US[美國]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。