粒子效果演示(附代碼)
利用C++所提供的一些標(biāo)準(zhǔn)容器很容易實(shí)現(xiàn)粒子效果.
簡(jiǎn)單的說(shuō)就是,將粒子數(shù)據(jù)寫(xiě)在一個(gè)類里面,有一個(gè)粒子源,不停地生成粒子,然后放入一個(gè)stl::list中(push_back()方法), 然后在一個(gè)循環(huán)中遍例粒子鏈表,并渲染粒子,粒子的參數(shù)并不斷更新,如果粒子的ALPHA值小于0,即不可見(jiàn)了,即代表粒子已經(jīng)死亡, 即從list中刪去(erase()方法), 銷毀死去的粒子很重要, 如果搞忘了這一步, 你的內(nèi)存很快就會(huì)被吃掉干凈了.
第一個(gè)版本是用交錯(cuò)平面畫(huà)的粒子.
第二個(gè)版本是用Point Spirit(點(diǎn)精靈)畫(huà)的粒子,
可以看看效果上面的區(qū)別
SPACE - 暫停粒子源發(fā)射粒子
LINK中忘記去掉Cg.lib CgGL.lib 了, 此程序不需要Cg, 如果要編譯請(qǐng)去掉.
標(biāo)簽:
list
push
stl
代碼
上傳時(shí)間:
2013-12-15
上傳用戶:jing911003
將源代碼轉(zhuǎn)換成html,支持多操作系統(tǒng),支持多種編程語(yǔ)言:Ada95, ASP, Assembler, Basic, C, C#, C++, Cg, CLIPS, Fortran, Haskell, Java, Markup, Modula2, Objective C, Pascal, Perl, PHP, Python, Renderman, Ruby, SQL, Tcl
標(biāo)簽:
html
源代碼
操作系統(tǒng)
轉(zhuǎn)換成
上傳時(shí)間:
2013-12-28
上傳用戶:爺?shù)臍赓|(zhì)