一种渲染方法及装置与流程

文档序号:12122897阅读:197来源:国知局
一种渲染方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种渲染方法及装置。



背景技术:

在安卓系统的书写软件中,常用的渲染方式有两种:SurfaceView渲染和OpenGL渲染。其中,SurfaceView渲染由于API(Application Programming Interface,应用程序编程接口)支持比较完善,笔迹可以达到很好的平滑效果,因此,常用于跟随和描绘书写笔迹,以及在画布中插入图片,但是当在书写软件的画布中进行连续的笔迹或图片的移动、缩放时,由于SurfaceView渲染速度跟不上操作的速度,会导致卡顿的现象,影响用户体验。特别是在进行全局的移动、缩放时,需要遍历每一个笔迹或图片,逐个进行绘制更新在SurfaceView的视图上,整个渲染速度随着笔迹或图片个数的增多而变慢,画面越来越卡顿。

而OpenGL渲染速度非常快,广泛应用于游戏和一些动画效果华丽的应用中。在使用OpenGL渲染时,移动、缩放笔迹或图片的渲染速度至少加快了10倍(随笔迹和图片的数量增加,效果越明显,甚至可以达到渲染速度OpenGL是毫秒级别,而SurfaceView渲染是秒级别)。特别是对于图片的OpenGL渲染,图片的纹理数据被存储在显存中,进行OpenGL渲染时几乎不需要耗时。所以OpenGL渲染完全不会有卡顿的感觉。但是OpenGL也有它的局限性,OpenGL对于线条没有圆滑的效果,在线条很粗的时候,绘制形状不可接受。

因此,现有技术中,采用单一的渲染方式,无法同时具备不同渲染方式的有益效果,也无法克服单一渲染方式的缺陷限制。受限于操作系统的API支持,也无法在一个视图上使用两种渲染方式。



技术实现要素:

本发明的目的在于提供一种渲染方法和装置,其能使用两种渲染方式,同时具备不同渲染方式的有益效果,克服单一渲染方式的缺陷限制。

为了实现上述目的,本发明一方面提供一种渲染方法,包括:

在书写软件的画布上配置第一视图和第二视图;其中,所述第一视图和第二视图均覆盖所述画布,且所述第一视图和所述第二视图的背景均设为透明;

根据待绘制的对象选择渲染方式;

若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象;

若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象。

实施本发明,具有如下有益效果:

本发明在书写软件的画布上配置了第一视图和第二视图,由于视图背景透明,因此两个视图叠加,用户可以同时看到两个视图所渲染的内容。根据需求将待绘制的对象一部分使用第一渲染方式绘制,另一部分使用第二渲染方式绘制,使得对平滑效果要求高的待绘制对象和对渲染速度要求高的待绘制对象都能达到理想的渲染效果,克服单一渲染方式的缺陷限制。

在其中一个实施例中,所述根据待绘制的对象选择渲染方式,包括:

由书写软件当前的工作模式确定待绘制的对象的属性;其中,在书写软件处于书写模式时,所述待绘制的对象为根据用户的触摸操作书写生成的对象;在书写软件处于移动模式或缩放模式下,所述待绘制的对象为根据用户的触摸操作移动或缩放的对象;

若待绘制的对象为根据用户的触摸操作书写生成的对象,则选择使用第一渲染方式;

若待绘制的对象为根据用户的触摸操作移动或缩放的对象,则选择使用第二渲染方式。

进一步地,所述若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象,具体包括:

若选择使用第一渲染方式,则记录第二对象数据,清空所述第二视图;其中,所述第二对象数据为当前所述第二视图上的所有对象对应的数据;

在所述第一视图上,使用第一渲染方式绘制所述第二对象数据对应的对象;

监听用户的触摸操作,在所述第一视图上,使用第一渲染方式绘制根据所述触摸操作书写生成的对象;

所述若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象,具体包括:

若选择使用第二渲染方式,则记录第一对象数据,清空所述第一视图;其中,所述第一对象数据为当前所述第一视图上的所有对象对应的数据;

在所述第二视图上,使用第二渲染方式绘制所述第一对象数据对应的对象;

监听用户的触摸操作,在所述第二视图上,使用第二渲染方式绘制根据所述触摸操作移动或缩放的对象。

进一步地,所述第一渲染方式为SurfaceView渲染,所述第二渲染方式为OpenGL渲染。

进一步地,所述对象包括图片和笔迹;则在所述第二视图上使用第二渲染方式绘制指定对象时,若所述对象为笔迹,则使用第二渲染方式按照预设的线宽绘制所述笔迹。

在其中一个实施例中,当书写软件处于书写模式时,由于跟随用户的触摸操作生成书写笔迹或者插入图片对于渲染速度要求并不高,采用平滑效果好但渲染速度一般的SurfaceView渲染能达到理想的渲染效果;而在移动、缩放笔迹或图片等对象时,采用渲染速度快的OpenGL渲染,避免渲染速度跟不上操作的速度导致卡顿,也能达到理想的渲染效果。同一个对象在不同工作模式下需分别在两个视图上用不同的渲染方式绘制,在切换工作模式时,将所有对象切换至另一视图上可避免图像重叠出错的问题。

进一步方案中,在使用OpenGL渲染绘制笔迹时,由于OpenGL渲染对粗线条渲染效果不好,采用固定的线宽绘制笔迹能达到较为平滑的效果。

在另一个实施例中,所述根据待绘制对象,选择渲染方式,包括:

若待绘制对象为缩放控点,则选择使用第一渲染方式;其中,所述缩放控点定义为根据用户的点击操作在图片边沿上生成的用于控制图片大小的控点;

若待绘制对象为图片,则选择使用第二渲染方式。

在另一个实施例中,直接根据绘制对象的类型,确定渲染方式。当绘制对象为图片时,由于图片插入、缩放或移动对速度要求都较快,可以使用渲染速度快的渲染方式,而图片边沿上生成的缩放控点由于跟手要求相对较低,因此采用速度一般但其他效果好的渲染方式渲染满足要求即可。根据实际需求使用不同的渲染方式,有利于书写软件运行速度和效果的平衡。

本发明另一方面提供一种渲染装置,包括:

视图配置模块,用于在书写软件的画布上配置第一视图和第二视图;其中,所述第一视图和第二视图均覆盖所述画布,且所述第一视图和所述第二视图的背景均设为透明;

渲染选择模块,用于根据待绘制的对象选择渲染方式;

第一渲染模块,用于若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象;

第二渲染模块,用于若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象。

在其中一个实施例中,所述渲染选择模块包括:

模式确认单元,用于由书写软件当前的工作模式确定待绘制的对象的属性;其中,在书写软件处于书写模式时,所述待绘制的对象为根据用户的触摸操作书写生成的对象;在书写软件处于移动模式或缩放模式下,所述待绘制的对象为根据用户的触摸操作移动或缩放的对象;

第一选择单元,用于若待绘制的对象为根据用户的触摸操作书写生成的对象,则选择使用第一渲染方式;

第二选择单元,用于若待绘制的对象为根据用户的触摸操作移动或缩放的对象,则选择使用第二渲染方式。

进一步地,所述第一渲染模块包括:

第一清空视图单元,用于若选择使用第一渲染方式,则记录第二对象数据,清空所述第二视图;其中,所述第二对象数据为当前所述第二视图上的所有对象对应的数据;

第一复制视图单元,用于在所述第一视图上,使用第一渲染方式绘制所述第二对象数据对应的对象;

书写生成单元,用于监听用户的触摸操作,在所述第一视图上,使用第一渲染方式绘制根据所述触摸操作书写生成的对象;

所述第二渲染模块包括:

第二清空视图单元,用于若选择使用第二渲染方式,则记录第一对象数据,清空所述第一视图;其中,所述第一对象数据为当前所述第一视图上的所有对象对应的数据;

第二复制视图单元,用于在所述第二视图上,使用第二渲染方式绘制所述第一对象数据对应的对象;

移动缩放单元,用于监听用户的触摸操作,在所述第二视图上,使用第二渲染方式绘制根据所述触摸操作移动或缩放的对象。

在另一个实施例中,所述渲染选择模块包括:

缩放控点渲染单元,用于若待绘制对象为缩放控点,则选择使用第一渲染方式;其中,所述缩放控点定义为根据用户的点击操作在图片边沿上生成的用于控制图片大小的控点;

图片渲染单元,用于若待绘制对象为图片,则选择使用第二渲染方式。

附图说明

图1是本发明提供的渲染方法的实施例一的流程图;

图2是本发明提供的渲染方法的实施例一步骤S2的具体流程图;

图3是本发明提供的渲染方法的实施例二步骤S2的具体流程图;

图4是本发明提供的渲染方法的实施例三步骤S2的具体流程图;

图5是本发明提供的渲染装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的渲染方法的实施例一的流程图。实施例一中,渲染方法包括:

S1、在书写软件的画布上配置第一视图和第二视图;其中,所述第一视图和第二视图均覆盖所述画布,且所述第一视图和所述第二视图的背景均设为透明;

S2、根据待绘制的对象选择渲染方式;

S3、若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象;

S4、若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象。

本发明提供的渲染方法的实施例一,在书写软件的画布上配置了第一视图和第二视图,由于视图背景透明,因此两个视图叠加,用户可以同时看到两个视图所渲染的内容。根据需求将待绘制的对象一部分使用第一渲染方式绘制,另一部分使用第二渲染方式绘制,使得对平滑效果要求高的待绘制对象和对渲染速度要求高的待绘制对象都能达到理想的渲染效果,克服单一渲染方式的缺陷限制。

参见图2,是本发明提供的渲染方法的实施例一步骤S2的具体流程图。实施例一中的步骤S2具体包括:

S211、由书写软件当前的工作模式确定待绘制的对象的属性;其中,在书写软件处于书写模式时,所述待绘制的对象为根据用户的触摸操作书写生成的对象;在书写软件处于移动模式或缩放模式下,所述待绘制的对象为根据用户的触摸操作移动或缩放的对象;

S212、若待绘制的对象为根据用户的触摸操作书写生成的对象,则选择使用第一渲染方式;

S213、若待绘制的对象为根据用户的触摸操作移动或缩放的对象,则选择使用第二渲染方式。

需要说明的是,触屏终端的书写软件的工作模式包括书写模式、移动模式和缩放模式,本领域技术人员可知,在书写模式下,用户在触屏终端上执行触摸操作,根据触摸操作的轨迹,可以生成笔迹对象,用户还可在触屏终端上,插入图片;在移动模式下,用户在触屏终端上执行触摸操作,根据触摸操作的轨迹,可以移动触摸点所对应的对象;在缩放模式下,用户在触屏终端上对对象的边沿执行触摸操作,根据触摸操作的轨迹,可以缩放该对象;此外,移动模式和缩放模式可以设置为同一种模式。

书写软件可由多种方式触发进入不同的工作模式。例如,在触屏终端上的书写软件,书写软件启动时默认进入书写模式,可以采用特定的手势进入移动和缩放模式,特定的手势可以是三点触发,即用户三个手指同时按下,则进入移动和缩放模式,此时待绘制的对象切换为根据用户的触摸操作移动或缩放的对象,即根据移动和缩放操作,更新对象;当用户完成移动和缩放后,抬手时则进入书写模式。此外,也可以在书写软件的工具栏上设置模式选择栏,用户通过操作所述模式选择栏切换工作模式。

步骤S3具体包括:

S311、若选择使用第一渲染方式,则记录第二对象数据,清空所述第二视图;其中,所述第二对象数据为当前所述第二视图上的所有对象对应的数据;

S312、在所述第一视图上,使用第一渲染方式绘制所述第二对象数据对应的对象;

S313、监听用户的触摸操作,在所述第一视图上,使用第一渲染方式绘制根据所述触摸操作书写生成的对象;

步骤S4具体包括:

S411、若选择使用第二渲染方式,则记录第一对象数据,清空所述第一视图;其中,所述第一对象数据为当前所述第一视图上的所有对象对应的数据;

S412、在所述第二视图上,使用第二渲染方式绘制所述第一对象数据对应的对象;

S413、监听用户的触摸操作,在所述第二视图上,使用第二渲染方式绘制根据所述触摸操作移动或缩放的对象。

当书写软件处于书写模式时,由于跟随用户的触摸操作生成书写笔迹或者插入图片对于渲染速度要求并不高,可采用一种平滑效果好但渲染速度一般的渲染方式,能达到理想的渲染效果;而在移动、缩放笔迹或图片等对象时,采用另一种渲染速度快的渲染方式,能避免渲染速度跟不上操作的速度导致卡顿,也能达到理想的渲染效果。在安卓系统上,平滑效果好的渲染方式优选为SurfaceView渲染,渲染速度快的渲染方式优选为OpenGL渲染,即第一渲染方式优选为SurfaceView渲染,第二渲染方式优选为OpenGL渲染。在其他操作系统上,可以选择其他的渲染方式作为第一渲染方式和第二渲染方式。

在使用OpenGL渲染绘制笔迹时,由于OpenGL渲染对粗线条渲染效果不好,采用固定的线宽绘制笔迹能达到较为平滑的效果。即:

进一步地,所述对象包括图片和笔迹;则在所述第二视图上使用第二渲染方式绘制指定对象时,若所述对象为笔迹,则使用第二渲染方式按照预设的线宽绘制所述笔迹。

同一个对象在不同工作模式下需分别在两个视图上用不同的渲染方式绘制,在切换工作模式时,将所有对象切换至另一视图上可避免图像重叠出错的问题。

本发明提供的渲染方法的实施例二,渲染方法包括:

S1、在书写软件的画布上配置第一视图和第二视图;其中,所述第一视图和第二视图均覆盖所述画布,且所述第一视图和所述第二视图的背景均设为透明;

S2、根据待绘制的对象选择渲染方式;

S3、若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象;

S4、若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象。

图3是本发明提供的渲染方法的实施例二步骤S2的具体流程图。步骤S2具体包括:

S221、若待绘制对象为缩放控点,则选择使用第一渲染方式;其中,所述缩放控点定义为根据用户的点击操作在图片边沿上生成的用于控制图片大小的控点;

S222、若待绘制对象为图片,则选择使用第二渲染方式。

实施例二中,在安卓系统,第一渲染方式优选为SurfaceView渲染,第二渲染方式优选为OpenGL渲染。在其他操作系统上,可以选择其他的渲染方式作为第一渲染方式和第二渲染方式。实施例二根据绘制对象的类型选择使用渲染方式。如,书写软件里的图片对象被选中时,会出现在图片边沿上生成8个控制图片大小的控点,通过控点可以对图片进行缩放,这时候这8个控点可以使用SurfaceView渲染绘制,因为控制点跟手要求相对低,SurfaceView渲染也比较容易进行绘制;而图片的缩放就使用OpenGL渲染进行绘制,来避免卡顿的情况。在视图透明的前提下,用户看到的内容是两个视图叠加的内容。此外,笔迹对象也可以使用SurfaceView渲染绘制,避免OpenGL渲染对笔迹的渲染效果不好,即步骤S2还包括:

S223、若待绘制对象为笔迹,则选择使用第一渲染方式。

本发明提供的渲染方法的实施例三,渲染方法包括:

S1、在书写软件的画布上配置第一视图和第二视图;其中,所述第一视图和第二视图均覆盖所述画布,且所述第一视图和所述第二视图的背景均设为透明;

S2、根据待绘制的对象选择渲染方式;

S3、若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象;

S4、若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象。

参见图4,是本发明提供的渲染方式的实施例三步骤S2的具体流程图。

步骤S2包括:

S231、根据是否接收到从当前打开页面跳转到目标页面的翻页指令,判断待绘制对象是否翻页效果的目标页面;

S232、若所述待绘制对象不是翻页效果的目标页面,则选择使用第一渲染方式;

S233、若所述待绘制对象是翻页效果的目标页面,则选择使用第二渲染方式;

步骤S3具体为:若选择使用第一渲染,则在所述第一视图上使用第一渲染方式绘制由用户的触摸操作生成、移动或缩放的对象;

步骤S4具体为:若选择使用第二渲染方式,则清空所述第一视图,在所述第二视图上使用第二渲染方式绘制所述目标页面。

实施例三中,在安卓系统,第一渲染方式优选为SurfaceView渲染,第二渲染方式优选为OpenGL渲染。在其他操作系统上,可以选择其他的渲染方式作为第一渲染方式和第二渲染方式。实施例三对翻页效果使用OpenGL渲染,提高翻页的速度。

参见图5,是本发明提供的渲染装置的结构框图。本发明另一方面提供一种渲染装置,包括:

视图配置模块1,用于在书写软件的画布上配置第一视图和第二视图;其中,所述第一视图和第二视图均覆盖所述画布,且所述第一视图和所述第二视图的背景均设为透明;

渲染选择模块2,用于根据待绘制的对象选择渲染方式;

第一渲染模块3,用于若选择使用第一渲染方式,则在所述第一视图上使用第一渲染方式绘制指定对象;

第二渲染模块4,用于若选择使用第二渲染方式,则在所述第二视图上使用第二渲染方式绘制指定对象。

在其中一个实施例中,所述渲染选择模块包括:

模式确认单元,用于由书写软件当前的工作模式确定待绘制的对象的属性;其中,在书写软件处于书写模式时,所述待绘制的对象为根据用户的触摸操作书写生成的对象;在书写软件处于移动模式或缩放模式下,所述待绘制的对象为根据用户的触摸操作移动或缩放的对象;

第一选择单元,用于若待绘制的对象为根据用户的触摸操作书写生成的对象,则选择使用第一渲染方式;

第二选择单元,用于若待绘制的对象为根据用户的触摸操作移动或缩放的对象,则选择使用第二渲染方式。

进一步地,所述第一渲染模块包括:

第一清空视图单元,用于若选择使用第一渲染方式,则记录第二对象数据,清空所述第二视图;其中,所述第二对象数据为当前所述第二视图上的所有对象对应的数据;

第一复制视图单元,用于在所述第一视图上,使用第一渲染方式绘制所述第二对象数据对应的对象;

书写生成单元,用于监听用户的触摸操作,在所述第一视图上,使用第一渲染方式绘制根据所述触摸操作书写生成的对象;

所述第二渲染模块包括:

第二清空视图单元,用于若选择使用第二渲染方式,则记录第一对象数据,清空所述第一视图;其中,所述第一对象数据为当前所述第一视图上的所有对象对应的数据;

第二复制视图单元,用于在所述第二视图上,使用第二渲染方式绘制所述第一对象数据对应的对象;

移动缩放单元,用于监听用户的触摸操作,在所述第二视图上,使用第二渲染方式绘制根据所述触摸操作移动或缩放的对象。

在另一个实施例中,所述渲染选择模块包括:

缩放控点渲染单元,用于若待绘制对象为缩放控点,则选择使用第一渲染方式;其中,所述缩放控点定义为根据用户的点击操作在图片边沿上生成的用于控制图片大小的控点;

图片渲染单元,用于若待绘制对象为图片,则选择使用第二渲染方式。

本发明在书写软件的画布上配置了第一视图和第二视图,由于视图背景透明,因此两个视图叠加,用户可以同时看到两个视图所渲染的内容。根据需求将待绘制的对象一部分使用第一渲染方式绘制,另一部分使用第二渲染方式绘制,使得对平滑效果要求高的待绘制对象和对渲染速度要求高的待绘制对象都能达到理想的渲染效果,克服单一渲染方式的缺陷限制。

以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改进和变形也视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1