亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OSG的粒子系統(tǒng)仿真實現(xiàn)

        2017-05-30 23:39:35張慧
        科技風(fēng) 2017年17期
        關(guān)鍵詞:粒子系統(tǒng)

        摘 要:OSG就是一款高效實時的三維圖形開發(fā)包,它構(gòu)建于OpenGL圖形函數(shù)庫之上,全部采用標準C++語言開發(fā), OSG圖形系統(tǒng)[1]主要應(yīng)用于游戲、虛擬現(xiàn)實和科學(xué)計算可視化與仿真領(lǐng)域中的高性能圖形程序的開發(fā)。在構(gòu)建虛擬場景后,為了增加虛擬場景的真實度,加入自然現(xiàn)象能使場景更加的逼真,而在OSG中給我們提供了粒子系統(tǒng)能很好的完成這部分設(shè)計,本文著重討論基于粒子系統(tǒng)仿真的雪效和雨效,實踐證明OSG的粒子系統(tǒng)能滿足仿真的要求。

        關(guān)鍵詞:OSG;粒子系統(tǒng);雪效

        1 粒子系統(tǒng)簡介

        1.1 粒子系統(tǒng)概念

        粒子系統(tǒng)(particlesystem)是迄今為止被認為模擬不規(guī)則模糊物體最為成功的一種圖形生成算法[2]。它構(gòu)建場景的方法與以往不同,傳統(tǒng)的方法是通過繪制和造型系統(tǒng)的算法來實現(xiàn),而粒子系統(tǒng)采用的是計算模型,動態(tài)的表示物體的運動。因此,粒子系統(tǒng)采用微小粒子圖元作為基本單位,這些粒子圖元具有顏色、透明度、大小形狀及生命周期等屬性,粒子的生命周期分為產(chǎn)生到活動到消亡幾個階段,因此,在粒子系統(tǒng)創(chuàng)建過程中,考慮的因素要包括真實的物理模型,還要考慮粒子的各項屬性規(guī)定[34],在建立好的場景當(dāng)中也要考慮動力學(xué)規(guī)律對粒子的影響。

        1.2 OSG粒子系統(tǒng)數(shù)學(xué)模型

        在OSG環(huán)境中,粒子系統(tǒng)產(chǎn)生的新生粒子位于屏幕上方的圓形區(qū)域內(nèi)。對于每個粒子而言,在粒子出生時就會有不用的隨機參數(shù),但實際上每個粒子的真實意義在于其每幀的位置和速度。

        在粒子運動過程中要受到很多外界因素的影響,比如重力、風(fēng)力和空氣阻力等,按照物體的運動規(guī)律,設(shè)V0為粒子初始速度,S0為粒子的初始位置,粒子的速度V、位置S和加速度a有一下關(guān)系:

        1.3 OSG粒子系統(tǒng)的工作過程

        在OSG中,osgParticle類是專門定義用來模擬粒子系統(tǒng)的,它不但能高效地模擬粒子系統(tǒng),而且效果生成得非常逼真。

        在OSG中使用粒子系統(tǒng),首先要確定意圖。

        其次,建立粒子模板,這一步要確定粒子的形狀,如點(POINT)、線(LINE)、四邊形(QUAD)、六角形(HEXAGON)等,確定粒子的生命周期,以及粒子的角度等因素。

        然后要建立粒子系統(tǒng),設(shè)置粒子的相關(guān)屬性。包括粒子的大?。⊿IZE)、顏色(COLOR)和Alpha值。每組屬性都可以設(shè)置它的最大值和最小值,我們通過改變這些最大和最小值,對單個粒子的渲染進行控制,也可以在這兩者之間進行線性插值,這樣就有利于管理粒子的生命周期。

        接下來設(shè)置發(fā)射器,主要用來設(shè)置粒子的初速度、發(fā)射器形狀及發(fā)射粒子的數(shù)目變化等。

        另外要設(shè)置操作,用戶可以通過對其中的各種Operator類進行參數(shù)設(shè)定,如AngularAccelOperator(角加速度)等,改變它們的實例參數(shù)。

        最后在場景中加載粒子系統(tǒng),更新粒子狀態(tài)。

        2 基于OSG粒子系統(tǒng)的雨雪模擬實現(xiàn)

        2.1 粒子系統(tǒng)場景加載渲染技術(shù)

        osgViewer庫可以很好的進行渲染操作,此在庫中定義了一些視口類,因而可以將OSG 集成到許多視窗設(shè)計工具中,包括AGL/CGL,F(xiàn)LTK,F(xiàn)ox,F(xiàn)C,Qt,SDL,Win32,WxWindows,以及X11。這些視口類支持單窗口/單視口的程序,也支持使用多個視口和渲染器面的多線程程序。每個視口類都可以提供對攝像機運動,事件處理,以及osgDB::DatabasePager 的支持。osgViewer 庫包含了以下三個可能用到的視口類。

        (1) SimpleViewer:SimpleViewer 類負責(zé)管理單一場景圖形中的單一視口。使用SimpleViewer 時,應(yīng)用程序必須創(chuàng)建一個窗口并設(shè)置當(dāng)前的圖形上下文(graphics context)。

        (2)Viewer:Viewer 類用于管理多個同步攝像機,他們將從多個方向渲染單一的視口。根據(jù)底層圖形系統(tǒng)的能力,Viewer 可以創(chuàng)建一個或多個自己的窗口以及圖形上下文,因此使用單一視口的程序也可以在單顯示或者多顯示的系統(tǒng)上運行。

        (3)CompositeViewer:CompositeViewer 類支持同一場景的多個視口,也支持不同場景的多個攝像機。如果指定各個視口的渲染順序,用戶就可以將某一次渲染的結(jié)果傳遞給別的視口。CompositeViewer 可以用來創(chuàng)建抬頭數(shù)字顯示(HUD),預(yù)渲染紋理(prerender textures),也可以用于在單一視口中顯示多個視圖。

        通過在控制臺窗口中設(shè)置osgViewer的命令行參數(shù)、鍵盤和鼠標指令信息、環(huán)境變量參數(shù)等,即可實現(xiàn)本系統(tǒng)的實時交互功能.

        在osg編程中,實現(xiàn)文件讀取的模塊主要是osgDB工具庫[6]??勺x寫的文件包括模型、視頻、圖像以及文檔等。模型數(shù)據(jù)可以用節(jié)點類(Node)來表達,在本場景中已經(jīng)建立好了一個ziran.ive模型,為了將此模型文件讀入場景圖供OSG進行渲染,可以使用如下語句:

        osg::Node*node=osgDB::readNodeFile(“ziran.ive”):

        2.2 雪效仿真實現(xiàn)過程

        采用預(yù)定義粒子系統(tǒng),可以試用osgParticle類,直接加載到場景中使用,在這個場景中采用osgParticle::Precipitation這個新類來實現(xiàn)雨雪的效果。

        通過osgParticle確立粒子模板,設(shè)置粒子的基本屬性,包括粒子的大小,生命周期和變化范圍等,雪從天而降,一直到后期的消失要經(jīng)歷一個生命周期,尺寸決定了粒子大小,透明度變化范圍(AlphaRange)和顏色變化范圍(ColorRange)———透明度指光線穿透介質(zhì)的程度.粒子的透明度和顏色隨著時間變化在設(shè)定范圍內(nèi)發(fā)生變化。通過osgParticle:: ParticleSystem生成粒子系統(tǒng)實例,利用函數(shù)setDefaultAttibutes生成粒子的材質(zhì)(Texturefile),本場景采用貼圖進行渲染,質(zhì)量和粒子半徑?jīng)Q定了粒子的物理屬性,粒子參數(shù)設(shè)置表如下 :

        同時定義一個發(fā)射器,模擬發(fā)射器由osgParticle::ModularEmitter創(chuàng)建。在本場景中由于雪是從天空向下飄,所以放置器的角度是在場景的一定高度,扇面放置器(SectorPlacer)所有粒子由設(shè)定中心(Center)、角度范圍(PhiRange)、半徑范圍(RadiusRange)的扇面產(chǎn)生發(fā)射一個的范圍,發(fā)射器發(fā)射速度不易太快在添加雪效是設(shè)置為(50,200),在添加雨效時,速度要適當(dāng)改變,每秒鐘粒子添加粒子個數(shù)范圍為線性插值介于最大值maxvalue和最小值minvalue之間,在本場景中設(shè)置為(100,300)。粒子在下落過程中會收到重力加速度影響,重力加速度對粒子的生命周期影響意義重大,可增加粒子效果的真實感,在本例中使用重力加速度默認為0.80665f。定義發(fā)射器參數(shù)設(shè)置如下表2:以上是設(shè)置好的粒子系統(tǒng)的各項參數(shù),把設(shè)置好的粒子系統(tǒng)添加到粒子更新器中,并且要添加到建立好的模型場景中,通過2.1粒子系統(tǒng)場景加載渲染技術(shù),把場景加入根節(jié)點進行渲染,得到真實的雪效,雖然自定義的粒子系統(tǒng)編程較復(fù)雜,但是效果也很逼真。同樣的方法可以實現(xiàn)雨效,只需要改變相關(guān)參數(shù),發(fā)射器的發(fā)射速度值和雨的濃度同樣可以仿真現(xiàn)實中的雨效。

        3 實驗結(jié)果

        本文是在CPU為Inter(R)Pentium(R) Dual Core E5500 1.80 GHz、內(nèi)存為DDR2G、顯卡為英特爾 GMA 4500(M)(HD)集成顯卡配置的PC機上進行運行模擬的。顯示器的垂直刷新率為60Hz,可以保證渲染圖像顯示跟屏幕更新保持同步。仿真效果圖1雪效,圖2雨效。

        4 小結(jié)

        利用軟件開發(fā)環(huán)境完成基于粒子系統(tǒng)搭建與仿真,OSG粒子系統(tǒng)可以很好的模仿現(xiàn)實自然想象,OSG中自定義粒子系統(tǒng)各項參數(shù)的不同設(shè)定能得到不同狀態(tài)下的雨雪效果,實驗結(jié)果表明利用粒子系統(tǒng)可以很好地實現(xiàn)場景粒子特效,增強了虛擬現(xiàn)實逼真度,并具有很高的實時性。

        參考文獻:

        [1]Martz P.Open scene graph quick start guide [M/OL].NewYork:Skew Matrix Software LLC,2007.

        [2]王乘,李利軍,周均清.Vega實時三維視景仿真技術(shù)[M].武漢:華中科技大學(xué)出版社,2005:83218.

        [3]楊述華,廖守億,王仕成,等.基于粒子系統(tǒng)和 Vega的實時雨雪模擬[J].計算機應(yīng)用,2008,28(6):238 240.

        [4]劉巧紅,單貴.粒子系統(tǒng)在虛擬校園中的應(yīng)用研究.計算機技術(shù)與發(fā)展,21(2).

        [5]施潤尼徐波編程指南北京:機械工業(yè)出版社,2008,08.

        [6]張小輝.虛擬交通場景中的雨雪仿真[D].西南交通大學(xué)碩士論文,2010:3537.

        作者簡介:張慧(1980),女,河南登封人,中山大學(xué)工程碩士,現(xiàn)在在廣東財經(jīng)大學(xué)三水校區(qū)技術(shù)中心分中心工作。

        猜你喜歡
        粒子系統(tǒng)
        利用GPU加速的粒子系統(tǒng)全球流場可視化系統(tǒng)設(shè)計與實現(xiàn)
        基于OpenGL 的視頻特效粒子系統(tǒng)在MAYA 中的實現(xiàn)
        UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
        基于Unity3D的水波漣漪仿真模擬
        基于Unity3D粒子系統(tǒng)的消防水槍流體噴射仿真研究
        基于OpenGL噴泉粒子系統(tǒng)設(shè)計與實現(xiàn)
        科技視界(2016年11期)2016-05-23 10:00:55
        基于粒子系統(tǒng)的交互式葉脈生成
        軟件工程(2014年4期)2014-09-24 20:03:13
        粒子系統(tǒng)在航海應(yīng)用上的展望*
        基于Unity3D和粒子系統(tǒng)的冶金仿真特效模擬
        基于粒子系統(tǒng)的建模與仿真綜述
        亚洲97成人在线视频| 久久免费观看国产精品| 中文字幕一区二区网站| 狼狼色丁香久久女婷婷综合| 久久久久久久亚洲av无码| 成年无码av片完整版| 青青草视频华人绿色在线| 麻豆国产精品伦理视频| 亚洲av无码专区国产不卡顿| 亚洲国产激情一区二区三区| 中文乱码字幕高清在线观看| 亚洲国产av高清一区二区三区| 久久亚洲精品情侣| 婷婷成人基地| 欧美综合自拍亚洲综合百度| 久久精品中文字幕有码| 久久久久亚洲av成人无码 | 精品国产免费Av无码久久久| 好看的国内自拍三级网站| 国产精品亚洲专区无码不卡| 国产欧美日韩久久久久| 97久久综合区小说区图片专区| 精品亚洲一区二区三区在线播放| 特黄aaaaaaaaa毛片免费视频| 青青青国产精品一区二区| 亚洲免费不卡av网站| 夜晚黄色福利国产精品| 天干天干天啪啪夜爽爽av| 91视频爱爱| 国产一区二区三区护士| 中文字幕乱码高清完整版| 日本丶国产丶欧美色综合| 亚洲av网站首页在线观看| 国产精品一区二区日本| 久久人人爽人人爽人人av| 日韩亚洲欧美精品| 中国男男女在线免费av| 色一情一区二区三区四区| 欧美人成在线播放网站免费| 有码视频一区二区三区| 2020无码专区人妻系列日韩|