一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法

文档序号:6548808阅读:179来源:国知局
一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法
【专利摘要】本发明公开了一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法,主要包括:通过动态加载线程,对待绘制粒子进行初始化处理;通过子线程,对初始化处理后的待绘制粒子进行更新处理;通过主线程,对更新处理后的待绘制粒子进行渲染和运算处理。本发明所述基于双缓冲的低分辨率升高分辨率粒子绘制的方法,可以克服现有技术中更新速度慢、绘制效率低和时间占用率高等缺陷,以实现更新速度快、绘制效率高和时间占用率低的优点。
【专利说明】一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法
【技术领域】
[0001]本发明涉及图像处理【技术领域】,具体地,涉及一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法。
【背景技术】
[0002]随着网络游戏的不断发展,自主研发的网络游戏不断的推陈出新,游戏中的特效不但烘托出游戏的气场氛围,给画面以真实逼真的效果和角色强大的力量,大大满足了玩家精神力量的发挥,同时也大大提高的整个场面的美术效果,这样才能使特效更加的自然和真实。
[0003]所谓的游戏特效是我们为游戏场景和角色添加额外的炫彩效果,比如:使用武器所发出子弹的爆炸特效,受力爆炸后的烟雾,燃烧的火焰,天气变化的雨,雪,等效果利用特效制造的场景氛围,提升角色攻击的刺激感,并表现角色的力量美。一款游戏特效的好坏,在游戏感官上也占有很重要的因素,所以在整个网络游戏制作过程中,要求特效师要对特效的效果进行深刻的研究,制作出比较完美切实的效果。
[0004]粒子系统是粒子发射器做的一些动画完成的,采用大量的具有一定生命和属性的微小粒子图元作为基本元素绘制一个或者多个对象,在粒子系统中,粒子图元的形状可以是小球、椭球、立方体或者其他形状,每个粒子还具有大小、颜色、透明度、运动速度、运动方向和生命周期等属性。
[0005]目前采用的粒子特效是单线程高分辨下绘制特效的,只开启一个主线程进行特效绘制,这样的绘制是更新很慢,效率很低。主线程中程序流程如下所示:
[0006]While (true)
[0007]{
[0008]1、检测相机内粒子的可见性
[0009]2、粒子和场景中模型进行遮挡判断,得到一个相机内可见特效列表
[0010]3、排序粒子(从中心到相机的距离的远近来排序)
[0011]4、修改粒子列表
[0012]5、1/1的分辨率渲染粒子
[0013]}
[0014]当场景中有很多大量粒子的时候,而这些粒子又要与场景中其他的模型进行混合,所有时间占用率很高。所以需要发明一种可以解决这个问题的技术。
[0015]在实现本发明的过程中,发明人发现现有技术中至少存在更新速度慢、绘制效率低和时间占用率闻等缺陷。

【发明内容】

[0016]本发明的目的在于,针对上述问题,提出一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法,以实现更新速度快、绘制效率高和时间占用率低的优点。[0017]为实现上述目的,本发明采用的技术方案是:一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法,主要包括:
[0018]a、通过动态加载线程,对待绘制粒子进行初始化处理;
[0019]b、通过子线程,对初始化处理后的待绘制粒子进行更新处理;
[0020]C、通过主线程,对更新处理后的待绘制粒子进行渲染和运算处理。
[0021]进一步地,在步骤a中,所述对待绘制粒子进行初始化处理的操作,具体包括:
[0022]al、对加载线程粒子初始化,检测特效是否可见,若是,则:
[0023]检测在场景中摄像机所看到的物件模型,经过视锥体对没有摄像机看到的场景进行剔除;按照相机距离的从远到近排序,并对遮挡的物件保持顺序,依次剔除;
[0024]a2、否则,返回步骤al。
[0025]进一步地,在步骤b中,所述对初始化处理后的待绘制粒子进行更新处理的操作,具体包括:
[0026]bl、对粒子特效进行更新;
[0027]b2、依据分辨率由低到高的顺序,对更新后的粒子特效进行排序。
[0028]进一步地,所述步骤bl,具体包括:
[0029]根据粒子的速度、位置、加速度,在子线程更新粒子。
[0030]进一步地,在步骤c中,所述对初始化处理后的待绘制粒子进行渲染和运算处理的操作,具体包括:
[0031]Cl、在低分辨率下绘制1/16面积下的最大深度粒子列表,把待绘制粒子从1/16面积下放大到1/1面积下;
[0032]c2、对粒子特效进行修补处理,通过主线程绘制高分辨率粒子。
[0033]进一步地,在步骤Cl中,在所述把待绘制粒子从1/16面积下放大到1/1面积下的操作之前,还包括:
[0034]开启独立的alpha渲染模式状态。
[0035]进一步地,在步骤c2中,所述对粒子特效进行修补处理的操作,具体包括:
[0036]利用高斯模糊算法和双边过滤算法,来修补粒子特效中的锯齿。
[0037]进一步地,所述高斯模糊算法,具体为:
[0038]高斯模糊是一种图像模糊的滤波器,它的正态分布计算图像中的每个像素的变换,因为深度信息是记录二维空间的坐标信息,那么该深度信息在二维空间定的方程为:
[0039]
【权利要求】
1.一种基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,主要包括: a、通过动态加载线程,对待绘制粒子进行初始化处理; b、通过子线程,对初始化处理后的待绘制粒子进行更新处理; C、通过主线程,对更新处理后的待绘制粒子进行渲染和运算处理。
2.根据权利要求1所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,在步骤a中,所述对待绘制粒子进行初始化处理的操作,具体包括: al、对加载线程粒子初始化,检测特效是否可见,若是,则: 检测在场景中摄像机所看到的物件模型,经过视锥体对没有摄像机看到的场景进行剔除;按照相机距离的从远到近排序,并对遮挡的物件保持顺序,依次剔除; a2、否则,返回步骤al。
3.根据权利要求1或2所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,在步骤b中,所述对初始化处理后的待绘制粒子进行更新处理的操作,具体包括: bl、对粒子特效进行更新; b2、依据分辨率由低到高的顺序,对更新后的粒子特效进行排序。
4.根据权利要求3所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,所述步骤bl,具体包括: 根据粒子的速度、位置、加速度,在子线程更新粒子。
5.根据权利要求4所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,在步骤c中,所述对初始化处理后的待绘制粒子进行渲染和运算处理的操作,具体包括: Cl、在低分辨率下绘制1/16面积下的最大深度粒子列表,把待绘制粒子从1/16面积下放大到1/1面积下; c2、对粒子特效进行修补处理,通过主线程绘制高分辨率粒子。
6.根据权利要求5所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,在步骤Cl中,在所述把待绘制粒子从1/16面积下放大到1/1面积下的操作之前,还包括: 开启独立的alpha渲染模式状态。
7.根据权利要求5所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,在步骤c2中,所述对粒子特效进行修补处理的操作,具体包括: 利用高斯模糊算法和双边过滤算法,来修补粒子特效中的锯齿。
8.根据权利要求7所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,所述高斯模糊算法,具体为: 高斯模糊是一种图像模糊的滤波器,它的正态分布计算图像中的每个像素的变换,因为深度信息是记录二维空间的坐标信息,那么该深度信息在二维空间定的方程为: G(u'v)=^e—(w)/2fj2 ⑴;其中,U正态分布的方差,U、V是像素的坐标值。
9.根据权利要求7所述的基于双缓冲的低分辨率升高分辨率粒子绘制的方法,其特征在于,所述双边过滤算法,具体为: 双边过滤算法是通过计算一个像素周围的权重值Weight来计算的:
【文档编号】G06F17/50GK104008525SQ201410249177
【公开日】2014年8月27日 申请日期:2014年6月6日 优先权日:2014年6月6日
【发明者】张翼 申请人:无锡梵天信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1