TW201001327A - Optimized graphical calculation performance by removing divide requirements - Google Patents

Optimized graphical calculation performance by removing divide requirements Download PDF

Info

Publication number
TW201001327A
TW201001327A TW098115586A TW98115586A TW201001327A TW 201001327 A TW201001327 A TW 201001327A TW 098115586 A TW098115586 A TW 098115586A TW 98115586 A TW98115586 A TW 98115586A TW 201001327 A TW201001327 A TW 201001327A
Authority
TW
Taiwan
Prior art keywords
ray
component
logic
intersection
calculating
Prior art date
Application number
TW098115586A
Other languages
English (en)
Inventor
Robert Allen Shearer
Alfred Thomas Watson Iii
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW201001327A publication Critical patent/TW201001327A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Description

201001327 六、發明說明: 【發明所屬之技術領域】 本發明大體而言係關於影像處理 '項域,且更特定士 之,係關於用於支援影像處理之向量單元。 σ 【先前技術】 影像處理涉及執行向量運算及純 ., 逆异兩者。向量運糞 匕括對一或多個向詈勃杆運瞀 f ^ 里執盯運t 4如μ mum ^純!運算包括加法、減法、乘法、除法及類似運算。 因=處理影像之處理器包括一用於執行向量運算之獨立 向里早疋及一用於執行純量運算之獨立純量單元。 向量單元及純量單元中之每一者通常 ^ . 力畀有其自身各別的 ϋ 曰存_。暫存器檔案含有藉由相關聯之向量或 Μ以運算之資料。暫存器檔案亦用於儲存由各別向量或 純量單元執行之運算之結果。若一單元之結果係由另一單 兀執行之運算所需的,則必須首先將結果儲存至記情體, 且接著將結果載入至另-單元之各別暫存器檀案中。 【發明内容】 本發明之一實施例提供一種用於執行— 射線與一限界體 之—交點測試之方法。該方法通常包括 匕栝基於界定該射線之 一方向向量之X、y及Ζ分量值而計算— I异組按比例調整因 數’及利用該等按比例調整因數以在盔除 你…陈法運鼻之情況下 執行該交點測試。 本發明之另-實施例提供一種能夠執行一射線與一限界 體之交點測試之處理器。該處理器通常句 中匕祜用於基於界定 139743.doc 201001327 該射線之一方向向量之父、 旦 古周敕田奴—《 及z刀里值而计鼻一組按比例 。周正口數之埏輯,及用於 ^ ^ β 』用5亥專按比例調整因數以在益 除法運鼻之情況下執行該交㈣試之賴。 在… 本發明之另一實施例提供— 限界許夕—上、、 裡、,·工、.且怎以執仃一射線與一 定該射線:式:系統°該系統通常包括用於基於界 Λ 、之方向向!之χ、丫及ζ分量值而計算-组按比 例調整因數之邏輯,及用於 、 盔险、、^ μ a j用-亥荨按比例调整因數以在 無除法運异之情況下執行該交點測試之邏輯。 【實施方式】 因此’藉料❹料細理解本發明之上文賴述 徵、優點及目標之方式,上文所簡潔概述的本發明之更特 定描述可參考在隨附圖式中所說明的本發明之實施例而進 行。 然而’應注意,隨附圖式僅說明本發明之典型實施例, 且,此不應將其視為對本發明之㈣之限制,因為本發明 可谷許其他同等有效之實施例。 本發明之實施例大體而言係關於影像處理,且更具體言 之,係關於用於支援影像處理之向量單元及暫存器^案。 提供組合之向量/純量單元’其中該向量單元二二個 處理道(processing lane)用於執行純量運算。亦提供用於儲 存向量及純量資料之整合暫存器檔案。因此,消除用以在 獨立向量單元與純量單元之間交換資料的至記憶體之資 傳送。 、广 在下文中’參考本發明之實施例。然而,應理解,本發 139743.doc 201001327 明不限於特定描述之實施例。實情 ^ , 預期以下特徵及元 件(不确疋否與不同實施例相關)之任何組合以 每、 本發明。此外,在各種實施例中,本 ^亚只踐 + \明提供眾多優於 前技術之優點。然而,儘管本發明之實施例 认 他可能解決方案及/或優於先前技術之優點,但給:實;: 例是否達成特定優點並非本發明之限制。因此,以下: 樣、特徵、實施例及優點僅為說明性的,且除在請求項^ 明確加以闡述以外,皆不被視為附加之中請專利範圍之 :或限制。同樣地’對「本發明」之提及不應被解釋為對 本文中所揭示之任何發明性標的物之概括,且除在請求項 中明確加以闡述以夕卜,皆不應被視為附加之申請專;:範圍 之要素或限制。 一:下係對附圖中所描繪的本發明之實施例的詳細描述。 貫施例為實例且如此詳細以便清楚地傳達本發明。然而, 所提供之細節的量不欲限制實施例之預期變化;而 反’本發明意欲涵蓋屬於由附加之申請專利範圍界定的本 發明之精神及範疇的所有修改、均等物及替代物。 本發明之實施例可與例如電腦系統之系統一起利用且下 文將關於該系統描述該等實施例。如本文中所使用,系統 可包括利用處理器及快取記憶體之任何系統,其包括個人 電腦、網際網路設備、數位媒體設備、攜帶型數位助理 (PDA)、攜帶型音樂/視訊播放器及視訊遊戲機繼 c〇ns〇le)。雖然快取記憶體可與利用快取記憶體之處理器 位於同-晶粒上’但在-些狀況下,處理器及快取記憶體 139743.doc 201001327 可位於不同晶粒(例如 組内之單獨晶片)上。 單獨模纽内之 單獨晶片 或單一模 旦=將自三維場景再現二維影像之過程稱為影像處理。 衫像處理之特定目標為使得三維場景之二維模擬 可能逼真。此對於再現較逼真場景之尋求已導致影像之增 加的複雜性及用於處理複雜影像之創新方法。 通常將表示三維場景之二維影像顯示於—監視器或竿— 類型之顯不幕上。現代監視器藉由像素之使用而顯示影 像。像素為可在一監視器上被照亮之最小空間區域。多數 現代電腦監視ϋ使用數十萬或數百萬像素之組合來構成整 個顯不或再現之場景。個丨梅 7'個別像素係以栅格圖案排列且共同 覆盍監視器之整個觀看區域。可照亮每—個別像素以再現 一最終圖像(picture)以用於觀看。 種使用像素將真實世界三維場景再現於二維監視器上 之方法被_光柵化(raste細_)。光栅化為取得以:量 格式(“内幾何物件之數學表示)表示的二維影像及將該 影像轉換成㈣像素以在監視ϋ上顯示㈣程。光栅化在 迅速再現圖形及使用相對較少量之計算能力方面係有效 的,然而,光柵化經受某些缺點的影響。舉例而言,光栅 化通常^缺乏真實性的影響’因為光柵化並非基於光的 ㈣特性,更仙地說,光柵化係基於投影在二維平面上 Ό之三維幾何物件之形狀。此外,以光柵化再現場 尽所而的§t算能力直接與待再現之場景中之物件之複雜性 139743.doc 201001327 ㈣加成比例。隨著影像處理變得愈加逼真,再現之場景 變得愈加複雜。因此’光栅化隨影像處理發展而受,塑 因為光柵化直接與複雜性成比例。 另一種使用像素將真實世界三維場景再現於二維監視器 上之方法被稱為射線追蹤。射線追蹤技術追蹤進入—待再 現於一電腦螢幕上之三維場景中之假想射線(其表現=似 於光線)的傳播。射線源於坐在電腦螢幕後的觀看者之眼 p 睛並朝向三維場景橫穿過組成電腦榮幕之像素。每一經^ 蹤之射線前進進入場景中且可與場景内之物件相交。=射 線與場景内之物件相交,則該物件之特性及若干其他影響 因素(例如,光源之效應)用於計算射線所曝露於的色 光之量或色彩及光之缺乏。此等計算接著用於確定經追縱 之射線所通過的像素之最終色彩。 對於單一場景進行多次追蹤射線之處理。舉例而言,可 針對顯示中之每一像素追縱單一射線。一旦已追蹤足夠數 U 目之射線以確定組成電腦螢幕之二維顯示的所有像素之色 * ’便可將三維場景之二維合成在電腦螢幕上顯示給觀看 者。 .料追縱通常比光栅化更逼真地再現真實世界三維場 • 2。此❹地歸因於以下事實:射線追縦模擬光如何在真 貝世界ί衣i兄中行進及表現,而非如光撕化所做,簡單地將 三維形狀投影於二維平面上。因此,使用射線追縱所再現 圖形較為準確地在監視器上描繪吾人眼睛在真實世界中 習慣看到的圖形。 139743.doc 201001327 此外,射線追蹤亦比光栅化更好地處置增加之場景複雜 性。射線追蹤與場景複雜性成對數比例關係。此係歸因於 以下事實:即使場景變得較複雜,亦可將相同數目之射線 投射至場景中。因此同於光栅化,當場景變得較複雜 時,射線追蹤在計算能力需求方面並不受影響。 射線追縱通常需要大量的浮點計算,且因此需要再現場 景所需的增加之處理能力。當需要快速再現時(例如,當 諸如在遊戲機中影像處理系統將為動畫目的而再現圖: 旬,此可尤其為真實情況。歸因於射線追縱之増加㈣ 算需求,難以足夠快地再現動畫以使其看起來逼真(逼真 的動晝為每秒約二十至二十四個圖框)。 使用(例如)射線追縱之影像處理可涉及執行向量與純旦 數學。因此,用於影像處理之硬體支援可包括經組能以: =多種計算之向量及純量單元。舉例而言,向量運算 量運算可追縱穿過場景之光的路徑或使三維場景杜 移動。向量單元可對與場景中之物件相關之向量執行= J如例如點積及又積)。純量單元可對純量值執行算術運 了例如,加法、減法'乘法、除法及類似運 。 兀及純量單元可經管線化而改良效能。 °里單 影像處理計算可涉及向量單元與純量單元之 動。因為先前技術實施可經獨立地配給且具有 里互 存器檔案的向量單元及純量單元,所以在該等別暫 ^資料通常非常低效。舉例而言,純量單元=傳 憶體載入至其相關聯之暫存器稽案中以執行純量;= 139743.doc 201001327 接著將該計算之結果自與該純量單元相關聯之暫存器槽案 儲存回至記憶體中。隨後,可將儲存於記憶體中之純=運 算之結果載人至與向量單元相關聯之單獨的暫存器檐案中 以執行向量運算。 > 用以在純量單元與向量單元之間傳%資料的資料至及自 記憶體之傳送及指令之間的相錢可引人減慢影像處理之 顯著延遲,藉此不利地影響再現逼真影像及動畫之能力。 本發明之實施例將向量單元與純量單元組合成能夠執行向 置運异及純量運算兩者之單一單元。實施例亦提供一能夠 儲存向量及純量資料之暫存器檔案。 例示性系統 圖1說明-例示性多核心處理元件1〇〇,其中可實施本發 明之實施例《多核心處理元件100包括複數個基本處理能 力引擎(basic throughput engine)105(BTE)。BTE 1〇5 可含 有複數個處理執行緒及—核心、快取記憶體(例如,li快取 記憶體)。位於每-BTE内之處理執行緒可有權存取一共用 多核心處理元件快取記憶體11〇(例如,L2快取記憶體)。 BTE 105亦可有權存取複數個收件匣(inb〇x)ll5。收件匣 115可為一記憶體映射位址空間。可將收件匡115映射至位 於BTE 105中之每一者内的處理執行緒。位於BTE内之每 執行緒可具有一圮憶體映射收件匣且有權存取所有其他 的名憶體映射收件匣11 5。收件匣i丨5組成由BTE i 〇5使用 之一低延時及南頻寬通信網路。 BTE可將收件匣115用作一網路以彼此通信且在BTE之間 139743.doc 201001327 再分配資料處理工作。對於一些實施例,於通信網路中可 使用單獨的寄件匣(例如)以接收由ΒΤΕ 1 05進行的處理之 結果。對於其他實施例,收件匣丨15亦可充當寄件匣,例 如,一BTE 105直接將處理函數之結果寫入至將使用該等 結果之另一B TE 1 0 5之收件g。 可將影像處理系統之彙總效能與BTE可多好地劃分及再 分配工作聯繫起來。收件匣115之網路可用於收集工作並 將工作分配至其他BTE ’而使無圖框間連貫性的BTE通信 資料封包不會損毁共用多核心處理元件快取記憶體⑴。 針對每圖框可再現數百萬個三角形的影像處理系統可包括 許多以此方式連接之Bte 1〇5。 在本發明之一實施例中,可將一 βΤ·ρ丨^ J將ΒΤΕ 105之執行緒指派 、-口 一工作負載管理器。影像虚 像處理系統可使用各種軟體及硬 月豆組件以自三維場景再 冉現—維影像。根據本發明之一實施 例,衫像處理系統可使用工 理系銻I山 貞載&理益以利用由影像處 糸、洗發出之射線來遍層六 用於將相可將空間索引實施為 ν〇ι X S刀成車乂小之限界體(bounding volume)的樹型資料社。 ^ 方法之与換步 〇 吏用用於影像處理之射線追蹤 方法之衫像處理系統可使用处 限界體交點。在本發明之Ί、5丨來迅速地衫射線· 藉由使用* + 貫靶例中,工作負載管理器可 使用二間索引來執行 在本發明之香, $限界體父點測試。 4知明之一貫施例中, 心處理元件BTE 1()5之:處理幻牛1。。上之多核 擎。在工作負_ g " 仃緒可為向量處理能力引 丨户貝戟官理考被中6J_ d 。確疋射線-限界體交點後,工作負 139743.doc •10- 201001327 载管理器可經由收龍115發出(發送)射線至複數個向量處 理能力引擎中之-者。該等向量處理能力引擎可接著判定 射線是否與限界體内所含之原始物件(primitive)相交。該 等向量處理能力引擎亦可執行與確定射線所通過之像素的 - 色彩相關之運算。 ‘圖2說明根據本發明之一實施例的多核心處理元件之網 路200。圖2亦說明本發明之—實施例,其中多核心處理元 件100之ΒΤΕ中之一者的執行緒為一工作負載管理器205。 根據本發明之一實施例,多核心處理元件之網路2〇〇中的 每一多核心處理元件22〇1_ν可含有一工作負載管理器2〇5ιν。 根據本1明之貫把例,多核心處理元件之網路2〇〇中的 每一處理器220亦可含有複數個向量處理能力引擎2丨〇。 根據本發明之一實施例,工作負載管理器22〇ι·ν可使用 一高速匯流排225與其他工作負載管理器22〇ιν及/或其他 多核心處理元件22〇之向量處理能力引擎21〇通信。向量處 〇 理能力引擎210中之每一者可使用高速匯流排225與其他向 量處理能力引擎210或工作負載管理器2〇5通信。工作負載 管理器處理器205可使用高速匯流排225來收集與影像處理 相關之任務並將該等任務分配至其他工作負載管理器處理 -器205,且/或將任務分配至其他向量處理能力引擎21〇。 尚速匯流排225之使用可允許工作負載管理器2〇5ι-ν通信, 而不以與工作負載管理器2〇5通信相關之資料封包影響快 取記憶體230。 例示性三維場景 139743.doc -11 * 201001327 圖3為待由影像處理系統再現之例示性三維場景3〇5。物 件320可在三維場景305内。圖3中之物件32〇具不同幾何形 狀。雖然圖3中僅說明四個物件32〇M旦典型三维場景中之 物件的數目可更多或更少。通常,三維場景將具有比圖3 中所說明之物件多得多的物件。 如在圖3中可見’該等物件具有變化的幾何形狀及尺 寸。舉例而S,圖3中之一物件為錐體32〇a。旧中之其他 物件為箱320B.D。在許多現代影像處理系統中,通常將物 件分解成較小的幾何形狀(例如,正方形、圓开》、三角形 等)。接著由許多較小之簡單幾何形狀來表示較大物件 此等較小幾何形狀常被稱為原始物件。 場豕305中亦况明了光源325ab。該等光源可照亮位於場 ,、3〇5内之物件32G。此外,視場景305内之光源325及物件 320之位置而定’光源可使陰影投射於場景305内之物件 上。 :藉由-影像處理系統將三維場景3Q5再現於_二維圖 1影像處理系統亦可使二維圖像顯示於監視器训 ί:=Γ°可使用許多不同色彩之像素33°來再現最終 ^ 一难圖像。 二由影像處理系統使用以將三維場景如再現於 H 中之方法被稱為射線追蹤。藉由影像處理系統 者315之視點「發 々「媒奴ώ Α 有 實現射… 線至三維場景305中來 •如。射線具有類似於光線之特性及行。 在圖3中@ 人 、、 了見—射線340,其在觀看者315之位置處起始 139743.doc 】2· 201001327 且橫穿過三雄場景305。隨著射線340自觀看者315橫穿至 三維場景305,射線340通過影像處理系統將再現最終二維 圖像所在的平面。在圖3中,由監視器31〇來表示此平面。 由像素335表示射線34〇通過該平面或監視器31〇之點。 如先則所簡要論述,多數影像處理系統使用數千(若非 數百萬)個像素之柵格330來將最終場景再現於監視器3ι〇 上。母一個別像素可顯示一不同色彩以將最終複合之二維
圖像再現於監視器31〇上。使用射線追蹤影像處理方法以 自二維場景再現二維圖像之影像處理系統將計算所發出射 線在一,.隹%景中所遇到的色彩。影像處理場景將接著將射 '、、t到的色彩指派給射線在其自觀看者至三維場景之途 中所通過的像素。 、 十對每—像素所發出之射線的數目可改變。一些像素可 二有㈣待再現之特定場景所發出料多射線。在該狀況 =,2由來自針對像素所發出之所有射線的每一色彩貢獻 L確疋像素之最終色彩。其他像素可僅具有一經發出以確 =維7中之像素之所得色彩的單—射線。—些像素可 p像處理系統發出的任何射線,在該狀況下,其 ^彩可藉由料處㈣統^料法來衫、近似或^ 定 |-^ 像中之像素3 3 5之最終色彩,影像處理系 定射線340是否與場景内之-物件相交。若射線 “丨上内之一物件相交,則其可經指派-預設背景色 夕!j如,矣一 ’、天或夜晚天空的藍色或黑色)。相反,當射 139743.doc -13· 201001327 黃穿過三維場景時,射線州可能撞擊物件。當射線 撞擊場景内之物件時,物件之色彩可經指派給射線所通過 2像素。然而,物件之色彩必須在其經指派給像素之前確 疋 。 許多因素可影響由原始射線34峨擊之物件的色彩。舉 例而言’三維場景内之光源可照亮物件。此外,物件之物 7特性可影響物件之色彩。舉例而言,絲件係反射或透 月的,則其他非光源物件接著可影響物件之色彩。 為了確定來自三維場景内之其他物件之影響:可自原始 射線3—40與物件相交之點發出第二射線。舉例而言,一類 型之第二射線可為陰影射線。陰影射線可用於確定光對原 始射線340與物件相交之點的貢獻。另一類型之第二射線 I為透射射線。透射射線可用於確定何種色彩或光可透射 ^物本體H第三類型之第二射線可為反射射 線。反射射線可用於確定何種色彩或光經反射至物件上。 上文所提及,一類型之第二射線可為陰影射線。可自 j D射線與物件之相父點至三維場景内之光源而追蹤 每一陰影射線。若射線到達光源而不在射線到達光源之前 遇到另一物件,則光源將在原始射線撞擊物件之點處照亮 由原始射線撞擊之物件。 牛例而。,陰影射線341a可自原始射線與物件32〇八 相交之點發出,且可在朝向光源325a之方向上橫穿。陰影^ 射線341a到達光源325a而不遇到場景3〇5内之任何其 件320。因此,光源325a將在原始射線34〇與物件相交 139743.doc • 14· 201001327 之點處照亮物件32〇A。 其他陰影射線可使其路徑在原始射線撞擊物件之點與由 三料景内之另一物件所阻斷之光源之間。若阻擔原始射 線撞擊之物件上的點與光源之間的路徑之物件為不透明 的,則光源將不會在原始射線撞擊物件之點處照亮物件。 因此’光源可不影響原始射線之色彩,且因此亦不影響待 再現於—維圖像中之像素之色彩。然而,若物件& U % 或透明的’則光源可在原始射線撞擊物件之點處照亮物 件0 舉例而§,陰影射線341β可自原始射線與物件Μ、 相交之點發出,且可在朝向光源%之方向上橫穿。在此Α 實例中,验影射線341β之路徑由物件32〇d所阻斷。若物件 320D為不相的,則光源叫將不㈣始射線3触物件 31相交之點處照亮物件32〇a。然而,若物件32〇〇為半透
U ^或透明的’則光源325β可在原始射線Μ。與物件咖A相 交之點處照亮物件320A。 另-類型之第二射線為透射射線。若物件(原始射線盥 其相幻具有透明或半透明特性(例如,玻璃),則透射射線 可由影像處理系統發出。透射射線以與原始射線撞擊物件 之角度相關的一角度橫穿過物件。舉例而言,觀察到透射 射線344横穿過物件32〇A’原始射線340與該物件32〇a相 交。 另-類型之第二射線為反射射線。若物件(原始射線與 其相交)具有反射特性(例如,金屬飾面),則將由影像處理 139743.doc 201001327 系統發出反射射線以確定何種色彩或光可由物件反射。反 2射線以與原始射線與物件相交之角度相關的—角度橫越 遂離物件。舉例而言’可藉由影像處理系統發出反射射線 343以確定可藉由物件32〇a(原始射線34〇與其相交)反射何 種色彩或光。 所有第一射線(例如,、 等)之色彩及光的”獻將射射線、反射射線 = ^ 〜貝獻將產生原始射線所通過的像素之 最終色彩。 、 向量運算 線:物:像I /歩及執行一或多個向量運算以確定(例如)射 峰” 一之乂點,陰影射線、反射射線及其類似射線之產 。一在影像處理期間執行之普通運算為兩個向量之間的 :積運算。可執行又積以確定表面(例如 之 ::之原始物件的表面)之法向向量。法向向量心: 看者是否可見物件之表面。 扣不硯 以带:::描述’可將場景中之每—物件表示為彼此連接 形成物件之形狀的複數個原始物件。舉例而言,在一實
施例中,每一物件可由複數個 X 明由複數個三角形41G構成之 —Μ構成。圖4說 可為由 專成之—例不性物件400。物件4〇〇 明:目的:複數個三角形410形成的-球形物件。為說 以較佳地近似—曲面物件大"岐小三角形410來形成 X月之貫施例中,可計算每—三角形41〇之表面 139743.doc 201001327 法線以判定觀看者450是否可見三角形之表面。為確定每 -二角形之表面法線,可在表示三角形之兩個邊的兩個向 量之間執行叉積運算。舉例而言,可藉由在向量411a與 411b之間執行又積來計算三角形杨之表面法線川。 法向向量可判定—表面(例如,原始物件之表面)是否面 向觀看者。參看圖4,法向向量413沿觀看者彻之方向而 才曰向口此一角形410可顯示給使用者。另一方面,三
角形侧之法向向量415遠離觀看者450而指向。因此,: 角形410b可不顯示給使用者。 一 射線-體交點計算 如上文所論述’為確定二维圖像中之像素之最終色彩, 料處理“必須判定給定射線是否與場景内之_物件相 交。為計算簡單起見,可認為物件藉由比物件自身簡單之 一體(V〇lume)來限界。若射線不碰到物件之限界體 亦將錯過物件本身。 'h、 若限界體配合過於鬆散,則已錯過物件之射線可能碰到 限界體,從而導致不必要的計算。若限界體緊密配合—物 件’則將浪費極少的射線-物件交點計算。然❿,射線-物 件交點計算可顯著更加複雜。 本發明之實施例可利用任何合適地成形 _ "姐。举例 而吕,一些實施例可使用由諸平面建構之平行六面體來限 界物件。方程式丨說明一於3維空間中描述一平面之通用方 程式。
Ax + By + Cz-d^O 139743.doc -17- 201001327 方备式1描述 具有一法向向量#;
B CJ 其與原點 保持d單位之距離。此外,存在一組與法向向量n正交且彼 此平行之平面,其僅在與原點之距離3上彼此變化。可自 此組平面選擇兩個平面來限界一給定物件,其中該兩個平 面之間的區被稱為片層(slab)。 -組限界之片層之相交產生一限界體。$ 了在三维空間 中創建-封閉的限界體’必須利用至少兩組的3個限:: 層:可選擇兩個點㈤及’以界定每一組3個片@,片層 之母- X、乂或Z分量界定一平面及其與原點之距離。此導 致兩個點(wl&w2)在三維空間中界定一立方體。 射線(其中v⑴為描述射線之方向的向量,且e⑴為描述 出射點(亦即’射線之起點)對原點之位移的向量)可於一相 交點P處與限界平面相交。可如方程式2中所示地計算自出 射點响至限界平面上的相交點之射線之量值。如方程式^ 中料算的射線之量值可接著用於確定射線與限界平面之 相父點如方程式3中所示。 V⑺ *1,2 P(Osv(i)*i+e(z·) (2)(3) 類似地’圖5說明可如何針對每一植限界平面計算自出 射點e(z·)至限展L 丄 明,六 界千面上的相交點之射線之量值t。如所說 法,:耸兩種方法,非按比例調整方法及按比例調整方 …、方法可用於計算給定射線與兩 交點。藉由使用非按比例調整方法,#方程式= 139743.doc -18- 201001327 而計算自e⑴至第一限界平面之射線之量值
第-限界平面,e⑴表示射線對原點之位移 :點位移向量,且v(i)表示射線之正規化方向向量…: 意,⑴表示方程式512及所有後續方程式中之集合(X、ν’、 Z)。類似地,如方程式514所描述地計算h⑴至U界 平面之射線之量值t2(i),其中%⑴描述第二平面。一旦缓 計算,即比較量值tl⑴與量如⑴。若q⑴大於^⑴則對 值進行交換(亦即’ tl⑴經指派。⑴之值,且^⑴經指派 t〗(i)之舊值)。此補償射線自原點之負位移。接著比較值 Mx)、⑻,且可接著將最大值插人至上述的方程 式3: ’以確定射線與限界箱之第一可能相交點‘⑴。 接者比較值的)、^⑺及t2(z),且可接著將最小值插入至 上述的方程式3中,以確定射線與限界箱之第二可能相交 點Pfar(i)。最後,評估該等相交點以確保射線與限界體事 實上確實相交。 使用按比例調整方法計算射線與兩個限界平面之交點需 要三個步驟。第一步驟為分別計算χ、y&z分量之按比2 调整因數(SF) ’如方程式532、534及536所描述。舉例而 言,藉由使方向向量v(i)之X分量之正負號乘以方向向量之 y分量與Z分量之點積的絕對值來計算χ分量之按比例調整 因數。接著,藉由使表達式(W⑴_e⑴)乘以按比例調整因 數SF(i)來確疋自e(〇至第一限界平面〜⑴的射線之量值 Mi),如方程式522所說明。對第二限界平面重複相同過 程。最後,如上所述,比較量值tl⑴與量值。⑴,若^⑴大 139743.doc -19- 201001327 於h(i),則交換該等值(亦即,ti⑴經指派^⑴之值,且 h(i)經指派tl⑴之舊值)。此補償射線自原點之負位移。接 著比較MX)、tl(y)及tl(z),接著將最大值插入至上述的方 程式3中,以確定射線與限界箱之第-可能相交點 pnear⑴。接著比較t2(x)、⑺及Μζ),接著將最小值插入 至上述的方程式3中,以確定射線與限界箱之第二可能相 交點Pf“i)。最後’評估該等相交點以確保射線與限‘ 事實上確實相交。 如上所說明,用於非按比例調整方法中之該等方程式涉 :除法運算。除法運算為通常複雜且計算上花費多的運 算。耗費可藉由針對向量之三個分量中之每—者執行除法 運异而擴大。可藉由針對射線可遇到的每—物件及經投射 (或經產生)以再現場景之每一射線執行射線-體交點測試來 進一步擴大耗費。 〃之相比,使用按比例調整方法確定射線與限界體之, 點可避免除法運算之使用。因此,系統效能可藉由使則 比例調整方法執行射線·體交點測試而得到增強。 如上所述,射線源於假想的觀看者眼睛,行進穿過營』 上之像素且穿過場景内之—或多個物件。此外,該一或』 個物件可藉由在數學上可比物件本身更容易描述的對應達 目之體而限界。因為給定場景中存在許多像素及複數個斗 件,所以射線與物件之間的交點之數目可為巨大的。^ 6〇2’藉由處理器選擇並接收—射線及—限界體。 在04彳算射線之正規化方向向量v⑴之按比例調整巨 139743.doc -20. 201001327 數SF(i),如上所述。 SF(i)執行一交點測一,使用該等按比例調整因數 ,^ ^以判定射線是否與所選物件之限界體 相父。如上文所描述,為確定二維圖像中…之= 衫’:像處理系統必須判定給定射線是否與場景内之二物 件相乂。當射線撞擊場景内之物件時,物件之色 派給射線所通過之像素。 /可、里才a 如上所提及,若適當選擇了限界體 射線亦將穿過限界體。另外穿、物件之母一 件之射線穿過限界體。因此,射線穿過限 =所產生之相交點ρ⑴可用於確定—或多個像素之色 圖7進-步說明執行交點測試時所涉及之步驟。在·, 否已評估所有座標之評估。在*關於X計 ;:自6(1)至第曰—限界平面之射線之量值。此藉由取第一限 」平面之X分量(由Wl(x)表示)與位移向量之X分量…(X)表 )、而兀成才妾著將此差乘以按比例調整因數之X分量 (由SF⑻表示)。在7〇6,重複該過程;然而,使用第二限 ^平面之X座標(由W2(x)表示)。重複該過程以關於⑷確 疋自e(i)至限界平面之射線之量值。 圖8A及圖8B說明描緣計算射線與兩個限界平面之交點 的T比例調整方法之邏輯區塊。在圖8八中,自正規化方向 向量v⑴計算按比例調整因數。接著將料按比例調 整因數與該等限界平面w⑴及該等原點位移向量e(i)一起提 供給交點測試邏輯’如圖8B_所說明。注意,圖8A及圖 139743.doc -21- 201001327 紐中所說明之邏輯常以軟體實施; +發明之督谂办,丨 亦可使用硬體來實施所說明之邏輯。 藉由將按比例調整方法用於計算射線與兩個限界平面之 交點,可相較於非按比例調整方法節約時脈週 之 體交點計料間之改良可導錄錢能,特/身= 雜影像處理之應用中。 隹而要複 容係針對本發明之實施例,但在不偏離本發 土本乾嚀的情況下可設計本發明之其他及另外實施 例,且本發明之範疇係由以下申請專利範圍確定。 【圖式簡單說明】 路 圖1說明根據本發明之一實施例的多核 圖2說明根據本發明之一實施例的多 心處理元件。 核心處理元件網 圖3為根據本發明之一實施例的待由影像處理系統再現 之例示性三維場景。 圖4説明根據本發明之一實施例的待再現於螢幕上之物 件的詳細視圖。 圖5 ,兒明用於非按比例調整及按比例調整的射線-體交點 測試之必要計算。 圖6戎明用於執行射線_體交點測試之方法。 圖7說明在射線_體交點測試中所執行之計算的流程。 圖8 A及圖8B為說明根據本發明之一實施例執行之計算 的方塊圖。 139743.doc -22- 201001327 【主要元件符號說明】 105 基本處理能力引擎(BTE) 110 共用多核心處理元件快取記憶體 115 收件匣 200 多核心處理元件之網路 205 i_n 工作負載管理器/工作負載管理器處理器 210 向量處理能力引擎 2 2 0 ],n 多核心處理元件 225 高速匯流排 230 快取記憶體 305 三維場景 310 監視器 315 觀看者 32〇a 錐體/物件 32〇b 箱 320c 箱 320d 箱/物件 325a 光源 325b 光源 330 像素/柵格 335 像素 340 射線 341a 陰影射線 341b 陰影射線 139743.doc -23 - 201001327 343 344 410 410a 410b 411a 411b 413 415 512 514 522 532 534 536 e(i) SF(i) V⑴ wi(i) w2(i) 反射射線 透射射線 三角形 三角形 三角形 向量 向量 表面法線/法向向量 法向向量 方程式 方程式 方程式 方程式 方程式 方程式 原點位移向量 按比例調整因數 射線之正規化方向向量 第一限界平面 第二限界平面 139743.doc •24·

Claims (1)

  1. 201001327 七、申請專利範園: 1. -種用於執行一射線與一限界體之一交點測試之方 其包含: ' 基於界定該射綠> r^-ι . 冲 /射、,泉之一方向向ΐ之X、7及2分量值而計 舁按比例調整因數;及 利用„亥等按比例調整因數以在無除法運算的情況 行該交點測試。 Μ 2_如請求们之方法,其中該方向向量 且計算該等按比例調整因數包含: 刀里, 基於D亥方向向量之該丫分量及該z分量計算— 比例調整因數; 置夜 土於4方向向量之該X分量及該2分量計算—y分量按 比例調整因數;及 按 基於α亥方向向量之該x分量及該y分量計算-z分量按 比例調整因數。 刀里按 L 3. 如請求項1 $ t、、t 、 / 其中該射線係藉由對一原點之一付 移而進_步狀 1疋’且利用該等按比例調整因數以在盔 法=算之情況下執行該交點測試包含·· …于、 基於該X分量按比例調整因數計算該射線與該限界體 之—第一面之間的交點之一 x座標; ;X y刀量按比例調整因數計算該射線與該限界體 之第一面之間的該交點之一 y座標;及 士女 yv 曰 土 ' ^ Z为量按比例調整因數計算該射線與該限界體 之—第一面之間的該交點之一2座標。 139743.doc 201001327 4. 5. 6· 7· 點之—位 以在無除 該限界體 如凊求項1之方法,其中該射線係藉由對一原 移而進一步界定,且利用該等按比例調整因數 法運算之情況下執行該交點測試包含: 基於該X分量按比例調整因數計算該射線與 之第二面之間的交點之一 X座標; 基於該y分量按比例調整因數計算該射線與該限界體 之一第二面之間的該交點之一 y座標;及 基於該z分量按比例調整因數計算該射線與該限界體 之第一面之間的該交點之一 z座標。 士叫求項4之方法,其進一步包含計算出的該χ座標、該 y座標及該ζ座標。 "月求項5之方法,其進_步包含以藉由該父座標、該y 座標及該2座標界定之一原點產生一或多個額外射線。 —種能夠執行一射線與—限界體之交點測試之處理器, 其包含: 用於基於界定該射線之—方向向量之乂、丫及2分量值 而计算按比例調整因數之邏輯;及 用於利用該等按比例調整因數以在無除法運算之情況 下執行該交點測試之邏輯。 8. 2請求項7之處理器,其中該方向向量包含乂”及2分 里’且用於計算該等按比例調整因數之邏輯包含: 田用於基於該方向向量之該y分量及該冗分量計算〆乂分 量按比例調整因數之邏輯; 用於基於該方向向量之該X分量及該Z分量計算一y分 139743.doc 201001327 量按比例調整因數之邏輯;及 一 Z分 用於基於該方向向量之該x分量及該y分量計算 量按比例調整因數之邏輯。 9. 如請求項7之處理器,其中該射線
    位移而進-步界定,且該用於利用該等按比例=數 以在無除法運算之情況下執行該交點測試之邏輯包含: 用於基於該X分量按比例調整因數計算該射線與該限 界體之一第一面之間的交點之一X座標之邏輯; 用於基於該y分量按比例調整因數計算該射線與該限 界體之—第一面之間的該交點之-y座標之邏輯;及 =於基於該Z分量按比例調整因數計算該射線與該限 界體之—第—面之間的該交點之一 Z座標之邏輯。 10. 如明求項7之處理器,其中該射線係藉由對一原點之— 位移而 — JlL·. ya ^ V界疋’且遠用於利用該等按比例調整因數 、在.、>、除法運异之情況下執行該交點測試之邏輯包含: 用於計算該射線與該限界體之一第二面之間的交點之 一x座標之邏輯; 用於計算該射線與該限界體之一第二面之間的該交點 之 y座標之邏輯;及 用於°十算該射線與該限界體之一第二面之間的該交點 之一 Z座標之邏輯。 11·如請求項7 R <處理器’其中用於利用該等按比例調整因 數以 [l/v “、、1示法運算之情況下執行該交點測試的邏輯產生 該交點測科、e W之、、Q果值,且該交點測試之該等結果值係儲 139743.doc 201001327 存於記憶體中。 12. 13. 14. 15. 其中頟外射線係基於該交點測試 如請求項7之處理器 之s玄寺結果而產生。 交點測試之系 一種經組態以執行一射線與一限界體之 統,其包含: 用於基於界定該射線之一方向向量 而計算按比例調整因數之邏輯;及 用於利用該等按比例調整因數以在無除法運算之情況 下執行該交點測試之邏輯。 ' 如請求項13之系統,其中哕 曰 1^”茨方向向:1:包含\、乂及2;分 蓋’且該系統經組態以計篡兮笙扒 叶异5哀荨按比例調整因數, 統包含: 〜乐 用於基於該方向向量之#、人θ „ θ j Π里之5亥y分1及該2分量計算―父分 量按比例調整因數之邏輯; 用於基於該方向向量之兮· Ώ 曰 J门里之分量及該Ζ分量計算_y* 量按比例調整因數之邏輯;及 用於基於該方向向哥夕兮八曰„ 曰 门门里之戎x分量及該y分量計算一 2分 量按比例調整因數之邏輯。 月求項13之系統,其中該射線係藉由對一原點之—值 移而進步界定’且該用於利用該等按比例調整因數以 在無除法運异之情況下執行該交點測試之邏輯包含: 用於基於該X分量按比例調整因數計算該射線與該限 界體之一第一面之間的交點之一 χ座標之邏輯; 用於基於該y分量按比例調整因數計算該射線與該限 139743.doc 201001327 第面之間的该父點之一 y座標之邏輯;及 2於基於該z分量按比例調整因數計算該射線與該限 第面之間的s亥父點之一 z座標之邏輯。
    16.如請求項13之系統,其中該射線係藉由對—原點之一位 移而進步界定,且該用於利用該等按比例調整因數以 在無除法運鼻之情況下執行該交點測試之邏輯包含: 用於基於該X分量按比例調整因數計算該射線與該限 體之第一面之間的父點之一 X座標之邏輯; =於基於該y分量按比例調整因數計算該射線與該限 界體之一第二面之間的該交點之一 y座標之邏輯;及 用於基於該z分量按比例調整因數計算該射線與該限 界體之一第一面之間的該交點之一 Z座標之邏輯。 17.如凊求項13之系統,其中用於利用該等按比例調整因數 以在無除法運算之情況下執行該交點測試之邏輯產生該 又點測試之結果值,且該交點測試之該等結果值係儲存 於記憶體中。 1 8.如明求項丨3之系統,其中額外射線係基於該交點測試之 該等結果而產生。 139743.doc
TW098115586A 2008-05-14 2009-05-11 Optimized graphical calculation performance by removing divide requirements TW201001327A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/120,522 US20090284524A1 (en) 2008-05-14 2008-05-14 Optimized Graphical Calculation Performance by Removing Divide Requirements

Publications (1)

Publication Number Publication Date
TW201001327A true TW201001327A (en) 2010-01-01

Family

ID=41315725

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098115586A TW201001327A (en) 2008-05-14 2009-05-11 Optimized graphical calculation performance by removing divide requirements

Country Status (2)

Country Link
US (1) US20090284524A1 (zh)
TW (1) TW201001327A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2988502A1 (fr) 2012-03-26 2013-09-27 Thomson Licensing Procede pour representer un milieu participant dans une scene et dispositif correspondant
US10699465B1 (en) * 2018-12-28 2020-06-30 Intel Corporation Cluster of scalar engines to accelerate intersection in leaf node
US11308683B2 (en) * 2020-06-29 2022-04-19 Imagination Technologies Limited Intersection testing in a ray tracing system using ray bundle vectors
US11295509B2 (en) 2020-06-29 2022-04-05 Imagination Technologies Limited Intersection testing in a ray tracing system using multiple ray bundle intersection tests
GB2599183B (en) 2021-03-23 2022-10-12 Imagination Tech Ltd Intersection testing in a ray tracing system
GB2599188B (en) 2021-03-23 2022-10-12 Imagination Tech Ltd Intersection testing in a ray tracing system

Also Published As

Publication number Publication date
US20090284524A1 (en) 2009-11-19

Similar Documents

Publication Publication Date Title
Igehy Tracing ray differentials
US11747766B2 (en) System and method for near-eye light field rendering for wide field of view interactive three-dimensional computer graphics
CN106780709B (zh) 一种确定全局光照信息的方法及装置
US8332452B2 (en) Single precision vector dot product with “word” vector write mask
US20090150648A1 (en) Vector Permute and Vector Register File Write Mask Instruction Variant State Extension for RISC Length Vector Instructions
US9495724B2 (en) Single precision vector permute immediate with “word” vector write mask
TW201015490A (en) Method and system for rendering 3D model of 3D object
US20070182732A1 (en) Device for the photorealistic representation of dynamic, complex, three-dimensional scenes by means of ray tracing
JP2022091849A (ja) 光線バンドルの光線に対する差分データを決定する方法及びグラフィックス処理ユニット
US8169439B2 (en) Scalar precision float implementation on the “W” lane of vector unit
US20090106526A1 (en) Scalar Float Register Overlay on Vector Register File for Efficient Register Allocation and Scalar Float and Vector Register Sharing
JP2015535978A (ja) 3次元シーンをレンダリングするためのコンピュータグラフィックス方法
CA2810880C (en) Integration cone tracing
TW201001327A (en) Optimized graphical calculation performance by removing divide requirements
JP2012190428A (ja) 立体映像視覚効果処理方法
US20090063608A1 (en) Full Vector Width Cross Product Using Recirculation for Area Optimization
CN112041894A (zh) 渲染期间提高涉及水面的场景的真实感
US20090106525A1 (en) Design structure for scalar precision float implementation on the "w" lane of vector unit
González et al. based ambient occlusion
Gruen Ray-guided volumetric water caustics in single scattering media with dxr
Hermes et al. Global Illumination using Parallel Global Ray-Bundles.
Kolivand et al. Shadow mapping or shadow volume?
Kolivand et al. To combine silhouette detection and stencil buffer for generating real-time shadow
Bodonyi et al. Efficient tile-based rendering of lens flare ghosts
Kim et al. A mobile 3-D display processor with a bandwidth-saving subdivider