999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于預步進自適應采樣的近景體積云渲染唐世龍

2025-04-11 00:00:00李輝
四川大學學報(自然科學版) 2025年2期

摘要:目前主流的體積云渲染方法僅適用于遠景體積云, 而對于近景可穿越體積云, 其渲染效果和性能往往不理想. 針對這一問題, 提出了一種基于預步進的自適應采樣優化方法,以提升近景可穿越體積云的實時渲染效果. 首先, 通過預步進與探針下采樣, 生成云層的密度分布信息. 根據該信息, 針對性地增加極近采樣點數量, 并圍繞非空采樣點調整采樣點分布, 解決相機位于云層邊緣時的噪點問題和射線路徑上的無效采樣問題. 最后, 為解決低分辨率預步進探針帶來的渲染結果不一致的問題, 采用相似度加權的方法優化最終著色結果.實驗結果表明, 本文的優化方法在應對穿越積云等成塊分布的云層時, 渲染效果和性能提升明顯, 其PSNR 與SSIM 分別相較于均勻步長策略提升4. 62%、6. 53%, 與此同時, 性能提升4. 59%.

關鍵詞: 體積云;預步進;實時渲染;光線步進;步進策略

中圖分類號: TP391. 9 文獻標志碼: A DOI: 10.19907/j. 0490-6756. 240188

1引言

在空中視景模擬中, 云層渲染在天空場景中扮演著至關重要的角色, 其渲染效果直接影響用戶的沉浸感. 實現逼真的云層漫游能夠極大地增強用戶對天空場景的真實感受.

近年來,研究人員提出了多種體積云渲染技術, 包括基于隱式表面[1,2]、粒子系統[3,4]、元胞自動機[5,6]、體素[7,8]、三維噪聲[9]等建模方法, 以及紋理切片法[10-12]、Spitting 法[13-15]與光線步進法[1 ,9,16]的渲染方法. 然而, 對于渲染大規模動態體積云而言, 目前公認的最佳實現方案是使用三維噪聲進行建模[17], 并通過光線步進方法進行渲染. 因為使用三維噪聲能夠通過程序快速生成廣泛且多樣的動態體積云模型, 而光線步進方法相對于其他渲染方法更加靈活且高效. 目前, 研究人員基于光線步進方法已經提出了多種體積云建模與渲染方法 [17-20].

然而, 其中大部分方法主要針對遠景體積云的渲染. 對于近景云, 大多采用體素方法[7,8]. 2023年, Schneider[8]提出了一種基于體素的有符號距離場步進方法, 并成功實現了云中漫游效果. 然而, 基于體素的體積云渲染需要手動生成體積云的三維形態數據, 且其不支持大規模體積云渲染.

相比之下, 通過使用三維噪聲結合程序建模體積云密度場, 可以避免手動生成體積數據, 并且能夠實時控制體積云形態, 該建模方式可通過光線步進方法實時渲染出逼真的體積云. 然而該方法常用于遠景體積云渲染, 當用于渲染近景體積云時, 會面臨著更多的挑戰和難題, 主要包括以下方面:

(1)水平方向的采樣點需增加. 光線步進的第一步是通過相機發射射線與云層求交, 得到兩個交點的間距為Dtrace. 根據Dtrace確定路徑上的采樣點數與步長. 如圖 1, 當相機位于云層中時,Dtrace與sinβ 成反比, β越小, Dtrace越大. Dtrace越大意味著需要更多的采樣點以提高渲染精度, 但這會相應地增加計算開銷.

(2)水平方向的密度分布復雜, 會出現大量無效空采樣點. 實際中的云層通常以片狀或團狀分布, 尤其是積云. 在進行步進時, 會遇到許多無效空采樣點, 這些點對最終著色結果沒有任何貢獻, 使得采樣數提高并未帶來明顯的渲染質量提升. 以往的方法并未能有效解決該問題.

(3)前方云層過薄時, 會出現明顯的噪點. 當相機位于云層內部時, 若前方云層過于稀薄, 而采樣點數量不足, 渲染結果將出現大量噪點.針對上述問題, 本文提出了一種基于預步進的自適應步進優化方法. 該方法在常規光線步進之前, 增加一個預步進過程, 生成像素的分布編碼. 為降低預步進的開銷, 利用像素分類與探針下采樣的方式減少預步進的像素數量, 之后根據分布編碼調整射線路徑上的采樣分布并進行實際步進渲染, 最后根據分布編碼相似度進行加權得到最終渲染結果.

2相關工作

2. 1光線步進原理

體積渲染方程[21] 是進行體積渲染的基本原理, 但它無法得到解析解, 因此通常需要采用特定的數值方法對其進行近似求解. 其中, 光線步進法是求解體積渲染方程的一種常用的有偏方法[22].

光線步進的原理為: 如圖2, 從相機出發向各像素發射射線, 沿著射線逐步對密度場進行采樣,在離散采樣點上獲取密度值, 用離散密度值近似代表連續區間內的密度分布. 將射線上采集的離散密度值進行數值積分, 得到最終的像素著色值

其中, N 表示路徑上的采樣數, xi"為路徑上的采樣點, Ls ( xi,ωs ) 為直接對光源方向計算的值, σs ( xi )表示路徑點 xi 上的消光系數, ps 為相位函數, ω 為視線方向, ωs 為光源方向, τ ( x0,xi ) 為初始化點x0與當前采樣點xi 之間的光學深度[23].

光線步進法能夠實時渲染出高質量的動態體積云, 但其渲染過程涉及大量的紋理采樣, 這成為了其渲染的性能瓶頸. 研究者提出多種步進策略提升渲染效率[17,19,20,23](見2.2節).

光線步進法的渲染質量不僅與路徑上采樣點的數量N 相關, 還依賴于步進策略的設計. 光線步進方法假設在采樣點之間, 體積云的密度值保持不變, 利用離散采樣點的密度值估算出整條射線路徑上的密度分布. 顯然, 當N 越大, 估算的結果就會越接近實際密度分布. 然而, 對于復雜體積云場景, 射線路徑上的密度分布并非是均勻的.僅在路徑上均勻放置采樣點, 難以充分捕捉密度變化的細節. 因此, 一種優秀的采樣分布策略比僅增大采樣數N 在提升渲染質量上更為有效.

2. 2光線步進優化策略

為了解決光線步進法中存在的渲染效率問題, 研究者們提出了多種步進優化策略[17,19,20,23],這些代表性的步進策略包括:

(1)均勻步長法[20]: 在射線路徑上放置均勻的采樣點, 步長保持恒定. 該方法簡單易實現, 結果穩定, 但性能不佳.

(2)線性動態步長法[19]. 隨著采樣點與相機距離增加, 逐步增大步長. 該方法能夠獲得顯著的性能提升, 但在相機位于云層內時, 會出現精度不足的走樣問題.

(3)自適應步長法[17]:在步進過程中根據采樣到的空值數量, 動態調整步長, 以降低無效采樣. 由于該方法是在步進過程中動態進行判斷,導致shader 執行效率不高, 性能提升并不明顯.

(4)重投影分幀法[23]:每幀僅渲染視口中的部分像素, 其余像素復用上一幀的重投影結果.該方法能大幅提升效率, 但對于快速移動的相機,會出現嚴重的拖影走樣, 尤其是近景云層.針對上述問題, 本文提出基于預步進自適應采樣方法以針對云內漫游場景進行渲染優化.

3本文方法

預步進自適應步長方法共包含四個步驟:預步進、采樣點調整、著色步進、相似度加權.

3.1預步進

預步進階段的關鍵任務是獲取像素步進路徑上的密度分布編碼以指導采樣點的優化分布. 預步進階段只提供步進引導信息, 故其渲染開銷不能過高. 為降低預步進階段的計算開銷, 本文提出了兩種加速策略: 視口像素分類與預步進探針下采樣.

3.1.1視口像素分類 當相機位于云層內部時,不同角度的射線上密度場分布情況不同. 如圖 3所示, 水平角較大的射線(如圖 3 中rt,rb), 密度場分布較簡單, 故在該路徑上無需進行細致采樣.而水平角較小的射線(如圖 3 中r1,r2), 密度場分布復雜, 需放置更多采樣點才能提供足夠的渲染精度. 故根據射線與水平線rhorizon 所成角度β 與預步進水平角θ 的關系, 將視口像素分為兩部分:

對于高為H, 垂直視場角為α 的視口, 其預步進視口的高度為

其中θ表示預步進的垂直視場角, θ越大, 復雜像素越多, 預步進的開銷越大.

3. 1. 2預步進探針下采樣

若對全部預步進視口中的所有像素進行額外的預步進計算, 會導致性能開銷過高. 為提升預步進效率, 本文提出探針下采樣優化方法, 將整個屏幕空間中的所有像素分為2×2 的像素塊(如圖 4),并在每像素塊中心放置預步進探針Pi, 以探針代替像素進行預步進, 并使用算法1 計算探針的分布編碼tPi. 對于預步進視口的探針, 在探針射線路徑上進行均勻采樣, 將結果存入tPi;對于預步進視口外的探針, 僅在tPi 中記錄首個空采樣點位置.

如圖5所示, 分布編碼tPi 記錄了探針射線路徑中密度分布情況, 它是一種對體積云密度場分布的一個粗略表達.

3. 2采樣點調整

為減少無效空采樣點, 提升體積云渲染質量,采樣點應該盡可能多地落在有效采樣區域. 本文方法以tPi 為依據, 有針對性地調整路徑上的采樣點分布, 以提升渲染精度.

3. 2. 1生成路徑掩碼 為存儲調整后的采樣點信息并在著色步進中進行運用, 本文提出“路徑掩碼”的概念. 路徑掩碼是由一系列32 位無符號整數組成的數組, 數中的每一個bit 都表征射線路徑上的某一個采樣點是否有效(如圖6). 路徑掩碼有以下兩個特點:( 1) 各采樣點間距離相同.(2) 路徑掩碼總位數之和為著色步進采樣數的2n 倍, n 為區間細分度.

3. 2. 2調整極近采樣點 在穿云場景下進行渲染時, 起始點隨機偏移[19]會導致在渲染近處薄云層時噪點過多. 傳統步進方法因無法得知相機前方薄云層的空間分布范圍, 無法采取有效策略調整. 而在預步進自適應步進方法中, 分布編碼tPi記錄了體積云空間分布信息, 根據tPi 可快速得到薄云層的空間范圍, 進而有針對性地增加近處采樣點, 其算法如下.

在算法2中, 首先根據tPi 快速獲得第一個空采樣點xe, 并通過公式1在 xc與xe之間進行額外的光線步進計算, 得到近距離局部計算值lN. 經實驗驗證, 基于tPi 對極近采樣點進行步進能夠大幅降低渲染薄云層時出現的噪點

3. 2. 3簡單像素采樣調整 對于簡易分布像素pi,使用均勻步長策略[20], 其步長恒為

其中Nmin,Nmax 分別為最小與最大采樣數, Dtrace為射線與云層穿入點與穿出點之間的距離, Dmax為最大步進距離, 超過最大步進距離的體積云將不再進行計算.

3. 4相似度加權

當探針發出的射線與云層密度場邊緣接近時, 像素與其所在探針的分布存在較大差異(如圖9a), 此時基于該探針tPi 的渲染結果并不準確.為解決該問題, 本文提出一種基于相似度加權的優化方法.

4實驗結果與分析對比

本文的主要貢獻在于提出了一種基于預步進的自適應步進策略. 這一策略能夠有效解決以往光線步進方法在近景云渲染中所面臨的噪點多、性能差的問題. 為了驗證本文預步進優化方法的優越性, 本文設計了一系列實驗:( 1) 在同等采樣數、不同場景的條件下, 對比不同步進策略的渲染效果, 表現預步進方法在渲染效果上的優勢;( 2)在不同體積云參數、不同相機位置的條件下, 對不同步進策略的渲染質量進行定量對比, 進一步驗證本文方法的渲染效果的優越性;( 3) 在不同場景下, 對比本文方法與其他步進策略的渲染效率;(4) 引入“ 平均有效比”指標, 對比不同步進策略的表現, 以表現本文算法的有效性;

與本文對比的三個步進策略為: 均勻步長策略、線性動態步長策略、動態自適應步長策略, 該三個步進策略的具體描述見2. 2 節.

4. 1 實驗設置

本文的實驗平臺為2. 30GHz Intel(R)Core(TM)i5-8300H CPU, 16GB RAM、NVIDIAGeForce GTX2060 顯卡、Windows 10 操作系統,并使用Unreal Engine 4. 27 作為渲染平臺.

本文設計了層云、積云、層積云三種生活中常見的云層場景, 以比較不同步進策略在性能與效果上的差異. 除特殊說明外, 所有實驗場景中的云層參數, 均采用表 1 中給出的默認配置.

4. 2 渲染效果

不同的采樣策略會渲染出不同質量的結果.為全面對比各步進策略的表現, 本文設計了層云、積云、層積云三種典型的體積云場景. 在這些場景中, 分別對比了均勻步長、線性動態步長、動態自適應步長以及本文提出的預步進策略的渲染效果. 在實驗中, 所有策略的平均采樣數均控制在256 次. 其中, 預步進策略中的預步進采樣數為128(每個像素的平均采樣數為32), 著色步進采樣數為224, 總采樣數仍為256.

從實驗結果(如表2)中看出, 線性步長策略與線性動態步長策略具有非常明顯的噪點. 這是因為前者采用了均勻的采樣分布, 導致許多采樣點落在無效區域, 致使渲染精度較低; 后者動態增加的步長過大,導致結果嚴重走樣. 而動態自適應步長策略, 雖然能根據采樣結果動態調整, 但其對渲染質量的提升并不穩定,甚至會增加噪點的出現. 相比之下, 本文提出的預步進策略, 能夠有效消除噪點. 預步進策略通過略去空采樣點處的采樣,在有效空間中放置更多采樣點, 通過這種有針對性的優化策略, 顯著提升了渲染精度和穩定性.

4. 3渲染質量影響因素分析

在近景體積云場景中,最終渲染質量主要受以下三個因素影響: 步進采樣數N、步進最長距離Dmax、相機到云層邊緣距離Dedge. 其中渲染精度由N和Dmax共同決定, N 越高,Dmax 越小,渲染精度越高. 而Dedge則直接決定了極近平面前薄云層的渲染質量, Dedge 越小,意味著相機越接近云層邊緣, 噪點出現的概率也就越大.

為全面分析在不同影響因素下, 不同步進策略的渲染表現, 本文設計了三組對比實驗, 分別從N,Dmax,Dedge 三個影響因素探究其對不同步進策略的渲染質量的影響. 本文使用峰值信噪比(PSNR)和結構相似性(SSIM)兩種指標對渲染質量進行評估. 在各實驗中, 參考圖像為在1024采樣數下, 使用均勻步長策略進行渲染的結果.

從圖10a 中可知, 線性動態步長策略由于步進過程中步長不斷增大, 渲染精度減小, 致使PSNR與SSIM 隨N 增長的趨勢較平緩. 均勻步長與動態自適應步長策略的增長趨勢相似, 均低于預步進策略. 相比之下, 本文提出的預步進策略, 其渲染質量明顯優于其余三種方法. 這是因為隨著采樣數的增加, 預步進策略基于預步進編碼能夠為非空采樣點附近提供更大的渲染精度.

從圖10b中可知, 當Dmax增大時, 四種采樣策略的PSNR 與SSIM 都呈現不同程度的下降趨勢.在長步進距離條件下, 其余方法無法準確跳過長距離的空白區域, 致使其浪費了大量采樣點. 而本文提出的預步進策略在長步進距離條件下表現更為出色, 其通過分布編碼能夠快速獲知空密度分布的空間信息, 通過調整策略將更多的采樣點集中到有效密度區間內.

從圖10c 中可知, 當相機在云層中進行穿越時, 本文提出的預步進策略展現出了非常大的優勢. 由于預步進策略能夠快速獲知射線路徑上首個空采樣點的位置信息, 基于此信息能夠在極近區域內有針對性地增加采樣數, 以應對相機前方的薄云層, 確保渲染質量不會因為穿云而大幅下降. 而其他三種對比方法, 并沒有針對相機前方的薄云層進行專門的優化, 致使它們在穿云場景下的表現不佳.

表4為四種方法在積云場景下的渲染結果得到的PSNR 與SSIM 值對比, 各項參數與表 1 保持一致, 同時選用采樣數為1024 下的渲染結果作為參考值. 從中可知, 預步進自適應步長算法相較于其他方法在PSNR 上分別提升4. 62%、40. 6%、7. 2%, 在SSIM 上分別提升6. 53%、18. 7%、8. 2%. 由此可見本文算法在應對穿云場景時在渲染質量方面具備明顯優勢. 本文方法基于分布編碼對采樣點進行調整, 在同等采樣數下與其余方法相比, 具備更高的渲染精度.

4. 4渲染性能

為比較各方法的渲染效率, 本文在不同采樣數下, 對各步進策略的渲染效率進行對比. 除步進采樣數外, 其余值取表 1 的值. 在本節實驗中,首先在不同采樣數的積云場景下, 對比各步進策略的渲染效率, 以表現本文方法的性能優勢. 之后, 在相同采樣數下的不同云場景下, 對比各策略的渲染效率, 以找到本文方法的高效適用場景.從圖 11 可以看出, 在低采樣數條件下, 預步進策略的性能優于均勻采樣方法. 隨著采樣數的不斷增加, 預步進策略的性能優勢逐漸減小, 直至與均勻步長策略持平甚至略低. 這是因為在高采樣數下, 預步進策略的路徑掩碼粒度過大, 調整時間過長, 導致整體效率不如其余策略. 然而預步進策略渲染高質量結果并不需要過高的采樣數. 如圖 10 所示, 當采樣數為256 采樣數時, 預步進策略的PSNR 值就能達到35. 1, SSIM 達到0. 93, 其渲染時間比均勻步長策略快4. 59%, 同時其PSNR 與SSIM 分別比均勻步長策略高4. 62%、6. 53%.

表5進一步對比了四種方法在256 采樣數下的性能表現. 從中可知, 預步進策略在應對積云場景時效率更高,同時其預步進階段的用時與總占比最小, 這是由于積云成塊分布, 云朵之間的間隙較大, 預步進策略能夠快速跳過這些無效區域, 節省渲染時間. 對于層積云場景, 預步進方法也能帶來一定的性能提升, 但不太明顯. 而對于間隙較少的層云場景, 預步進方法性能提升效果有限. 雖然預步進策略在層云與層積云場景中性能表現不佳, 但預步進策略能夠有效解決穿云時的噪點問題, 同樣具有極高的實用性.

4. 5采樣準確性

前文指出, 空采樣點對于體積云的最終渲染結果并無貢獻. 因此, 若大部分采樣點集中在有效的體積云空間內, 必然可以提升渲染的準確性和有效性. 為比較各算法的準確性, 本文提出一種新的指標: 有效采樣比

其中Nvalid為路徑上所有有效非空采樣點的數量.NTrace為總步進數. γ越大, 代表該像素最終渲染的結果越準確. γˉ 為所有像素的γ 平均值,γˉ 能夠表征某一次體積云渲染的有效性.

表3為四種步進策略γˉ 的可視化圖. 圖中的像素值表示當前像素的有效采樣比, 圖像越偏白色,采樣點的分布越有效. 從中可知, 預步進方法的有效采樣點比例遠高于其余三種方法, 這是由于預步進策略能夠通過調整機制, 讓采樣點盡可能地圍繞非空區域進行分布, 大大提升渲染的準確性.

5結語

本文針對以往步進策略在近景體積云渲染中的局限性, 提出了一種基于預步進的自適應采樣優化方法, 該方法在近景體積云渲染的質量和性能方面都取得了一定的提升. 首先, 該方法通過像素分類、探針下采樣的方法, 記錄云層的密度分布信息. 并根據得到的分布編碼, 針對性地優化極近采樣點并圍繞非空采樣點調整路徑掩碼, 成功解決了相機位于云層邊緣時出現的噪點問題和無效采樣問題. 之后以路徑掩碼為引導, 在有效空間內進行光線步進得到渲染結果. 最后, 使用探針分布編碼相似度對最終渲染結果進行加權平滑, 以解決探針與像素之間的分布不一致的問題.該方法在穿云場景中具有良好的渲染效果與渲染性能, 是一種實用的近景可穿越體積云渲染方法.

主站蜘蛛池模板: 日韩大片免费观看视频播放| 亚洲成a人在线播放www| 成人久久精品一区二区三区 | 尤物亚洲最大AV无码网站| 狂欢视频在线观看不卡| 亚洲综合经典在线一区二区| 亚洲国产成人无码AV在线影院L| 九九久久99精品| 蜜桃臀无码内射一区二区三区 | 国产在线小视频| 五月激情婷婷综合| 国产丝袜精品| 亚洲第一区在线| 国产成人亚洲无吗淙合青草| 日本欧美在线观看| 日韩无码白| 欧美有码在线观看| 亚洲资源站av无码网址| 黑色丝袜高跟国产在线91| 亚洲天堂网2014| 91麻豆精品国产高清在线| 国产一级二级三级毛片| 99视频在线看| 色综合热无码热国产| 日韩麻豆小视频| 国产传媒一区二区三区四区五区| 在线观看亚洲成人| 久久天天躁狠狠躁夜夜2020一| 午夜欧美理论2019理论| 伊人久综合| 亚洲 欧美 日韩综合一区| 色天天综合| 999精品在线视频| AV天堂资源福利在线观看| 欧美日本在线观看| 久久国产黑丝袜视频| 高潮毛片无遮挡高清视频播放| 无码AV日韩一二三区| 农村乱人伦一区二区| 奇米精品一区二区三区在线观看| 亚洲天堂网2014| 国产欧美日韩va另类在线播放| 久久毛片免费基地| 天天综合色天天综合网| 麻豆精品在线视频| 高清不卡毛片| 直接黄91麻豆网站| 老司机午夜精品视频你懂的| 国产特级毛片aaaaaa| 欧美日本激情| 国产区91| 国产精品妖精视频| 免费一级无码在线网站| 久久久久久高潮白浆| 欧美一区二区精品久久久| 国产综合欧美| 四虎AV麻豆| 在线观看国产精美视频| 香蕉eeww99国产在线观看| 美女内射视频WWW网站午夜 | 国产99视频在线| 亚洲a级在线观看| 国产区网址| 99人妻碰碰碰久久久久禁片| 久久99国产综合精品1| 五月天香蕉视频国产亚| 黄色网站在线观看无码| 亚洲免费福利视频| 亚洲最黄视频| 99视频在线免费观看| 国产成人精品高清在线| 91精品人妻一区二区| 人妻少妇久久久久久97人妻| 免费视频在线2021入口| 狠狠色成人综合首页| 国产精品白浆在线播放| 国产乱子伦精品视频| 欧美精品1区2区| 国产剧情一区二区| 欧美午夜在线视频| 五月婷婷伊人网| 亚洲精品成人片在线观看|