粒子效果演示(附代碼)
利用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()方法), 銷(xiāo)毀死去的粒子很重要, 如果搞忘了這一步, 你的內(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