粒子绘制方法

文档序号:6431158阅读:369来源:国知局
专利名称:粒子绘制方法
技术领域
本发明涉及网络技术,特别涉及粒子绘制方法。
背景技术
在网络游戏中,粒子经常被使用模拟如火、爆炸、烟、水流、火花、落叶、云、雾、雪、 流星尾迹等效果。为了实现更加逼真的视觉效果,经常会大规模绘制粒子。目前,常用的大规模粒子绘制方法主要包括图1所示的流程参见图1,图1为现有大规模粒子绘制方法流程图。如图1所示,该流程可包括以下步骤步骤101,在系统内存中分配一块存储区域,该存储区域被分为三部分,其中第一部分,称为空闲索引区域,用来存储系统可以容纳的所有粒子的索引;第二部分,称为新粒子堆栈区域,用来保存当前产生的新粒子的粒子索引和粒子属性;第三部分称为活动粒子堆栈区域,用来保存当前系统中总共有多少存活的粒子。步骤102,从空闲索引区域中读取一个空闲索引,并与新产生的粒子索引和粒子属性统一保存在新粒子堆栈区域和活动粒子堆栈区域中,生成新粒子。步骤103,从新粒子堆栈区域中读取新粒子信息保存到显示内存中,其中粒子的速度信息和位置信息保存在GPU的第一组纹理中,然后在新粒子堆栈区域中更新该粒子的属性。步骤104,从上述GPU的第一组纹理中读取粒子信息,根据运动方程计算出粒子在下一时刻的位置和速度信息并保存到GPU的第二组纹理中,然后更新粒子信息,包括粒子的速度和位置纹理,如果粒子达到生存周期,在GPU的第一组纹理中将粒子的位置信息改为无穷远处,在系统内存中,将粒子从活动粒子堆栈区域中删除。步骤105,将更新后的粒子属性从显示内存的纹理中写回到系统内存CPU的顶点数组。至此,完成现有大规模粒子的绘制方法。通过该方法,能够实现大规模粒子的绘制。但是,现有的大规模粒子绘制方法中,为了保证游戏流畅的效果,往往要求最高级的独立显卡,但对同时配备的目前比较常用的处理器比如双核处理器、四核处理器却没有充分利用,原因为现有大规模粒子的绘制方法,虽然要求最高级独立显卡,但是只需要单核处理器处理即可,如此,就会使目前常配备的处理器比如双核处理器、四核处理器等经常处于半闲置状态,无法发挥其应用的能力。

发明内容
本发明提供了粒子绘制方法,降低对显卡性能的要求,充分利用目前常配备的处理器比如双核处理器、四核处理器等。本发明提供的技术方案包括一种粒子绘制方法,该方法应用于配备了包括至少2个核的处理器的设备中,该方法包括根据感知强度的大小将粒子系统划分为N层,所述N大于1 ;按照充分利用所述处理器的原则,根据每一层要求的细节度为每一层分配所述处理器中不同的处理器资源;根据每一层的感知强度确定每一层应该产生的新粒子的数量,并为每一层产生的新粒子分配该层对应的初始特征;遍历每一层中的粒子,将到达生存周期的粒子从该层除去;每一层被分配的处理器资源绘制该层中的粒子。由以上技术方案可以看出,本发明中,对粒子系统分层,不同的层被分配不同的处理器资源,这可以更高效的发挥多核处理器的能力,提高所有处理器的利用率,并且,由于多核处理器利用率的提高,在同样电脑上可以绘制的粒子数量会增加,粒子效果绘制更加真实;进一步地,本发明采取的是由处理器资源绘制粒子,不需要顶级显卡来支持显示, 因此对于硬件依赖性较小,能够让大多数的电脑硬件都可以开启全部特效。


图1为现有大规模粒子绘制方法流程图;图2为本发明实施例提供的基本流程图;图3为本发明实施例提供的步骤205的实现流程图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明提供的方法包括图2所示的流程参见图2,图2为本发明实施例提供的基本流程图。该方法应用于配备了包括至少 2个核的处理器的设备中。如图2所示,该流程可包括以下步骤步骤201,根据感知强度的大小将粒子系统划分为N层,所述N大于1。本步骤201中,引入感知强度对粒子系统进行划分,其中,所述感知强度是由粒子与视点之间的距离决定,比如,在网络游戏环境中,感知强度主要由玩家与被感知对象(也即网络游戏中的粒子)之间的距离决定。其中,粒子与视点之间的距离越近,感知强度越强,距离越远,感知强度越弱。另外,本发明实施例中,优选地,可使N取值为3,S卩,将粒子系统划分为3层。下面均以将粒子系统划分为3层,分别为理解层、辨认层和察觉层三层为例。其中,理解层、辨认层和察觉层的感知强度依次为从强至弱。步骤202,按照充分利用所述处理器的原则,并根据每一层要求的细节度为每一层分配所述处理器中不同的处理器资源。本步骤202中,每一层要求的细节度由该层中粒子与视点之间的距离决定,距离越近,细节度要求越高,距离越远,细节度要求越低。层的细节度越高,则表示绘制该层的粒子比较复杂,需要的处理器资源也就越多,而细节度越低,则表示绘制该层的粒子比较简单,需要的处理器资源比较少。以将粒子系统划分为上述的3层为例,则理解层上的粒子细节度应该最高,而察觉层上的粒子细节度应该最低。假如本发明的处理器资源为3核,则为理解层分配2个核, 而辨认层和察觉层可共享剩下的一个核。可以看出,通过步骤202能够充分利用了处理器资源。步骤203,根据每一层的感知强度确定每一层应该产生的新粒子的数量,并为每一层产生的新粒子分配该层对应的初始特征。本发明中,层的感知强度决定了该层应该产生的粒子的数量,这能提高粒子系统的真实度,并且,每一层上新粒子的数量都是由该层的感知强度决定,而不是任意的,这可以提高后续绘制粒子的效率。另外,本发明中,不同层对应不同的初始特征,其中,感知强度强的层对应的初始特征比较复杂,而感知强度弱的层对应的初始特征比较简单。比如说,感知强度强的层对应的初始特征中的外观属性包括颜色、纹理、材质、发光及相互之间的融合关系的至少一个, 而运动属性包括、运动速率和方向、加速度、粒子自身旋转的速率和方向等,而感知强度弱的层对应的初始特征中的运动属性可以不包括粒子自身旋转的速率和方向,这能提高粒子绘制效率。当然,感知强度弱的层对应的初始特征中的外观属性可以包括颜色、纹理、材质、发光及相互之间的融合关系中的至少一个,本发明并不限定。步骤204,遍历每一层中的粒子,将到达生存周期的粒子从该层除去。本步骤204具体可包括针对每一层,以该层对应的遍历周期遍历该层中的粒子;以该层对应的处理周期将遍历到的到达生存周期的粒子从该层除去中。本发明中,粒子的生存周期与其所处的层的感知强度有关,其中,感知强度强的层比如上述的理解层的粒子生存周期长一些,感知强度弱的层比如上述的察觉层的粒子生存周期短一些,这样可以使粒子生存处理消耗有很大的改善。步骤205,每一层被分配的处理器资源绘制每一层中的粒子。本步骤205具体实现时可包括图3所示的流程参见图3,图3为本发明实施例提供的步骤205的实现流程图。如图3所示,该流程可针对每一层执行以下步骤步骤301,每一层对应的处理器资源对该层中粒子的运动属性进行计算,得到运动
计算结果。不同层中粒子的运动属性可能不同,以将粒子系统划分为上述的3层为例,则理解层距离视点最近,感知强度最强,从视觉效果看要求的细节度也高,即需要最多的细节描述,该层中粒子的运动属性可以考虑多种速度影响和受力。辨认层距离视点相对较远,粒子仍然自转,但不需要粒子的全部运动属性来描绘,可以考虑一种速度影响和受力。察觉层距离视点最远,所需粒子的细节描述最为粗略,粒子的运动和受力可以不再考虑风速和随机速度矢量的影响,仅考虑运行属性为粒子做简单自由落体运动即可。基于此,可本步骤301中,每一层对应的处理器资源可根据该层中粒子的运动属性进行计算,得到运动计算结果。步骤302,每一层被分配的处理器资源对处于该层中边界区域的粒子的运动计算结果进行平滑处理。本发明中,由于将粒子系统分层,这会导致由于分层使各个层的临界区域(每一层的临界区域是指该层边缘、且接近相邻层的区域)中粒子的运动计算结果不同,进而导致明显的视觉差。基于此,本发明中,每一层被分配的处理器资源对处于该层中边界区域的粒子的运动计算结果进行平滑处理,具体可采用牛顿插值法进行平滑处理,这能保证层之间很好的平滑过渡,不同层的边界区域不再有明显的视觉差。步骤303,每一层被分配的处理器资源利用平滑处理后的运动计算结果和其他未处于边界区域的粒子的运动计算结果绘制该层中的粒子。至此,即可完成各个层中粒子的绘制。优选地,本发明中,每一层被分配的处理器资源在完成该层中粒子的绘制后,缩减该层中粒子的生存寿命。也就是说,每一层中粒子的生存寿命的更新都是在完成该层中粒子的绘制后执行。通过更新粒子的生存寿命,能够为下一帧画面的绘制作准备。至此,完成图2的描述。由以上技术方案可以看出,本发明中,采取的是处理器资源绘制粒子,不需要顶级显卡来支持显示,因此对于硬件依赖性较小,能够让大多数的电脑硬件都可以开启全部特效;进一步地,本发明中,对粒子系统分层,不同的层被分配不同的处理器资源,这可以更高效的发挥多核处理器的能力,提高所有处理器的利用率,并且,由于多核处理器利用率的提高,在同样电脑上可以绘制的粒子数量会增加,粒子效果绘制更加真实。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种粒子绘制方法,该方法应用于配备了包括至少2个核的处理器的设备中,其特征在于,该方法包括根据感知强度的大小将粒子系统划分为N层,所述N大于1 ;按照充分利用所述处理器的原则,根据每一层要求的细节度为每一层分配所述处理器中不同的处理器资源;根据每一层的感知强度确定每一层应该产生的新粒子的数量,并为每一层产生的新粒子分配该层对应的初始特征;遍历每一层中的粒子,将到达生存周期的粒子从该层除去; 每一层被分配的处理器资源绘制该层中的粒子。
2.根据权利要求1所述的方法,其特征在于,所述N取值为3。
3.根据权利要求1所述的方法,其特征在于,所述感知强度由粒子与视点之间的距离决定,距离越近,感知强度越强,距离越远,感知强度越弱。
4.根据权利要求1所述的方法,其特征在于,所述每一层要求的细节度由该层中粒子与视点之间的距离决定,距离越近,细节度要求越高,距离越远,细节度要求越低。
5.根据权利要求1所述的方法,其特征在于,所述遍历每一层中的粒子,将到达生存周期的粒子从该层除去包括针对每一层,以该层对应的遍历周期遍历该层中的粒子;以该层对应的处理周期将遍历到的到达生存周期的粒子从该层除去。
6.根据权利要求1所述的方法,其特征在于,所述每一层被分配的处理器资源绘制该层中的粒子包括针对每一层,该层被分配的处理器资源对该层中粒子的运动属性进行计算,得到运动计算结果; 该层被分配的处理器资源对处于该层中边界区域的粒子的运动计算结果进行平滑处理;该层被分配的处理器资源利用平滑处理后的运动计算结果和其他未处于边界区域的粒子的运动计算结果绘制该层中的粒子。
7.根据权利要求1或6所述的方法,其特征在于,每一层被分配的处理器资源在绘制该层中的粒子后,进一步包括更新该层中粒子的生存寿命。
全文摘要
本发明提供了粒子绘制方法,该方法应用于配备了包括至少2个核的处理器的设备中,该方法包括根据感知强度的大小将粒子系统划分为N层,所述N大于1;按照充分利用所述处理器的原则,根据每一层要求的细节度为每一层分配所述处理器中不同的处理器资源;根据每一层的感知强度确定每一层应该产生的新粒子的数量,并为每一层产生的新粒子分配该层对应的初始特征;遍历每一层中的粒子,将到达生存周期的粒子从该层除去;每一层被分配的处理器资源绘制该层中的粒子。
文档编号G06T1/20GK102426692SQ201110240160
公开日2012年4月25日 申请日期2011年8月18日 优先权日2011年8月18日
发明者王洪彦 申请人:北京像素软件科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1