一文帶你了解現代光線追蹤技術的研究歷程

2021-02-23 麗臺科技

您或許沒聽說過光線追蹤,但您肯定見過它。此項圖形渲染技術可模擬光線的實際傳播方式,以打造現代電影中的超強特效。隨著RTX實時光線追蹤技術的問世,我們正努力加快此項複雜技術的應用速度、降低其應用難度,致力於為遊戲、產品設計等各類應用帶來電影級質感。作為光線追蹤技術的先驅之一,J. Turner Whitted將為大家分享一段關於現代光線追蹤技術產生的重要歷程。他撰寫的開創性論文《An Improved Illumination Model for Shaded Display》,為現代光線追蹤計算機圖形技術的發展奠定了基礎。Whitted現已加入NVIDIA研究團隊。

以下內容翻譯自J. Turner Whitted撰寫的文章:

光線追蹤的概念已誕生有數個世紀之久,相比之下,計算機圖形學中全局光照的歷史則較為短暫。

由Henri Gouraud和Bui Tuong Phong等人提出的早期計算機圖形著色模型會根據光源和表面上某個點之間的空間關係來計算反射。隨後,Jim Blinn基於Ken Torrance有關表面微觀結構相互反射的研究,開發出了一款反射模型(後來,該反射模型由Rob Cook和Ken Torrance本人拓展為應用廣泛的Cook-Torrance著色模型)。此後不久,Blinn和Martin Newell發表了一篇關於環境映射的論文,該技術會使用一張360度周圍環境紋理圖來代替光源。

就是這項環境映射技術的發展引起了我的注意。對茶壺表面反射的門窗進行的渲染,產生了我從未想像過的計算機生成圖像的逼真效果。我對著這幅圖凝視了幾個小時,苦苦思索該如何提升圖像的逼真度。環境映射確實存在很大的局限性,因為這項技術無法精確渲染目標物體附近的物體所反射的圖像。

Turner Whitted在1979年發表的SIGGRAPH論文中提供了一幅類似貝爾實驗大樓(位於新澤西州霍姆德爾鎮)的建築特寫圖,Whitted正是在此處完成了研究工作。

顯然,Phong的模型注重局部效果,而Torrance的模型及其衍生模型均注重微觀效果。如此看來,Blinn和Newell的模型自然會被視為注重「全局」效果。這便是「全局光照」之名的由來。自此,我們的問題也就演變為如何在不受環境映射限制的前提下應用此技術。

因為光線追蹤的原理非常簡單,本應成為在計算機圖形學中實現全局光照效果的不二選擇。來自IBM的Arthur Appel率先提出了用於生成圖像的光線投射概念(ray casting),而來自MAGI的Robert Goldstein及其同事則實現了這項技術的商業化應用。MAGI 最初運用多次反射光線追蹤來追蹤容器內的輻射光線。我在早期的職業生涯中接觸過海洋聲學,依稀記得有一幅在海洋不同深度折射及從海洋表面反射的光線追蹤聲波圖。最終,關於那幅圖的記憶湧入我的腦海,我也由此清晰地認識到應如何改良Blinn和Newell提出的全局光照方法。

我對使用光線追蹤唯一存疑的地方就是性能問題。實時交互中的計算機圖形與電影中的圖形之間始終存有些許不同。GE的月球著陸模擬器顯然必須保持實時運行才能訓練太空人。David Evans和Ivan Sutherland的飛行模擬器以及猶他大學的類似研究中同樣存在這一限制。Henri Gouraud的平滑著色基本能實現無成本的實時運行。在Bui Tuong Phong的學位論文中有一個章節鮮為人知,該章節包含了對實時著色的電路描述,儘管Phong著色法的大多數著色並未以實時運行。

幀緩衝器(frame buffers)的可用性顯著改變了計算機圖形的格局。以任意速度渲染圖像,並在屏幕中查看靜態圖像成為可能,而不是嘗試以CRT的刷新率渲染圖像。Ed Catmull的細分算法與z緩衝區(z-buffer)結合使用,可在幾分鐘內(而非幾毫秒)將複雜的曲面隨機渲染到幀存儲器中。而使用Blinn和Newell的環境映射法,每幀圖像需要渲染幾十分鐘。這種逼真度變高而渲染速率變低的趨勢,讓我鼓足勇氣去嘗試一些渲染速率更低的方法。

1978年,貝爾實驗室的計算機系統研究實驗室配備了一臺PDP-11/45迷你計算機數字設備和一個每像素9位的幀緩衝器。這些資源與C程式語言的結合,為嘗試通過光線追蹤改良Blinn和Newell的方案營造出一個絕佳環境。(在嘗試編寫第一個C程序之前,我本該深入研讀Brian Kernighan和Dennis Ritchie的編程手冊。我是一名未經專業培訓的彙編語言編程人員,對C語言支持遞歸併不了解。我費力地建立自己的堆棧,並手動編寫多次反射遞歸式光線追蹤程序,而沒有使用該語言自帶的遞歸函數。)

最終,相互反射球面圖出現在了屏幕上。Newell和Frank Crow已在其早期的某些圖像中包含方格圖案,我覺得有必要仿效其做法。目前為止,效果很好。此時,我們便可輕鬆追蹤射向光源的更多光線。生成陰影雖會耗費些許時間,但卻只需額外執行少量代碼工作,因此結果是值得的。

微小的編碼變化可將一組光線轉變為光線樹。作為一名毫無計算機科學背景的電氣工程師和硬體設計師,這是我從未處理過的數據結構。不過,真的有效。

1979年,Whitted利用計算機生成的開創性相互反射球面圖詮釋了光線追蹤對於全局光照的重要價值。

如果我們能夠取得那樣的成就,何不放手一搏,就像在高中物理課上所了解到的那樣加入折射效果呢?雖然這需要花些工夫,但結果卻令人十分驚嘆。

可以想像,這些新技術的執行時間難以掌控。為估算每幅圖像的渲染時間,我將512×512的圖像解析度減少為原來的64分之一,並用手錶計時。將此時間值乘以64,可相當準確地估算全解析度渲染時間。但當我們需要消除全解析度渲染出現的鋸齒時,超級採樣便是唯一切實可行的方法。不過,此法會讓估算的渲染時間延長16倍。

我曾經為SIGGRAPH大會寫過一篇論文,並要渲染論文中附帶的插圖。作品提交截止日期已經臨近,但若使用16倍超級採樣,預計渲染時間便會超出截止日期。我想到了堪比救星的自適應超級採樣法,它只會在需要的地方增加額外樣本。利用這一方法,我在幾小時內便完成了此項工作,並且還在渲染插圖時修改了論文,加入了這一新概念。

在幾個月後的一次午餐中,貝爾實驗室高管詢問了運行實時光線追蹤所需要的資源。那時,我們的新式VAX-11/780在計算簡單場景的每個像素時需耗費1/60秒,因此我提議配備大量Cray超級計算機,按單個像素進行分配,並且在每臺計算機上方分別安裝一個紅色、綠色和藍色的燈泡。這聽起來像個笑話,但結果並非如此。

在我1979年發表的光線追蹤論文中,我曾提及多個處理器之間的任務劃分。之後,我偶爾會聽到有關光線追蹤「不易並行」的言論。我在最初的論文中還簡單提到,當一個球面恰好包含在另一個球面中時,要使用加速結構。幾年後,我與Steve Rubin合作,將他的層次包圍盒(hierarchical bounding volumes)概念應用於光線追蹤技術中。此方法卓有成效,我們可以憑此渲染比漂浮在方格圖案上的球面更為複雜的場景,但這仍然不是實時渲染。

光線和陰影:窗口的這個瓶子取自一篇發表於1980年的SIGGRAPH論文,該論文介紹了使用包圍盒層次結構來加速光線追蹤的方法。

之後的幾年中,我編寫了幾個說明性的光線追蹤器作為教學工具,但那基本都轉移到其他主題上去了。慶幸的是,其他研究人員利用加速技術彌補了這一不足,讓先前不切實際的算法變得切實可行。與此同時,我們還取得了其他進步,即生成的畫質遠遠優於使用球面和方格圖案所呈現的畫質。

所有成果均得益於摩爾定律的發展頂端以及並行處理的可行性。恰似計算機圖形領域的Rip van Winkle,我也會在近40年後頓悟,將實時光線追蹤推向商業化。精尖人士將會為之付出心血並推動其實現。

*本文轉載自英偉達NVIDIA企業解決方案

相關焦點

  • 光線追蹤往事:十年技術輪迴
    當今遊戲界被炒得最熱的概念可能就是光線追蹤技術了,不僅僅是PC遊戲,就連次世代主機也把光線追蹤作為了主要亮點之一。光線追蹤所展示出來的畫面效果也確實驚豔,讓我們感嘆圖像技術又達到了一個新的高度。但是實際上,光線追蹤並不是一個新技術,即使在遊戲界也不是什麼新鮮事了。
  • 如何在 HDRP 中實現光線追蹤?
    該技術龐大的計算量使其僅在電影製片和高端可視化領域有廣泛的應用,但是在實時內容創作上一直被幀數限制。數年來遊戲使用了另一種方法替代光線追蹤,即光柵化。簡單來說,光柵化就是渲染屏幕像素受特定光照的影響,實際本身並不涉及光線追蹤的概念,且由於其屏幕空間的本質而有一定的局限。
  • 光線追蹤版《我的世界》,意義不只是更炫的畫面
    前一陣,NVIDIA邀請一群玩家,在光線追蹤版《我的世界》裡面創作了一系列絢麗的場景。當然,也少不了展示一下「RTX開啟/關閉」之後充滿戲劇性的對比效果。而光線追蹤版《我的世界》,省略了中間所有的步驟,就實現了比現在最頂尖、最現代的遊戲還要更好的光影效果。
  • Minecraft官方光影咕了,但Win10版的光線追蹤要來了!
    就在幾天前,Mojang宣布了官方光影「史詩圖形包」的開發被取消,並表示「尋找其他的改善 Minecraft 圖像的方式」,而昨天,Mojang就宣布了這個全新的方式,就是與顯卡大廠英偉達合作,為Win10版的玩家帶來光線追蹤這一黑科技
  • 現代技術在提琴研究中的應用
    ,目的是能重現昔日古典提琴的光輝;或是使用現代科學的研究方法,尋找提琴聲音的奧秘和規律,目的是改進現有和未來提琴的聲學演奏性能。由於在中國國內缺乏可用於研究的古典提琴樣本和歷史資料,我們把更多的注意力放到研究提琴發音的機理及規律,並尋找改進現代提琴聲音的方法。」1993-12 北京大學 無論對藝術家還是對科學家來說,提琴是一種富有魅力而多少帶點神秘色彩的樂器。
  • SUBSTANCE | NVIDIA PROJECT SOL 實時光線追蹤
    從根本上說,現在所有光線追蹤的內容都應是脫機渲染。《Project Sol》是實時運行並且全程由光線追蹤。光照,反射,AO環境光遮蔽,GI全局光照,都是光線追蹤。 圖靈機代表著一段時間來圖表科技最大的變化,也許其影響相當於當時GeForce 3架構回歸。我們的開發人員在產品中終於使用這種科技我非常高興。其前景非常光明。Jacob:實時光線追蹤代表了未來的發展方向。
  • 次世代大作標配 光線追蹤DLSS深度剖析
    隨著RTX 30系顯卡的發布,人們在關心性能的同時,一些軟性技術的應用和更新更受到玩家的青睞,如遊戲中的光追表現和DLSS效果。這兩種技術可以說有著劃時代意義,光線追蹤可以讓我們在遊戲中獲得更為真實的光線效果,讓遊戲畫面不斷趨近於真實,同時還可以節省大量遊戲開發者的時間,而DLSS效果則可以在不降低畫質的情況下讓幀數暴漲。
  • 微星魔龍RTX2070光線追蹤對比體驗
    老黃有RTX ON    一篇遲到的光線追蹤體驗文,去年PC顯卡和遊戲最大看點,來自老黃新的Turing™ GPU架構,以及引入的光線追蹤技術RayTracing,甚至最經典的GTX顯卡前綴都改成了光蹤的RTX系列,可見重視程度。    光線追蹤是一種「來自幾何光學的通用技術,它通過追蹤與光學表面發生交互作用的光線,得到光線經過路徑的模型」。
  • 《我的世界》正式支持光線追蹤,你的顯卡還能HOLD住嗎?
    [PConline 遊戲物語]上周,充滿創造力的馬賽克遊戲《我的世界》更新了新版本,這次最大的變化莫過於遊戲正式支持了RTX光線追蹤技術。是的,你沒聽錯,馬賽克遊戲居然支持光追了。事實上,早在去年坊間就流傳了一些《我的世界》加持光追技術的圖片和視頻,在光線追蹤技術和超清材質包的加持下,我們的確可以看到《我的世界》的遊戲畫面發生了翻天覆地的變化,遊戲中每一個材質或素材都看起來變的更加寫實了,讓「馬賽克」遊戲變成了一款更加寫實的遊戲。想體驗一下這款新技術,你最簡單的辦法就是在Windows商店購買《我的世界》基巖版(也稱Windows 10版)即可。
  • 基於蜜罐的Mirai殭屍網絡追蹤技術研究
    同時,由於物聯網設備的計算能力弱,導致對於攻擊的追蹤難度提高,通過對Mirai樣本及源碼的分析,根據Mirai的攻擊指令模式,提出基於蜜罐的Mirai殭屍網絡追蹤技術成為研究熱點之一。通過對蜜罐的數據包解析分析,能夠達到分析出攻擊指令及追蹤攻擊指令來源的目的。實驗結果表明,基於蜜罐的追蹤系統能夠準確的分析攻擊指令,並追蹤物聯網設備殭屍網絡的攻擊來源。
  • 《逆水寒》光線追蹤遊戲畫面體驗報告
    不難看出,iGame GeForce RTX 2080 SUPER Advanced OC是一款擁有較高綜合素質的遊戲顯卡,所以我們決定就讓它來幫我們細品《逆水寒》在加入光線追蹤後遊戲畫面的變化。▲除了光線追蹤,《逆水寒》還支持可大幅提升遊戲幀率的DLSS技術。MC建議玩家們在《逆水寒》中同時開啟光線追蹤和DLSS,以享受更逼真、流暢的遊戲畫面。
  • 光線追蹤未來的普及,N/A兩家誰能先徵服玩家
    遊戲玩家們,今年下半年聽到最多的詞,就是光追,也就是光線追蹤技術。這項技術在顯卡領域,目前領先的N卡在新的20系當中,率先讓三款高端卡2080ti、2080、2070加持了光追。首發價格相比10系一下翻倍,讓很多玩家苦不堪言,心疼自己的腰包。
  • 外國小哥用Excel實現光線追蹤效果,甚至還有3D引擎
    編輯:Q【新智元導讀】近期,有國外大神用Excel完成了英偉達顯卡才能實現的光線追蹤技術的演示,實現了不錯的光影效果,而且全程只使用了公式和宏功能
  • NVIDIA最新新聞 強調支持暗影國度光線追蹤
    NVIDIA最新的新聞更新強調了對暗影國度光線追蹤的支持。我們知道這一點已經有一段時間了,因為該選項已經存在於暗影國度設置中但幾個月來一直沒有啟用。在寫這篇文章的時候這些選項仍然無法測試,希望隨著官方的更新我們很快就能看到它!雖然WoW一直能夠在包括低端老爺機的各種PC上運行,但對於想要在電腦上獲得更好性能和圖形的玩家來說,光線追蹤選項的加入應該是一個受歡迎的消息。
  • 光線追蹤全球創意賽開啟 萬元大獎等你拿 | IMG Originals
    我們希望你可以全力展示光線追蹤在移動端設備的潛力。所有 3D 遊戲作品均可,不管是光彩熠熠的動畫人物,還是陽光燦爛的環境,或是道具的透視畫,你都可以盡情發揮。對於創建完全沉浸視覺來說,移動端設備的內容開發可能是一項頗具挑戰的工作,你可以任意使用開發工具,幫你開發出更棒的作品,以贏取比賽獎金。
  • AMD光線追蹤僅限高端RDNA 2顯卡獨享
    AMD此前表示RDNA2 GPU有望實現與RDNA 1相同的能效比,即每瓦性能再次提高了50%,除此之外我們還知道AMD的RDNA 2架構顯卡還將支持光線追蹤功能,並且此次光線追蹤技術還是同微軟一起研發並且支持DX12 Ultimate標準的。
  • 布爾數據帶你三分鐘了解風控技術發展歷程
    隨著中國的金融經濟迅速發展,作為核心的風控逐漸在信用經濟、消費經濟、普惠金融等方面發揮著越來越大的作用,風控技術手段也逐漸從傳統風控向智能風控轉變。那麼風控技術的發展歷程是怎麼樣的呢?第二階段,規則引擎目前金融企業使用較多的就是規則引擎,需要深入了解欺詐行為,也就是需要收集已有案例來形成規則,以此來阻攔已經發生過的案例,用人工方法定期調節規則。缺點是需要大量的人工操作,很難跟上最新的形式變化。
  • 一日一書|《2008年全球金融危機追蹤研究實錄》
    一日一書|《2008年全球金融危機追蹤研究實錄》 2020-10-12 20:10 來源:澎湃新聞·澎湃號·政務
  • VR定位追蹤技術PK賽,圍觀一下?
    但要實現該類應用,首先要讓計算機感知使用者在虛擬空間中所處的位置,包括距離和角度等,這一定位技術一般應用於PC VR頭顯上。兩大主流定位追蹤解決方案:outside-in和inside-out當前VR頭顯的定位追蹤解決方案大致分為outside-in和inside-out兩大類型。
  • 刁常宇帶你深入了解文物數位化保護
    刁常宇帶你深入了解文物數位化保護 2020-11-07 19:28 來源:澎湃新聞·澎湃號·政務