欢迎光临小豌豆知识网!
当前位置:首页 > 生活技术 > 运动娱乐> 一种渲染处理的方法及装置、电子设备、存储介质独创技术44337字

一种渲染处理的方法及装置、电子设备、存储介质

2020-11-22 03:41:27

一种渲染处理的方法及装置、电子设备、存储介质

  技术领域

  本发明涉及图像处理技术领域,特别是涉及一种渲染处理的方法及装置、电子设备、存储介质。

  背景技术

  目前,游戏中涉及布料的使用逐渐增多,针对布料仿真,通常是直接在布料的渲染网格上对顶点进行仿真计算得到渲染位置,以后续制作布料仿真效果。

  然而,由于布料的渲染网格中顶点数目非常多,将导致游戏中对渲染网格的仿真计算量大,特别是在手机端计算能力相对偏弱时,较大的计算量会造成游戏卡顿。

  发明内容

  鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种渲染处理的方法及装置、电子设备、存储介质,包括:

  一种渲染处理的方法,所述方法包括:

  获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  响应触发所述虚拟模型进行形变的形变事件,根据所述形变事件确定所述仿真网络的顶点位置参数;

  确定所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息;

  根据所述目标映射信息和所述仿真网格的顶点位置参数确定所述显示网格的目标顶点位置信息;

  根据所述目标顶点位置信息,对所述显示网格进行渲染。

  可选地,所述根据所述目标映射信息和所述仿真网格的顶点位置参数确定所述显示网格的目标顶点位置信息,包括:

  根据所述目标映射信息和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息;

  从所述目标映射信息中,确定目标距离向量;其中,所述目标距离向量为所述目标顶点和所述目标映射点之间的距离向量;

  根据所述目标距离向量和所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息。

  可选地,所述根据所述目标距离向量和所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息,包括:

  确定针对所述目标子网格的目标法向量;

  结合所述目标法向量、所述目标距离向量,以及所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息。

  可选地,所述根据所述目标映射信息和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息,包括:

  从所述目标映射信息中,确定目标子网格索引;其中,所述目标子网格索引为所述仿真网格中目标子网格对应的子网格索引;

  根据所述目标子网格索引和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息。

  可选地,所述根据所述目标子网格索引和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息,包括:

  从所述目标映射信息中,确定目标重心坐标;其中,所述目标重心坐标为所述目标子网格中目标映射点对应的重心坐标;

  结合所述目标子网格索引、所述目标重心坐标,以及所述仿真网格的顶点位置参数,确定所述目标子网格中目标映射点的目标映射点位置信息。

  一种渲染处理的方法,所述方法包括:

  获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  生成所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息。

  可选地,所述目标映射信息包括所述目标子网格对应的目标子网格索引,所述生成所述显示网格的目标顶点对应的目标映射信息,包括:

  在所述仿真网格中,确定所述显示网格的目标顶点对应的目标子网格;

  确定所述目标子网格对应的目标子网格索引。

  可选地,所述在所述仿真网格中,确定所述显示网格的目标顶点对应的目标子网格,包括:

  针对所述显示网格的目标顶点,确定所述仿真网格中子网格对应的距离信息;

  确定最小的距离信息对应的子网格为所述显示网格的目标顶点对应的目标子网格。

  可选地,所述目标映射信息包括所述目标映射点对应的目标重心坐标,所述生成所述显示网格的目标顶点对应的目标映射信息,包括:

  在所述目标子网格中,确定所述目标顶点对应的目标映射点;

  确定所述目标映射点对应的目标重心坐标。

  可选地,所述目标映射信息包括所述目标顶点和所述目标映射点之间的目标距离向量,所述生成所述显示网格的目标顶点对应的目标映射信息,包括:

  确定所述目标顶点和所述目标映射点之间的目标距离向量。

  一种渲染处理的装置,所述装置包括:

  第一虚拟模型获取模块,用于获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  仿真网络的顶点位置参数确定模块,用于响应触发所述虚拟模型进行形变的形变事件,根据所述形变事件确定所述仿真网络的顶点位置参数;

  目标映射信息确定模块,用于确定所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息;

  目标顶点位置信息确定模块,用于根据所述目标映射信息和所述仿真网格的顶点位置参数确定所述显示网格的目标顶点位置信息;

  显示网格渲染模块,用于根据所述目标顶点位置信息,对所述显示网格进行渲染。

  一种渲染处理的装置,所述装置包括:

  第二虚拟模型获取模块,用于获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  目标映射信息生成模块,用于生成所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息。

  一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的渲染处理的方法的步骤。

  一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的渲染处理的方法的步骤。

  本发明实施例具有以下优点:

  在本发明实施例中,通过获取虚拟模型,虚拟模型包括显示网格和仿真网格,仿真网格的顶点数量小于显示网格的顶点数量,响应触发虚拟模型进行形变的形变事件,根据形变事件确定仿真网络的顶点位置参数,然后确定显示网格的目标顶点对应的目标映射信息,目标映射信息为针对仿真网格中目标子网格的目标映射点的信息,进而根据目标映射信息和仿真网格的顶点位置参数确定显示网格的目标顶点位置信息,根据目标顶点位置信息,对显示网格进行渲染,实现了针对虚拟模型布料仿真的优化,通过从顶点数量较小的仿真网格映射出显示网格的顶点,进而对显示网格进行渲染,降低了布料仿真的计算量,提升了游戏运行的流畅度。

  附图说明

  为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

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

  图2a是本发明一实施例提供的一种渲染处理示例的示意图;

  图2b是本发明一实施例提供的一种穿透效果示例的示意图;

  图3是本发明一实施例提供的另一种渲染处理的方法的步骤流程图;

  图4是本发明一实施例提供的一种渲染处理的装置的结构示意图;

  图5是本发明一实施例提供的另一种渲染处理的装置的结构示意图;

  图6是本发明一实施例提供的一种电子设备的结构示意图;

  图7是本发明一实施例提供的一种计算机可读存储介质的结构示意图。

  具体实施方式

  为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  在本发明实施例中,涉及布料仿真,在布料仿真时可以针对布料的渲染网格,采用渲染网格中的数据(如顶点和三角形索引)直接在渲染网格上进行求解,通过对渲染网格中顶点的仿真计算得出渲染位置,以进行后续布料仿真效果制作。

  然而,在游戏中针对虚拟模型的布料的渲染网格中顶点数目越多,将会导致求解的计算量越大。布料仿真作为一种计算量极大的物理仿真效果,在布料制作时对于计算效率和仿真效果往往需要相互妥协,特别是针对计算能力相对偏弱的手机端,若直接使用渲染网格进行仿真,较大的计算量会造成游戏卡顿。

  而且,在游戏中采用两层渲染网格来进行布料仿真时,按照传统布料仿真制作方法,分别对每一层渲染网格进行仿真计算以制作布料仿真效果,会导致两层渲染网格之间产生穿插,在手机端游戏中进行布料仿真碰撞检测时,也将增加计算量。

  应用本发明实施例的方法,通过采用顶点数量小于渲染网格(即显示网格)的仿真网格进行仿真计算,然后根据渲染网格与仿真网格建立的映射信息,可以通过插值映射获取针对渲染网格的渲染位置以进行渲染,降低了布料仿真的计算量,提升了游戏运行的流畅度,且通过插值可以使渲染网格的顶点相对于仿真网格保持固定的距离,避免了双层渲染网格仿真时的穿透。

  以下进行详细的说明:

  参照图1,示出了本发明一实施例提供的一种渲染处理的方法的步骤流程图,具体可以包括如下步骤:

  步骤101,获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  作为一示例,显示网格可以为针对虚拟模型的网格,其可以具有精细效果且可以多层网格,如双层显示网格;仿真网格可以为针对虚拟模型的网格,其可以具有精简效果且可以为单层网格,仿真网格的顶点数量可以小于显示网格的顶点数量,例如,可以在双层显示网格中间插入一层仿真网格,该仿真网格中的顶点数量小于显示网格。

  在渲染的过程中,可以针对待渲染的虚拟模型,获取用于渲染的显示网格和用于仿真模拟的仿真网格,仿真网格的顶点数量小于显示网格的顶点数量。

  具体的,在游戏中进行渲染时,可以针对待渲染的游戏中虚拟模型,获取针对该虚拟对象(即虚拟模型)的渲染网格(即显示网格)和模拟网格(即仿真网格),该渲染网格可以用于渲染得到布料仿真效果,该模拟网格可以用于进行布料仿真计算。

  在制作布料仿真时,针对虚拟模型的网格可以为三角网格数据,该三角网格数据可以为多个三角形的集合,其中,每个三角形(三角面片)具有三个顶点,可以将虚拟模型的网格中所有三角形的顶点数目总和作为网格的总顶点数,例如,仿真网格的总顶点数小于显示网格的总顶点数。

  步骤102,响应触发所述虚拟模型进行形变的形变事件,根据所述形变事件确定所述仿真网络的顶点位置参数;

  作为一示例,形变事件可以为针对虚拟模型的仿真网格进行仿真处理,该仿真处理可以针对仿真网格进行变形;仿真网络的顶点位置参数可以包括针对变形后的仿真网络的顶点的位置,例如,游戏运行时,可以针对精简的仿真网格进行仿真处理,可以使仿真网格中多个三角形T进行移动,进而针对每一三角形T可以得到移动变形后三个顶点的位置,该三个顶点可以表示为Ta,Tb,Tc。

  针对游戏运行时进行渲染,可以在获取针对虚拟模型的显示网格和仿真网格后,对仿真网格进行仿真处理,进而可以得到仿真处理后仿真网络的顶点位置参数。

  步骤103,确定所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息;

  其中,目标顶点可以为显示网格的一个或多个顶点,在游戏中可以针对该顶点进行渲染,目标映射信息可以为针对仿真网格中目标子网格的目标映射点的信息,通过建立显示网格中目标顶点与仿真网格中目标映射点的映射,并可以将映射信息存储于布料资源中,以在游戏中可以获取显示网格的目标顶点对应的映射信息(如映射元组),该映射建立过程在下文进行详细介绍,在此不作赘述。

  作为一示例,目标映射点可以为仿真网格中针对显示网格的目标顶点的映射点;目标子网格可以为仿真网格中针对目标映射点的网格,例如,针对显示网格的顶点P可以在仿真网格的三角形T中具有映射点P’。

  在获取显示网格和仿真网格后,可以从游戏的布料资源中,获取针对显示网格的目标顶点对应的目标映射信息,该目标映射信息可以为针对仿真网格中目标子网格的目标映射点的信息。

  在实际应用中,可以针对显示网格的每一顶点,在布料网格资源中查询顶点对应的映射元组,例如,显示网格的顶点P的映射元组可以为(dist,wx,wy,indexT),其中,dist可以为距离,wx和wy可以为针对顶点P在仿真网格中映射点P’的重心坐标插值,indexT可以为仿真网格中针对顶点P最近的三角形T的三角形索引。

  步骤104,根据所述目标映射信息和所述仿真网格的顶点位置参数确定所述显示网格的目标顶点位置信息;

  作为一示例,显示网格的目标顶点位置信息可以为针对目标顶点的位置信息,例如,在仿真网格上进行仿真后,将插值得到的仿真网格中映射点P’的位置映射到显示网格中,得到顶点P更新的位置信息。

  在确定目标顶点对应的目标映射信息后,由于该目标映射信息中可以具有针对仿真网格中目标子网格的目标映射点的信息,进而可以根据目标映射信息和仿真网格的顶点位置参数,映射得到显示网格中目标顶点对应的目标顶点位置信息。

  在游戏的渲染中,可以在仿真网格上进行布料仿真,布料仿真效果可以通过每一帧动画对应的仿真网格中顶点位置的变化而实现,该仿真网格中顶点可以为针对显示网格中顶点的映射点,进而可以由仿真网格中移动后映射点的位置信息,得到显示网格中更新的顶点位置作为渲染位置。

  在本发明一实施例中,步骤104可以包括如下子步骤:

  子步骤11,根据所述目标映射信息和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息;

  作为一示例,目标映射点位置信息可以为经仿真处理的目标映射点的位置信息,例如,仿真网格中针对显示网格的顶点P的映射点P’,在仿真网格上进行仿真时,该映射点P’移动后的位置信息。

  在确定目标顶点对应的目标映射信息后,由于该目标映射信息中可以具有针对目标映射点的信息,进而可以根据目标映射信息和仿真网格的顶点位置参数,针对目标映射点进行插值计算,得到目标映射点对应的目标映射点位置信息。

  在本发明一实施例中,子步骤11可以包括如下子步骤:

  子步骤111,从所述目标映射信息中,确定目标子网格索引;其中,所述目标子网格索引为所述仿真网格中目标子网格对应的子网格索引;

  作为一示例,目标子网格索引可以为仿真网格中目标子网格对应的子网格索引,例如,仿真网格中三角形T对应的三角形索引。

  在确定目标顶点对应的目标映射信息后,可以从目标映射信息中获取针对目标顶点的子网格索引,作为目标子网格索引。

  具体的,由于在布料资源中,可以查询显示网格的顶点对应的映射元组,该映射元组中可以具有针对显示网格的顶点P在仿真网格中三角形索引indexT,进而可以将indexT作为目标子网格索引。

  子步骤112,根据所述目标子网格索引和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息。

  在确定目标子网格索引后,可以根据目标子网格索引和仿真网格的顶点位置参数,确定仿真网格中目标映射点的信息,进而可以针对目标映射点进行插值计算,得到目标映射点对应的目标映射点位置信息。

  本发明一实施例中,子步骤112可以包括如下子步骤:

  子步骤1121,从所述目标映射信息中,确定目标重心坐标;其中,所述目标重心坐标为所述目标子网格中目标映射点对应的重心坐标;

  作为一示例,目标重心坐标可以为目标子网格中目标映射点对应的重心坐标,如映射元组中wx,wy,wz。

  在确定目标顶点对应的目标映射信息后,可以从目标映射信息中获取针对目标顶点的重心坐标,作为目标重心坐标。

  具体的,由于在布料资源中,可以查询显示网格的顶点对应的映射元组,该映射元组中可以具有针对显示网格的顶点P在仿真网格中映射点P’的重心坐标插值wx,wy,进而可以将wx,wy作为目标重心坐标。

  子步骤1122,结合所述目标子网格索引、所述目标重心坐标,以及所述仿真网格的顶点位置参数,确定所述目标子网格中目标映射点的目标映射点位置信息。

  其中,仿真网格的顶点位置参数可以包括目标子网格的顶点的位置参数,例如,仿真网格中三角形T对应的三个顶点位置。

  在得到目标重心坐标后,可以结合目标子网格索引、目标重心坐标,以及仿真网格的顶点位置参数,通过插值计算得到目标子网格中目标映射点的目标映射点位置信息。

  例如,可以针对显示网格的顶点P查询得到其映射元组(dist,wx,wy,indexT),然后可以根据三角形索引indexT确定仿真网格中三角形T,可以获取移动后的三角形T的三个顶点的位置,进而可以通过插值得到仿真网格中针对显示网格顶点P的映射点P’的位置,具体可以采用如下方式进行插值计算:

  P’(wx*Ta+wy*Tb+(1-wx-wy)*Tc)

  其中,Ta、Tb、Tc可以为仿真网格中移动后的三角形T的三个顶点的位置,wx、wy为显示网格顶点P在仿真网格中映射点P’的重心坐标插值。

  在一示例中,可以通过查询目标顶点对应的映射元组,并根据映射元组中三角形索引indexT确定仿真网格中三角形T,进而可以获取三角形T的三个顶点的位置(如Ta,Tb,Tc),这三个顶点的位置可以为针对仿真网格进行仿真时,仿真网格中三角形T移动后的三个顶点的位置。

  子步骤12,从所述目标映射信息中,确定目标距离向量;其中,所述目标距离向量为所述目标顶点和所述目标映射点之间的距离向量;

  作为一示例,目标距离向量可以为目标顶点和目标映射点之间的距离向量,例如,映射元组中dist。

  在确定目标顶点对应的目标映射信息后,可以从目标映射信息中获取目标顶点和目标映射点之间的距离向量,作为目标距离向量。

  具体的,由于在布料资源中,可以查询显示网格的顶点对应的映射元组,该映射元组中具有顶点P和映射点P’之间的距离向量dist,进而可以将dist作为目标距离向量。

  子步骤13,根据所述目标距离向量和所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息。

  在具体实现中,可以采用目标距离向量和仿真网格中目标映射点对应的目标映射点位置信息,插值得到显示网格中目标顶点对应的目标顶点位置信息。

  本发明一实施例中,子步骤13可以包括如下子步骤:

  子步骤131,确定针对所述目标子网格的目标法向量;

  其中,目标法向量可以为仿真网格中目标子网格的法向量,例如,仿真网格中三角形对应的三个顶点的法向量。

  确定目标顶点对应的目标映射信息后,可以从目标映射信息中获取目标子网格索引,进而可以采用目标子网格索引确定目标子网格,以获取目标子网格的顶点的法向量。

  在实际应用中,可以通过查询目标顶点对应的映射元组,并根据映射元组中三角形索引indexT确定仿真网格中三角形T,然后可以获取三角形T的三个顶点的法向量(如Na,Nb,Nc),该三角形T的法向量可以为三角形T所有相邻三角形的法向量平均值,进而可以插值得到映射点P’的法向量N’,具体可以采用如下方式进行插值计算:

  N’(wx*Na+wy*Nb+(1-wx-wy)*Nc)

  其中,Na、Nb、Nc可以为仿真网格中移动后的三角形T的三个顶点的法向量,wx、wy可以为显示网格的顶点P在仿真网格中映射点P’的重心坐标插值。

  子步骤132,结合所述目标法向量、所述目标距离向量,以及所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息。

  在实际应用中,可以针对显示网格的顶点P查询得到其映射元组,然后可以根据三角形索引indexT确定仿真网格中三角形T,由三角形T的三个顶点的法向量可以获取映射点P’的法向量,并通过插值得到仿真网格中针对显示网格的顶点P的映射点P’的位置,进而可以插值得到显示网格中顶点P的更新位置,具体可以采用如下方式进行插值计算:

  P’+dist*N’

  其中,P’可以为插值得到映射点的位置,dist可以为顶点P和映射点P’之间的距离向量,N’可以为映射点P’的法向量。

  步骤105,根据所述目标顶点位置信息,对所述显示网格进行渲染。

  在确定目标顶点对应的目标顶点位置信息后,可以采用目标顶点位置信息确定显示网格中目标顶点的渲染位置,进而可以对显示网格进行渲染。

  在一示例中,通过采用顶点数量小于显示网格的仿真网格进行仿真计算,然后根据显示网格与仿真网格建立的映射信息,可以通过插值映射获取针对显示网格的渲染位置以进行渲染,从而通过插值可以使显示网格的顶点相对于仿真网格保持固定的距离,避免了双层显示网格仿真时的穿透。

  例如,如图2a所示,由于显示网格(如图2a中201上层显示网格、202下层显示网格)的顶点相对于仿真网格(如图2a中203)保持固定的距离,避免了双层显示网格仿真时的穿透(如图2b中204为穿透效果)。

  在本发明实施例中,通过获取虚拟模型,虚拟模型包括显示网格和仿真网格,仿真网格的顶点数量小于显示网格的顶点数量,响应触发虚拟模型进行形变的形变事件,根据形变事件确定仿真网络的顶点位置参数,然后确定显示网格的目标顶点对应的目标映射信息,目标映射信息为针对仿真网格中目标子网格的目标映射点的信息,进而根据目标映射信息和仿真网格的顶点位置参数确定显示网格的目标顶点位置信息,根据目标顶点位置信息,对显示网格进行渲染,实现了针对虚拟模型布料仿真的优化,通过从顶点数量较小的仿真网格映射出显示网格的顶点,进而对显示网格进行渲染,降低了布料仿真的计算量,提升了游戏运行的流畅度。

  参照图3,示出了本发明一实施例提供的另一种渲染处理的方法的步骤流程图,具体可以包括如下步骤:

  步骤301,获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  在渲染的过程中,可以针对待渲染的虚拟模型,制作显示网格和仿真网格,显示网格可以用于渲染,仿真网格可以用于仿真模拟,仿真网格的顶点数量小于显示网格的顶点数量。

  步骤302,生成所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息。

  在获取显示网格和仿真网格后,可以建立显示网格中目标顶点与仿真网格中目标映射点的映射,并可以将映射信息存储于布料资源中,作为显示网格的目标顶点对应的目标映射信息。

  在本发明一实施例中,目标映射信息可以包括目标子网格对应的目标子网格索引,步骤302可以包括如下子步骤:

  子步骤21,在所述仿真网格中,确定所述显示网格的目标顶点对应的目标子网格;

  作为一示例,目标子网格可以为仿真网格中针对显示网格的目标顶点的子网格,例如,在仿真网格中与顶点P为最近距离的三角形T。

  在获取显示网格和仿真网格后,可以从仿真网格的多个子网格中,确定显示网格的目标顶点对应的目标子网格。

  本发明一实施例中,子步骤21可以包括如下子步骤:

  子步骤211,针对所述显示网格的目标顶点,确定所述仿真网格中子网格对应的距离信息;

  作为一示例,距离信息可以为显示网格的目标顶点与仿真网格中多个子网格的距离信息。

  在获取显示网格和仿真网格后,可以针对显示网格的目标顶点,在仿真网格中,获取目标顶点与仿真网格中多个子网格的距离信息。

  具体的,可以对针对显示网格的顶点P,遍历仿真网格上所有三角形,并计算顶点P到各个三角形的空间距离,例如,顶点P与各个三角形的每一个顶点、每一条边、以及三角形平面的距离。

  子步骤212,确定最小的距离信息对应的子网格为所述显示网格的目标顶点对应的目标子网格。

  在实际应用中,显示网格可以有多个顶点,可以针对每个顶点,遍历仿真网格上所有三角形,并计算顶点到各个三角形的空间距离,进而可以找到针对顶点的最小空间距离的三角形(三角面片),例如,显示网格的顶点P对应有最小空间距离的三角形T。

  子步骤22,确定所述目标子网格对应的目标子网格索引。

  在确定目标子网格后,可以将目标子网格对应的子网格索引作为目标子网格索引,例如,三角形索引indexT。

  在本发明一实施例中,目标映射信息可以包括目标映射点对应的目标重心坐标,步骤302还可以包括如下子步骤:

  子步骤31,在所述目标子网格中,确定所述目标顶点对应的目标映射点;

  在获取显示网格和仿真网格后,可以从仿真网格的多个子网格中,确定显示网格的目标顶点对应的目标子网格,进而可以在目标子网格中,确定目标顶点对应的目标映射点,例如,获取顶点P在仿真网格的三角形T后,可以得到顶点P投影到三角形T所在平面的映射P’。

  子步骤32,确定所述目标映射点对应的目标重心坐标。

  在确定目标映射点后,可以获取目标映射点相对于目标子网格的顶点的重心坐标,作为目标重心坐标,例如,映射点P’相对于三角形T的三个顶点的重心坐标插值wx,wy,wz,其中,wx+wy+wz=1.0。

  在本发明一实施例中,目标映射信息可以包括目标顶点和目标映射点之间的目标距离向量,步骤302还可以包括如下子步骤:

  确定所述目标顶点和所述目标映射点之间的目标距离向量。

  在获取显示网格和仿真网格后,可以从仿真网格的多个子网格中,确定显示网格的目标顶点对应的目标子网格,然后可以在目标子网格中,确定目标顶点对应的目标映射点,进而可以将目标顶点和目标映射点之间的距离向量作为目标距离向量。

  在实际应用中,可以通过计算得到顶点P与映射点P’的距离dist,dist可以具有符号,用于表示顶点P相当于三角形T平面的方向,例如,顶点P为针对仿真网格的三角形T平面的上层显示网格,或针对仿真网格的三角形T平面的下层显示网格。

  在一示例中,针对显示网格的顶点P确定在仿真网格中最近三角形T后,可以得到顶点P投影在三角形T所在平面的映射点P’,然后可以计算出顶点P与映射点P’的距离dist,可以获取P’相对于三角形T的三个顶点的重心坐标插值wx,wy,wz,重心坐标插值三者关系为wx+wy+wz=1.0,并可以记录下三角形T在仿真网格中的三角形索引indexT,进而可以针对显示网格的顶点P得到映射元组(dist,wx,wy,indexT),可以将映射元组保存在布料网格资源中。

  在本发明实施例中,通过获取针对虚拟模型,该虚拟模型包括显示网格和仿真网格,仿真网格的顶点数量小于显示网格的顶点数量,然后生成显示网格的目标顶点对应的目标映射信息,目标映射信息为针对仿真网格中目标子网格的目标映射点的信息,实现了针对虚拟模型布料仿真的优化,通过对顶点数量较小的仿真网格与显示网格建立映射信息,以用于后续对显示网格的渲染,降低了布料仿真的计算量,提升了游戏运行的流畅度,且通过插值可以使显示网格的顶点相对于仿真网格保持固定的距离,避免了双层显示网格仿真时的穿透。

  需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

  参照图4,示出了本发明一实施例提供的一种渲染处理的装置的结构示意图,具体可以包括如下模块:

  第一虚拟模型获取模块401,用于获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  仿真网络的顶点位置参数确定模块402,用于响应触发所述虚拟模型进行形变的形变事件,根据所述形变事件确定所述仿真网络的顶点位置参数;

  目标映射信息确定模块403,用于确定所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息;

  目标顶点位置信息确定模块404,用于根据所述目标映射信息和所述仿真网格的顶点位置参数确定所述显示网格的目标顶点位置信息;

  显示网格渲染模块405,用于根据所述目标顶点位置信息,对所述显示网格进行渲染。

  在本发明一实施例中,所述目标顶点位置信息确定模块404包括:

  目标映射点位置信息确定子模块,用于根据所述目标映射信息和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息;

  第一目标距离向量确定子模块,用于从所述目标映射信息中,确定目标距离向量;其中,所述目标距离向量为所述目标顶点和所述目标映射点之间的距离向量;

  目标顶点位置信息确定子模块,用于根据所述目标距离向量和所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息。

  在本发明一实施例中,所述目标顶点位置信息确定子模块包括:

  目标法向量确定单元,用于确定针对所述目标子网格的目标法向量;

  目标顶点位置信息确定单元,用于结合所述目标法向量、所述目标距离向量,以及所述目标映射点位置信息,确定所述显示网格的目标顶点位置信息。

  在本发明一实施例中,所述目标映射点位置信息确定子模块包括:

  目标子网格索引确定单元,用于从所述目标映射信息中,确定目标子网格索引;其中,所述目标子网格索引为所述仿真网格中目标子网格对应的子网格索引;

  目标映射点位置信息确定单元,用于根据所述目标子网格索引和所述仿真网格的顶点位置参数,确定所述目标映射点的目标映射点位置信息。

  在本发明一实施例中,所述目标映射点位置信息确定单元包括:

  目标重心坐标确定子单元,用于从所述目标映射信息中,确定目标重心坐标;其中,所述目标重心坐标为所述目标子网格中目标映射点对应的重心坐标;

  目标映射点位置信息确定子单元,用于结合所述目标子网格索引、所述目标重心坐标,以及所述仿真网格的顶点位置参数,确定所述目标子网格中目标映射点的目标映射点位置信息。

  在本发明实施例中,通过获取虚拟模型,虚拟模型包括显示网格和仿真网格,仿真网格的顶点数量小于显示网格的顶点数量,响应触发虚拟模型进行形变的形变事件,根据形变事件确定仿真网络的顶点位置参数,然后确定显示网格的目标顶点对应的目标映射信息,目标映射信息为针对仿真网格中目标子网格的目标映射点的信息,进而根据目标映射信息和仿真网格的顶点位置参数确定显示网格的目标顶点位置信息,根据目标顶点位置信息,对显示网格进行渲染,实现了针对虚拟模型布料仿真的优化,通过从顶点数量较小的仿真网格映射出显示网格的顶点,进而对显示网格进行渲染,降低了布料仿真的计算量,提升了游戏运行的流畅度。

  参照图5,示出了本发明一实施例提供的另一种渲染处理的装置的结构示意图,具体可以包括如下模块:

  第二虚拟模型获取模块501,用于获取虚拟模型;其中,所述虚拟模型包括显示网格和仿真网格,所述仿真网格的顶点数量小于所述显示网格的顶点数量;

  目标映射信息生成模块502,用于生成所述显示网格的目标顶点对应的目标映射信息;其中,所述目标映射信息为针对所述仿真网格中目标子网格的目标映射点的信息。

  在本发明一实施例中,所述目标映射信息包括所述目标子网格对应的目标子网格索引,所述目标映射信息生成模块502包括:

  目标子网格确定子模块,用于在所述仿真网格中,确定所述显示网格的目标顶点对应的目标子网格;

  目标子网格索引确定子模块,用于所述目标子网格对应的目标子网格索引。

  在本发明一实施例中,所述目标子网格确定子模块包括:

  距离信息确定单元,用于针对所述显示网格的目标顶点,确定所述仿真网格中子网格对应的距离信息;

  目标子网格确定单元,用于确定最小的距离信息对应的子网格为所述显示网格的目标顶点对应的目标子网格。

  在本发明一实施例中,所述目标映射信息包括所述目标映射点对应的目标重心坐标,所述目标映射信息生成模块502包括:

  目标映射点确定子模块,用于在所述目标子网格中,确定所述目标顶点对应的目标映射点;

  目标重心坐标确定子模块,用于确定所述目标映射点对应的目标重心坐标。

  在本发明一实施例中,所述目标映射信息包括所述目标顶点和所述目标映射点之间的目标距离向量,所述目标映射信息生成模块502包括:

  第二目标距离向量确定子模块,用于确定所述目标顶点和所述目标映射点之间的目标距离向量。

  在本发明实施例中,通过获取针对虚拟模型,该虚拟模型包括显示网格和仿真网格,仿真网格的顶点数量小于显示网格的顶点数量,然后生成显示网格的目标顶点对应的目标映射信息,目标映射信息为针对仿真网格中目标子网格的目标映射点的信息,实现了针对虚拟对象布料仿真的优化,通过对顶点数量较小的仿真网格与显示网格建立映射信息,以用于后续对显示网格的渲染,降低了布料仿真的计算量,提升了游戏运行的流畅度,且通过插值可以使显示网格的顶点相对于仿真网格保持固定的距离,避免了双层显示网格仿真时的穿透。

  参照图6,示出了本发明一实施例提供的一种电子设备的结构示意图,具体可以包括处理器601、存储器602及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序可以被处理器执行时实现如上渲染处理的方法。

  参照图7,示出了本发明一实施例提供的一种计算机可读存储介质的结构示意图,该计算机可读存储介质701上可以存储计算机程序,计算机程序可以被处理器执行时实现如上渲染处理的方法。

  对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

  本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

  本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

  这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

  这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

  尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

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

  以上对所提供的一种渲染处理的方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

《一种渲染处理的方法及装置、电子设备、存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)