專利名稱:一種微多邊形光線跟蹤的著色重用方法
技術領域:
本發(fā)明涉及圖形繪制技術領域,尤其涉及一種面向微多邊形的光線跟蹤方法。
技術背景
著色往往是電影品質級繪制的性能瓶頸。這種繪制通?;赗eyes體系結構, 它使用微多邊形(micropolygon)來表示高階曲面或非常精細的對象。Reyes體系架構和微多邊形的定義可參考COOK, R. L.,CARPENTER, L.,AND CATMULL, Ε. 1987; The Reyes image rendering architecture. SIGGRAPH Computer Graphics 21, 4 (August), 95 - 102。為了降低著色的代價,先進的微多邊形渲染器(如Pixar公司的RenderMan)對微多邊形的頂點進行著色計算,進而重用著色值算出每個可見性樣本(或反走樣樣本)的顏色,然后合成最終圖像。這樣的著色重用策略能讓著色率明顯低于可見性采樣率。對于需要很高可見性超采樣率的高質量繪制(尤其是繪制散焦和運動模糊效果時)而言,這一點顯得至關重要。
現(xiàn)有用于微多邊形繪制的著色重用方法大多為光柵化繪制流水線設計。這些方法一般將反射和折射等光線跟蹤效果視為著色的一部分,這導致所有反射/折射采樣均需做著色處理,從而帶來巨大的額外開銷。由于光線跟蹤在現(xiàn)代高品質繪制中日益重要,這一問題可能成為未來各種應用的主要障礙。本發(fā)明完成了一種用于高效微多邊形光線跟蹤、簡單卻有效的著色重用方法。與目前的微多邊形光線跟蹤算法相比,本發(fā)明的方法能將所需的著色計算量減小一個數(shù)量級,從而獲得顯著的性能提升。
大部分微多邊形繪制方法都能夠重用多個可見性采樣中代價不菲的著色計算。 這些方法假定相鄰可見性采樣間的著色值是連續(xù)且不會有明顯變化的。現(xiàn)有的著色重用方法可分為對象空間方法和圖像空間方法。對象空間重用方法可參考C00K,R. L., CARPENTER, L. , AND CATMULL, Ε. 1987; The Reyes image rendering architecture. SIGGRAPH Computer Graphics 21,4 (August), 95 - 102 ;BURNS, C. A. , FATAHALIAN, K.,AND MARK, W. R. 2010. A lazy object-space shading architecture with decoupled sampling. In Proceedings of HPG 2010, 19 -沘。圖像空間重用方法可參考 RAGAN-KELLEY, J. , LEHTINEN, J. , CHEN, J. , D0GGETT, Μ. , AND DURAND,F(xiàn). 2011. Decoupled sampling for graphics pipelines. ACM Trans. Graph. 30, 3 (May), 17:1 - 17:17。
Stoll等人將對象空間的著色重用引入光線跟蹤流水線,其方法可參考 ST0LL, G. , MARK, W. R. , DJEU, P. , WANG, R. , AND ELHASSAN, I. 2006. Razor: An architecture for dynamic multi-resolution ray tracing. Tech. rep., The University of Texas at Austin。他們使用光線導數(shù)(Ray Derivative)來控制著色計算率。關于光線導數(shù)的定義可參考IGEHY, H. 1999. Tracing ray differentials. In Proceedings of ACM SIGGRAPH ’99,179 - 186。具體而言,他們保守地將衍生光線橫截面的最小寬度離散化為若干預定義的對象空間細分網格,接著對至少有一束光線入射的細分網格做著色計算。正如他們在技術報告中里提到的,當出現(xiàn)高度的各向異性光線導數(shù)或明顯的過度細分時,這樣的方法會導致可觀的過量著色。為了避免對光線導數(shù)行為的依賴,本發(fā)明的方法使用最鄰近搜索來控制著色重用。這種搜索并不依賴細分,且能自適各向異性。
將現(xiàn)有著色重用方法應用于光線跟蹤的主要挑戰(zhàn)是——光線跟蹤會使對象到圖像的映射方式復雜化。對著色重用而言,這種映射是必需的,因為理想的著色計算密度定義在圖像空間,可是著色連續(xù)性假設僅僅在對象空間成立。上述對象空間方法利用對象空間的接近性來重用著色值。它依靠圖像空間里多邊形的大小來控制著色計算密度。在光柵化流水線中,通過投影到圖像空間,多邊形大小能立即被計算出來。然而,光線跟蹤可能帶來任意的扭曲,從而導致在圖像空間計算多邊形大小的方法失去可行性。上述圖像空間方法是基于圖像空間的接近性來重用著色值的。它依靠對象空間的連續(xù)型映射來保證著色精度。對于直接光柵化而言,這個假設一般是正確的。為了能重用著色,散焦和運動模糊效果通過使用非模糊圖像空間的方式進行處理。然而,同樣的方法卻不可用于處理光線跟蹤里的高光反射等效果,因為這些效果涉及對象到圖像空間的非連續(xù)映射,而此映射無法通過上述圖像空間方法得到有效處理。發(fā)明內容
本發(fā)明針對電影中光線跟蹤效果的高效繪制問題,提出了一種微多邊形光線跟蹤的著色重用方法。
本發(fā)明的目的是通過以下技術方案來實現(xiàn)的一種微多邊形光線跟蹤的著色重用方法,包括以下步驟(1)在圖像空間里均勻生成一定數(shù)量的著色光線并進行光線跟蹤計算,得到著色樣本, 然后對這些樣本著色;(2)生成反走樣光線并通過光線跟蹤得到反走樣樣本;然后為每一個反走樣樣本定位可重用著色樣本,并將著色值賦給反走樣樣本;(3)對在給定領域內找不到可重用著色樣本的反走樣樣本,使用一種圖像空間回歸重用方法重新著色;(4)對所有反走樣樣本濾波,生成最終圖像。
進一步地,所述步驟(2)中,所述為每一個反走樣樣本定位其最鄰近的可重用著色樣本,通過以下方式實現(xiàn)首先根據(jù)光線第一次與場景交互的類型將場景劃分成不同的層面,包括但不限于直接吸收、反射和折射;分別在每個層面上進行著色重用;其次,在切分產生微多邊形的高階參數(shù)圖元的參數(shù)空間上進行最近鄰搜索來確定可重用著色樣本;最后為每個獨立的高階參數(shù)圖元構造二維kd樹作為最近鄰搜索的加速結構,各獨立的高階參數(shù)圖元對應的二維kd樹以并行方式同時構造。
本發(fā)明的有益效果是,和現(xiàn)有微多邊形光線跟蹤方法相比,通過反走樣地處理諸如反射和折射等光線跟蹤效果,大幅減小了著色計算量,并獲得顯著地性能提升;通過圖像空間采樣,本發(fā)明方法實現(xiàn)了控制了著色計算密度;通過參數(shù)空間的最鄰近搜索,本發(fā)明方法保證了著色重用的精確性;通過圖像空間回歸著色,初始著色時未涉及的細節(jié)特征得到了處理,從而保證了正確的視覺效果。
具體實施方式
本發(fā)明提出在不同的空間用獨立準則完成著色密度控制和實際的處理重用。具體而言,本發(fā)明從圖像空間投射一些用戶可控數(shù)量的著色光線,通過對象空間的最鄰近搜索來將算好的著色值賦給反走樣樣本。這個方法既無需顯式指明對象到圖像空間映射方式, 也使得可以較簡潔地處理諸如反射和折射等光線跟蹤效果。
本發(fā)明的著色重用方法可和任何光線跟蹤相結合,包括了以下步驟(一)在圖像空間里均勻生成一定數(shù)量的著色光線并進行光線跟蹤計算,得到著色樣本,然后對這些樣本著色。
著色計算的密度可以由著色光線的生成來控制用戶指定對每個像素做著色計算的次數(shù),即著色率。本發(fā)明使用帶擾動的柵格采樣來盡可能均勻地在圖像空間生成著色光線。帶擾動的柵格采樣可參考 COOK, R. L.,PORTER, Τ.,AND CARPENTER, L. 1984. Distributed ray tracing. SIGGRAPH Computer Graphics 18, 3 (January), 137 - 145。 然后在這些光線與場景的交點上進行著色計算。著色計算使用任何一種現(xiàn)有路徑跟蹤技術計算,例如可參考 WHITTED, T. 1980. An improved illumination model for shaded display. Communication ACM 23, 6 (June), 343 - 349。計算完成后為每個著色樣本存儲一個著色值和著色光線和場景交點的位置。
(二)生成反走樣光線并通過光線跟蹤得到反走樣樣本;然后為每一個反走樣樣本定位可重用著色樣本,并將著色值賦給反走樣樣本;反走樣光線和樣本的生成方式和上述著色光線和樣本的生成方式類似,區(qū)別在于其數(shù)量不由著色率控制,而通過反走樣的超采樣率來控制。對于每一個反走樣樣本,需要定位可重用的著色樣本,這可以通過下述方案實現(xiàn)首先根據(jù)光線第一次與場景交互的類型將場景劃分成不同的層面,這些層面包括但不限于直接吸收、反射和折射。為每個反走樣樣本確定著色值的過程在每個層面上執(zhí)行一次,以這種方式將著色重用限制在各個場景交互類型之中。場景分層起到了兩個作用。首先,它降低了路徑跟蹤的噪聲。當光線第一次與場景作用時,分層消除了繼續(xù)跟蹤哪類光線的隨機性。因此,本發(fā)明通過準確計算各類型的權重,將第一次作用后的各種光路結合在一起,從而不需利用蒙特卡羅積分方法隱式地進行權重估算。其次,它減小以不同紋理濾波范圍來重用一個著色樣本的風險。注意到同一圖元可能在多個層面可見。各層面會產生不同程度的放大和畸變,會導致計算出不同的紋理濾波范圍。
其次對于一個給定層面上的反走樣樣本,通過在切分產生微多邊形的高階參數(shù)圖元的參數(shù)空間上進行最近鄰搜索來確定可重用著色樣本。在一個基于微多邊形的光線跟蹤器中,任何光線交點(包括反走樣光線和著色光線)都能唯一地用一個三元組(i,u, ν)表示——其中i是整型的圖元ID ; iu, κ)是交點點在圖元參數(shù)空間中的坐標,因而可在各圖元的參數(shù)空間里分別進行最近鄰搜索。這種確定可重用著色樣本的方法有幾個優(yōu)點首先, 通過將著色重用的候選對象限定在反走樣樣本所在的圖元中,消除了錯誤重用其他對象或可編程著色器著色值的風險;其次,將最近鄰搜索限制在同一圖元的策略能使待搜索對象的數(shù)量降低幾個數(shù)量級從而帶來可觀的性能提升;最后,在處理位移貼元或高度彎曲圖元時,基于參數(shù)空間的最近鄰搜索方法仍有很好的魯棒性。在最鄰近搜索中使用一個非歐幾里得的距離度量方法來計算兩個采樣點a和力之間的距離能夠更好的修正一個圖元對兩條及以上的二次反射光路可見帶來的問題
權利要求
1.一種微多邊形光線跟蹤的著色重用方法,其特征在與,包括以下步驟(1)在圖像空間里均勻生成一定數(shù)量的著色光線并進行光線跟蹤計算,得到著色樣本, 然后對這些樣本著色;(2)生成反走樣光線并通過光線跟蹤得到反走樣樣本;然后為每一個反走樣樣本定位可重用著色樣本,并將著色值賦給反走樣樣本;(3)對在給定領域內找不到可重用著色樣本的反走樣樣本,使用一種圖像空間回歸重用方法重新著色;(4)對所有反走樣樣本濾波,生成最終圖像。
2.根據(jù)權利要求1所述微多邊形光線跟蹤的著色重用方法,其特征在與,所述步驟(1) 中,所述為每一個反走樣樣本定位其最鄰近的可重用著色樣本,通過以下方式實現(xiàn)首先根據(jù)光線第一次與場景交互的類型將場景劃分成不同的層面,包括但不限于直接吸收、反射和折射;分別在每個層面上進行著色重用;其次,在切分產生微多邊形的高階參數(shù)圖元的參數(shù)空間上進行最近鄰搜索來確定可重用著色樣本;最后為每個獨立的高階參數(shù)圖元構造二維kd樹作為最近鄰搜索的加速結構,各獨立的高階參數(shù)圖元對應的二維kd樹以并行方式同時構造。
全文摘要
本發(fā)明完成了一種用于加速微多邊形光線跟蹤的著色重用方法,在保證繪制質量的前提下大幅減少著色計算,提高繪制效率。本發(fā)明首先從圖像空間投射一組用戶指定數(shù)量的著色光線,并通過最近鄰搜索,將這些光線上計算的著色值賦給反走樣樣本。為了減少來自不同類型光路的干擾性重用,我們根據(jù)光路上的第一次反射類型劃分出不同的層面,并分別在各層面著色采樣。與現(xiàn)有著色重用技術相比,本發(fā)明的方法無需顯式指明對象到圖像空間映射方式,也使得可以較簡潔地處理諸如反射和折射等光線跟蹤效果。本發(fā)明的方法可以在圖形處理硬件上以高度并行化的方式實現(xiàn),并將微多邊形光線跟蹤的效率提高一個數(shù)量級。
文檔編號G06T15/06GK102521870SQ20111037164
公開日2012年6月27日 申請日期2011年11月22日 優(yōu)先權日2011年11月22日
發(fā)明者侯啟明, 周昆 申請人:浙江大學