国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于噪音的大規(guī)模云層繪制的研究與實(shí)現(xiàn)

2021-05-13 07:16劉芮張建偉譚詩瀚
現(xiàn)代計(jì)算機(jī) 2021年8期
關(guān)鍵詞:云層光照噪音

劉芮,張建偉,譚詩瀚

(四川大學(xué)視覺合成圖形圖像技術(shù)國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,成都610065)

0 引言

自然環(huán)境復(fù)雜多變,對(duì)于自然環(huán)境的模擬一直是虛擬現(xiàn)實(shí)中實(shí)現(xiàn)的難點(diǎn)之一,在各自然環(huán)境的模擬中,云層的繪制最為困難,首先,云是由大氣中的水汽、凝露等經(jīng)過液化形成,在天空中隨處可見,形成過程隨機(jī),模擬困難;其次,云是沒有顏色的,由于云是由大量水滴組成,光照射進(jìn)云層時(shí)會(huì)發(fā)生各種散射和吸收,最后匯成云的常見色:白色,而隨著云層加厚,云層的透射率降低,所以穿出云層的光照減少,會(huì)呈現(xiàn)灰色;同時(shí)云本身也有各種種類,積雨云、層云、卷云等,云層種類不同所處大氣層中的高度也不盡相同;最后,云在空中不是一層不變的,它會(huì)隨著比如風(fēng)的吹動(dòng)而移動(dòng),也會(huì)隨著時(shí)間早上至晚上的形狀不一顏色不一,運(yùn)動(dòng)軌跡難以揣測(cè)。由上可知,云層的模擬是虛擬場(chǎng)景模擬的一大難點(diǎn)。

本文的目的是研究并實(shí)現(xiàn)一種實(shí)時(shí)呈現(xiàn)逼真的云技術(shù),在實(shí)時(shí)的場(chǎng)景下,快速生成大量的云層,噪音是生成隨機(jī)物體的一種方式,而云是大自然中隨機(jī)生成的物質(zhì),可二者結(jié)合,在模擬過程中,使用噪音算法建立云的模型。同時(shí)為了模擬真實(shí)的光照,使用光線行進(jìn)算法對(duì)模擬的噪音云層進(jìn)行采樣,累積顏色值,繪制在視線前,如此也可實(shí)現(xiàn)較為真實(shí)的穿云效果。

1 相關(guān)工作

根據(jù)以上分析,對(duì)于云的模擬有三個(gè)大點(diǎn),一是云的建模,二是云的光照模式,三是云層的移動(dòng)。最初對(duì)于云建模的研究是平面繪制,適用于遠(yuǎn)距離觀察,如今發(fā)展中分為了兩種主要方法,物理方法和非物理方法。

2000 年Dobashi 等人使用元胞自動(dòng)機(jī)繪制云,給云添加三種屬性:濕度、是否存在云和是否云有變形,該方法是很有效的物理方法[1];2003 年Harris 等人是基于體素模型上模擬云,通過求解物理方程流體力學(xué)、熱力學(xué)、浮力和云變形的偏微分方程模擬云[2];2013 年唐勇等人通過溫度計(jì)算熱浮力模擬云,使用Navier-Stokes 方程表示云的聚散和運(yùn)動(dòng)[3];2017 年Duarte 和Gomes 使用SkewT/LogP 圖模擬云,只計(jì)算云的熱力學(xué),不求解云運(yùn)動(dòng)的微分方程[4]。

1983 年P(guān)erlin 提出了使用Perlin 噪音模擬云[5];1985 年Gardner 等人用空心橢圓體結(jié)合紋理模擬云[6];2016 年Schneider 等人結(jié)合Worley 噪音和Perlin 噪音,使用光線步進(jìn)技術(shù)在動(dòng)態(tài)光照下模擬云[7];2018 年柏靖云實(shí)現(xiàn)了球形粒子建模云和噪音紋理建模云,并進(jìn)行對(duì)比和分析[8]。

云的光照模式也是影響云層真實(shí)度的重要元素,云的外觀是由于水分子就會(huì)聚集在空氣中的微塵周圍,由此產(chǎn)生的水滴或冰晶將陽光散射到各個(gè)方向,所以云中存在單次散射和多次散射以及多重各向異性散射。

1982 年,Blinn 提出一個(gè)光的反射和投射的見到那模型,開始了研究云與光之間的相互作用[9];1984 年,Kajiya 等人提出了將單次散射和多次散射結(jié)合的方式模擬云的光照,進(jìn)一步提升了真實(shí)度;2001 年Harris 等人提出各向異性散射,預(yù)處理這些散射,云層光照的模擬更加的有層次;2016 年Schneider 等人提出糖霜理論,云的邊緣有暗色,就像糖堆在一起,云的自陰影使大規(guī)模云層的繪制更具真實(shí)性[7]。

云在形成過程中,首先在太陽的照射下,地面加熱,然后空氣加熱,由于熱浮力,會(huì)產(chǎn)生上升氣流,接著會(huì)冷卻,空氣中的水蒸氣便會(huì)凝結(jié)產(chǎn)生云。云在發(fā)生相變時(shí),會(huì)產(chǎn)生額外的浮力,云便會(huì)隨之運(yùn)動(dòng),因此云的移動(dòng)也是難以捉摸。通常使用Navier-Stokes 方程來描述煙和云等不可壓縮的物體運(yùn)動(dòng)。

Dobashi 等人提出改變現(xiàn)有的演化規(guī)則,將變化沿著水平面的固定方向發(fā)展,模擬云的運(yùn)動(dòng),同時(shí)引入消散變量等規(guī)則,模擬云的消散[10];Miyazaki 等人考慮了云的粘度和壓力、水蒸氣擴(kuò)散、熱浮力等因素的影響,利用CML 模擬云的運(yùn)動(dòng)。

2 算法研究

2.1 噪音算法

大自然中的云都是隨機(jī)生成的,為了模擬這種效果,大多采用Perlin 噪音算法進(jìn)行模擬,可用于生成地形、水和云等效果。但在圖形學(xué)的發(fā)展中,有學(xué)者提出Perlin 噪音的改進(jìn),使用單性的特性解決了Perlin 噪音的偽影問題,使其生成各種效果更加真實(shí)。二者皆是使用晶格噪音,但Simplex 噪音的優(yōu)勢(shì)便是在隨著維度的增加頂點(diǎn)數(shù)只增加一個(gè),所以Simplex 噪音大大降低了計(jì)算開銷。

而其中云的建模使用的是Worley 噪音,依據(jù)的是空間分割理論,在空間中,隨機(jī)防止若干的特征點(diǎn),對(duì)任意輸入的一點(diǎn),計(jì)算其點(diǎn)到所有特征點(diǎn)的距離,而這個(gè)距離值的最小值便是最后的噪音值,在Worley 的優(yōu)化下,將算法細(xì)化為六步,第一,確定任意輸入一點(diǎn)所在晶胞;第二,對(duì)此晶胞生成可重復(fù)的隨機(jī)數(shù);第三,計(jì)算此晶胞中特征點(diǎn)的數(shù)量;第四,隨機(jī)將30%左右的特征點(diǎn)輸入到晶胞中;第五,計(jì)算輸入點(diǎn)到其所有特征點(diǎn)的距離最小值;第六,查詢并計(jì)算輸入點(diǎn)到所在晶胞直接相鄰晶胞特征點(diǎn)的距離最小值,與第五種對(duì)比返回最小值,使其更加的實(shí)用。

2.2 光照算法

當(dāng)光照照射到物體表面時(shí),一些會(huì)被物體表面吸收,其他的會(huì)被反射,而對(duì)于透明的物體,還會(huì)有一些會(huì)穿過透明體產(chǎn)生透射光。其中只有反射光和透射光可以進(jìn)入眼睛,產(chǎn)生視覺效果,所以物體表面光照顏色是由入射光、物體材質(zhì),以及材質(zhì)和光的交互規(guī)律共同決定的。由此產(chǎn)生Lambert 模型,Phong 模以及Blinn-Phong 模型。

當(dāng)一束光從云層的一端射入,也會(huì)發(fā)生吸收、反射,由于光是無數(shù)小水滴組成,還會(huì)發(fā)生散射、折射以及透射光,就會(huì)在云的另一端射出,在經(jīng)過云層內(nèi)部后,光的強(qiáng)度會(huì)有所減弱。為模擬這種現(xiàn)象,可使用Beer 定律來計(jì)算光通過一種材料的衰弱,根據(jù)光學(xué)厚度計(jì)算其透射率,用在云層中,便可沿著光線累積其光學(xué)厚度。

在大氣層中,除開被吸收的光照,散射也有很多種,主要是瑞利散射,但云是由無數(shù)小水滴構(gòu)成,其中存在最多的便是米氏散射,為方便計(jì)算可使用近似求解的Henyey-Greenstein 相位函數(shù)來模擬米氏散射前向散射的效果,同時(shí)計(jì)算難度對(duì)比米氏散射大大降低。

2.3 光線行進(jìn)算法

體積渲染可以計(jì)算真的光照模型,既可以提高云層模擬的真實(shí)性還可以提高其物理真實(shí)性[11]。當(dāng)然體積渲染也是有很多種方法的,大多都是需要結(jié)合物體建模方法和光照模型。所以對(duì)于云這種異質(zhì)介質(zhì),可以使用光線行進(jìn)算法,對(duì)生成的3D 噪音進(jìn)行采樣,繪制在屏幕上,其核心思想是首先有一個(gè)體紋理,然后以視點(diǎn)方向發(fā)射出n 條射線向外以一個(gè)采樣步長(zhǎng)行進(jìn),當(dāng)射線處在體紋理中時(shí),每一個(gè)步長(zhǎng)行進(jìn)后計(jì)算顏色值,計(jì)算光照,最后將射線當(dāng)前累積的顏色值累積,直到顏色值達(dá)到最大或光線到達(dá)云層邊界。

3 實(shí)驗(yàn)結(jié)果與分析

本文實(shí)驗(yàn)使用設(shè)備是筆記本電腦,處理器Intel i5 9300H 2.40GHz,顯卡是NVIDIA GeForce GTX1650,渲染環(huán)境是Unity3D 2019。

由以上理論結(jié)合,在場(chǎng)景中創(chuàng)建一個(gè)繪制云的長(zhǎng)方體區(qū)域,使用Simplex 噪音算法生成一張?jiān)胍魣D以顯示有無云區(qū)域,再采樣Worley 噪音算法生成132×132×132 的3D 噪音圖,其中RGBA 四個(gè)通道是不同頻率的Worley 噪音,如圖1 所示。

圖1 132×132×132 3D噪音圖

再?gòu)囊朁c(diǎn)射出的射線判斷與長(zhǎng)方體的距離,計(jì)算是否處于區(qū)域內(nèi),在區(qū)域內(nèi)可直接根據(jù)步長(zhǎng)采樣,不在區(qū)域內(nèi)便求取與長(zhǎng)方體的交點(diǎn)再根據(jù)步長(zhǎng)采樣,采樣時(shí)為了模擬云層在自然中的自然生成和消散過程,在場(chǎng)景加載后隨著時(shí)間改變采樣值。最后在Ray-marching 算法采樣過程中計(jì)算beer 定律和HG 相位函數(shù)模擬光照,累積獲取最終顏色值,繪制在屏幕上,如圖2所示。

圖2 只有一張3D噪音繪制的云層

如此繪制出的云層邊緣圓滑,而真實(shí)的云邊緣會(huì)四散開來,于是再使用Worley 噪音算法生成64×64×64的3D 噪音圖,RGB 三個(gè)通道是不同頻率的Worley 噪音,如圖3 所示,在采樣132×132×132 的3D 噪音時(shí)減去64×64×64 的3D 噪音使生成的云層邊緣四散,更加真實(shí),如圖4 所示。

圖3 64×64×64 3D噪音圖

圖4 兩張3D噪音繪制的云層

4 結(jié)語

本文的目的是研究并實(shí)現(xiàn)一種實(shí)時(shí)呈現(xiàn)逼真的云技術(shù),使用一張2D 噪音預(yù)計(jì)算云會(huì)出現(xiàn)得位置,再對(duì)3D 噪音采樣累積顏色值進(jìn)行云建模,然后使用raymarching 算法繪制真實(shí)的體積云,最后云的光照模型采用Mie 散射、HG 相位函數(shù)在ray-marching 算法中累積呈現(xiàn)。

在繪制云層上使用噪音生成隨機(jī)物質(zhì)的技術(shù)雖較為成熟,但是在云的光照模擬和云層在大氣層的分布上存在不少還沒有解決的問題,光照使用的都是類似函數(shù),如果能計(jì)算米氏散射,云的真實(shí)性將更進(jìn)一步提升,云在大氣層中的分布除了高低區(qū)分還有形狀區(qū)分,全都實(shí)時(shí)繪制也是一大難點(diǎn),這些都還需要進(jìn)一步的研究與探討。

猜你喜歡
云層光照噪音
肉種雞的光照不應(yīng)性對(duì)養(yǎng)殖生產(chǎn)的不良影響分析
隱蔽的力量
烏云為什么是黑色的
噪音的小把戲
白噪音的三種用法
乘坐飛機(jī)
噪音對(duì)身體的危害
水禽舍的光照及其控制
蛋鴨的光照管理
龙门县| 大田县| 墨脱县| 斗六市| 甘谷县| 浦江县| 汶川县| 五大连池市| 晋州市| 新野县| 贵德县| 普洱| 周口市| 潮州市| 嘉鱼县| 开阳县| 麻栗坡县| 乐东| 山丹县| 大渡口区| 恭城| 筠连县| 仙居县| 乌兰浩特市| 香港| 怀集县| 通山县| 九江县| 太保市| 灵璧县| 清水河县| 彰化县| 龙山县| 门头沟区| 谷城县| 温泉县| 慈溪市| 万年县| 巨野县| 漳浦县| 睢宁县|