一种具有粒子元素的实时影像渲染方法

文档序号:6507259阅读:169来源:国知局
一种具有粒子元素的实时影像渲染方法
【专利摘要】本发明涉及一种具有粒子元素的实时影像渲染方法,在实时获取影像数据的同时,在实时影像数据中加入粒子元素,并生成带有粒子元素的影像。本发明的有益效果如下:本发明所述的方法在拍照与摄影的过程中引入了粒子系统,对影像数据进行渲染的同时,添加一些粒子元素(例如:爱心、火焰、云朵、雪花、星星等),使拍照后的效果更丰富。并且与游戏方面的粒子不同的是,可以让用户自己切换粒子的元素,选择自己喜炊的粒子元素;同时也可以自己控制粒子的生成位置,使得同一个粒子在同一个环境下有不同的效果。而且可以达到实时粒子元素效果显示,使得拍照或摄像的效果所见即所得。
【专利说明】一种具有粒子元素的实时影像渲染方法
【技术领域】
[0001]本发明涉及一种影像处理的方法,更具体地说,涉及一种具有粒子元素的实时影像渲染方法。
【背景技术】
[0002]现有技术的图像或视频拍摄与处理,只能简单地在图像或视频上添加特效渲染或图层、掩膜、挂件,技术手段比较陈旧,效果过时。而粒子系统作为另一种特效技术手段,虽然已在其他领域进行应用,却如果想将其引入到实时影像处理领域中,存在必须克服的技术难题,如在拍照或拍摄视频过程中,对实时的影像数据进行粒子元素的渲染,现有技术暂时还无法做到通过粒子系统对实时影像进行渲染。

【发明内容】

[0003]本发明的目的在于克服现有技术的不足,提供一种在拍照或摄影过程中,引入粒子系统,对影像数据添加粒子元素,增加影像文件效果丰富性的具有粒子元素的实时影像渲染方法。
[0004]本发明的技术方案如下:
[0005]一种具有粒子元素的实时影像渲染方法,在实时获取影像数据的同时,在实时影像数据中加入粒子元素,并生成带有粒子元素的影像。
[0006]作为优选,粒子元素生成前,先加载要进行渲染的粒子元素的配置文件,初始化渲染环境,创建渲染数据缓存区。
[0007]作为优选,将实时的影像数据流加载到渲染数据缓存区,并进行粒子元素的渲染,将粒子元素加入到影像数据,生成带有粒子元素的影像。
[0008]作为优选,实时的影像数据流加载到渲染数据缓存区后,还对影像数据进行渲染。
[0009]作为优选,粒子元素的配置文件包括粒子元素的数据结构的参数,用于对粒子元素的数据结构进行赋值。
[0010]作为优选,粒子元素由粒子系统生成,在粒子系统中定义有粒子元素的数据结构。
[0011]作为优选,粒子系统还包括发射器,发射器在粒子系统中创建粒子元素的实体,并控制粒子元素行动参数,粒子元素行动参数用于约束粒子的随机过程。
[0012]作为优选,生成带有粒子元素的影像的步骤为:刷新背景,通过粒子系统对粒子元素的数据结构的参数进行赋值,渲染粒子元素,与实时的影像图像结合,生成带有粒子元素的影像。
[0013]作为优选,在粒子元素生成的起始时间或粒子元素生成的过程中,指定生成粒子元素的指定位置,发射器由指定位置生成新的粒子元素。
[0014]作为优选,进一步包括更换粒子元素的方法,步骤如下:
[0015]I)等待渲染结束后,暂停并删除当前的粒子元素的配置文件;
[0016]2)加载新的粒子元素的配置文件;[0017]3)继续获取实时影像数据,并利用新的粒子元素的配置文件对进行粒子元素的进行渲染。
[0018]作为优选,当影像数据定义为生成静态图片时,步骤如下:
[0019]Al)捕获实时的影像数据,并创建与捕获的影像数据同等大小的数据缓存区;
[0020]A2)渲染影像数据与当前状态的粒子元素到数据缓存区;
[0021]A3)读取数据缓存区的图像并保存成文件;
[0022]A4)暂停捕获实时的影像数据、暂停粒子元素的更新与渲染。
[0023]作为优选,当影像数据定义为生成视频文件时,通过步骤Al)至步骤A3)生成单帧图像,不间断进行捕获实时的影像数据、粒子元素的更新与渲染,直至视频文件生成完成。
[0024]作为优选,所述的渲染环境基于OpenGL ES平台,基于OpenGL ES的开发语言与GLSL脚本对粒子元素与影像数据进行渲染。
[0025]本发明的有益效果如下:
[0026]本发明所述的方法在拍照与摄影的过程中引入了粒子系统,对影像数据进行渲染的同时,添加一些粒子元素(例如:爱心、火焰、云朵、雪花、星星等),使拍照后的效果更丰富。并且与游戏方面的粒子不同的是,可以让用户自己切换粒子的元素,选择自己喜欢的粒子元素;同时也可以自己控制粒子的生成位置,使得同一个粒子在同一个环境下有不同的效果。而且可以达到实时粒子元素效果显示,使得拍照或摄像的效果所见即所得。
【具体实施方式】
[0027]以下结合实施例对本发明进行进一步的详细说明。
[0028]一种具有粒子元素的实时影像渲染方法,在实时获取影像数据的同时,在实时影像数据中加入粒子元素,并生成带有粒子元素的影像。
[0029]粒子元素生成前,先加载要进行渲染的粒子元素的配置文件,初始化渲染环境,创建渲染数据缓存区。
[0030]将实时的影像数据流加载到渲染数据缓存区,并进行粒子元素的渲染,将粒子元素加入到影像数据,生成带有粒子元素的影像。
[0031]实时的影像数据流加载到渲染数据缓存区后,还对影像数据进行渲染。
[0032]所述的渲染环境基于OpenGL ES平台,基于OpenGL ES的开发语言与GLSL脚本对粒子元素与影像数据进行渲染,则本发明所述的方法包括如下两个步骤:
[0033]步骤一、加载要进行渲染的粒子元素的配置文件,初始化OpenGL ES的渲染环境,创建渲染数据缓存区与显示视图;
[0034]步骤二、获取实时影像数据流,将实时的影像数据流加载到渲染数据缓存区,进行实时影像的渲染,并进行粒子元素的渲染;将渲染后的带有粒子元素的影像数据显示在视图上。
[0035]粒子元素的配置文件包括粒子元素的数据结构的参数,用于对粒子元素的数据结构进行赋值。最终利用发射器进行粒子元素的生成。
[0036]粒子元素由粒子系统生成,在粒子系统中定义有粒子元素的数据结构。
[0037]粒子系统还包括发射器,发射器在粒子系统中创建粒子元素的实体,并控制粒子元素行动参数,粒子元素行动参数用于约束粒子的随机过程。[0038]粒子系统可以仅由一组空间中的3维顶点组成。与标准的几何对象不同,粒子组成的系统不是静态的。它们经历了一个完整的生命周期。粒子产生,随时间变化,然后死亡。通过调整影响生命周期参数,可以创建不同类型的效果。
[0039]粒子系统的另一个特点是粒子是混乱的。也就是说,粒子元素的运动不存在确定的路径,每个粒子可以有一个更改它们行为的元素,成为一个随机过程,这个随机过程使效果看起来非常真实自然。
[0040]粒子系统的工作流程主要是以下3个步骤:
[0041]首先,预定义粒子系统中粒子元素的数据结构,包括但不限于以下参数:粒子的形状、粒子当前位置、粒子之前位置、当前方向和速度、剩余存在时间、粒子当前的颜色、粒子之前的颜色、颜色改变量、粒子当前尺寸、粒子之前尺寸、尺寸该变量等等。
[0042]其次,配置粒子元素的发射器,发射器是在系统中负责创建粒子的实体,主要用来控制粒子的数量、大体的发射方向以及其它全局设置。
[0043]最后,粒子元素产生后,由粒子系统进行处理,主要用于更新每个粒子元素,以及渲染存活的粒子元素。
[0044]生成带有粒子元素的影像的步骤为:刷新背景,通过粒子系统对粒子元素的数据结构的参数进行赋值,渲染粒子元素,与实时的影像图像结合,生成带有粒子元素的影像。如果同时对影像数据与粒子元素进行渲染,具体为:先刷新背景,然后利用GLSL脚本渲染捕获的实时影像数据,接着利用粒子系统对粒子元素进行更新粒子元素的数据结构里的参数的值,最终将更新后的粒子元素进行渲染,并显示在视图上。
[0045]在粒子元素生成的起始时间或粒子元素生成的过程中,指定生成粒子元素的指定位置,发射器由指定位置生成新的粒子元素。以触摸屏为例,当用户触摸屏幕时,则将发射器生成粒子元素的起始位置设置为用户触摸屏幕上的位置,接下来发射器新生成的粒子元素将由该位置生成。
[0046]本发明进一步提供了更换粒子元素的方法,步骤如下:
[0047]I)等待渲染结束后,暂停并删除当前的粒子元素的配置文件;
[0048]2)加载新的粒子元素的配置文件;
[0049]3)继续获取实时影像数据,并利用新的粒子元素的配置文件对进行粒子元素的进行渲染。
[0050]当影像数据定义为生成静态图片时,步骤如下:
[0051]Al)捕获实时的影像数据,并创建与捕获的影像数据同等大小的数据缓存区;
[0052]A2)渲染影像数据与当前状态的粒子元素到数据缓存区;
[0053]A3)读取数据缓存区的图像并保存成文件;
[0054]A4)暂停捕获实时的影像数据、暂停粒子元素的更新与渲染。
[0055]当影像数据定义为生成视频文件时,通过步骤Al)至步骤A3)生成单帧图像,不间断进行捕获实时的影像数据、粒子元素的更新与渲染,每个循环执行每一帧动画,直至视频文件生成完成。当开始摄影时,将数据缓存区中渲染后的影像数据,根据影像的格式进行保存;并且粒子系统还在不断更新运行,直到结束摄影时,暂停捕获实时的摄像数据,暂停粒子系统的更新操作。
[0056]上述实施例仅是用来说明本发明,而并非用作对本发明的限定。只要是依据本发明的技术实质,对上述实施例进行变化、变型等都将落在本发明的权利要求的范围内。
【权利要求】
1.一种具有粒子元素的实时影像渲染方法,其特征在于,在实时获取影像数据的同时,在实时影像数据中加入粒子元素,并生成带有粒子元素的影像。
2.根据权利要求1所述的具有粒子元素的影像处理方法,其特征在于,粒子元素生成前,先加载要进行渲染的粒子元素的配置文件,初始化渲染环境,创建渲染数据缓存区。
3.根据权利要求2所述的具有粒子元素的影像处理方法,其特征在于,将实时的影像数据流加载到渲染数据缓存区,并进行粒子元素的渲染,将粒子元素加入到影像数据,生成带有粒子元素的影像。
4.根据权利要求3所述的具有粒子元素的影像处理方法,其特征在于,实时的影像数据流加载到渲染数据缓存区后,还对影像数据进行渲染。
5.根据权利要求2所述的具有粒子元素的影像处理方法,其特征在于,粒子元素的配置文件包括粒子元素的数据结构的参数,用于对粒子元素的数据结构进行赋值。
6.根据权利要求5所述的具有粒子元素的影像处理方法,其特征在于,粒子元素由粒子系统生成,在粒子系统中定义有粒子元素的数据结构。
7.根据权利要求6所述的具有粒子元素的影像处理方法,其特征在于,粒子系统还包括发射器,发射器在粒子系统中创建粒子元素的实体,并控制粒子元素行动参数,粒子元素行动参数用于约束粒子的随机过程。
8.根据权利要求7所述的具有粒子元素的影像处理方法,其特征在于,生成带有粒子元素的影像的步骤为:刷新背景,通过粒子系统对粒子元素的数据结构的参数进行赋值,渲染粒子元素,与实时的影像图像结合,生成带有粒子元素的影像。
9.根据权利要求7所述的具有粒子元素的影像处理方法,其特征在于,在粒子元素生成的起始时间或粒子元素生成的过 程中,指定生成粒子元素的指定位置,发射器由指定位置生成新的粒子元素。
10.根据权利要求1所述的具有粒子元素的影像处理方法,其特征在于,进一步包括更换粒子元素的方法,步骤如下: 1)等待渲染结束后,暂停并删除当前的粒子元素的配置文件; 2)加载新的粒子元素的配置文件; 3)继续获取实时影像数据,并利用新的粒子元素的配置文件对进行粒子元素的进行渲染。
11.根据权利要求1所述的具有粒子元素的影像处理方法,其特征在于,当影像数据定义为生成静态图片时,步骤如下: Al)捕获实时的影像数据,并创建与捕获的影像数据同等大小的数据缓存区; A2)渲染影像数据与当前状态的粒子元素到数据缓存区; A3)读取数据缓存区的图像并保存成文件; A4)暂停捕获实时的影像数据、暂停粒子元素的更新与渲染。
12.根据权利要求11所述的具有粒子元素的影像处理方法,其特征在于,当影像数据定义为生成视频文件时,通过步骤Al)至步骤A3)生成单帧图像,不间断进行捕获实时的影像数据、粒子元素的更新与渲染,直至视频文件生成完成。
13.根据权利要求2所述的具有粒子元素的影像处理方法,其特征在于,所述的渲染环境基于OpenGL ES平台,基于OpenGL ES的开发语言与GLSL脚本对粒子元素与影像数据进行渲 染。
【文档编号】G06T1/00GK103455968SQ201310341625
【公开日】2013年12月18日 申请日期:2013年8月7日 优先权日:2013年8月7日
【发明者】张伟, 傅松林, 王黎凌, 张长定 申请人:厦门美图网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1