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

動態(tài)積云繪制算法的實現與分析

2018-04-24 07:58:51柏靖云
現代計算機 2018年8期
關鍵詞:方法

柏靖云

(四川大學計算機學院,成都 610065)

0 引言

隨著計算機技術的快速發(fā)展和圖形硬件的更新?lián)Q代,計算機圖形學正以令人驚嘆的速度發(fā)展著,作為圖形學中的一個重要組成部分,自然景觀的模擬也廣泛應用到了各個領域,而這其中,對于云的繪制也受到了越來越多的關注。現今在影視特效、多媒體廣告、游戲場景等多個領域都需要對云進行模擬。繪制出真實自然的云場景,可以很大程度上提高畫面質量,帶給人強烈的真實感。然而云有著極不規(guī)則的形狀和不規(guī)律的變化,云內部的光照過程也十分復雜,要完整地將這些表現出來非常困難,而且需要很大的開銷。如何用較高的效率繪制出具有較強真實感的積云場景,一直是相關研究學者們非常關注的問題之一。

1 云的繪制算法簡介

云的繪制可大致分為建模和渲染兩個部分,建模部分需要構造出云的形狀密度模型,渲染部分則根據云的密度,采用特定的光照算法計算出云的顏色,并最終將云在屏幕上顯示出來。本文采用兩種方法分別對云進行繪制,方法一將云視為是由多個球形云粒子堆積而成的,通過繪制粒子來對云進行建模,同時采用預計算的方式,將云粒子的多重散射光照結果存入查找表中(look-up table),在實時渲染時直接到相應的紋理中采樣,即可獲得光照數據,省去了光照計算過程。方法二通過噪聲紋理來獲取云的密度,再對噪聲值進行一系列的分布、高度處理后,最終得到云的密度場,即云的模型。使用以比爾定律為基礎的光照方程計算云的顏色,最后采用ray marching的方式對云進行繪制。

2 多重散射光照模型

圖1

當光在云中傳播時,云粒子會對光產生散射作用。如圖1所示,對于云粒子中任意一點P,在視點C所看到的P點的最終光照是經過了QP與P0P兩段衰減的。假設最初的太陽光光照總量為L,經過一次散射后的光照為L',L與L'的關系如公式(1)所示:

e-τ(Q,P)和e-τ(P0,P)分別為 QP 之間與 P0P 之間的散射衰減系數。公式(1)描述了太陽光在云粒子中發(fā)生單散射的過程,而實際上,光在粒子內部會經歷很多次散射,到達P點的光也不只有初始太陽光L,還有粒子中其他點散射到P點的光,因此,為了更加真實地模擬云的光照效果,需要構建多重散射的光照模型。

圖2

在多重散射中,P點的光照由P點周圍各個方向上經過散射后最終到達P點的光組成。如圖2所示,P點在方向的入射光為,將θ從 0 取到 2π時的所有L(P)相加,即為 P點的入射光總量,如公式(2)所示。將入射光乘以P0P之間的散射系數,再對P0P1間所有點的光照結果進行積分,就可以得到視點位置為C、視線方向為時的光照顏色,如公式(3)所示。

在計算過程中,本文采用對單散射結果進行迭代的方法來得到多重散射數據。先使用單散射方式得到一階散射結果L(1)(P,),然后根據L(1)(P,)可計算出J(2)(P),再依據公式(3)可得到L(2)(C,),而此時得到的二階散射結果可用于計算下一次的散射L(2)(P,),依此類推,在經過n次迭代之后,就可以得到n階散射結果L(n)(C,),再將n階結果相加,即為最終的多重散射光照,如公式(4)、(5)、(6)所示:

在本文所采用的算法中,多重散射結果為18階散射數據之和,如果讓18次迭代過程全部在渲染中進行,則會嚴重影響程序的效率,完全無法達到實時的效果。因此本文使用預計算的方法來避免這一問題,在渲染云粒子之前先計算光照,然后將計算結果存入查找表中,查找表為一張三維紋理,渲染時,根據粒子的位置和視線方向等參數可直接從查找表中讀取光照數據。

3 球形粒子建模

本文實現的第一種方法是通過構造成千上萬的云粒子,根據相應的算法使其堆積成云團的形狀,再將粒子繪制出來。如圖3所示,以視點為中心,構造xz平面的二維網格,每一層網格的大小都是上一層網格的二倍。將密度紋理平鋪在網格上,達到一定密度值的網格視為有效網格,通過視錐體確定哪些網格在視線范圍內,得到二維的有效可視網格。

圖3

得到二維網格后,將其縱向延伸成三維網格,三維網格中每個體素的密度由其原本對應的平面網格進行一定的噪聲擾動得到,同時令體素密度隨著層數的上升而遞減,以此可獲得下寬上窄的積云形狀。在三維網格結構中,每一個有效可視的體素均含有一個云粒子,粒子的大小、密度、中心位置等屬性由網格的相應屬性計算得到。生成粒子后,將粒子根據與視點的距離排序,按照由遠及近的順序進行渲染。

此種方法在渲染時使用到了渲染管線中的幾何著色器,由頂點著色器將粒子位置傳送給幾何著色器,幾何著色器以此為中心,根據粒子大小(即半徑)生成一個正方體粒子包圍盒。幾何著色器發(fā)射八個頂點傳送給片元著色器,片元著色器判斷視線與包圍盒的交點,如相交,則到光照查找表中獲取多重散射系數,將粒子繪制到屏幕上。

4 基于噪聲紋理采樣的繪制方法

本文實現的第二種方法是以柏林(Perlin)噪聲和沃利(Worley)噪聲為基礎的。構建云的密度場需要兩張三維紋理,這兩張三維紋理中共包含了八張噪聲紋理信息。紋理一的分辨率為128×128×128,如圖4所示,其r通道為柏林噪聲,gba三個通道為三張頻率依次升高的沃利噪聲。紋理二的分辨率為32×32×32,如圖5所示,RGBA四個通道分別為四張頻率依次升高的沃利噪聲。紋理一用于得到云的基本形狀,紋理二用于給紋理一得到的結果添加細節(jié)。得到云密度后,再通過分布紋理對其進行細化,添加高度控制函數和動態(tài)變化函數,使云層分布隨著海拔升高而減少,同時產生隨著一定風向飄動的動態(tài)效果。

圖4

圖5

此方法的光照計算以beer定律為基礎,如公式(7)所示,比爾定律描述了光在不均勻介質中傳播時的衰減過程,光照隨著云的密度的增加成指數遞減。

通過比爾定律可以計算出光的衰減,但光在云中傳播時不止發(fā)生衰減,還會在云的內部產生復雜的散射,如果只計算衰減部分,那么我們將無法得到云表面的不規(guī)則的波浪狀的細節(jié),因此除比爾定律外,還需要添加內散射函數來描述光的散射過程,如公式(8)所示:

當光在諸如積云這類由細小微粒組成的介質中傳播時,被散射到貼近光線傳播方向部分的光線要多于被散射到背離光線傳播方向的光線,如圖6所示,這是光在云中所發(fā)生的前向散射。1941年,Heyey和Greenstein提出了H-G相位函數來對這一特性進行描述,如公式(9)所示,本文采用了這一方法,g的取值為0.2,θ為光纖與視線的夾角。

圖6

本文采用ray marching的方法進行繪制。求出每一條視線與云層的交點,設定相應的步長,在兩個交點之間選取采樣點,得到每個采樣點的世界坐標,從噪聲紋理和分布紋理中查找出相應數據,經過上述一系列操作,得到該點的密度值,再將密度值代入到光照模型中,即可計算得出該點的光照顏色,最后將視線上每個采樣點的顏色進行混合,就是該片元的最終渲染結果。

5 實驗結果對比

圖7

如圖7所示,圖a為三維網格球形粒子建模方法的結果,圖b為基于噪聲紋理采樣方法的結果。球形粒子建模方法的結果可看出云的層次結構更為明顯,云由多層粒子堆積而成,且距頂端越近粒子越少,云也就越窄。噪聲紋理采樣的結果層次感不如球形粒子建模,但是更好地模擬出了云的細碎且不規(guī)則的邊界,在這一點上更具有真實感。

圖8為當視點處于云層之上時,俯視角度下的結果。這里可以看出球形粒子建模方法的劣勢,俯視時效果接近于平面,這與現實中的云的效果是差別很大的,而噪聲采樣的結果要更加貼近真實,俯視時此種方法在云的表面細節(jié)上所具有的優(yōu)勢更加明顯。

圖8

圖9

圖9為視點處于云中時,即穿云時的結果。球形粒子建模可以清晰看出分布在視點兩層的云,而噪聲紋理采樣的結果則更能給人以深處云層之中的感覺。

通過以上對比可看出,當視點位于云層下方時,球形粒子建模方法得到的效果更好,這種情況下一般視點距離云較遠,因此對邊界細節(jié)的要求不高,云整體的分布和層次感更為重要。而當視點處于云層中間或云層之上時,則時噪聲紋理采樣的結果更加具有真實感,此時視點離云比較近,因此需要模擬出云的邊界細節(jié)。在實際應用中,應根據應用的情況選擇更為適合的方法。

6 結語

本文實現了兩種動態(tài)積云繪制算法,并對其效果進行了比較。球形粒子建模結合預計算光照渲染的算法得到的積云更具與層次感,整體形狀更接近現實中的云;噪聲紋理采樣結合beer定律光照模型得到的積云擁有更加豐富真實外觀細節(jié),適用于當視點離云層很近的穿云或俯視效果。

本文所實現的兩種方法在最終渲染時的混合上都還有可提升的空間,粒子建模方法中最中前后粒子的混合與噪聲采樣方法中各采樣點顏色的混合,目前都是采用比較基礎簡單的混合方法,還可以對混合方式進行改進以便獲得更為逼真的效果。

參考文獻:

[1]Ament M,Sadlo F,Weiskopf D.Ambient Volume Scattering[J].IEEE Trans.Vis.Compute.Graph,2013.

[2]Bruneton E,Neyret M.Precomputd Atmospheric Scattering[J].Compute.Graph,2008.

[3]K Perlin.An Image Synthesizer[C].New York:Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques,1985.

[4]LosaSSO F,Hoppe H.Terrain Rendering Using Nested Regular Grids[J].ACM trans.Graph,2004.

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 国产日本欧美在线观看| 亚洲欧美日韩动漫| 亚洲欧美精品一中文字幕| 亚洲欧美另类专区| 亚洲人成人无码www| 97国产成人无码精品久久久| 日韩最新中文字幕| 婷婷六月激情综合一区| 成人av专区精品无码国产| 国产成人精品一区二区| 日韩毛片免费观看| 久久这里只精品国产99热8| 亚洲五月激情网| 国产精品嫩草影院av| 日韩欧美中文| 国产精品成人观看视频国产 | 亚洲第一福利视频导航| 精品无码视频在线观看| 国产成人精品18| av一区二区三区高清久久| 97视频在线精品国自产拍| 久久婷婷国产综合尤物精品| 欧美亚洲第一页| 99视频国产精品| 免费国产好深啊好涨好硬视频| 久久综合色88| 久久超级碰| 亚洲永久色| 国内毛片视频| 国产在线观看一区精品| 日韩第九页| 99久久国产精品无码| 色综合日本| 久久精品人人做人人综合试看| 无码专区在线观看| 国产菊爆视频在线观看| 久久99精品久久久久久不卡| 欧美成人精品一级在线观看| 亚洲精选无码久久久| 国产二级毛片| 91年精品国产福利线观看久久| 欧美日韩国产成人高清视频| 午夜成人在线视频| 久久久久久高潮白浆| 精品国产污污免费网站| 亚洲精品亚洲人成在线| 亚洲精品视频网| 欧美日韩国产精品va| 免费国产不卡午夜福在线观看| 国产另类乱子伦精品免费女| 亚洲狼网站狼狼鲁亚洲下载| 国产一区二区三区夜色| 免费高清毛片| 国产成人三级在线观看视频| 国产产在线精品亚洲aavv| 国产福利在线免费观看| 天天综合网色中文字幕| a毛片免费在线观看| 成人va亚洲va欧美天堂| 亚洲日本中文综合在线| 97亚洲色综久久精品| 91精品国产自产91精品资源| 亚洲欧洲日韩国产综合在线二区| 国产日韩欧美黄色片免费观看| 69av免费视频| 精品国产乱码久久久久久一区二区| 手机精品福利在线观看| 午夜不卡福利| 制服丝袜国产精品| 成人免费午间影院在线观看| 40岁成熟女人牲交片免费| 国产一区二区免费播放| 亚洲国产天堂在线观看| 国产毛片网站| 日韩天堂视频| 狠狠做深爱婷婷久久一区| 夜夜操天天摸| 国产青榴视频| 久久精品视频一| 老司机午夜精品视频你懂的| 尤物亚洲最大AV无码网站| 国产经典免费播放视频|