粒子效果演示(附代碼)
利用C++所提供的一些標準容器很容易實現粒子效果.
簡單的說就是,將粒子數據寫在一個類里面,有一個粒子源,不停地生成粒子,然后放入一個stl::list中(push_back()方法), 然后在一個循環中遍例粒子鏈表,并渲染粒子,粒子的參數并不斷更新,如果粒子的ALPHA值小于0,即不可見了,即代表粒子已經死亡, 即從list中刪去(erase()方法), 銷毀死去的粒子很重要, 如果搞忘了這一步, 你的內存很快就會被吃掉干凈了.
第一個版本是用交錯平面畫的粒子.
第二個版本是用Point Spirit(點精靈)畫的粒子,
可以看看效果上面的區別
SPACE - 暫停粒子源發射粒子
LINK中忘記去掉cg.lib cgGL.lib 了, 此程序不需要CG, 如果要編譯請去掉.
標簽:
list
push
stl
代碼
上傳時間:
2013-12-15
上傳用戶:jing911003