粒子效果演示(附代码)
利用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