国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于提高光線跟蹤性能的技術(shù)的制作方法

      文檔序號:6576915閱讀:189來源:國知局
      專利名稱:用于提高光線跟蹤性能的技術(shù)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明的各實施例通常涉及計算機圖形學(xué)領(lǐng)域。更具體地,本發(fā)明的 各實施例涉及用于在計算機系統(tǒng)內(nèi)執(zhí)行光線跟蹤的技術(shù)。
      背景技術(shù)
      光線跟蹤是一種涉及找到給定光線與場景中的幾何對象的相交部分的 技術(shù)。與傳統(tǒng)的柵格化方法相比,光線跟蹤可被用于創(chuàng)建更加令人滿意和
      豐富的3D體驗,因為其更精確地模擬了自然光的傳播。
      因為光線跟蹤可能會涉及到許多光線-多邊形相交測試,所以可能會使 用一些被稱為"加速結(jié)構(gòu)"的附加結(jié)構(gòu),以便將光線/多邊形相交測試的數(shù) 量減到最小。加速結(jié)構(gòu)可以包括多個鏈接的數(shù)據(jù)數(shù)組,該數(shù)組包含有與3D 場景中的幾何細(xì)節(jié)有關(guān)的信息(例如包圍盒的坐標(biāo)),使得與測試照射在場 景內(nèi)或場景中對象內(nèi)的每個多邊形的每道光線所必需花費的時間量相比, 能夠使用以對ff減少的時間量在場景中跟蹤光線軌跡。有很多類型的加速 結(jié)構(gòu),包括"kd-樹"加速結(jié)構(gòu),其包含有"節(jié)點",該節(jié)點代表了由分割 平面劃分為兩個子空間的3D空間。在kd-樹中,樹的葉節(jié)點包含有與葉節(jié) 點的包圍盒相交的多邊形。典型地,在諸如kd-樹的加速結(jié)構(gòu)中,較大的 包圍盒出現(xiàn)在層級結(jié)構(gòu)的最高級,逐級變小的包圍盒則位于該結(jié)構(gòu)的底部。 創(chuàng)建諸如kd-樹這樣的加速結(jié)構(gòu)在計算上是昂貴的。較小的加速結(jié)構(gòu) 創(chuàng)建起來更快,但它們能消除的光線-多邊形相交測試也會更少。加速結(jié)構(gòu) 的最佳尺寸取決于與所使用的光線-三角形相交測試的平均速度相比,遍歷 該加速結(jié)構(gòu)的速度能有多快。


      本發(fā)明的實施例是通過示例而非限制的方式示出的,在附圖中,相似
      的參考數(shù)字表示類似的元件,并且其中圖l示出了處理器的方框圖,可以在該處理器中使用本發(fā)明的至少一
      個實施例;
      圖2示出了共享總線計算機系統(tǒng)的方框圖,在該系統(tǒng)中可以使用本發(fā) 明的至少一個實施例;
      圖3示出了點對點互連計算機系統(tǒng)的方框圖,在該系統(tǒng)中可以使用本 發(fā)明的至少一個實施例;
      圖4示出了根據(jù)至少一個實施例的將被渲染的三維(3D)圖像; 圖5示出了可以與一個實施例結(jié)合使用的加速結(jié)構(gòu); 圖6示出了包圍盒,該包圍盒與平截頭體和位于平截頭體之外的多邊 形相交,根據(jù)一個實施例可以剔除該多邊形;
      圖7是示出了可以在一個實施例中所使用的操作的流程圖。
      具體實施例方式
      可以在實現(xiàn)了圖形渲染硬件的計算機系統(tǒng)中使用本發(fā)明的實施例。而 且,可以在實現(xiàn)了通用中央處理單元(CPU)的計算機系統(tǒng)或微處理器中使 用實施例。此外,可以在通過相同的或不同的硬件執(zhí)行圖形處理和通用 CPU處理的系統(tǒng)和處理器中使用一些實施例。在又一些實施例中,本文描
      述的操作可以用軟件、硬件或這兩者的某些組合來實現(xiàn)。
      在一些實施例中,本文描述的技術(shù)可以提高對光線跟蹤算法之中所使 用的加速結(jié)構(gòu)進行遍歷的速度。在一個實施例中,本文描述的技術(shù)通過增 加將要被遍歷的子節(jié)點(或"葉節(jié)點")的尺寸來縮小加速結(jié)構(gòu)之內(nèi)的搜索
      樹,從而減少了當(dāng)使用光線跟蹤技術(shù)對3D圖形場景進行渲染時,計算包 含在該加速結(jié)構(gòu)之內(nèi)的適當(dāng)信息所必需的計算量,并由此提高了 3D圖形 應(yīng)用的性能。
      在一個實施例中,在加速結(jié)構(gòu)(例如kd-樹)之中表示3D場景,例如, 通過確定哪些多邊形沒有落在由光線組所形成的子空間(或"平截頭體") 之內(nèi),可以減少待測試的多邊形的個數(shù)。平截頭體可被概括為在3D空間 中以三個或更多個(例如四個)平面相交所界定的3D形狀。通過在遍歷加速 結(jié)構(gòu)的葉節(jié)點時,確定出哪些多邊形與平截頭體相交并且在光線-多邊形測 試中使用相應(yīng)的多邊形,相當(dāng)一部分的處理工作可被避免,因為,只有那些與平截頭體相交的多邊形才會被測試。
      圖1示出了一個處理器,可以在該處理器中使用本發(fā)明的至少一個實
      施例。特別的是,圖1示出了處理器100,處理器100具有一個或多個中 央處理單元(CPU)105和110以及至少一個非CPU功能單元107和113。圖 1還示出了至少一個其它非CPU功能單元115,其可以執(zhí)行其它不由功能 單元107和113來執(zhí)行的操作。在一個實施例中,功能單元107、 113和 115可以包括諸如圖形處理、存儲器控制以及外設(shè)控制(例如音頻、視頻、 盤片控制、數(shù)字信號處理等)這樣的功能。在一些實施例中,處理器100還 可以包括其它未在圖1中示出的邏輯,例如i/o控制。在一個實施例中, 多處理器系統(tǒng)中的每個處理器或多核處理器中的每個處理器核可以包括或 關(guān)聯(lián)到邏輯119,以根據(jù)至少一個實施例的技術(shù)來提高光線跟蹤的加速結(jié) 構(gòu)遍歷的速度以及相應(yīng)的多邊形渲染的速度。在一個實施例中,處理器100 是圖形處理器,并且邏輯119用于幫助確定哪些多邊形位于由穿過給定包 圍盒的光線所定義的平截頭體之外。在另一些實施例中,邏輯119可以包 括用于幫助確定哪些多邊形頂點在平截頭體之內(nèi)或之外的軟件。在另一些 實施例中,邏輯119可以包括用于幫助確定與平截頭體相交或被包含在平 截頭體之內(nèi)的多邊形的硬件和軟件。
      在一些實施例中,處理器100可以是通用CPU。在另一些實施例中, 處理器可以是通用CPU,也可以是在系統(tǒng)內(nèi)執(zhí)行圖形專用功能的硬件,該 系統(tǒng)可以既包括通用CPU集成電路,又包括圖形專用硬件或其它并行計算 硬件。隨著通用計算與并行計算硬件(例如圖形引擎、紋理采樣等)變得更 加一體化,邏輯119也變得更加多用途并且位置更加獨立。結(jié)果是,邏輯 119可以包括硬件、軟件或這兩者的任意組合,并且可位于或被集成在處 理器100的任何部分之內(nèi)或之外。
      在一個實施例中,邏輯119包括用于執(zhí)行圖形柵格化裁剪功能的邏輯。 此外,在一個實施例中,該邏輯包括算術(shù)邏輯單元(ALU),其存在于單指 令多數(shù)據(jù)(SIMD)執(zhí)行邏輯之內(nèi)或與單指令多數(shù)據(jù)執(zhí)行邏輯相關(guān)聯(lián)。因為本 發(fā)明的實施例會在位于平截頭體之內(nèi)和之外的多個多邊形之間執(zhí)行比較分 析,所以與實施例有關(guān)的操作適合于由并行指令集架構(gòu)(ISA)和微架構(gòu)來執(zhí) 行。但是傳統(tǒng)的單指令單數(shù)據(jù)架構(gòu)/微架構(gòu)也同樣適合于執(zhí)行本發(fā)明的實施例。在一個實施例中,處理器100的邏輯單元可以通過環(huán)互連、共享總線 互連(例如前端總線)、點對點(P2P)互連或其它互連結(jié)構(gòu)來相互連接。
      圖2示出了一個共享總線計算機系統(tǒng),可以在該系統(tǒng)中使用本發(fā)明的 一個實施例。微處理器201-215可以包含有多種功能單元,例如一個或多 個CPU(223、 227、 233、 237、 243、 247、 253、 257)、圖形設(shè)備(207、 217、 227、 237)、存儲器控制器(225、 235、 245、 255)、 I/O控制或其它功能單 元(例如PCI或PCIe控制器(220、 230、 240、 250))。圖2的系統(tǒng)可以還包 括I/O控制器265,以便為微處理器提供到外設(shè)控制設(shè)備260的接口
      在一個實施例中,該系統(tǒng)包括3D圖形邏輯,例如渲染引擎、紋理采 樣器等,該3D圖形邏輯可以包括用于執(zhí)行本發(fā)明的至少一個實施例的邏 輯。此外,在其他實施例中,外設(shè)控制設(shè)備可以包括用于執(zhí)行本發(fā)明的實 施例的圖形設(shè)備。該系統(tǒng)中的任何CPU還可以包括用于執(zhí)行與本發(fā)明的實 施例有關(guān)的操作的邏輯。在一個實施例中,圖2的一個或多個微處理器可 以包括通用處理器、圖形處理器或具有邏輯219的某個其它類型的處理器, 邏輯219用于確定出哪個多邊形落在了平截頭體之內(nèi)和/或之外,該平截頭 體是由加速結(jié)構(gòu)(例如kd-樹)內(nèi)的給定節(jié)點的包圍盒與給定光線相交所形 成的。
      在一些實施例中,圖2中所示出的一些或全部元素可以被包括在一個 微處理器中并且可以包括其它互連,例如直接存儲器接口(DMI)、 PCI Express圖形(PEG)互連等。不考慮配置,本發(fā)明的實施例可以被包括在圖 2的系統(tǒng)的任何部分之內(nèi)或與圖2的系統(tǒng)的任何部分相關(guān)聯(lián)。
      圖2的系統(tǒng)可以還包括主存儲器(未被示出),其可以包括多種存儲器 結(jié)構(gòu),例如動態(tài)隨機存取存儲器(DRAM)、硬盤驅(qū)動器(HDD)或經(jīng)由網(wǎng)絡(luò)接 口的包含有多種存儲設(shè)備和技術(shù)的遠離計算機系統(tǒng)的存儲器源。圖2的系 統(tǒng)內(nèi)的高速緩沖存儲器可以位于處理器內(nèi),也可以與處理器非常接近,例 如在處理器的本地總線上。
      此外,高速緩沖存儲器可以包含有相對快速的存儲單元,例如六晶體 管(6T)單元、或其它具有大約相等或更快存取速度的存儲單元。
      除了圖2中所示出的共享總線計算機系統(tǒng)之外,可以結(jié)合本發(fā)明的各 種實施例來使用其它系統(tǒng)配置,包括點對點(P2P)互連系統(tǒng)和環(huán)互連系統(tǒng)。例如,圖3的P2P系統(tǒng)可以包括多個處理器,示例中僅示出了兩個處理器 370、380。處理器370、380各自可以包括本地存儲器控制器中心(MCH)372、 382,以便與存儲器32、 34連接。處理器370、 380可以經(jīng)由點對點(PtP) 接口 350、使用PtP接口電路378、 388來交換數(shù)據(jù)。處理器370、 380各 自可以經(jīng)由單獨的PtP接口 352、 354、使用點對點接口電路376、 394、 386、 398來與芯片組390交換數(shù)據(jù)。芯片組390可以經(jīng)由高性能圖形接口 339 與高性能圖形電路338交換數(shù)據(jù)。本發(fā)明的實施例可以位于具有任意數(shù)量 處理核的任何處理器之內(nèi),或者位于圖3的每個PtP總線代理之內(nèi)。在一 個實施例中,邏輯319可以用于執(zhí)行與本發(fā)明的至少一個實施例有關(guān)的操 作。
      圖4示出了一個圖像,可以根據(jù)一個實施例、使用全局光照技術(shù)來對 該圖像進行渲染。必須對每個像素上的多條光線進行跟蹤以實現(xiàn)該圖像的 品質(zhì)。
      圖5示出了一個加速結(jié)構(gòu),可以將該加速結(jié)構(gòu)與本發(fā)明的至少一個實 施例一起使用。圖5的加速結(jié)構(gòu)是kd-樹501,它的頂層節(jié)點對應(yīng)于場景的 最大包圍盒(如圖510中的那個包圍盒)。kd-樹的較低層節(jié)點與圖520的逐 漸變小的包圍盒相對應(yīng)。圖.501中的每個內(nèi)部節(jié)點在樹中的較低一層上都 有兩個子節(jié)點。圖5的加速結(jié)構(gòu)可以非常大,這取決于場景中多邊形的個 數(shù)。因此,構(gòu)建加速結(jié)構(gòu)所需的時間和計算資源可能是相當(dāng)可觀的。
      在一個實施例中,為每個有光線包穿過的葉節(jié)點形成一個平截頭體。 本發(fā)明的實施例通過首先確定出哪些多邊形需要被測試(即那些與平截頭 體相交的多邊形)以及哪些不需要被測試(即在葉節(jié)點內(nèi)的那些不與平截頭 體相交的多邊形)然后只去處理那些與平截頭體相交的多邊形,減少了遍歷 該加速結(jié)構(gòu)和對圖像進行渲染所必需的處理量。
      圖6示出了一個與平截頭體相交的包圍盒,其中可以使用本發(fā)明的至 少一個實施例來確定出可被忽略的多邊形以及哪些多邊形必須被測試和有 可能被渲染。在圖6中,包圍盒600與平截頭體605相交,該平截頭體605 包含光線601、 602、 603和604。在其他實施例中,平截頭體可以由更多 或更少的光線來定義。還示出了三角形610,其位于平截頭體之外(即沒有 與平截頭體相交)。三角形610不需要被測試,因此被排除在對給定光線包的處理之外。在一個實施例中,通過在對容納了該三角形的葉節(jié)點進行遍
      歷時執(zhí)行剔除功能來排除對給定包的光線-三角形相交測試,三角形610被 勿l
      在一個實施例中,通過找到平截頭體與三角形630的平面620的相交 部分,還可在三角形630的平面620內(nèi)執(zhí)行該剔除操作。平截頭體605與 平面620的相交部分由點621、 622、 623和624來定義。在一個實施例中, 通過將三角形630的頂點坐標(biāo)與這四個點的坐標(biāo)作比較,可能會檢測出三 角形是否完全位于平截頭體之外。
      圖7示出了一個操作流程圖,其可以與本發(fā)明的至少一個實施例結(jié)合 使用,以發(fā)現(xiàn)光線包與葉節(jié)點內(nèi)部的多邊形(例如,三角形)的所有交點, 該操作流程與應(yīng)用本實施例的處理器或系統(tǒng)配置無關(guān)。在操作701中,在 渲染一個場景期間選擇一組光線。在操作705中,找到這些光線與被遍歷 節(jié)點的包圍盒的近平面和遠平面(圖6的平面x = x。。和x = x,o)的交點,并 且計算包含有每個平面的這些交點的軸對齊矩形。所得到的矩形界定了通 過包圍盒的光線,形成了包含光線與節(jié)點邊界的交點的平截頭體。
      在操作710,對于每個多邊形,確定該多邊形的頂點是否位于四個(左、 右、上、下)平截頭體平面中的任何一個平面的外面。如果所有多邊形頂點 都位于至少一個平面的外面,那么排餘這個多邊形不對其進行進一步處理。 否則,在操作715,計算定義了平截頭體的四條角光線與多邊形平面的交 點。使用平截頭體角光線和該平面之間的交點的坐標(biāo)(例如重心坐標(biāo)),可 以識別出以下情況平截頭體與多邊形被凸多邊形邊緣中的任何一個邊緣 分隔開??蛇x地,在這一階段對兩個額外的平截頭體平面(近平面或遠平面) 進行檢查,以消除那些位于視角點(近平面)之后的多邊形、或者遠于之前 找到的相交多邊形(遠平恥的多邊形。在操作720,使用現(xiàn)有技術(shù)的光線-多邊形相交測試來測試在前幾個階段中沒有被排除的所有光線包-多邊形 對。在另一些實施例中,可以使用其它方法來找到多邊形與光線包或平截 頭體的交點。
      在一個實施例中,找到一條光線與一個三角形的交點相當(dāng)于解一個包 含三個方程的線性系統(tǒng),表示為
      (1) o +1 d = po + u (pi — po) + v (p2 — po)附加條件
      (2) 0《t《told
      (3) 0《u, 0《v, u+v《1
      該系統(tǒng)的左邊定義了具有原點o和方向d的光線,該系統(tǒng)的右邊定義
      了以P。、 P,和P2為頂點的三角形內(nèi)部的點。在以上系統(tǒng)中,變量t表示從 光線的原點O到光線/三角形交點的距離,以及三角形內(nèi)部的點的重心坐標(biāo) U和V。上述系統(tǒng)的條件(1)是交點U,、 Vi與之前找到的交點Uo、 Vo相比
      離光線原點更近(如(2)所示),并且在三角形的邊界之內(nèi)(如(3)所示)。
      在一個實施例中,上述算法假設(shè)存在至少一個坐標(biāo), 一個光線包中所 有方向的光線在該坐標(biāo)下都具有相同的符號,并且上述算法使用具有最大 絕對值的坐標(biāo)。這個條件遠遠弱于其它加速結(jié)構(gòu)遍歷算法(例如,每個坐標(biāo)
      的所有方向都具有相同的符號)。如果一個包的光線沒有主導(dǎo)(prevalent) 方向,則可以使用現(xiàn)有技術(shù)的分割技術(shù),盡管這樣的光線包很少出現(xiàn)(對于 初級光線來說永遠不會出現(xiàn))。在至少一個實施例中,對最主導(dǎo)的軸的選擇 不會影響計算的精確度,而會給算法帶來改進的性能。
      在一個實施例中,確定所有多邊形頂點是否位于至少一個平截頭體平 面之外可以涉及對每個多邊形頂點使用單指令多數(shù)據(jù)(SIMD)乘法和加法 運算。如圖6所示,平截頭體的底平面由三個點[Xo(),yo。,Zo0]、 [Xoo,y(M,zoo] 和[Xm, y,。, Zu)]定義,它的法線由以下叉乘積給出
      nb = ([xio, yio, z10] - [x00,y00,z00]) x ([x00,y01,z00] — [x00,y00,z00]), 其可被簡化為
      nb = [(yo廣yoo) (zoo-zio), 0, (x00-x10) (yoo-yoi)]
      因為[x。。, y。Q, zo。]位于該平截頭體平面中,所以對于任何給定的頂點v = - [X()(),yoo,ZcK)])為負(fù),那么任何給 定的頂點V = [VX, Vy, Vz]必然位于該平截頭體平面之外(并且因此位于平截 頭體之外)。這個關(guān)系可以被擴展并簡化為以下表達式(yo廠yoo) (vz (x10—x00)+x00 z10—x10 z00+vx (z00—z10》
      在一個實施例中,因為這個表達式的絕對值不是必需的而只有它的符
      號是必需的,所以第一個乘數(shù)(y(n-y。。)可以被忽略,因為它總是正的。上 述計算可以針對所有四個平截頭體平面進行重復(fù),并且由四元素向量來表 示(例如,便于SIMD處理)。在一個實施例中,這可以得出如下算法,用
      于檢測多邊形的頂點與平截頭體的分隔
      (1) 對于每個光線包,每次該光線包遍歷經(jīng)過一個節(jié)點(包圍盒)時根據(jù)
      以下方程來計算兩個SIMD向量qo和q1: dx = x10 - x00
      q0= [Xoo z10畫x10 z00, x10 y01 - x00 y", x10 z01 - x00 zu, x00 y10 - x10 y00] / dx qi = [z0o - z10, yu - y01, Zn - z01, y00 - y10] / dx
      (2) 對于每個頂點v = [vx, vy, vz], SIMD變量的四個元素、距離d = [vz, -vy, -vz, vy] + [vx, vx, vx, vx] ql + q0將會與到四個平截頭體平面的距離成正 比。
      (3) 如果該距離中的至少一個元素對于所有多邊形頂點都是負(fù)的,那么 可以認(rèn)為多邊形與平截頭體被相應(yīng)的平截頭體平面分隔開,在一個實施例 中,這可以通過使用掩碼提取操作(例如"MOVEMSK")來進行確定。
      在一個實施例中,在上述方程中可以將qo和q,除以dx,以通過將存 儲項的個數(shù)從三個減少到二個,獲得更好的存儲器組織和運行時間性能。 在一個實施例中,可以同時執(zhí)行圖7所描述的操作和光線包裁剪操作。在 一個實施例中,kd-樹被用作加速結(jié)構(gòu),本文描述的技術(shù)可以涉及為所有非 空的葉節(jié)點來存儲節(jié)點的包圍盒的坐標(biāo),以及一起存儲其它節(jié)點數(shù)據(jù)。在 另一些實施例中,可以動態(tài)地或"在運行中(onthefly)"確定包圍盒坐標(biāo)。
      在一個實施例中,根據(jù)諸如圖7中的操作710中的技術(shù),可以將那些 其頂點與平截頭體分開的三角形排除。在確定平截頭體的同時,還可以確 定與平截頭體的角相對應(yīng)的4個光線所組成的包。如果在參照圖7的操作710所討論的三個條件中的任何一個對于所有四個光線都不成立,那么可 以確定平截頭體不與三角形相交。在一個實施例中,如果所有角光線都與 三角形相交,那么針對該光線包中的所有光線的孔徑檢査可以省略。
      除了考慮四個平截頭體平面之外,實施例還可以通過考慮近平截頭體 平面和遠平截頭體平面來消除不必要的測試。近平面與光線包的主導(dǎo)軸是 垂直的并且穿過光線的原點,在該原點處,沿主導(dǎo)軸的正方向的光線具有 最小主導(dǎo)坐標(biāo)值,而對于負(fù)方向則具有最大坐標(biāo)值。平截頭體的四條角光 線與這個平面的交點可以被用來清除那些嚴(yán)格位于光線束后的三角形。同 樣地,在一個實施例中,如果四條平截頭體角光線全部都與一個三角形相 交,那么計算出的距離可以被用來清除在該三角形后面的所有三角形。在 一些實施例中,與遠平面有關(guān)的裁剪的效果可以取決于場景中三角形的尺 寸。
      可以由存儲在機器可讀介質(zhì)上的代表數(shù)據(jù)來實現(xiàn)至少一個實施例的一 個或多個方面,該代表數(shù)據(jù)代表了處理器內(nèi)的多種邏輯,當(dāng)被機器讀取時, 該代表數(shù)據(jù)會導(dǎo)致機器制造用于執(zhí)行本文描述的技術(shù)的邏輯。這些被稱為 "IP核"的代表數(shù)據(jù)可以被存儲在有形的機器可讀介質(zhì)("帶")上,并且 被提供給不同的客戶或生產(chǎn)設(shè)施,以便加載到可真正制造邏輯或處理器的 制造機器內(nèi)。
      從而,以上描述了一種指導(dǎo)微結(jié)構(gòu)存儲器區(qū)域存取的方法和裝置???以理解的是,以上的描述旨在示例,而不是限制。本領(lǐng)域的技術(shù)人員在閱 讀和理解了以上的描述之后,可以很明顯地想到其它許多實施例。因此, 本發(fā)明的保護范圍應(yīng)該由所附的權(quán)利要求以及這些權(quán)利要求所賦予的等效 特征的全部范圍來決定。
      權(quán)利要求
      1、一種裝置,包括邏輯,其確定在將要渲染的三維(3D)圖形場景的包圍盒之內(nèi)的多邊形是否與平截頭體相交,所述平截頭體由穿過所述包圍盒的多條光線的多個進入點和離開點界定,其中,所述確定用于至少部分地控制被測試的光線-多邊形組合的個數(shù)。
      2、 根據(jù)權(quán)利要求1所述的裝置,其中,如果所述邏輯確定所述多邊形與所述平截頭體不相交,將對于所述多條光線而言忽略所述多邊形。
      3、 根據(jù)權(quán)利要求1所述的裝置,其中,加速結(jié)構(gòu)包含由3D盒界定的 節(jié)點,將所述3D盒與多條光線一起使用以形成所述平截頭體。
      4、 根據(jù)權(quán)利要求2所述的裝置,其中,所述邏輯用于實現(xiàn)裁剪功能, 以確定所述多邊形是否與所述平截頭體相交。
      5、 根據(jù)權(quán)利要求4所述的裝置,其中,所述裁剪功能包括對與所述多 條光線相對應(yīng)的信息執(zhí)行單指令多數(shù)據(jù)(SIMD)運算。
      6、 根據(jù)權(quán)利要求5所述的裝置,其中,所述SIMD運算包括一組SIMD 運算中的至少一個運算,所述一組SIMD運算包括打包的乘加指令、打 包的乘法指令和打包的加法指令。
      7、 根據(jù)權(quán)利要求l所述的裝置,其中,所述邏輯包括3D圖形加速集 成電路。
      8、 根據(jù)權(quán)利要求7所述的裝置,其中,所述3D圖形加速集成電路包 括用于對光線跟蹤算法進行加速的邏輯。
      9、 一種方法,包括選擇用于對三維(3D)圖形對象進行渲染的一組光線; 為所述對象構(gòu)建包括多個包圍盒的加速結(jié)構(gòu); 確定所述光線與加速結(jié)構(gòu)的包圍盒的近平面和遠平面的交點; 形成平截頭體,其包含包圍盒與多條光線的相交部分; 確定多邊形的任何頂點是否都位于平截頭體的平面之外,其中所述平 截頭體的邊界由所述光線定義;排除與所述平截頭體不相交的多邊形,不對其進行進一步的處理。
      10、 根據(jù)權(quán)利要求9所述的方法,其中,確定多邊形的任何頂點是否 位于四個平截頭體平面中的任何平面之外包括:計算4-寬度SIMD表達式,所述表達式與到所述四個平截頭體平面的距離成正比。
      11、 根據(jù)權(quán)利要求IO所述的方法,其中,針對所有多邊形頂點的所計 算的SIMD表達式的符號用于確定是否所有頂點都在至少一個平截頭體平 面之外。
      12、 根據(jù)權(quán)利要求9所述的方法,其中,與包內(nèi)光線的主導(dǎo)方向相垂 直的近平面和遠平面形成了兩個額外的平截頭體平面。
      13、 根據(jù)權(quán)利要求9所述的方法,其中,在多邊形平面內(nèi)執(zhí)行進一步 的測試,以確定所述平截頭體與所述多邊形是否被至少一個多邊形邊緣分 隔開。
      14、 根據(jù)權(quán)利要求10所述的方法,還包括執(zhí)行單指令多數(shù)據(jù)(SIMD) 運算,以確定所述平截頭體與所述多邊形的分隔。
      15、 根據(jù)權(quán)利要求13的方法,其中,所述SIMD運算包括一組SIMD 運算中的至少一個運算,所述一組SIMD運算包括打包的乘加指令、打包的乘法指令和打包的加法指令。
      16、 根據(jù)權(quán)利要求9所述的方法,還包括執(zhí)行光線跟蹤算法,其中, 從進一步處理中排除掉多個光線-三角形相交測試。
      17、 根據(jù)權(quán)利要求16所述的方法,還包括對3D對象進行渲染。
      18、 一種系統(tǒng),包括存儲器,其用于存儲三維(3D)圖形對象的紋理;圖形設(shè)備,其用于將所述紋理應(yīng)用到所述3D圖形對象上,所述圖形 設(shè)備包括剔除邏輯,在將所述紋理應(yīng)用到與平截頭體相交的多個三角形上 之前,所述剔除邏輯從包圍盒中剔除與所述包圍盒內(nèi)的平截頭體不相交的 多個三角形;顯示控制器,其用于將所述對象投影到顯示設(shè)備上。
      19、 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所述存儲器用于存儲加速結(jié) 構(gòu),所述加速結(jié)構(gòu)包括與所述包圍盒相對應(yīng)的至少一個節(jié)點。
      20、 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所述加速結(jié)構(gòu)包括與多個包 圍盒相對應(yīng)的多個節(jié)點,所述多個包圍盒與所述3D圖形對象相對應(yīng)。
      21、 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,至少部分地使用所述剔除邏 輯來控制在對所述加速結(jié)構(gòu)進行遍歷時的計算量。
      22、 根據(jù)權(quán)利要求21所述的系統(tǒng),還包括能夠執(zhí)行剔除指令的至少一 個處理器核。
      全文摘要
      一種用于提高光線跟蹤性能的技術(shù)。在一個實施例中,不對那些與特別創(chuàng)建的平截頭體不相交的多邊形進行進一步的光線-三角形測試,從而實現(xiàn)與給定場景相對應(yīng)的加速結(jié)構(gòu)的更有效率的遍歷。
      文檔編號G06T15/06GK101527052SQ200910118299
      公開日2009年9月9日 申請日期2009年3月3日 優(yōu)先權(quán)日2008年3月3日
      發(fā)明者A·列舍托夫 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1