OpenGL ES 3D 粒子系统小结

所谓粒子系统可以想象为一堆粒子由一个点或一个面按照一定的规律进行喷射。

粒子系统大致分为2类:一类为“点喷式”,一类为“面喷式”。可以想象前者由一个点进行喷射,类似于焰火;后者在一个平面上有多个点喷射粒子,类似于雨或雪的产生。

首先粒子系统是由粒子组成,要描述粒子系统就必须先描述单个粒子的组成。对于单个的粒子对象,它的属性我将其分为2种:1为固有属性,2为相对属性。对于世界坐标系中的粒子来说固有属性为绝对的:例如粒子的大小,颜色等等,而相对属性是相对与空间中的坐标系来说,例如粒子的飞行速度,位移,粒子在坐标系中的X,Y,Z坐标等等。

接下来得说说“点喷式”和“面喷式”的区别。对于前者来说,所有的粒子为在一个固定的点发射,所以组成系统的所有粒子的坐标的固定的,而需要随机生成的是喷射瞬间粒子的在X,Y,Z的分速度。对于后者来说可以看做随机生成喷射点喷射相同速度的粒子,所以此时粒子在飞行是的速度是可以知道的,而不知道的是生成该粒子的坐标,所以此时的粒子的相对属性发生了改变不是初速度而是初始坐标。

注意不能认为每个粒子喷射点用一个线程去搞定,这种想法是不正确的。正确的想法是把整个面当作一个喷射点(有点抽象)然后随机生成坐标就可以在不同的坐标喷射粒子。如果按照每个喷射点一个线程那么当喷射点过多时系统会瘫掉的

 

 

 

转载于:https://my.oschina.net/u/264497/blog/57393

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值