[发明专利]一种大规模粒子系统的实现方法有效
| 申请号: | 201310750468.8 | 申请日: | 2013-12-31 |
| 公开(公告)号: | CN103714568B | 公开(公告)日: | 2017-02-15 |
| 发明(设计)人: | 欧振鹏 | 申请(专利权)人: | 北京像素软件科技股份有限公司 |
| 主分类号: | G06T13/20 | 分类号: | G06T13/20 |
| 代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 王民盛,王丽琴 |
| 地址: | 102200 北京市昌平区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 大规模 粒子 系统 实现 方法 | ||
技术领域
本申请涉及三维计算机图形技术领域,尤其涉及一种大规模粒子系统的实现方法。
背景技术
粒子系统是三维计算机图形学中模拟一些特定的不规则模糊景象的技术,而这些景象用其它传统的渲染技术难以实现的真实感。在粒子系统中,景象被定义为由成千上万个不规则的、随机分布的粒子所组成,而每一个粒子均有一定的生命周期,它们不断改变形状、不断运动,充分地体现了不规则物体的性质。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、溅血、落叶、云、雾、雪、尘、流星尾迹或者发光轨迹这样的抽象视觉效果等等。粒子系统方法具有良好的随机性和动态性,能逼真地模拟动态景物。因此,利用粒子系统方法模拟自然景物,有着重要的科学意义和广泛的应用前景,在系统仿真、影视特效、三维游戏中有广泛的应用。
经典的粒子系统在中央处理器(CPU,Central Processing Unit)上计算,在图形处理器(GPU,Graphic Processing Unit)上渲染。现有技术中的粒子系统的实现过程如图1所示,包括如下步骤:
步骤101:发射器生成粒子。
步骤102:CPU处理过程:粒子初始化、颜色、缩放、材质等逻辑数据更新。
如果粒子没有死亡,更新粒子的位置、颜色、姿态,修改粒子的生命值;如果粒子生命小于某个阀值(比如0.0),设置粒子状态为死亡,删除死亡的粒子;增加新的粒子到粒子队列中,或者查找生命为死亡的粒子,用计算出的新粒子属性覆盖之。
粒子的行为参数及位置通过发射器控制。发射器主要由一组粒子行为参数以及在三维空间中的位置所表示。发射器参数包括喷射开始的时间,持续时间,喷射间隔喷射数量等;粒子行为参数可以包括粒子生成速度(即单位时间粒子生成的数目)、粒子初始速度向量(例如什么时候向什么方向运动)、粒子寿命(经过多长时间粒子湮灭)、粒子颜色、在粒子生命周期中的变化以及其它参数等等。使用大概值而不是绝对值的模糊参数占据全部或者绝大部分是很正常的,一些参数定义了中心值以及允许的变化。
步骤103:绘制粒子。把没有死亡的粒子的位置信息以及其他相关信息送入显卡中,GPU对粒子进行渲染。
模拟一个复杂的景象需要成千上万,甚到几十万个粒子,计算和渲染分离的结果是CPU负载较重,挤占了其他处理进程的资源。
发明内容
本申请提供了一种大规模粒子系统的实现方法,可以减轻CPU负载。
本申请实施例提供的一种大规模粒子系统的实现方法,预先定义由GPU处理的粒子属性,该方法包括如下步骤:
根据第一层发射器的属性,在CPU中生成簇,初始化簇,更新簇;簇是具有共同属性的多个粒子组成的集合;
第一层关键帧数据的颜色、透明度、缩放、姿态、路径影响当前时刻的簇状态;
根据第二层发射器的属性,在CPU中生成粒子,初始化粒子,更新粒子;
CPU把预先定义的由GPU处理的粒子属性通过常量寄存器传给GPU;
GPU通过CPU传过来的数据在顶点着色器内线性运算出粒子属性。
第一层发射器属性包括喷射开始的时间、持续时间、喷射间隔、簇数量、喷射的最大数量、运动坐标系、喷射簇的最大最小速度、发射器类型(球、长发方体、圆柱、锥、环、等区域发射器和定位点发射器)。
簇中粒子的共同属性包括如下属性之一或其任意组合:出生位置,生命,颜色,透明度,姿态,缩放,路径。
CPU把预先定义的关键帧表数据(包括粒子的颜色、透明度、缩放、姿态)、粒子的材质信息、位置、元素类型、时间信息,通过常量寄存器传给GPU。GPU通过传进来的时间可以得知当前的粒子在哪一个关键帧上,然后查表可得当前粒子的颜色、透明度、缩放、姿态信息、通过传进来的纹理缩放、位置、旋转等信息还原当前时刻的纹理状态,同一类型的粒子共用一个渲染器成队列渲染,同类型的粒子当纹理等属性相同时一次合并渲染。
元素是粒子类型的统称,粒子的类型包括公告板,箭头,叶子片,锥箭头,锥叶子片,静态模型箭头,静态模型叶子片,顶点模型箭头,顶点模型叶子片,贴花,条带,闪电链。
第一层和第二层的球、长发方体、圆柱、锥、环、等区域发射器属性包含区域的起始与结束位置,通过这个可以编辑粒子在区域内或者是表面进行发射。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310750468.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一类冻干产品的制备方法
- 下一篇:一种地浸采铀浸出实验装置





