2019独角兽企业重金招聘Python工程师标准>>>

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

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

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

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

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

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

OpenGL ES 3D 粒子系统小结相关推荐

  1. 关于OpenGL ES 3D 光晕如何产生的自我理解

    2019独角兽企业重金招聘Python工程师标准>>> 星空图的自我理解:可以看作一个透明的半径很大的天球,然后在其表面上绘制大小不一的点,这样便可以够成星空图. 如何产生光晕的自我 ...

  2. 3D OpenGL ES

    什么是 OpenGL ES? OpenGL ES (为OpenGL for Embedded System的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库. 为桌面版本OpenGL的一个子集. ...

  3. OpenGL ES应用开发实践指南:iOS卷

    <OpenGL ES应用开发实践指南:iOS卷> 基本信息 原书名:Learning OpenGL ES for iOS:A Hands-On Guide to Modern 3D Gra ...

  4. OpenGL ES 简单教程

    OpenGL ES 简单教程 2014-04-24 13:35 佚名 apkbus 字号:T | T 什么是OpenGL ES?OpenGL ES (为OpenGL for Embedded Syst ...

  5. Android OpenGL ES 开发教程(24):Depth Buffer

    OpenGL ES 中Depth Buffer 保存了像素与观测点之间的距离信息,在绘制3D图形时,将只绘制可见的面而不去绘制隐藏的面,这个过程叫"Hidden surface remova ...

  6. OpenGl文章 Android OpenGL ES 简明开发教程

    Android OpenGL ES 简明开发教程 分类:android学习笔记2011-12-14 15:04375人阅读评论(0)收藏举报 ApiDemos 的Graphics示例中含有OpenGL ...

  7. Android开发 之 OpenGL ES系列(5--3D立体图形)

    OpenGL ES系列(5--3D立体图形) 转自:http://www.guidebee.info/wordpress/archives/1554 前面的例子尽管使用了OpenGL ES 3D图形库 ...

  8. 《Android 3D游戏开发技术宝典——OpenGL ES 2.0》——2.8节本章小结

    本节书摘来自异步社区<Android 3D游戏开发技术宝典--OpenGL ES 2.0>一书中的第2章,第2.8节本章小结,作者 吴亚峰,更多章节内容可以访问云栖社区"异步社区 ...

  9. 《Android 3D游戏开发技术宝典——OpenGL ES 2.0》.(吴亚峰).[PDF]ckook

    图书作者: 吴亚峰 图书编号: 9787115277701 图书格式: PDF 出 版 社: 人民邮电出版社 出版年份: 2012 图书页数: 700-800 [内容简介] 随着智能手机移动嵌入式平台 ...

最新文章

  1. ATS日志格式中的Squid-和Netscape-格式的缓存结果码
  2. 教育部:不得将研究生当作廉价劳动力!也不得故意拖延毕业时间!
  3. 遇到网络问题你是怎么解决的?安琪拉有二招
  4. 能量时域空间物理_5G新在哪儿(11)-下行公共物理控制信道
  5. 贝叶斯分类器(Normal Bayes 分类器)
  6. 二十万字C/C++、嵌入式软开面试题全集宝典五
  7. 3.QT中QCommandLineParser和QCommandLineOption解析命令行参数
  8. python意外缩进引发逻辑错误_python – IndentationError:意外的缩进错误
  9. duilib消息事件产生和分发解释
  10. day43,使用朋友pyMySQL连接数据库
  11. 深入浅出ClassLoader(译)
  12. v8的垃圾回收机制(一)
  13. JZOJ.5325【NOIP2017模拟8.21】九九归一
  14. python实现mysql数据导入HBase
  15. VC运行库修复安装一键安装
  16. 全球最大同性交友网站 GitHub 10 岁了!
  17. codemirror实现SQL代码自动提示功能
  18. 手机最强 Python 编程神器,Android、IOS 都可以!
  19. Linux 常用网络命令大全
  20. 脑瘫患儿家庭的森森林林双包胎赴京演出圆满成功!

热门文章

  1. Spring Bean默认配置为单实例 Spring Bean生命周期
  2. java concurrent之前戏synchronized
  3. Linux下java -version版本不对
  4. 常用模块之 time,datetime,random,os,sys
  5. 算法导论--广度优先搜索和深度优先搜索
  6. 文本框输入值文字消失常用的两种方法
  7. TextView 多文字字体颜色及多事件监听
  8. (转)java中对集合对象list的几种循环访问总结
  9. hdu 1800 (map)
  10. C#中'??'符的使用