基于游戏的绘制方法、绘制装置、电子设备及存储介质与流程

文档序号:25732077发布日期:2021-07-02 21:20阅读:113来源:国知局
基于游戏的绘制方法、绘制装置、电子设备及存储介质与流程

本申请涉及游戏技术领域,特别涉及一种基于游戏的绘制方法、绘制装置、电子设备及存储介质。



背景技术:

随着游戏种类越来越多,在一些游戏场景中,为了提升玩家参与感和互动性,可能需要玩家进行一些自由的绘制操作,比如,在卡牌类游戏中,玩家可以通过绘制获得相应的游戏卡牌,提高玩家游戏交互体验。

现有技术中,在游戏中进行绘制时,一般是根据玩家手指滑动的轨迹,绘制并呈现出相应的轨迹符号。

但由于现有的绘制方法比较简单,存在轨迹符号的表现效果比较单一的问题。



技术实现要素:

本申请的目的在于,针对上述现有技术中的不足,提供一种基于游戏的绘制方法、绘制装置、电子设备及存储介质,可以丰富绘制图的表现细节。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本发明提供一种基于游戏的绘制方法,通过终端设备显示图形用户界面,所述图形用户界面显示有主场景界面,所述主场景界面包括绘制区域,所述方法包括:

响应于在所述绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数;

根据所述采样点的绘制参数和预设贴图,生成各所述采样点对应的贴图,其中,所述预设贴图配置有预设透明度;

根据各采样点对应的所述贴图和主渲染目标,获取所述绘制轨迹对应的绘制图,所述主渲染目标为当前主场景对应的渲染目标。

在可选的实施方式中,所述方法还包括:

响应于在所述绘制区域的所述绘制操作,根据所述绘制轨迹,获取当前触控点,并生成所述当前触控点对应的粒子特效。

在可选的实施方式中,所述绘制参数包括:绘制帧的速度;

所述根据所述采样点的绘制参数和预设贴图,生成各所述采样点对应的贴图,包括:

根据所述绘制帧的速度,获取所述采样点对应的贴图尺寸;

根据所述贴图尺寸和所述预设贴图,生成各所述采样点对应的贴图。

在可选的实施方式中,所述根据所述绘制帧的速度,获取所述采样点对应的贴图尺寸,包括:

若当前绘制帧非第一绘制帧,则根据上一绘制帧的采样点对应的贴图尺寸和所述当前绘制帧的速度,确定所述当前绘制帧的采样点对应的贴图尺寸。

在可选的实施方式中,所述获取绘制轨迹中采样点的绘制参数,包括:

若确定所述绘制帧的速度大于预设速度阈值,根据预设插值算法对各所述采样点进行插值操作,获取插值采样点;

根据各采样点的绘制参数,确定各所述插值采样点的绘制参数。

在可选的实施方式中,所述根据各采样点对应的所述贴图和主渲染目标,获取所述绘制轨迹对应的绘制图,包括:

基于所述绘制区域对应的初始渲染目标,对各所述采样点对应的贴图进行叠加,获取叠加后的初始渲染目标;

将所述叠加后的初始渲染目标渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图。

在可选的实施方式中,所述初始渲染目标被配置为每帧渲染前不执行清理颜色值的操作;

所述基于所述绘制区域对应的初始渲染目标,对各所述采样点对应的贴图进行叠加,获取叠加后的初始渲染目标,包括:

基于所述绘制区域对应的初始渲染目标,在所述初始渲染目标上对各所述采样点对应的贴图进行增量叠加,获取叠加后的初始渲染目标。

在可选的实施方式中,所述基于所述绘制区域对应的初始渲染目标,对各所述采样点对应的贴图进行叠加,获取叠加后的初始渲染目标之前,还包括:

根据初始四边形,对所述绘制区域对应的初始渲染目标进行初始清除操作,所述初始四边形被配置为纯黑且完全透明的四边形。

在可选的实施方式中,所述基于所述绘制区域对应的初始渲染目标,对各所述采样点对应的贴图进行叠加,获取叠加后的初始渲染目标之后,还包括:

采用预设透明面片对所述绘制区域对应的初始渲染目标中的预设渲染位置进行渲染。

在可选的实施方式中,所述将所述叠加后的初始渲染目标渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图,包括:

对叠加后的所述初始渲染目标和初始贴图进行混合操作,获取混合面片,所述初始贴图为所述绘制区域对应的预设贴图;

将所述混合面片渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图。

在可选的实施方式中,若绘制模式为旋转对称模式,所述绘制区域包括至少两个子绘制区域;

所述响应于在所述绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数,包括:

响应于在任一所述子绘制区域的绘制操作,分别获取各子绘制区域的绘制轨迹中采样点的绘制参数;

相应地,所述根据各采样点对应的所述贴图和主渲染目标,获取所述绘制轨迹对应的绘制图,包括:

根据各子绘制区域的绘制轨迹中采样点对应的所述贴图和主渲染目标,获取各子绘制区域的绘制轨迹对应的子绘制图。

第二方面,本发明提供一种基于游戏的绘制装置,通过终端设备显示图形用户界面,所述图形用户界面显示有主场景界面,所述主场景界面包括绘制区域,所述绘制装置包括:

响应模块,用于响应于在所述绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数;

生成模块,用于根据所述采样点的绘制参数和预设贴图,生成各所述采样点对应的贴图,其中,所述预设贴图配置有预设透明度;

获取模块,用于根据各采样点对应的所述贴图和主渲染目标,获取所述绘制轨迹对应的绘制图,所述主渲染目标为当前主场景对应的渲染目标。

在可选的实施方式中,所述响应模块,还用于响应于在所述绘制区域的所述绘制操作,根据所述绘制轨迹,获取当前触控点,并生成所述当前触控点对应的粒子特效。

在可选的实施方式中,所述绘制参数包括:绘制帧的速度;所述生成模块,具体用于根据所述绘制帧的速度,获取所述采样点对应的贴图尺寸;

根据所述贴图尺寸和所述预设贴图,生成各所述采样点对应的贴图。

在可选的实施方式中,所述生成模块,具体用于若当前绘制帧非第一绘制帧,则根据上一绘制帧的采样点对应的贴图尺寸和所述当前绘制帧的速度,确定所述当前绘制帧的采样点对应的贴图尺寸。

在可选的实施方式中,所述响应模块,具体用于若确定所述绘制帧的速度大于预设速度阈值,根据预设插值算法对各所述采样点进行插值操作,获取插值采样点;

根据各采样点的绘制参数,确定各所述插值采样点的绘制参数。

在可选的实施方式中,所述获取模块,具体用于基于所述绘制区域对应的初始渲染目标,对各所述采样点对应的贴图进行叠加,获取叠加后的初始渲染目标;

将所述叠加后的初始渲染目标渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图。

在可选的实施方式中,所述初始渲染目标被配置为每帧渲染前不执行清理颜色值的操作;所述获取模块,具体用于基于所述绘制区域对应的初始渲染目标,在所述初始渲染目标上对各所述采样点对应的贴图进行增量叠加,获取叠加后的初始渲染目标。

在可选的实施方式中,所述获取模块,还用于根据初始四边形,对所述绘制区域对应的初始渲染目标进行初始清除操作,所述初始四边形被配置为纯黑且完全透明的四边形。

在可选的实施方式中,所述获取模块,还用于采用预设透明面片对所述绘制区域对应的初始渲染目标中的预设渲染位置进行渲染。

在可选的实施方式中,所述获取模块,具体用于对叠加后的所述初始渲染目标和初始贴图进行混合操作,获取混合面片,所述初始贴图为所述绘制区域对应的预设贴图;

将所述混合面片渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图。

在可选的实施方式中,若绘制模式为旋转对称模式,所述绘制区域包括至少两个子绘制区域;所述响应模块,具体用于响应于在任一所述子绘制区域的绘制操作,分别获取各子绘制区域的绘制轨迹中采样点的绘制参数;相应地,所述获取模块,具体用于根据各子绘制区域的绘制轨迹中采样点对应的所述贴图和主渲染目标,获取各子绘制区域的绘制轨迹对应的子绘制图。

第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述基于游戏的绘制方法的步骤。

第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述基于游戏的绘制方法的步骤。

本申请的有益效果是:

本申请实施例提供的一种基于游戏的绘制方法、绘制装置、电子设备及存储介质中,该方法可以通过终端设备显示图形用户界面,图形用户界面显示有主场景界面,主场景界面包括绘制区域,该方法包括:响应于在绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数;根据采样点的绘制参数和预设贴图,生成各采样点对应的贴图,其中,预设贴图配置有预设透明度;根据各采样点对应的贴图和主渲染目标,获取绘制轨迹对应的绘制图,主渲染目标为当前主场景对应的渲染目标,应用本申请实施例,实现了绘制图可以根据多个采样点对应的多张贴图渲染而成,使得绘制图呈现出笔刷的效果,可以丰富绘制图的表现细节。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种基于游戏的绘制方法的流程示意图;

图2为本申请实施例提供的另一种基于游戏的绘制方法的流程示意图;

图3为本申请实施例提供的又一种基于游戏的绘制方法的流程示意图;

图4为本申请实施例提供的另一种基于游戏的绘制方法的流程示意图;

图5为本申请实施例提供的又一种基于游戏的绘制方法的流程示意图;

图6为本申请实施例提供的另一种基于游戏的绘制方法的流程示意图;

图7为本申请实施例提供的又一种基于游戏的绘制方法的流程示意图;

图8为本申请实施例提供的一种绘制图的示意图;

图9为本申请实施例提供的一种基于游戏的绘制装置的功能模块示意图;

图10为本申请实施例提供的一种电子设备结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

现有的游戏场景中,为了提升玩家参与感和互动性,可能需要玩家进行一些自由的绘制操作,常见应用于游戏的抽卡画符,或者绘图应用的笔触,在进行绘制时,根据手指滑动的轨迹,可以呈现出相应的轨迹符号。

但由于现有的绘制方法比较简单,因此所呈现出的轨迹符号的表现效果都较为单一。

有鉴于此,本申请实施例提供一种基于游戏的绘制方法,应用该绘制方法可以丰富绘制图的表现细节。

在本申请其中一种实施例中的基于游戏的绘制方法可以运行于终端设备。在一可选的实施方式中,终端设备可以为本地终端设备。以游戏为例,本地终端设备存储有游戏程序并用于呈现游戏画面。本地终端设备用于通过图形用户界面与玩家进行交互,即,常规的通过电子设备下载安装游戏程序并运行。该本地终端设备将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。

图1为本申请实施例提供的一种基于游戏的绘制方法的流程示意图,该方法可以应用于终端设备,终端设备显示图形用户界面,图形用户界面显示有主场景界面,主场景界面可以包括绘制区域。如图1所示,该方法可以包括:

s101、响应于在绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数。

采样点的绘制参数可以包括绘制帧的速度、采样点的时间、采样点在绘制轨迹中的位置等,在此不作限定。可选地,用户可以基于终端设备的触摸显示屏或输入设备(比如,鼠标)通过触摸、滑动、点击、拖拽等操作作用于主场景界面的绘制区域以生成绘制操作,响应于该绘制操作,可以获取该绘制操作对应的绘制轨迹中采样点的绘制参数,可选地,该绘制轨迹可以是直线、曲线、圆形、矩形、多边形或任意多边形等,当前,本申请在此并不限定绘制轨迹中采样点的获取方式,在一些实施例中,可以通过预设引擎获取绘制轨迹中各采样点,比如,进行采样时,预设引擎可以触发回调事件ontouch,通过回调事件ontouch进行采样。

可选地,若输入设备包括鼠标,基于鼠标通过点击、拖拽等操作作用于主场景界面的绘制区域时,该绘制过程可以包括开始点击、点击拖拽以及结束点击共三种绘制状态;若基于触摸显示屏通过触摸、滑动等操作作用于主场景界面的绘制区域时,则该绘制过程可以包括开始触摸、触摸移动中、触摸结束以及触摸取消共四种绘制状态。根据该说明,可以理解的是,绘制轨迹可以通过至少一个完整的绘制状态生成,该绘制轨迹可以包括多个采样点,采样点可以根据预设的触控采样率(比如,30hz、60hz等)确定,每个采样点可以对应不同的绘制参数,获取该绘制轨迹中每个采样点的绘制参数。

s102、根据采样点的绘制参数和预设贴图,生成各采样点对应的贴图。

其中,预设贴图配置有预设透明度,该预设透明度可以是30%、50%、80%等,在此不作限定。

基于上述说明,在获取到绘制轨迹中采样点的绘制参数后,则可以根据各采样点的绘制参数和预设贴图,生成各采样点对应的贴图,可选地,采样点的绘制参数不同,则采样点对应的贴图也不同,如此可以根据不同的采样点显示不同的贴图,使得后续渲染时,可以显示多样的显示效果。可以理解的是,绘制轨迹包括多个采样点时,则该绘制轨迹将对应多张贴图,也即n个采样点将对应n张贴图。

s103、根据各采样点对应的贴图和主渲染目标,获取绘制轨迹对应的绘制图,主渲染目标为当前主场景对应的渲染目标。

其中,在获取到各采样点对应的贴图后,则可以根据各采样点对应的贴图和主渲染目标,对该主场景界面和绘制区域进行渲染,通过渲染,在主场景界面的绘制区域显示该绘制轨迹对应的绘制图,可以理解的是,由于该绘制图是根据多个采样点对应的多张贴图渲染而成,因此,该绘制图将呈现出笔刷的效果,相较于现有直接采用点绘制的方式,将有效丰富绘制图的表现细节,具体细节根据预设贴图的不同可以有所不同。可选地,根据不同的应用场景,可以设置不同图案的预设贴图使得绘制图可以具有多样性。

举例说明,当前主场景可以是主游戏界面,该主游戏界面可以包括绘制区域,则主渲染目标可以是该主游戏界面对应的渲染目标,则通过上述实施例的方法,通过渲染可以在主游戏界面的绘制区域显示任意图案的绘制图。

综上,本申请实施例提供的基于游戏的绘制方法,可以通过终端设备显示图形用户界面,图形用户界面显示有主场景界面,主场景界面包括绘制区域,该方法包括:响应于在绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数;根据采样点的绘制参数和预设贴图,生成各采样点对应的贴图,其中,预设贴图配置有预设透明度;根据各采样点对应的贴图和主渲染目标,获取绘制轨迹对应的绘制图,主渲染目标为当前主场景对应的渲染目标,应用本申请实施例,实现了绘制图可以根据多个采样点对应的多张贴图渲染而成,使得绘制图呈现出笔刷的效果,可以丰富绘制图的表现细节。

可选地,实际绘制过程中,为了便于用户可以清楚地知晓当前的绘制位置,上述方法还包括:

响应于在绘制区域的绘制操作,根据绘制轨迹,获取当前触控点,并生成当前触控点对应的粒子特效。

其中,响应于在绘制区域的绘制操作,可以生成绘制轨迹,根据该绘制轨迹中各采样点对应的采样时间可以获取当前触控点,在获取了当前触控点后,则可以生成该当前触控点对应的粒子特效,可选地,该粒子特效可以用于在当前触控点周围显示多个粒子效果,避免当前触控点被手指遮挡,使得通过粒子特效用户可以明确知晓当前的触控位置和触控状态,便于用户及时作出调整。可以理解的是,当前触控点的位置发生变化时,当前触控点对应的粒子特效将跟随当前触控点移动。

图2为本申请实施例提供的另一种基于游戏的绘制方法的流程示意图。绘制参数包括:绘制帧的速度,可选地,如图2所示,上述根据采样点的绘制参数和预设贴图,生成各采样点对应的贴图,可以包括:

s301、根据绘制帧的速度,获取采样点对应的贴图尺寸。

s302、根据贴图尺寸和预设贴图,生成各采样点对应的贴图。

其中,绘制帧可以理解为采样点对应的采样帧,当前绘制帧的速度可以根据当前绘制轨迹的总长度和当前绘制轨迹对应的时间计算得到,其中,当前绘制轨迹的总长度为总采样点之间的距离累加之和,当前绘制轨迹对应的时间为当前第一个采样点的时间和最后一个采样点的时间之间的时间差。

举例说明,某绘制轨迹包括100个采样点,则第100个采样点对应的绘制帧的速度为该绘制轨迹的总长度与该绘制轨迹对应的时间的比值,也即第100个采样点对应的绘制帧的速度为100个采样点之间的距离累加之和,与第一个采样点的时间和第100个采样点的时间之间的时间差的比值。

基于上述说明,则可以根据每个采样点对应的绘制帧的速度,获取到各采样点对应的贴图尺寸,可选地,具体在进行确定时,可以将各采样点对应的绘制帧的速度与预设速度阈值进行比较,若采样点对应的绘制帧的速度与预设速度阈值的差值越大,则该采样点对应的贴图尺寸可以越大;否则,该采样点对应的贴图尺寸可以越小,但不以此为限,根据实际的应用场景可以灵活调整。

在获取到采样点对应的贴图尺寸后,则可以根据该贴图尺寸对预设贴图进行调整,调整方式可以包括放大或缩小,通过调整,可以生成各采样点对应的贴图。可以理解的是,若各采样点对应的贴图尺寸不同,则生成的各采样点对应的贴图也将不同,实现了可以根据绘制速度调整采样点对应的贴图尺寸,使得最终得到的绘制轨迹对应的绘制图可以具有多样性,丰富表现效果。当然,需要说明的是,根据实际的应用场景也可以调节各采样点对应的贴图的颜色,比如,可以调整为渐变、动态变化等效果,在此不作限定。

可以理解的是,实际绘制过程中,由于用户的绘制速度可能会发生突变,也即采样点之间的空隙会发生突变,最终使得绘制帧的速度可能会发生突变;而绘制帧的速度发生突变,将导致相邻两个采样点对应的贴图尺寸发生突变,最终使得绘制轨迹对应的绘制图的局部会发生跳变的现象,表现效果不佳。为了解决该问题,可选地,上述根据绘制帧的速度,获取采样点对应的贴图尺寸,可以包括:

若当前绘制帧非第一绘制帧,则根据上一绘制帧的采样点对应的贴图尺寸和当前绘制帧的速度,确定当前绘制帧的采样点对应的贴图尺寸。

其中,可以判断当前绘制帧是否为第一绘制帧,可选地,若非第一绘制帧,可以根据上一绘制帧的采样点对应的贴图尺寸、当前绘制帧的速度以及预设参数,确定当前绘制帧的采样点对应的贴图尺寸,如此可以使得各采样点对应的贴图尺寸之间可以平滑过渡。

比如,上一绘制帧的采样点对应的贴图尺寸为ax-1,当前绘制帧的速度为v2,当前绘制帧的采样点对应的贴图尺寸为ax,则ax可以表示为:ax=ax-1*0.9+vx*0.1,当然,实际计算方式并不以此为限,本申请在此也并不限定其中的参数,可选地,根据实际的应用场景,该式中的0.9也可以替换为0.7、0.8等,该式中的0.1也可以替换为0.2、0.3等,在此不作限定。

可选地,在一些实施例中,为了使得绘制轨迹对应的绘制图的起始部分表现为过渡的效果,使其更符合用户的绘制习惯,可以设置第一绘制帧的采样点对应的贴图尺寸为0,参见上述公式,可以理解的是,此时,第二绘制帧的采样点对应的贴图尺寸a2=a1*0.9+v2*0.1,其中,a1表示第一绘制帧的采样点对应的贴图尺寸,其取值为0,v2表示第二绘制帧的速度,可以看出,此时,a2实际上等于v2*0.1,因此,可以使得绘制轨迹对应的绘制图的起始部分表现为过渡的效果,丰富表现细节。

图3为本申请实施例提供的又一种基于游戏的绘制方法的流程示意图。基于上述说明,由于用户的绘制速度可能会发生突变,也即采样点之间的空隙会发生突变,可以理解的是,这将导致绘制轨迹中局部采样点较为离散,局部采样点较为密集,影响绘制轨迹对应的绘制图的表现效果。为了解决该问题,可选地,如图3所示,上述获取绘制轨迹中采样点的绘制参数,可以包括:

s401、若确定绘制帧的速度大于预设速度阈值,根据预设插值算法对各采样点进行插值操作,获取插值采样点。

s402、根据各采样点的绘制参数,确定各插值采样点的绘制参数。

在一些实施例中,可以将各采样点对应的绘制帧的速度与预设速度阈值进行比较,若确定采样点对应的绘制帧的速度大于预设速度阈值,则说明绘制速度较快,此时可以根据预设插值算法对各采样点进行插值操作,获取插值采样点。可选地,该预设插值算法可以基于线性插值算法、贝塞尔曲线算法、b样条(b-spline)算法、拉格朗日算法等实现,在此不作限定。可以理解的是,当采用线性插值算法进行插值操作时,可以使得插值采样点均匀分布,特别是绘制轨迹中的拐角处可以平缓过渡,进而在后续渲染时,可以优化绘制轨迹对应的绘制图的表现效果。

图4为本申请实施例提供的另一种基于游戏的绘制方法的流程示意图。可选地,如图4所示,上述根据各采样点对应的贴图和主渲染目标,获取绘制轨迹对应的绘制图,包括:

s501、基于绘制区域对应的初始渲染目标,对各采样点对应的贴图进行叠加,获取叠加后的初始渲染目标。

s501、将叠加后的初始渲染目标渲染至主渲染目标中,获取绘制轨迹对应的绘制图。

其中,绘制区域可以对应一初始渲染目标,基于上述实施例的基础上,可以对绘制轨迹中各采样点对应的贴图进行叠加。可选地,叠加时可以参见opengl中glblendfunc函数的叠加原理进行叠加,一种可选地实施方式中,叠加时,可以根据对颜色和透明度分别进行叠加,比如:最终颜色rgb=(源颜色因子×源颜色+目标颜色因子×目标颜色)、最终透明度alpha=(源透明度因子×源透明度+目标透明度因子×目标透明度),其中,根据绘制的顺序,源可以指源贴图,其可以是当前待叠加的贴图,目标可以指目标贴图,其可以指当前已叠加的贴图,则根据该公式可以对各采样点对应的贴图进行叠加,获取叠加后的初始渲染目标,进而可以将该叠加后的初始渲染目标渲染至主渲染目标中,从而可以获取绘制轨迹对应的绘制图。其中,具体渲染过程可参见现有的渲染原理实现,在此不再赘述。

可选地,初始渲染目标被配置为每帧渲染前不执行清理颜色值的操作;上述基于绘制区域对应的初始渲染目标,对各采样点对应的贴图进行叠加,获取叠加后的初始渲染目标,可以包括:

基于绘制区域对应的初始渲染目标,在初始渲染目标上对各采样点对应的贴图进行增量叠加,获取叠加后的初始渲染目标。

其中,可以理解的是,若采用实时渲染的方式进行渲染时,则每帧开始渲染前都会将颜色缓冲区重置为初始状态,然后把所有物体完全重新绘制一遍,因此,实时渲染模式下,每帧都要把绘制轨迹上所有的采样点重新绘制一遍,这将导致过度绘制overdraw,会迅速消耗完图形处理器(graphicsprocessingunit,gpu)带宽,严重影响终端设备的处理性能。因此,本申请在渲染时,可以将初始渲染目标被配置为每帧渲染前不执行清理颜色值的操作,也即不执行clearcolor,通过该设置可以使得每帧开始前不重置颜色缓存区,之前绘制的采样点会保留,只需要绘制新增的采样点。

基于上述说明,则在进行叠加时,可以基于绘制区域对应的初始渲染目标,在初始渲染目标上对各采样点对应的贴图进行增量叠加,获取叠加后的初始渲染目标,实现了可以采用增量绘制的方式减少过渡绘制现象的发生,优化渲染效果,保证终端设备的处理性能,提高绘制效果。

图5为本申请实施例提供的又一种基于游戏的绘制方法的流程示意图。可选地,如图5所示,上述基于绘制区域对应的初始渲染目标,对各采样点对应的贴图进行叠加,获取叠加后的初始渲染目标之前,还可以包括:

s601、根据初始四边形,对绘制区域对应的初始渲染目标进行初始清除操作,初始四边形被配置为纯黑且完全透明的四边形。

其中,若采用增量绘制的方式进行叠加时,考虑到不同的终端设备可能会存在兼容性的问题,也即可能存在某些终端设备上将初始渲染目标配置为每帧渲染前不执行清理颜色值的操作会失败的现象,本申请实施例为了解决该问题,可选地,可以设置一初始四边形,该初始四边形被配置为纯黑且完全透明的四边形,根据该初始四边形,对绘制区域对应的初始渲染目标进行初始清除操作,如此可以模拟将初始渲染目标配置为每帧渲染前不执行清理颜色值的操作的过程,解决兼容性问题,使得本申请实施例提供的绘制方法可以被适用于多种应用场景。

可选地,如图5所示,上述基于绘制区域对应的初始渲染目标,对各采样点对应的贴图进行叠加,获取叠加后的初始渲染目标之后,还包括:

s602、采用预设透明面片对绘制区域对应的初始渲染目标中的预设渲染位置进行渲染。

在一些实施例中,考虑到绘制区域对应的初始渲染目标不完全绘制时,不同的终端设备可能会存在兼容性的问题,本申请实施例采用可以采用预设透明面片对绘制区域对应的初始渲染目标中的预设渲染位置进行渲染,避免预设渲染位置空置所导致的兼容性问题,提高本申请实施例提供的绘制方法的兼容性。

其中,不完全绘制可以理解为已对绘制区域对应的初始渲染目标进行了初始化操作,但还没有绘制任何点或者物体的状态,此时可能存在某些终端设备出现异常,也即某些终端设备可能会存在兼容性的问题。当然,本申请在此并不限定预设透明面片的尺寸和透明度,根据实际的应用场景可以灵活设置。

图6为本申请实施例提供的另一种基于游戏的绘制方法的流程示意图。可选地,如图6所示,上述将叠加后的初始渲染目标渲染至主渲染目标中,获取绘制轨迹对应的绘制图,可以包括:

s701、对叠加后的初始渲染目标和初始贴图进行混合操作,获取混合面片,初始贴图为绘制区域对应的预设贴图。

s702、将混合面片渲染至主渲染目标中,获取绘制轨迹对应的绘制图。

其中,初始贴图可以是预设的半透贴图,该半透贴图可以具有一定的透明度,可以理解为使用固定图片文件的矩形图元,其形状、大小、贴图都取决于图片文件,根据不同的应用场景,图片文件可以不同;混合面片可以为半透面片,半透面片也即具有一定透明度的面片,半透面片可以是一个矩形图元,其形状、大小、使用的贴图都是运行时生成的,也即是在上述的混合过程中生成的。

基于上述说明,则可以对上述叠加后的初始渲染目标和初始贴图进行混合操作,其中,混合操作可以参见pixelshader(像素着色器)中的算数公式,可选地,该算数公式可以是:color0.xyz+color1.xyz×color0.xyz×float3(3.0f),其中,color0.xyz可以指叠加后的初始渲染目标在某一像素点处的颜色值,color1.xyz可以指初始贴图在同一像素点处的颜色值,该初始贴图可以是美术输出的一张固定贴图,xyz表示颜色的rgb值,float3(3.0f)表示一个三维常数向量,三个分量值可以都为3.0,但不以此为限。可以理解的是,该混合操作过程实际是把渲染目标的颜色叠加一个值,所叠加的值为渲染目标颜色值×叠加颜色值×3,当然,实际混合方式并不以此为限。

通过上述混合操作,即可获取到混合面片,进一步地,可以将该混合面片渲染至主渲染目标中,获取绘制轨迹对应的绘制图。其中,将该混合面片渲染至主渲染目标中的过程,可以理解为将该混合面片叠加至该主渲染目标对应的贴图中,其叠加过程可参见opengl中glblendfunc函数实现,可选地,叠加时可以调整其叠加方式,使得当源颜色越亮时,叠加的颜色越少,其中,源可以指混合面片,应用本申请实施例,可以实现多次叠加依然有区分度,避免多次叠加后很快叠加到颜色上限,没有区分度。当然,需要说明的是,根据实际的应用场景,也可以采用其他叠加方式实现,在此不作限定。

图7为本申请实施例提供的又一种基于游戏的绘制方法的流程示意图,图8为本申请实施例提供的一种绘制图的示意图图。若绘制模式为旋转对称模式,绘制区域包括至少两个子绘制区域,比如,绘制区域可以包括3个、5个子绘制区域,在此不作限定。其中,旋转对称模式下,可选地,如图7所示,上述响应于在绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数,可以包括:

s801、响应于在任一子绘制区域的绘制操作,分别获取各子绘制区域的绘制轨迹中采样点的绘制参数。

旋转对称模式下,若在其中任一子绘制区域进行了绘制操作时,响应于在任一子绘制区域的绘制操作,可以设置其他子绘制区域同步该绘制操作,可选地,其他子绘制区域中的绘制轨迹可以经任一子绘制区域中的绘制轨迹绕中心点顺时针旋转预设角度得到,预设角度的取值根据绘制区域中子绘制区域的数量可以有所不同。可选地,如图8所示,绘制区域包括3个子绘制区域时,该预设角度可以是120°。此时,则可以参见前述的方法分别获取各子绘制区域的绘制轨迹中采样点的绘制参数。

相应地,上述根据各采样点对应的贴图和主渲染目标,获取绘制轨迹对应的绘制图,可以包括:

s802、根据各子绘制区域的绘制轨迹中采样点对应的贴图和主渲染目标,获取各子绘制区域的绘制轨迹对应的子绘制图。

其中,获取到各子绘制区域的绘制轨迹中采样点的绘制参数后,可以根据各子绘制区域的绘制轨迹中采样点的绘制参数和预设贴图,生成各子绘制区域的绘制轨迹中采样点对应的贴图,进而可以根据各子绘制区域的绘制轨迹中采样点对应的贴图和主渲染目标,获取各子绘制区域的绘制轨迹对应的子绘制图,获取结果可以如图8所示,其中,图形用户界面可以包括主场景界面101,该主场景界面101可以包括绘制区域102,该绘制区域102可以包括各子绘制区域的绘制轨迹对应的子绘制图103,当然,实际绘制图的显示方式并不以此为限。

其中,获取各子绘制区域的绘制轨迹对应的子绘制图的过程可参见前述的相关说明,本申请在此不再赘述。

图9为本申请实施例提供的一种基于游戏的绘制装置的功能模块示意图,该绘制装置可以通过终端设备显示图形用户界面,所述图形用户界面显示有主场景界面,所述主场景界面包括绘制区域,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图9所示,该绘制装置100包括:

响应模块110,用于响应于在所述绘制区域的绘制操作,获取绘制轨迹中采样点的绘制参数;

生成模块120,用于根据所述采样点的绘制参数和预设贴图,生成各所述采样点对应的贴图,其中,所述预设贴图配置有预设透明度;

获取模块130,用于根据各采样点对应的所述贴图和主渲染目标,获取所述绘制轨迹对应的绘制图,所述主渲染目标为当前主场景对应的渲染目标。

在可选的实施方式中,所述响应模块110,还用于响应于在所述绘制区域的所述绘制操作,根据所述绘制轨迹,获取当前触控点,并生成所述当前触控点对应的粒子特效。

在可选的实施方式中,所述绘制参数包括:绘制帧的速度;所述生成模块120,具体用于根据所述绘制帧的速度,获取所述采样点对应的贴图尺寸;根据所述贴图尺寸和所述预设贴图,生成各所述采样点对应的贴图。

在可选的实施方式中,所述生成模块120,具体用于若当前绘制帧非第一绘制帧,则根据上一绘制帧的采样点对应的贴图尺寸和所述当前绘制帧的速度,确定所述当前绘制帧的采样点对应的贴图尺寸。

在可选的实施方式中,所述响应模块110,具体用于若确定所述绘制帧的速度大于预设速度阈值,根据预设插值算法对各所述采样点进行插值操作,获取插值采样点;根据各采样点的绘制参数,确定各所述插值采样点的绘制参数。

在可选的实施方式中,所述获取模块130,具体用于基于所述绘制区域对应的初始渲染目标,对各所述采样点对应的贴图进行叠加,获取叠加后的初始渲染目标;将所述叠加后的初始渲染目标渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图。

在可选的实施方式中,所述初始渲染目标被配置为每帧渲染前不执行清理颜色值的操作;所述获取模块130,具体用于基于所述绘制区域对应的初始渲染目标,在所述初始渲染目标上对各所述采样点对应的贴图进行增量叠加,获取叠加后的初始渲染目标。

在可选的实施方式中,所述获取模块130,还用于根据初始四边形,对所述绘制区域对应的初始渲染目标进行初始清除操作,所述初始四边形被配置为纯黑且完全透明的四边形。

在可选的实施方式中,所述获取模块130,还用于采用预设透明面片对所述绘制区域对应的初始渲染目标中的预设渲染位置进行渲染。

在可选的实施方式中,所述获取模块130,具体用于对叠加后的所述初始渲染目标和初始贴图进行混合操作,获取混合面片,所述初始贴图为所述绘制区域对应的预设贴图;将所述混合面片渲染至所述主渲染目标中,获取所述绘制轨迹对应的绘制图。

在可选的实施方式中,若绘制模式为旋转对称模式,所述绘制区域包括至少两个子绘制区域;所述响应模块110,具体用于响应于在任一所述子绘制区域的绘制操作,分别获取各子绘制区域的绘制轨迹中采样点的绘制参数;相应地,所述获取模块,具体用于根据各子绘制区域的绘制轨迹中采样点对应的所述贴图和主渲染目标,获取各子绘制区域的绘制轨迹对应的子绘制图。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsignalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图10为本申请实施例提供的一种电子设备结构示意图。如图10所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。

可选地,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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