基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁
基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁
基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁
基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁
基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、(此文檔為word格式,下載后您可任意編輯修改!)西 南 交 通 大 學(xué)本科畢業(yè)實(shí)習(xí)軟件工程文檔基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)年 級(jí): 專 業(yè): 計(jì)算機(jī)軟件指導(dǎo)教師: 小組成員: 2021 年 1 月院 系 軟件學(xué)院 專 業(yè) 計(jì)算機(jī)軟件 題 目 基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 小組成員 指導(dǎo)教師評(píng)語: 指導(dǎo)教師 (簽章)成 績 辯論委員會(huì)主任 (簽章) 年 月 日畢業(yè)實(shí)習(xí)任務(wù)書學(xué)號(hào)姓名班級(jí)學(xué)號(hào)姓名班級(jí)學(xué)號(hào)姓名班級(jí)學(xué)號(hào)姓名班級(jí)發(fā)題日期2010 年 9 月 6 日完成日期2011 年 12 月 31 日題目基于OpenGL的雪粒子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)實(shí)習(xí)目標(biāo)、任務(wù)及主要內(nèi)容采用常規(guī)的曲面

2、來表達(dá)焰火、云、煙等非常不規(guī)那么的自然界形體是很困難的事情,這些自然界形體外觀形狀極其不規(guī)那么,常常帶有很大的隨機(jī)性,并可能不斷發(fā)生變化,而粒子系統(tǒng)可以對樹、云、火焰等進(jìn)行動(dòng)態(tài)建模和繪制。粒子系統(tǒng)是一種隨機(jī)模型,它用大量的粒子圖元(Particle),比方小球、橢球、立方體或其它形狀來描述景物,每個(gè)粒子的位置、取向及動(dòng)力學(xué)性質(zhì)都是由一組預(yù)先定義好的隨機(jī)過程來說明。 本畢業(yè)實(shí)習(xí)擬將粒子系統(tǒng)的關(guān)鍵方法和OpenGL紋理映射技術(shù)相結(jié)合,利用粒子系統(tǒng)對雪粒子的屬性和運(yùn)動(dòng)特征進(jìn)行建模,再利用紋理映射技術(shù)顯示計(jì)算得到的每個(gè)雪粒子從而實(shí)現(xiàn)對雪粒子的繪制,系統(tǒng)可比擬真實(shí)地模擬降雪現(xiàn)象。技術(shù)路線VC+,Open

3、GL指導(dǎo)教師提供的資料1、計(jì)算機(jī)圖形學(xué)相關(guān)參考資料; 2、粒子系統(tǒng)相關(guān)參考資料; 3、OpenGL相關(guān)參考資料。應(yīng)提交的最終成果1系統(tǒng)分析設(shè)計(jì)文檔包括需求報(bào)告、概要設(shè)計(jì)報(bào)告、詳細(xì)設(shè)計(jì)報(bào)告; 2畢業(yè)實(shí)習(xí)論文、程序清單,以及演示光盤。進(jìn)度安排共16周階段周數(shù)任務(wù)應(yīng)提交的成果一6查閱資料,學(xué)習(xí)掌握計(jì)算機(jī)圖形、粒子系統(tǒng)技術(shù)及OpenGL實(shí)習(xí)日志二4系統(tǒng)分析設(shè)計(jì)相關(guān)軟件工程文檔三4系統(tǒng)實(shí)現(xiàn)及調(diào)試實(shí)現(xiàn)功能需求的可運(yùn)行系統(tǒng)四2撰寫實(shí)習(xí)文檔,評(píng)閱和辯論標(biāo)準(zhǔn)的畢業(yè)實(shí)習(xí)文檔五指導(dǎo)教師簽字 20 年 月 日學(xué)院專家組審核意見審批人簽字:20 年 月 日 目錄TOC o 1-3 h u 一、需求分析報(bào)告61 引言61

4、.1 編寫目的71.2 開發(fā)目的及意義71.3 預(yù)期讀者和閱讀建議91.4 OPenGL 工作渲染流程102 系統(tǒng)功能需求122.1 系統(tǒng)功能122.2 設(shè)計(jì)和實(shí)現(xiàn)上的限制123 外部接口與運(yùn)行環(huán)境需求133.1 用戶界面133.2 運(yùn)行環(huán)境134 其它非功能需求134.1 性能需求134.2 用戶文檔13二、概要設(shè)計(jì)報(bào)告141 引言141.1 編寫目的141.2 預(yù)期讀者和閱讀建議152 設(shè)計(jì)概述152.1 設(shè)計(jì)原那么和設(shè)計(jì)要求152.2 開發(fā)環(huán)境與平臺(tái)163 系統(tǒng)邏輯設(shè)計(jì)163.1 系統(tǒng)架構(gòu)圖163.2系統(tǒng)處理流程174 系統(tǒng)出錯(cuò)處理設(shè)計(jì)18三、詳細(xì)設(shè)計(jì)報(bào)告191引言191.1 編寫目的1

5、91.2 預(yù)期讀者和閱讀建議202 系統(tǒng)詳細(xì)設(shè)計(jì)20四、軟件測試報(bào)告261 引言261.1 目的262 測試條件263 測試方案263.1 人員方案263.2 進(jìn)度方案264 總體測試方案265 系統(tǒng)測試內(nèi)容275.1 系統(tǒng)測試任務(wù)277 性能測試內(nèi)容28五、用戶操作手冊291引言291.1 編寫目的291.2 預(yù)期讀者和閱讀建議302 軟件概述302.1 功能302.2 性能303 運(yùn)行環(huán)境303.1 硬件303.2 支持軟件314 使用說明314.1 安裝和初始化314.2 主要功能使用舉例314.3 出錯(cuò)和恢復(fù)315.用戶操作手冊31六、工程開發(fā)總結(jié)報(bào)告32七、參考文獻(xiàn)33一、需求分析報(bào)

6、告1 引言在虛擬場景中,自然景物的模擬一直是計(jì)算機(jī)圖形學(xué)領(lǐng)域中的熱點(diǎn)研究內(nèi)容。噴泉、瀑布、火焰、水流、雨、雪等自然景物與傳統(tǒng)的規(guī)那么幾何物體不同,它們擁有大量的細(xì)節(jié)信息和形狀的隨機(jī)變化。因此,這些自然景物的模擬相比照擬困難,需要借助粒子系統(tǒng)建模使其充分體現(xiàn)自然景觀中模糊物體的隨機(jī)性和動(dòng)態(tài)性,以便到達(dá)良好的模擬效果。粒子系統(tǒng)理論經(jīng)歷多年的開展和完善,已被廣泛應(yīng)用于虛擬現(xiàn)實(shí)、三維仿真、游戲開發(fā)、電影特效、可視化等領(lǐng)域。本文結(jié)合這一實(shí)際情況,以前人的研究工作為背景和根底,以真實(shí)感和系統(tǒng)實(shí)時(shí)性以及友好的人機(jī)交互性為目標(biāo),在深入分析粒子系統(tǒng)理論根底上,結(jié)合Windows 7操作系統(tǒng)和Microsoft

7、VC+編譯環(huán)境為開發(fā)平臺(tái),基于OpenGL圖形庫設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)用于自然景物模擬的粒子特效系統(tǒng),完成了雪花場景模擬。主要工作如下:(1) 深入研究粒子系統(tǒng)理論及其應(yīng)用,詳細(xì)分析粒子系統(tǒng)的基本原理,總結(jié)粒子系統(tǒng)根本模型、粒子系統(tǒng)通用結(jié)構(gòu)和粒子系統(tǒng)的算法框架。(2) 簡化雪景的數(shù)學(xué)模型,總結(jié)出雪粒子系統(tǒng)模型。(3) 設(shè)計(jì)并實(shí)現(xiàn)一個(gè)用于常見自然景物模擬的粒子特效系統(tǒng)。(4) 通過模擬雪花場景驗(yàn)證系統(tǒng)的有效性和實(shí)時(shí)性。1.1 編寫目的雪花粒子系統(tǒng),這款軟件是利用了最新的OPenGL語言進(jìn)行編寫,OPenGL可以說是一款很新,很實(shí)用的語言,他完全實(shí)現(xiàn)了面向?qū)ο蟮拈_發(fā)環(huán)境,遵循 C+的環(huán)境的編程語言。它在

8、雪花粒子系統(tǒng)中實(shí)現(xiàn)交互性、數(shù)據(jù)處理以及其他功能。這份文檔的編寫目的既是為了明確本系統(tǒng)開發(fā)過程中所有既定設(shè)計(jì)問題,也是為了幫助開發(fā)人員在開發(fā)過程中保證工作效率和系統(tǒng)內(nèi)容與設(shè)計(jì)者意圖一致。這份文檔將對系統(tǒng)進(jìn)行詳細(xì)的說明,致力于使閱讀者和用戶能通過該文檔對整個(gè)雪花粒子系統(tǒng)有一個(gè)全面的了解。1.2 開發(fā)目的及意義虛擬現(xiàn)實(shí)技術(shù)是當(dāng)今計(jì)算機(jī)信息科學(xué)領(lǐng)域中研究的熱門方向之一,虛擬場景是虛擬現(xiàn)實(shí)系統(tǒng)中重要的組成局部,在虛擬場景模擬生活中的自然景物一直是計(jì)算機(jī)圖形學(xué)領(lǐng)域中的研究內(nèi)容。在虛擬場景的研究中,傳統(tǒng)的建模方法一般只適用于外形比擬規(guī)那么的形體,對于雨、雪瀑布、噴泉等沒有固定形狀,甚至隨著外部環(huán)境或者其他因

9、素的改變而改變的物質(zhì)建模,傳統(tǒng)的方法就無能為力了。1983年,William T. Reeves提出使用粒子系統(tǒng)的方法來模擬這些模糊物體,這一難題才迎刃而解。粒子系統(tǒng)使用根本的簡單質(zhì)點(diǎn)來構(gòu)建模型,代替了以前使用三角形甚至適用曲線來定義物體的方法。粒子系統(tǒng)中的每個(gè)粒子都擁有自己的屬性,如位置、顏色、形狀或大小等,這些屬性可以隨著時(shí)間隨機(jī)的變化,從而形成由大量粒子構(gòu)成的物質(zhì)模型的整體形態(tài)和特征以及細(xì)節(jié)的動(dòng)態(tài)變化。粒子系統(tǒng)能充分表達(dá)出不規(guī)那么模糊物體的隨機(jī)性和動(dòng)態(tài)性,主要優(yōu)點(diǎn)是可以利用非常簡單的元素來構(gòu)造復(fù)雜的物體,它為雨、雪、噴泉、瀑布、草地等自然景觀的造型功能提供了強(qiáng)有力的技術(shù)手段。因此,粒子系

10、統(tǒng)被廣泛應(yīng)用于計(jì)算機(jī)圖形學(xué)中不規(guī)那么物體的模擬領(lǐng)域,成為國內(nèi)外研究的熱點(diǎn)。虛擬現(xiàn)實(shí)(Virtual Reality,簡稱VR),是一種基于可計(jì)算信息的沉浸式交互環(huán)境,具體地說,就是采用以計(jì)算機(jī)技術(shù)為核心的現(xiàn)代高科技生成逼真的視、聽、觸覺一體化的特定范圍的虛擬環(huán)境,用戶借助必要的設(shè)備以自然的方式與虛擬環(huán)境中的對象進(jìn)行交互作用、相互影響,從而產(chǎn)生親臨等同真實(shí)環(huán)境的感受和體驗(yàn)。VR思想的起源可追溯到1965年Ivan Sutherland在IFIP會(huì)議上的報(bào)告,而Virtual Reality一詞是80年代初美國VPL公司的創(chuàng)立人之一Jaron Lanier提出來的。VR系統(tǒng)在假設(shè)干領(lǐng)域的成功應(yīng)用,

11、導(dǎo)致了它在90年代的興起。虛擬現(xiàn)實(shí)是高度開展的計(jì)算機(jī)技術(shù)在各種領(lǐng)域的應(yīng)用過程中的結(jié)晶和反映,不僅包括圖形學(xué)、圖像處理、模式識(shí)別、網(wǎng)絡(luò)技術(shù)、并行處理技術(shù)、人工智能等高性能計(jì)算技術(shù),而且涉及數(shù)學(xué)、物理、通信,甚至與氣象、地理、美學(xué)、心理學(xué)和社會(huì)學(xué)等相關(guān)。VR1可以應(yīng)用在商業(yè)上,創(chuàng)立虛擬商店、虛擬房地產(chǎn)漫游、建筑物可視化、虛擬旅游景點(diǎn)漫游、虛擬博物館等。例如日本就出現(xiàn)了可以幫助顧客買房、購房的虛擬現(xiàn)實(shí)效勞,在日本松下公司的“虛擬廚房里,顧客可以把自己想買的設(shè)備和餐具安置在廚房的相應(yīng)地方,看看是否合適,雖然認(rèn)識(shí)到這一切都是虛擬的,但還是會(huì)被它的那逼真的效果所迷惑,一不小心就會(huì)全身心的投入進(jìn)去,并且最終

12、買走了自己稱心的商品。虛擬現(xiàn)實(shí)技術(shù)為人們提供了一種理想的教學(xué)手段,目前己被廣泛應(yīng)用在軍事教學(xué)、體育訓(xùn)練和醫(yī)學(xué)實(shí)習(xí)中,對于第一次走上手術(shù)臺(tái)的醫(yī)生來說,通過虛擬現(xiàn)實(shí)技術(shù)的幫助,他們可以在顯示器上一遍一遍的模擬手術(shù),移動(dòng)人體內(nèi)的器官,尋找最正確手術(shù)方案,這種模擬器顯示的人體結(jié)構(gòu)可以達(dá)到亂真的程度。在航天領(lǐng)域,VR技術(shù)也大有用武之地。例如,失重是航天技術(shù)中的一個(gè)必須克服的困難,因?yàn)樵谑е厍闆r下物體的運(yùn)動(dòng)難以預(yù)測,因此為了在太空中進(jìn)行精確的操作,需要進(jìn)行長時(shí)間的仿真訓(xùn)練,以適應(yīng)失重時(shí)操作的特點(diǎn)。VR技術(shù)就是實(shí)現(xiàn)該操作的適宜的選擇。再如,美國宇航局Ames研究中心的科學(xué)家將探索的火星數(shù)據(jù)進(jìn)行處理后,得到了

13、火星的虛擬現(xiàn)實(shí)圖像,研究人員可以看到全方位的火星表面景象:高山、平川、河流、以及縱橫的溝壑里被風(fēng)化的斑斑的巨石,都顯得十分清晰逼真,而且不管你從哪個(gè)方向看這些圖,視野中的景象都會(huì)隨著你的頭的轉(zhuǎn)動(dòng)而改變,就好似真的置身于火星上漫游。隨著計(jì)算機(jī)與計(jì)算機(jī)圖形學(xué)技術(shù)的開展,仿真從最早的數(shù)字仿真,開展到了今天的可視化仿真、多媒體仿真與虛擬現(xiàn)實(shí)仿真。虛擬現(xiàn)實(shí)技術(shù)是在綜合計(jì)算機(jī)圖形技術(shù)、計(jì)算機(jī)仿真技術(shù)、傳感技術(shù)、顯示技術(shù)等多種學(xué)科技術(shù)的根底上開展起來的,是九十年代計(jì)算機(jī)領(lǐng)域的最新技術(shù)之一。它以仿真的形式給用戶創(chuàng)造一個(gè)反映實(shí)體對象變化與相互作用的三維圖形環(huán)境,通過頭盔顯示器、數(shù)據(jù)手套等輔助傳感設(shè)備,使人可以“

14、進(jìn)入這種虛擬的環(huán)境直接觀察事物的內(nèi)在變化,并與事物發(fā)生相互作用,給人一種“身臨其境的真實(shí)感??梢暬抡婕夹g(shù)的目標(biāo)是把由數(shù)值計(jì)算或?qū)嶒?yàn)獲得的大量數(shù)據(jù)按照其自身的物理背景進(jìn)行有機(jī)地結(jié)合,用圖像的方式來展示數(shù)據(jù)所表現(xiàn)的內(nèi)容和相互關(guān)系,便于把握過程的整體演進(jìn),發(fā)現(xiàn)其內(nèi)在規(guī)律,豐富科學(xué)研究的途徑,縮短研究周期。可視化仿真就是將數(shù)據(jù)結(jié)果轉(zhuǎn)換為圖形或動(dòng)畫形式,使仿真結(jié)果可視化并具有直觀性2多媒體仿真技術(shù)是指計(jì)算機(jī)綜合處理各種媒體信息,包括文字、圖形、動(dòng)畫、圖像、聲音、視頻等,在各種信息間建立邏輯連接,并集成一個(gè)有交互功能的多媒體系統(tǒng)。多媒體的本質(zhì)不僅是信息的集成,而且也是設(shè)備和軟件的集成,并通過邏輯連接形成

15、一個(gè)有機(jī)整體,又可實(shí)現(xiàn)交互控制,所以說數(shù)字化、集成性和交互性是多媒體的核心3。虛擬現(xiàn)實(shí)技術(shù)是指計(jì)算機(jī)產(chǎn)生的三維交互環(huán)境,在使用中,用戶是“投入到這個(gè)環(huán)境中去,讓用戶在人工合成的環(huán)境中獲得“進(jìn)入角色的休驗(yàn)。虛擬現(xiàn)實(shí)技術(shù)的主要內(nèi)容是:實(shí)時(shí)三維圖形生成技術(shù)、多傳感器交互技術(shù),以及高分辨顯示技術(shù)。在“需求牽引和“技術(shù)推動(dòng)下,近年來虛擬現(xiàn)實(shí)已經(jīng)取得的一些技術(shù)成果,并已集成了一些很有實(shí)用前景的應(yīng)用系統(tǒng),而且智能虛擬世界也在不斷地開展。本課題研究的主要內(nèi)容是基于Windows 7平臺(tái)和OpenGL圖形庫,利用粒子系統(tǒng)的根本理論,開發(fā)一個(gè)用于模擬下雪場景的粒子系統(tǒng)。本課題首先通過閱讀和分析大量的參考文獻(xiàn),總結(jié)

16、了粒子系統(tǒng)的根本原理和粒子系統(tǒng)的根本模型。進(jìn)而得出了粒子系統(tǒng)的通用結(jié)構(gòu),簡化了雪景的數(shù)學(xué)模型,總結(jié)出了雪景和噴泉的粒子系統(tǒng)模型?;贠penGL設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)用于自然景物模擬的3D粒子特效系統(tǒng),并完成了對雪花特效的實(shí)時(shí)模擬。1.3 預(yù)期讀者和閱讀建議本文檔是針對于系統(tǒng)使用用戶及編程人員在系統(tǒng)操作及編寫過程中可能碰見的各種問題及如何解答,由于是該項(xiàng)目是我第一次進(jìn)行實(shí)際粒子系統(tǒng)的編寫,勢必會(huì)有這樣或那樣的缺乏,因此系統(tǒng)并不一定會(huì)成為市場產(chǎn)品,我們的最初設(shè)想是將該粒子系統(tǒng)免費(fèi)發(fā)布于網(wǎng)上,作為一種網(wǎng)絡(luò)資源供后來者參考。閱讀該文檔的用戶會(huì)從該文檔中了解到系統(tǒng)開發(fā)過程中各個(gè)細(xì)節(jié),包括粒子的分心,OPen

17、GL渲染流程及各種系統(tǒng)性能的要求。對于不同的閱讀用戶我們提出了不同的建議如下:使用用戶:通過該問題了解系統(tǒng)的背景及操作方法系統(tǒng)設(shè)計(jì)人員:這是一款初學(xué)者做的雪花粒子系統(tǒng),通過這個(gè)系統(tǒng)我們可以了解粒子系統(tǒng)的創(chuàng)立流程及控制機(jī)制,系統(tǒng)信息與OPenGL的語言的響應(yīng)關(guān)系及系統(tǒng)的編寫過程中的各種細(xì)節(jié)流程,是一款不錯(cuò)的粒子系統(tǒng)使用實(shí)例。1.4 OPenGL 工作渲染流程OpenGL大多數(shù)實(shí)現(xiàn)都是使用相似的操作程序,這些處理步驟被成為OpenGL渲染流水線。如圖1-2描述了OpenGL的渲染流水線,OpenGL使用這種方法來處理數(shù)據(jù)。幾何數(shù)據(jù)(頂點(diǎn)、直線、多邊形)經(jīng)過求值程序和頂點(diǎn)操作,而像素?cái)?shù)據(jù)(像素、圖形

18、和位圖) 的處理過程與此不同。但最后這兩種輸將將經(jīng)過相同的處理步驟光柵化和片元操作,然后得到的像素?cái)?shù)據(jù)被寫入到幀緩存中。圖1-1 OpenGL在Windows環(huán)境中的工作過程圖1-2 OpenGL渲染流水線(1) 顯示列表顯示列表可以儲(chǔ)存幾何數(shù)據(jù)和像素?cái)?shù)據(jù),等到執(zhí)行顯示列表時(shí)再一并將數(shù)據(jù)發(fā)送出去,我們稱之為間接模式。也可以立即對數(shù)據(jù)進(jìn)行相應(yīng)的操作和處理,這種處理模式為直接模式。顯示列表在被執(zhí)行時(shí),就像應(yīng)用程序中的直接模式發(fā)送一樣,顯示列表中存儲(chǔ)的數(shù)據(jù)被發(fā)送出去。(2) 求值程序求值程序提供了一種根絕控制點(diǎn)導(dǎo)出描述曲面的頂點(diǎn)的叫多項(xiàng)式映射(Polynomial Mapping)的方法,可以根據(jù)控

19、制點(diǎn)生成紋理坐標(biāo)、顏色值和空間坐標(biāo)值。(3) 頂點(diǎn)操作頂點(diǎn)操作主要負(fù)責(zé)將頂點(diǎn)轉(zhuǎn)換成圖元,對頂點(diǎn)數(shù)據(jù)進(jìn)行矩陣變換。假設(shè)使用了紋理映射,將執(zhí)行紋理坐標(biāo)生成并對紋理坐標(biāo)進(jìn)行變換。假設(shè)啟用光照功能,將執(zhí)行光照計(jì)算,根據(jù)變換后的頂點(diǎn)、面法線和其他光照信息計(jì)算顏色值。(4) 圖元裝配圖元裝配的主要任務(wù)是刪除集合體中位于半空間之外的部分,半空間由一個(gè)平面定義。(5) 像素操作像素操作主要執(zhí)行像素縮放、偏移、映射和截取等操作,然后將其封裝成適宜的格式,存儲(chǔ)到內(nèi)存中。(6) 紋理裝配OpenGL實(shí)現(xiàn)可能有提高紋理映射性能的專有資源,這種情況下酒需要設(shè)置紋理對象的優(yōu)先級(jí)以控制使用這種珍貴而有限的資源。(7) 光柵

20、化光柵化是將幾何數(shù)據(jù)和像素?cái)?shù)據(jù)轉(zhuǎn)換為片元。每個(gè)片元都對應(yīng)用于幀緩存中的一個(gè)像素。將頂點(diǎn)接成直線或者計(jì)算機(jī)填充多邊形內(nèi)部像素時(shí),需要考慮直線和多邊形的點(diǎn)畫模式、線寬、點(diǎn)的大小、著色模型機(jī)用于支持反走樣的覆蓋率計(jì)算。這個(gè)階段確定了每個(gè)片元的顏色和深度值。(9) 片元操作將片元值寫入幀緩存之前,將執(zhí)行一系列的操作,他們可能修改甚至丟棄片元。第一個(gè)操作可以是紋理映射,接下來執(zhí)行霧計(jì)算,然后是裁剪測試、alpha測試、模板測試和深度測試,之后執(zhí)行混合、抖動(dòng)、邏輯運(yùn)算和屏蔽。最后,經(jīng)過處理后的片元被繪制到適宜的幀緩存,變成像素。2 系統(tǒng)功能需求粒子系統(tǒng)理論已廣泛應(yīng)用于虛擬現(xiàn)實(shí)、游戲開發(fā)、電影特效、可視化等

21、領(lǐng)域。粒子系統(tǒng)主要用于模擬火焰、煙火等的動(dòng)態(tài)效果,光影、閃電等的特效,雪景、雨景等的降落過程,液體、氣體的流動(dòng)過程等。本課題研究的3D特效粒子系統(tǒng)主要用于常見自然景物雪花、噴泉的模擬,需要具備以下幾點(diǎn)特性:(1) 場景逼真性真實(shí)感和逼真性是三維物體建模和自然景物模擬最根本和重要的特性,也是該系統(tǒng)的最根本要求。(2) 系統(tǒng)實(shí)時(shí)性由于第一個(gè)需求的存在,粒子模擬中想要得到真實(shí)度較高的渲染效果,勢必愛來大量粒子在場景中存在的情況。如此帶來了系統(tǒng)渲染效率的負(fù)擔(dān)。因?yàn)橹挥懈咝阅艿挠?jì)算,低消耗的內(nèi)存,高效的處理才能連貫,逼真的模擬隨機(jī)、動(dòng)態(tài)變化的自然景物。(3) 用戶交互性粒子系統(tǒng)中任一參數(shù)的改變都將可能對

22、最終的粒子模擬效果產(chǎn)生極大的影響,同時(shí)由于粒子系統(tǒng)的特殊性,存在眾多的參數(shù)設(shè)置,用戶往往不能在預(yù)操作時(shí)期一次性的通過參數(shù)設(shè)置是模擬效果到達(dá)所需的最正確狀態(tài)。因此,在系統(tǒng)的總體設(shè)計(jì)中我們需要充分的考慮人機(jī)之間的良好交互性。2.1 系統(tǒng)功能本系統(tǒng)的功能主要包括:背景音樂、雪花種類更換、雪花下降速度控制、雪花前后左右飄動(dòng)控制、雪花粒子數(shù)量設(shè)置、雪花粒子大小設(shè)置等。2.2 設(shè)計(jì)和實(shí)現(xiàn)上的限制由于現(xiàn)階段使用電腦的運(yùn)行速度和內(nèi)存等問題,本系統(tǒng)只能盡量模仿雪花效果,不能完全達(dá)到真實(shí)環(huán)境中的粒子數(shù)量.3 外部接口與運(yùn)行環(huán)境需求運(yùn)行環(huán)境需要在支持OPenGL的電腦上運(yùn)行,需要進(jìn)行OPenGL環(huán)境配置.3.1 用

23、戶界面用戶運(yùn)行系統(tǒng)程序以后,直接是可以看到的夜色背景,然后雪花從上面象下雪一樣往下降,沒有按鈕,用戶通過鍵盤進(jìn)行控制。3.2 運(yùn)行環(huán)境硬件:PC機(jī),P4 1.7G以上,512M內(nèi)存,40G硬盤,支持OPenGL的獨(dú)立顯卡或圖軟件:Windows 7,如需調(diào)試,需要對系統(tǒng)環(huán)境進(jìn)行OPenGL的配置4 其它非功能需求本系統(tǒng),只對特定的鍵位進(jìn)行響應(yīng),對按下其他鍵位,系統(tǒng)將不作出任何反響。在輸入數(shù)據(jù)的地方,有提示輸入范圍,如果輸入超出特定范圍,將提示錯(cuò)誤并重新輸入。4.1 性能需求存儲(chǔ)器,因?yàn)榱W訑?shù)量多,所以內(nèi)存和顯存需求較大。磁盤空間,只需要10MB即可進(jìn)行運(yùn)行。因?yàn)槊總€(gè)粒子都是單獨(dú)的處理并加以計(jì)算

24、,所以CPU和GPU運(yùn)算速度需求較大。4.2 用戶文檔安裝指南,紙質(zhì)文檔;用戶手冊,紙質(zhì)文檔;在線幫助;相關(guān)電子文檔,與軟件產(chǎn)品一同分發(fā)、配置。二、概要設(shè)計(jì)報(bào)告1 引言引言是對這份軟件系統(tǒng)概要設(shè)計(jì)報(bào)告的概覽,是為了幫助閱讀者了解這份文檔是如何編寫的,并且應(yīng)該如何閱讀、理解和解釋這份文檔。在虛擬場景中,自然景物的模擬一直是計(jì)算機(jī)圖形學(xué)領(lǐng)域中的熱點(diǎn)研究內(nèi)容。噴泉、瀑布、火焰、水流、雨、雪等自然景物與傳統(tǒng)的規(guī)那么幾何物體不同,它們擁有大量的細(xì)節(jié)信息和形狀的隨機(jī)變化。因此,這些自然景物的模擬相比照擬困難,需要借助粒子系統(tǒng)建模使其充分體現(xiàn)自然景觀中模糊物體的隨機(jī)性和動(dòng)態(tài)性,以便到達(dá)良好的模擬效果。粒子系

25、統(tǒng)理論經(jīng)歷多年的開展和完善,已被廣泛應(yīng)用于虛擬現(xiàn)實(shí)、三維仿真、游戲開發(fā)、電影特效、可視化等領(lǐng)域。本文結(jié)合這一實(shí)際情況,以前人的研究工作為背景和根底,以真實(shí)感和系統(tǒng)實(shí)時(shí)性以及友好的人機(jī)交互性為目標(biāo),在深入分析粒子系統(tǒng)理論根底上,結(jié)合Windows 7操作系統(tǒng)和Microsoft VC+編譯環(huán)境為開發(fā)平臺(tái),基于OpenGL圖形庫設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)用于自然景物模擬的粒子特效系統(tǒng),完成了雪花場景模擬。主要工作如下:(1) 深入研究粒子系統(tǒng)理論及其應(yīng)用,詳細(xì)分析粒子系統(tǒng)的基本原理,總結(jié)粒子系統(tǒng)根本模型、粒子系統(tǒng)通用結(jié)構(gòu)和粒子系統(tǒng)的算法框架。(2) 簡化雪景的數(shù)學(xué)模型,總結(jié)出雪粒子系統(tǒng)模型。(3) 設(shè)計(jì)并實(shí)

26、現(xiàn)一個(gè)用于常見自然景物模擬的粒子特效系統(tǒng)。(4) 通過模擬雪花場景驗(yàn)證系統(tǒng)的有效性和實(shí)時(shí)性。1.1 編寫目的雪花粒子系統(tǒng),這款軟件是利用了最新的OPenGL語言進(jìn)行編寫,OPenGL可以說是一款很新,很實(shí)用的語言,他完全實(shí)現(xiàn)了面向?qū)ο蟮拈_發(fā)環(huán)境,遵循 C+的環(huán)境的編程語言。它在雪花粒子系統(tǒng)中實(shí)現(xiàn)交互性、數(shù)據(jù)處理以及其他功能。這份文檔的編寫目的既是為了明確本系統(tǒng)開發(fā)過程中所有既定設(shè)計(jì)問題,也是為了幫助開發(fā)人員在開發(fā)過程中保證工作效率和系統(tǒng)內(nèi)容與設(shè)計(jì)者意圖一致。這份文檔將對系統(tǒng)進(jìn)行詳細(xì)的說明,致力于使閱讀者和用戶能通過該文檔對整個(gè)雪花粒子系統(tǒng)有一個(gè)全面的了解。1.2 預(yù)期讀者和閱讀建議本文檔是針對

27、于系統(tǒng)使用用戶及編程人員在系統(tǒng)操作及編寫過程中可能碰見的各種問題及如何解答,由于是該項(xiàng)目是我第一次進(jìn)行實(shí)際粒子系統(tǒng)的編寫,勢必會(huì)有這樣或那樣的缺乏,因此系統(tǒng)并不一定會(huì)成為市場產(chǎn)品,我們的最初設(shè)想是將該粒子系統(tǒng)免費(fèi)發(fā)布于網(wǎng)上,作為一種網(wǎng)絡(luò)資源供后來者參考。閱讀該文檔的用戶會(huì)從該文檔中了解到系統(tǒng)開發(fā)過程中各個(gè)細(xì)節(jié),包括粒子的分心,OPenGL渲染流程及各種系統(tǒng)性能的要求。對于不同的閱讀用戶我們提出了不同的建議如下:使用用戶:通過該問題了解系統(tǒng)的背景及操作方法系統(tǒng)設(shè)計(jì)人員:這是一款初學(xué)者做的雪花粒子系統(tǒng),通過這個(gè)系統(tǒng)我們可以了解粒子系統(tǒng)的創(chuàng)立流程及控制機(jī)制,系統(tǒng)信息與OPenGL的語言的響應(yīng)關(guān)系及系

28、統(tǒng)的編寫過程中的各種細(xì)節(jié)流程,是一款不錯(cuò)的粒子系統(tǒng)使用實(shí)例。2 設(shè)計(jì)概述本課題研究的主要內(nèi)容是基于Windows 7平臺(tái)和OpenGL圖形庫,利用粒子系統(tǒng)的根本理論,開發(fā)一個(gè)用于模擬下雪場景的粒子系統(tǒng)。本課題首先通過閱讀和分析大量的參考文獻(xiàn),總結(jié)了粒子系統(tǒng)的根本原理和粒子系統(tǒng)的根本模型。進(jìn)而得出了粒子系統(tǒng)的通用結(jié)構(gòu),簡化了雪景的數(shù)學(xué)模型,總結(jié)出了雪景和噴泉的粒子系統(tǒng)模型。基于OpenGL設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)用于自然景物模擬的3D粒子特效系統(tǒng),并完成了對雪花特效的實(shí)時(shí)模擬。2.1 設(shè)計(jì)原那么和設(shè)計(jì)要求命名規(guī)那么:在該系統(tǒng)的設(shè)計(jì)過程中會(huì)出現(xiàn)的需要命名的內(nèi)容包括工程文檔、類、場景元素,整體工程為“MyS

29、now,各個(gè)類根據(jù)不同場景不同功能以最簡單英文進(jìn)行命名。邊界設(shè)計(jì)原那么:整個(gè)工程有數(shù)值的輸入與輸出要求,針對這種情況設(shè)定數(shù)值邊界為正整數(shù)。系統(tǒng)易操作性要求:在整個(gè)系統(tǒng)的設(shè)計(jì)過程中,各個(gè)環(huán)節(jié)都應(yīng)該著重突出簡單的操作提示,從而保證用戶在使用系統(tǒng)的過程中操作簡便和順暢。系統(tǒng)可維護(hù)性要求:.對各個(gè)模塊的相對獨(dú)立設(shè)計(jì)保證系統(tǒng)修改時(shí)對整體的改動(dòng)盡量減小。2.2 開發(fā)環(huán)境與平臺(tái) 硬件平臺(tái) PC機(jī),P4 1.7G以上,512M內(nèi)存,40G硬盤,支持OPenGL的獨(dú)立顯卡或圖 軟件平臺(tái)操作系統(tǒng)為Windows 7操作系統(tǒng),編譯程序?yàn)閂C+2021,編譯環(huán)境:需要對系統(tǒng)進(jìn)行OPenGL的配置。具體配置方法如下:1

30、glut是一個(gè)win32 dynamic lib,先下載glutdlls37beta.zip。2解壓后把glut32.dll放到 windows system目錄下。3 另建目錄,如 E:glut,再在E:glut下面建E:glutincludegl,把頭文件glut.)、顏色(Color)、透明度(Alpha)、速度(Velocity)等。并且這些粒子都要經(jīng)過“產(chǎn)生(Generation)、“運(yùn)動(dòng)變化(Dynamics)和“消亡(Extinction)這么三個(gè)生命歷程,所有存活著的粒子的生命值、形狀大小等屬性一直都在隨著時(shí)間的推移而變化,其他屬性都將在其限定的變化范圍內(nèi)隨機(jī)變化,這些粒子各種

31、屬性變化就組成一幅連續(xù)變化的動(dòng)態(tài)畫面,從而充分模擬出了模糊物體的隨機(jī)性和動(dòng)態(tài)性。粒子系統(tǒng)理論主要基于以下的三個(gè)假設(shè)和兩個(gè)機(jī)制:(1) 物質(zhì)的粒子組成假設(shè)。把被模擬的模糊物體看做有限個(gè)動(dòng)態(tài)變化粒子的集合,這些粒子有確定的屬性,并且每個(gè)粒子都處于運(yùn)動(dòng)狀態(tài),粒子在空間上確定的分布范圍。(2) 粒子獨(dú)立關(guān)系假設(shè)。粒子的獨(dú)立關(guān)系包括粒子系統(tǒng)中的每個(gè)粒子與場景中其他物體相交和粒子系統(tǒng)內(nèi)部的粒子之間不相交的連個(gè)局部。(3) 粒子的屬性假設(shè)。每個(gè)粒子都具有一系列的屬性,主要分為質(zhì)量屬性、空間屬性、外觀屬性、運(yùn)動(dòng)屬性、生存屬性等。(4) 粒子的生命機(jī)制。粒子系統(tǒng)中的每一個(gè)粒子都必須經(jīng)歷誕生、動(dòng)態(tài)變化和消亡三個(gè)生

32、命歷程。(5) 粒子的運(yùn)動(dòng)機(jī)制。粒子在存活期間遵行被模擬的物體特性決定的運(yùn)動(dòng)規(guī)律。1.1 編寫目的雪花粒子系統(tǒng),這款軟件是利用了最新的OPenGL語言進(jìn)行編寫,OPenGL可以說是一款很新,很實(shí)用的語言,他完全實(shí)現(xiàn)了面向?qū)ο蟮拈_發(fā)環(huán)境,遵循 C+的環(huán)境的編程語言。它在雪花粒子系統(tǒng)中實(shí)現(xiàn)交互性、數(shù)據(jù)處理以及其他功能。這份文檔的編寫目的既是為了明確本系統(tǒng)開發(fā)過程中所有既定設(shè)計(jì)問題,也是為了幫助開發(fā)人員在開發(fā)過程中保證工作效率和系統(tǒng)內(nèi)容與設(shè)計(jì)者意圖一致。這份文檔將對系統(tǒng)進(jìn)行詳細(xì)的說明,致力于使閱讀者和用戶能通過該文檔對整個(gè)雪花粒子系統(tǒng)有一個(gè)全面的了解。1.2 預(yù)期讀者和閱讀建議本文檔是針對于系統(tǒng)使用

33、用戶及編程人員在系統(tǒng)操作及編寫過程中可能碰見的各種問題及如何解答,由于是該項(xiàng)目是我第一次進(jìn)行實(shí)際粒子系統(tǒng)的編寫,勢必會(huì)有這樣或那樣的缺乏,因此系統(tǒng)并不一定會(huì)成為市場產(chǎn)品,我們的最初設(shè)想是將該粒子系統(tǒng)免費(fèi)發(fā)布于網(wǎng)上,作為一種網(wǎng)絡(luò)資源供后來者參考。閱讀該文檔的用戶會(huì)從該文檔中了解到系統(tǒng)開發(fā)過程中各個(gè)細(xì)節(jié),包括粒子的分心,OPenGL渲染流程及各種系統(tǒng)性能的要求。對于不同的閱讀用戶我們提出了不同的建議如下:使用用戶:通過該問題了解系統(tǒng)的背景及操作方法系統(tǒng)設(shè)計(jì)人員:這是一款初學(xué)者做的雪花粒子系統(tǒng),通過這個(gè)系統(tǒng)我們可以了解粒子系統(tǒng)的創(chuàng)立流程及控制機(jī)制,系統(tǒng)信息與OPenGL的語言的響應(yīng)關(guān)系及系統(tǒng)的編寫過

34、程中的各種細(xì)節(jié)流程,是一款不錯(cuò)的粒子系統(tǒng)使用實(shí)例。2 系統(tǒng)詳細(xì)設(shè)計(jì)2.1 粒子系統(tǒng)通用結(jié)構(gòu)本文的粒子系統(tǒng)主要用于模擬各種常見的自然景觀和常見的景物。由于被模擬的各種景物有著不同的形狀和物理特性,使得模擬景物采用的粒子系統(tǒng)模型、粒子系統(tǒng)的屬性結(jié)構(gòu)以及粒子的繪制方法等都有所差異。但粒子系統(tǒng)理論也決定了這些不同的粒子系統(tǒng)之間也還存在著一些相同的框架和結(jié)構(gòu),把這些相同的框架架構(gòu)抽去出來,就形成粒子系統(tǒng) 的通用結(jié)構(gòu)。在進(jìn)行具體的景物模擬時(shí),我們在粒子系統(tǒng)通用結(jié)構(gòu)的根底上派生出各個(gè)粒子系統(tǒng)具體結(jié)構(gòu)。粒子系統(tǒng)的通用結(jié)構(gòu)如圖3-1所示,粒子系統(tǒng)大體由粒子管理、粒子存儲(chǔ)和粒子渲染三個(gè)局部組成。圖3-1 粒子系統(tǒng)

35、通用結(jié)構(gòu)其中,粒子的生存是指粒子的生命更新,包括粒子的誕生和粒子的死亡;粒子的演變主要包括粒子的形狀變化和粒子的運(yùn)動(dòng)狀態(tài)更新。而粒子的形態(tài)變化和運(yùn)動(dòng)狀態(tài)更新主要取決于所受的影響作用,我們可以將粒子系統(tǒng)中對粒子的影響作用分為全局作用和局部作用兩大類:(1) 全局作用粒子系統(tǒng)作為一個(gè)整體要受到的影響和受力稱為全局作用,如重力作用,風(fēng)力作用等全局作用力。這類的作用相對簡單一些,它對粒子系統(tǒng)中的每一個(gè)粒子影響相同。假設(shè)某不規(guī)那么模糊物體受到一個(gè)全局作用的影響,那么模擬該物體的粒子系統(tǒng)中的每一個(gè)粒子都要受到同樣方向、同樣大小的作用力。(2) 局部作用局部作用主要針對粒子系統(tǒng)中的單個(gè)粒子而言,它對于物體整

36、體沒有意義的。以火焰粒子為例,如果某個(gè)火焰粒子正處于粒子系統(tǒng)的高密度區(qū),根據(jù)分子運(yùn)動(dòng)的原理,它會(huì)向低密度區(qū)擴(kuò)散。還有,各個(gè)粒子之間相互碰撞會(huì)使粒子間產(chǎn)生能量的交換,這也屬于局部作用。2.2粒子系統(tǒng)的算法框架第二章中已經(jīng)對粒子系統(tǒng)的根本理論進(jìn)行了詳細(xì)的闡述,并對粒子系統(tǒng)的根本模型作了深入的分析。我們知道粒子系統(tǒng)中每個(gè)粒子都必須經(jīng)歷誕生、動(dòng)態(tài)變化、消亡三個(gè)生命歷程,粒子系統(tǒng)的算法框架如圖3-2所示。圖3-2 粒子系統(tǒng)算法框架在每一幀一般由如下處理步驟:(1) 粒子系統(tǒng)中誕生一些新的粒子,并賦予其初始屬性;(2) 遍歷粒子,銷毀粒子系統(tǒng)中生命值到期的粒子;(3) 更新被保存的粒子的屬性狀態(tài);(4)

37、渲染存活的粒子。2.3雪花模型分析雪花在空中漫天飛舞,其形狀各有不同,有六角形的,有如鵝毛般片狀的,給人的感覺是整個(gè)天空飛舞著大小不同、形狀各異的雪花。而且近處的雪花要分布稀疏一點(diǎn),遠(yuǎn)處的雪花要小要分布要稍微稠密一些。雪花整體方向是往下落,但受風(fēng)力的影響,隨處飄蕩,有些那么悠然而逝。雪景主要有以下幾個(gè)模擬時(shí)需要注意的重點(diǎn):(1) 雪花充滿整個(gè)場景;(2) 雪花的形狀和大小不盡相同;(3) 因?yàn)槭艿礁鞣N力(空氣阻力,重力,風(fēng)力等)的影響,雪花會(huì)隨處飄蕩;(4) 由于受力大小不一樣,不同的雪花下降的速度不一樣;(5) 風(fēng)的大小和方向是隨機(jī)變化的;(6) 遠(yuǎn)處雪花看起來形狀更小、下落速度慢、飄蕩幅度

38、小,分布稠密。2.4 雪花粒子的屬性從第二章所闡述的粒子理論中我們知道粒子的屬性一般包括空間位置屬性、外觀屬性、運(yùn)動(dòng)屬性、生存屬性等,下面結(jié)合上一節(jié)的雪景模擬分析,從粒子的屬性各個(gè)角度出發(fā),定義雪花粒子的屬性。(1) 空間位置屬性空間位置屬性包括初始空間坐標(biāo)和方向等。結(jié)合人眼的視覺感知特點(diǎn)和系統(tǒng)的實(shí)時(shí)性,我們用區(qū)域盒的方法來表示雪花粒子的分布范圍,將雪花粒子分布在視錐體內(nèi),通過隨機(jī)函數(shù)確定每個(gè)雪花粒子三維空間位置。這樣使得縮減之處都有雪花,給人一種沉浸在漫天雪花飛舞的空間的感覺。為了簡化計(jì)算,在不影響圖形真實(shí)感的前提下,分布區(qū)域可用視點(diǎn)前的一個(gè)長方體代替,該長方體的某個(gè)面的法向量穿過視點(diǎn),而粒

39、子的初始分布區(qū)域?yàn)殚L方體中與XOZ面平行的一個(gè)外表,其法線朝下,分布區(qū)域示意圖如圖3.3所示,其中陰影區(qū)域?yàn)槌跏嘉恢梅植紖^(qū)域。設(shè)為第個(gè)粒子空間初始坐標(biāo),那么有: (3-1)其中,是上均勻分布的隨機(jī)函數(shù),、分別是軸、軸、軸方向用來確定粒子分布區(qū)域的常數(shù)。(2) 外觀屬性粒子的外觀屬性主要包括形狀、大小、顏色等。雪花粒子的形狀大小和粒子的數(shù)量很大程度決定了下雪模擬的逼真度。為了減少系統(tǒng)的計(jì)算,可以采用點(diǎn)元或者三角形來描述圖3-3 雪花粒子分布區(qū)域示意圖雪花,雪花粒子的大小可變。由于我們平時(shí)見到的雪花是純白色的,因此,雪花粒子的顏色也只能為純白色,透明度為不透明。(3) 運(yùn)動(dòng)屬性運(yùn)動(dòng)屬性是指雪花粒子

40、的初始速度。雪花粒子的初始速度的大小為: (3-2)雪花粒子運(yùn)動(dòng)的初始方向與重力的方向相同,當(dāng)有風(fēng)時(shí),雪花粒子運(yùn)動(dòng)的初始方向?yàn)橹亓Ψ较蚝惋L(fēng)向疊加。(4) 生存屬性粒子的生存屬性即指粒子存活與否的條件,約束雪花粒子存活與否的條件主要有粒子的生存周期和粒子的壽命。雪花在整個(gè)場景模擬過程中在不斷運(yùn)動(dòng)和變化,其中雪花粒子的空間位置也在不斷變化。粒子壽命結(jié)束的條件為粒子的空間位置超出了粒子的分布區(qū)域范圍。如果粒子的生存周期到期或者粒子運(yùn)動(dòng)時(shí)其空間位置超出了其分布區(qū)域范圍,那么停止對該粒子的計(jì)算和繪制。再次誕生新的粒子時(shí)并隨機(jī)的分布在其初始分布區(qū)域內(nèi)5。2.5雪花粒子的運(yùn)動(dòng)模型雪花在三維空間中運(yùn)動(dòng),按照牛

41、頓運(yùn)動(dòng)規(guī)律,雪花的運(yùn)動(dòng)模型可用公式3-3表示: (3-3)其中,為粒子的加速度,為粒子的速度,為其位置。,分別為初始速度和位置。為了簡化計(jì)算,我們采用等加速度運(yùn)動(dòng)來簡化雪花粒子的運(yùn)動(dòng)模型,由公式3-4表示: (3-4)其中,和分別是時(shí)刻粒子的速度和粒子的空間位置,和為前一時(shí)刻粒子的速度和空間位置,為時(shí)間間隔。為了表示風(fēng)力對雪花的影響,我們在每個(gè)方向上加了一個(gè)正弦旋轉(zhuǎn)量,用公式3-5可表示。 (3-5)其中,為常數(shù),表示旋轉(zhuǎn)量的振幅;表示粒子不加旋轉(zhuǎn)量時(shí)的位置在方向上的坐標(biāo)分量,表示粒子加了旋轉(zhuǎn)量之后的位置在方向坐標(biāo)分量;為第幀的相位角,其值由下式得出: (3-6)為相位角增量,的初始值為,為之

42、間的隨機(jī)數(shù)。四、軟件測試報(bào)告1 引言1.1 目的為了盡可能的找出軟件的缺乏,提高軟件的質(zhì)量,促進(jìn)軟件的成功驗(yàn)收,專門制定了本大綱。其主要目的在于為所要進(jìn)行的測試工作制定各種必要的準(zhǔn)那么和標(biāo)準(zhǔn),以及在有關(guān)方面協(xié)議的根底上對測試工作進(jìn)行合理組織與管理。2 測試條件1. 測試硬件環(huán)境設(shè)計(jì)為個(gè)人PC機(jī),系統(tǒng)配置為P4 2.2.Ghz;512MB內(nèi)存,獨(dú)立顯卡或圖形加速卡。2. 測試軟件環(huán)境1操作系統(tǒng) Windows XP SP2 2支撐軟件:Adobe flash player10;3 測試方案3.1 人員方案陳真旭3.2 進(jìn)度方案按照系統(tǒng)設(shè)計(jì),逐個(gè)實(shí)現(xiàn)和使用系統(tǒng)功能。表4-1 測試進(jìn)度計(jì)劃表功能描述

43、雪花降落、音樂播放、風(fēng)速調(diào)節(jié)、遠(yuǎn)近感覺、粒子參數(shù)設(shè)置用例目的測試各功能是否正常前提條件運(yùn)行系統(tǒng),進(jìn)入到系統(tǒng)界面輸入動(dòng)作期望的輸出相應(yīng)實(shí)際情況運(yùn)行系統(tǒng)后按下F1鍵系統(tǒng)窗口顯示雪花粒子慢慢下降畫面系統(tǒng)窗口顯示雪花粒子慢慢下降畫面運(yùn)行系統(tǒng)過程中按下LEFT鍵系統(tǒng)窗口顯示雪花粒子下降向左偏移系統(tǒng)窗口顯示雪花粒子下降向左偏移運(yùn)行系統(tǒng)過程中按下RIGHT鍵系統(tǒng)窗口顯示雪花粒子下降向右偏移系統(tǒng)窗口顯示雪花粒子下降向右偏移運(yùn)行系統(tǒng)過程中按下UP鍵系統(tǒng)窗口顯示雪花粒子下降速度減慢系統(tǒng)窗口顯示雪花粒子下降速度減慢運(yùn)行系統(tǒng)過程中按下DOWN鍵系統(tǒng)窗口顯示雪花粒子下降速度加快系統(tǒng)窗口顯示雪花粒子下降速度加快運(yùn)行系統(tǒng)過

44、程中按下W鍵應(yīng)該讓用戶感覺向前移動(dòng)應(yīng)該讓用戶感覺向前移動(dòng)運(yùn)行系統(tǒng)過程中按下S鍵應(yīng)該讓用戶感覺向后移動(dòng)應(yīng)該讓用戶感覺向后移動(dòng)4 總體測試方案首先要完成的雪花下落功能測試。其次是系統(tǒng)的性能測試。性能指標(biāo)包括:雪花粒子控制,雪花貼圖控制,雪花粒子數(shù)量,雪花粒子大小等等。5 系統(tǒng)測試內(nèi)容5.1 系統(tǒng)測試任務(wù) 任務(wù)說明通過測試找出系統(tǒng)的不足以及可能存在的隱患,并作記錄,方便開發(fā)人員進(jìn)行修改和改良。 通過準(zhǔn)那么雪花粒子系統(tǒng)的各項(xiàng)功能和性能指標(biāo)均到達(dá)或超過需求概要設(shè)計(jì)說明書的標(biāo)準(zhǔn)。 測試用例及測試步驟測試用例表4-2 測試用例表功能描述雪花降落、音樂播放、風(fēng)速調(diào)節(jié)、遠(yuǎn)近感覺、粒子參數(shù)設(shè)置用例目的測試各功能是

45、否正常前提條件運(yùn)行系統(tǒng),進(jìn)入到系統(tǒng)界面輸入動(dòng)作期望的輸出相應(yīng)實(shí)際情況運(yùn)行系統(tǒng)后按下F1鍵系統(tǒng)窗口顯示雪花粒子慢慢下降畫面系統(tǒng)窗口顯示雪花粒子慢慢下降畫面運(yùn)行系統(tǒng)過程中按下LEFT鍵系統(tǒng)窗口顯示雪花粒子下降向左偏移系統(tǒng)窗口顯示雪花粒子下降向左偏移運(yùn)行系統(tǒng)過程中按下RIGHT鍵系統(tǒng)窗口顯示雪花粒子下降向右偏移系統(tǒng)窗口顯示雪花粒子下降向右偏移運(yùn)行系統(tǒng)過程中按下UP鍵系統(tǒng)窗口顯示雪花粒子下降速度減慢系統(tǒng)窗口顯示雪花粒子下降速度減慢運(yùn)行系統(tǒng)過程中按下DOWN鍵系統(tǒng)窗口顯示雪花粒子下降速度加快系統(tǒng)窗口顯示雪花粒子下降速度加快運(yùn)行系統(tǒng)過程中按下W鍵應(yīng)該讓用戶感覺向前移動(dòng)應(yīng)該讓用戶感覺向前移動(dòng)運(yùn)行系統(tǒng)過程中按

46、下S鍵應(yīng)該讓用戶感覺向后移動(dòng)應(yīng)該讓用戶感覺向后移動(dòng)2測試步驟 按使用說明書運(yùn)行系統(tǒng),按照測試用例表逐項(xiàng)進(jìn)行測試。 測試結(jié)果1軟件能力:經(jīng)過測試,說明系統(tǒng)已經(jīng)到達(dá)設(shè)計(jì)所要求的功能及性能。2建議:可以增加雪花堆積效果。3測試結(jié)論:本系統(tǒng)已經(jīng)通過測試,并能到達(dá)設(shè)計(jì)要求,通過測試。7 性能測試內(nèi)容測試系統(tǒng)的功能是否按照系統(tǒng)概要設(shè)計(jì)說明書開發(fā),能否實(shí)現(xiàn)系統(tǒng)概要設(shè)計(jì)書所要求達(dá)到的性能指標(biāo)。測試雪花粒子系統(tǒng)運(yùn)行時(shí),當(dāng)粒子數(shù)量設(shè)置為最大數(shù)量時(shí),看系統(tǒng)反響速度,是否能正常運(yùn)行,對電腦資源占用是否過大。測試雪花粒子系統(tǒng)運(yùn)行時(shí),風(fēng)速的設(shè)定功能是否正常,還有系統(tǒng)的遠(yuǎn)近功能既用戶和系統(tǒng)之間的交互功能是否正常,是否能產(chǎn)生

47、真實(shí)感。五、用戶操作手冊1引言粒子系統(tǒng)基本原理是將大量相似的微小的根本粒子圖元按照一定的規(guī)律組合起來,以描述和模擬一些不規(guī)那么的模糊物體。屬于粒子系統(tǒng)的每個(gè)粒子圖元具有確定的生命值(Life)和各種狀態(tài)屬性(Attributes),如大小(Size)、形狀(Shape)、位置(Position)、顏色(Color)、透明度(Alpha)、速度(Velocity)等。并且這些粒子都要經(jīng)過“產(chǎn)生(Generation)、“運(yùn)動(dòng)變化(Dynamics)和“消亡(Extinction)這么三個(gè)生命歷程,所有存活著的粒子的生命值、形狀大小等屬性一直都在隨著時(shí)間的推移而變化,其他屬性都將在其限定的變化范圍

48、內(nèi)隨機(jī)變化,這些粒子各種屬性變化就組成一幅連續(xù)變化的動(dòng)態(tài)畫面,從而充分模擬出了模糊物體的隨機(jī)性和動(dòng)態(tài)性。粒子系統(tǒng)理論主要基于以下的三個(gè)假設(shè)和兩個(gè)機(jī)制:(1) 物質(zhì)的粒子組成假設(shè)。把被模擬的模糊物體看做有限個(gè)動(dòng)態(tài)變化粒子的集合,這些粒子有確定的屬性,并且每個(gè)粒子都處于運(yùn)動(dòng)狀態(tài),粒子在空間上確定的分布范圍。(2) 粒子獨(dú)立關(guān)系假設(shè)。粒子的獨(dú)立關(guān)系包括粒子系統(tǒng)中的每個(gè)粒子與場景中其他物體相交和粒子系統(tǒng)內(nèi)部的粒子之間不相交的連個(gè)局部。(3) 粒子的屬性假設(shè)。每個(gè)粒子都具有一系列的屬性,主要分為質(zhì)量屬性、空間屬性、外觀屬性、運(yùn)動(dòng)屬性、生存屬性等。(4) 粒子的生命機(jī)制。粒子系統(tǒng)中的每一個(gè)粒子都必須經(jīng)歷誕

49、生、動(dòng)態(tài)變化和消亡三個(gè)生命歷程。(5) 粒子的運(yùn)動(dòng)機(jī)制。粒子在存活期間遵行被模擬的物體特性決定的運(yùn)動(dòng)規(guī)律。1.1 編寫目的雪花粒子系統(tǒng),這款軟件是利用了最新的OPenGL語言進(jìn)行編寫,OPenGL可以說是一款很新,很實(shí)用的語言,他完全實(shí)現(xiàn)了面向?qū)ο蟮拈_發(fā)環(huán)境,遵循 C+的環(huán)境的編程語言。它在雪花粒子系統(tǒng)中實(shí)現(xiàn)交互性、數(shù)據(jù)處理以及其他功能。這份文檔的編寫目的既是為了明確本系統(tǒng)開發(fā)過程中所有既定設(shè)計(jì)問題,也是為了幫助開發(fā)人員在開發(fā)過程中保證工作效率和系統(tǒng)內(nèi)容與設(shè)計(jì)者意圖一致。這份文檔將對系統(tǒng)進(jìn)行詳細(xì)的說明,致力于使閱讀者和用戶能通過該文檔對整個(gè)雪花粒子系統(tǒng)有一個(gè)全面的了解。1.2 預(yù)期讀者和閱讀建議本文檔是針對于系統(tǒng)使用用戶及編程人員在系統(tǒng)操作及編寫過程中可能碰見的各種問題及如何解答,由于是該項(xiàng)目是我第一次進(jìn)行實(shí)際粒子系統(tǒng)的編寫,勢必會(huì)有這樣或那樣的缺乏,因此系統(tǒng)并不一定會(huì)成為市場產(chǎn)品,我們的最初設(shè)想是將該粒子系統(tǒng)免費(fèi)發(fā)布于網(wǎng)上,作為一種網(wǎng)絡(luò)資源供后來者參考。閱讀該文檔的用戶會(huì)從該文檔中了解到系統(tǒng)開發(fā)過程中各個(gè)細(xì)節(jié),包括粒子的分心,OPenGL渲染流程及各種系統(tǒng)性能的要求。對于不同的閱讀用戶我們提出了不同的建議如下:使用用戶:通過該問題了解系統(tǒng)的背景及操作方法系統(tǒng)設(shè)計(jì)人員:這是一款初學(xué)者做的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論