火焰粒子系統(tǒng)opengl

火焰粒子系統(tǒng)opengl

ID:22816498

大?。?40.27 KB

頁數(shù):32頁

時(shí)間:2018-10-31

火焰粒子系統(tǒng)opengl_第1頁
火焰粒子系統(tǒng)opengl_第2頁
火焰粒子系統(tǒng)opengl_第3頁
火焰粒子系統(tǒng)opengl_第4頁
火焰粒子系統(tǒng)opengl_第5頁
資源描述:

《火焰粒子系統(tǒng)opengl》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、課程設(shè)計(jì)報(bào)告題@系(部)專業(yè)班級學(xué)生姓名學(xué)號基于的粒子系統(tǒng)起止時(shí)間:指導(dǎo)教師(簽字)系主任(簽字)提交時(shí)間:一、設(shè)計(jì)任務(wù)及要求:設(shè)計(jì)任務(wù):要求:此次課程設(shè)計(jì)的課題為通過編程,實(shí)現(xiàn)火焰的繪制。實(shí)現(xiàn)交互控制火焰顏色、火焰燃燒方向、貼圖形狀,通過實(shí)驗(yàn)得到火焰貼圖大小與火焰效果的關(guān)系,并給出代碼和結(jié)果截圖。指導(dǎo)教師簽名:年月日二、指導(dǎo)教師評語:指導(dǎo)教師簽名:年月曰三、成績計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)報(bào)告1.課程設(shè)計(jì)目的本學(xué)期系統(tǒng)學(xué)習(xí)了《計(jì)算機(jī)閣形學(xué)》這門專業(yè)課,在學(xué)期期末按課程耍求進(jìn)行實(shí)驗(yàn)。粒子系統(tǒng)由Reeves

2、于1983年首次提出,此后越來越受到重視,它的主要優(yōu)點(diǎn)是可以利用非常簡單的體素來構(gòu)造復(fù)雜的物體,為自然現(xiàn)象(如火焰、雨、雪、樹林等)的造型提供了強(qiáng)有力的技術(shù)手段。該課程設(shè)計(jì)以培養(yǎng)我們算法設(shè)計(jì)與實(shí)現(xiàn)的能力為目標(biāo),通過實(shí)踐,使我們了解、掌握計(jì)算機(jī)圖形學(xué)的基本知識和關(guān)鍵技術(shù)、了解和熟悉計(jì)算機(jī)圖形學(xué)的方法、工具和環(huán)境,同時(shí)培養(yǎng)我們的思維能力和團(tuán)隊(duì)合作能力。2.課程設(shè)計(jì)描述及要求粒子系統(tǒng)的基本思想是用許多形狀簡單且賦予生命的微小粒子作為基本元素來表示基本物體,側(cè)重于物體的總體形態(tài)和特征的動(dòng)態(tài)變化。把物體定義

3、為許多不規(guī)則、隨機(jī)分布的粒子,且每個(gè)粒子均有一定的生命周期。隨著時(shí)間的推移,舊的粒子不斷消失(死亡),新的粒子不斷加入(生長)。粒子的這種出生、成長、衰老、死亡的過程,能夠較好的反應(yīng)模糊物體的動(dòng)態(tài)特征。一個(gè)粒子系統(tǒng)是不斷進(jìn)化的,在生命周期的每-刻,都要完成以下四步:初始化粒子更新粒子刪除死粒子繪制粒子第一步產(chǎn)生5000個(gè)新粒子,他們的每個(gè)粒子都有生命周期為2;第二步根據(jù)情況更新,遞減一個(gè)隨機(jī)的時(shí)間步;第三步檢查粒子的生命期,若為零,則將粒子從系統(tǒng)中刪除;第四步顯示粒子系統(tǒng)中的粒子。要求:此次課程設(shè)

4、計(jì)的課題為通過編程,實(shí)現(xiàn)火焰的繪制。實(shí)現(xiàn)交互控制火焰顏色、火焰燃燒方向、貼圖形狀,通過實(shí)驗(yàn)得到火焰貼圖大小與火焰效果的關(guān)系,并給出代碼和結(jié)果截圖。3.系統(tǒng)開發(fā)環(huán)境開發(fā)工具:VC6.0操作系統(tǒng):MicrosoftWindows71.粒子系統(tǒng)(火焰)的算法原理4.1定義粒子的屬性宏定義粒子的最大數(shù)R5000,并定義結(jié)構(gòu)體來設(shè)置粒子屬性,代碼如丁:#defineMAX_PARTICLES5000//粒子數(shù)的數(shù)目typedefstructf//創(chuàng)建結(jié)構(gòu)體boolactive;//floatlife;//粒

5、子生命周期floatfade;//消失的速度floatr;floatg;floatb;floatx;//坐標(biāo)floaty;//坐標(biāo)floatZ;//坐標(biāo)floatxi;floatyi;floatzi;floatxg;//X軸加速度floatyg;//Y軸加速度floatZg;//Z軸加速度}particles;particlesparticle[MAX_PARTICLES];//創(chuàng)建粒子數(shù)組4.2初始化粒子利用循環(huán)變量loop,loop小于等于最大粒子數(shù)目時(shí),則初始化每一個(gè)粒子,代碼如下:for(

6、loop=0;loop

7、loop

8、.active=true;particlefloop].life=2.0f;//生命期particle[loop].fade=float(rand()%l00)/1500.0f+0.002f;"消失速度(隨機(jī))particle[loop].r=colors[loop*(4/MAX_PARTICLES)][0];particle[loop].g=colors[loop*(4/MAX_PARTICLES)]

9、[1];particle)loop1.b=colors[loop*(4/MAX.PARTICLES)][2];particle[Ioop].xg=O.Of;particle[loop].yg=0.3f;particle[loop].zg=0.0f;}4.3粒子消失的過程(1)定義消失變量,使粒子的生命期遞減一個(gè)隨機(jī)的生命步,代碼如下:particle[loop].fade=float(rand()%l00)/1500.0f+0.002f;(2)粒子的顏色透明度隨著生命期的減少而降低,最終消失,代碼

10、如丁:glColor4f(particle

11、loop

12、.r,particle

13、loop

14、.g,particle

15、loop

16、.b,particle

17、loop

18、.life);4.4繪制及更新粒子(1)設(shè)置粒子的運(yùn)動(dòng)狀態(tài),代碼如下:particle[loop].x+=particle[loop].xi/(slowdown*1050);//X的坐標(biāo)隨X軸速度變化particle[loop].y+二particle[loop],yi/(slowdown本1050);particle[loop

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。