环境光遮蔽的处理方法及装置与流程

文档序号:13558076阅读:1529来源:国知局
环境光遮蔽的处理方法及装置与流程

本发明涉及三维图像渲染领域,具体而言,涉及一种环境光遮蔽的处理方法及装置。



背景技术:

目前,相关技术中所采用的实时渲染的树叶网格的方式通常是采用多个附带簇叶纹理的二维几何体表面交叉构成的。图1是根据相关技术的一种交叉平面法的运用实例的示意图。如图1所示,由于存在交叉平面,因此用户从不同角度均可以观察到附带簇叶纹理的平面。这种处理方式的关键在于针对当前运行的游戏环境下能够适用于交叉平面法加以表现的不同三维物体(例如:树木、花草、毛发)选择不同的交叉平面,同时贴图还能够与对应的平面实现巧妙的结合,从而实现对游戏环境下的三维物体进行实时渲染。此外,雪松和棕榈树这类簇叶朝向规则的树木,通常不使用交叉平面法,而是通过二维几何体表面按照簇叶造型结构直接建构而成。

上述处理方式能够直接避免因完全细致构建三维物体的组成部分(例如:树冠上的每片树叶)所带来的帧率降低问题以及因顶点数量增加所带来的海量内存消耗问题。

一个完整的树模型往往包含成百上千的枝叶。虽然全局照明算法能够生成树木的真实影像,但是由于这类物体模型的几何复杂性,实际上主要使用的是局部照明技术,尤其是在实时应用中。

环境光遮蔽技术首先由zhukov等人以obscurance之名提出,landis将该技术正式定名为环境光遮蔽(ambientocclusion,简称为ao)并付诸于电影制作。环境光遮蔽算法是一个相对快速并且有效的全局照明近似算法,其为一种描述了几何体模型自阴影效果的环境光照算法。网络游戏中的环境光遮蔽效果的实现可以划分为:静态的渲染环境光遮蔽计算和动态的环境光遮蔽计算。

静态的渲染环境光遮蔽计算可以包含两个阶段:离线预处理阶段和实时渲染阶段。在离线预处理阶段,分别计算每个点的遮蔽值,通过遮蔽值可以确定未被其它几何体模型遮挡的外部世界信息编码。这一阶段的计算量较大并且需要离线处理。通过离线预处理阶段得到的环境光遮蔽值通常可以存储在位图上或者顶点颜色数据通道中,其中,存储在顶点数据(包括:顶点颜色数据和顶点纹理贴图坐标数据)中是一个较好的选择,因为其减少了系统内存消耗,并且环境光遮蔽值是一种低频信息,即使可存储的顶点数量远少于可存储的像素数量,结果也不会产生明显差异。此外,对复杂几何体模型环境光遮蔽的预处理时间是一个关键点。pharr和dustin利用当代图形处理器(gpu)的高性能提高了对几何体模型的预处理速度。但是对于复杂的树木模型,即便采用上述方法也无法得到理想的效果,其原因在于计算复杂度是平方级的。

动态的环境光遮蔽计算则完全在实时渲染阶段进行,包括:基于距离场的环境光遮蔽(dfao)、体素加速环境光遮蔽(vxao)、屏幕空间环境光遮蔽(ssao)以及它的各种进化版本,例如:增强水平环境光遮蔽(hbao+)、高解析度环境光遮蔽(hdao)等。在实时渲染阶段,编码存储在顶点数据中的环境光遮蔽值直接加载到显存就可以供着色计算调用,计算开销非常小。然而,动态计算生成ao值的方法在实时渲染阶段明显要比静态直接加载ao值的方法付出高得多的性能开销。

对于以交叉平面法构建的树木而言,传统的ao生成方法烘焙得到自阴影效果细节过多。图2a是根据相关技术的采用离线预处理得到的环境光遮蔽效果的示意图。如图2a所示,面片穿插处的阴影并不真实。图2b是根据相关技术的采用动态计算得到的ssao效果的示意图。如图2b所示,网络游戏中目前广泛使用的ssao及其各种改进版计算方法同时还包括vxao,在交叉平面法构建的树木上生成的自阴影效果也都不够真实,代表性的ssao在面片穿插时经常会产生不正确的暗影而且明暗关系杂乱。图2c是根据相关技术的采用动态计算得到的dfao效果的示意图。如图2c所示,较新的dfao结果尽管显得更接近真实的模糊的自阴影效果,但是其计算复杂性能消耗较大对硬件设备的计算能力有很高要求。

综上所述,目前这些处理方式仍旧存在以下明显缺陷:生成的交叉平面的自阴影效果不够真实,而且性能消耗也较大。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种环境光遮蔽的处理方法及装置,以至少解决相关技术中提供的环境光遮蔽计算方式所获得的自阴影效果较差且需要较大的计算开销的技术问题。

根据本发明实施例的一个方面,提供了一种环境光遮蔽的处理方法,包括:

创建与待渲染的目标网格物体相适配的源网格物体;在源网格物体的顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点;获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值;将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中。

可选地,创建与目标网格物体相适配的源网格物体包括:采用多边形网格模型构建目标网格物体;根据目标网格物体的三维轮廓创建包围目标网格物体的源网格物体。

可选地,在顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点包括:按照预设顺序依次遍历目标网格物体上的每个顶点;从顶点集合中选取与目标网格物体上当前遍历顶点的空间距离最近的顶点,并将选取的顶点设置为与当前遍历顶点对应的参照顶点,直至为目标网格物体上每个顶点均选取到对应的参照顶点。

可选地,获取三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值包括:分别获取参照顶点的第一世界空间坐标位置以及目标网格物体上对应顶点的第二世界空间坐标位置;对第一世界空间坐标位置和第二世界空间坐标位置执行减法操作得到三维空间距离值;对三维空间距离值进行归一化处理,得到顶点遮蔽值。

可选地,将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中包括:将顶点遮蔽值存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道的一个或多个通道中;或者,在将顶点遮蔽值编码成灰度值后,将灰度值存储至目标网格物体上对应顶点的顶点颜色rgba通道的一个或多个通道中。

根据本发明实施例的另一方面,还提供了一种环境光遮蔽的处理装置,包括:

创建模块,用于创建与待渲染的目标网格物体相适配的源网格物体;选取模块,用于在源网格物体的顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点;处理模块,用于获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值;存储模块,用于将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中。

可选地,创建模块包括:构建单元,用于采用多边形网格模型构建目标网格物体;创建单元,用于根据目标网格物体的三维轮廓创建包围目标网格物体的源网格物体。

可选地,选取模块包括:遍历单元,用于按照预设顺序依次遍历目标网格物体上的每个顶点;选取单元,用于从顶点集合中选取与目标网格物体上当前遍历顶点的空间距离最近的顶点,并将选取的顶点设置为与当前遍历顶点对应的参照顶点,直至为目标网格物体上每个顶点均选取到对应的参照顶点。

可选地,处理模块包括:获取单元,用于分别获取参照顶点的第一世界空间坐标位置以及目标网格物体上对应顶点的第二世界空间坐标位置;计算单元,用于对第一世界空间坐标位置和第二世界空间坐标位置执行减法操作得到三维空间距离值;处理单元,用于对三维空间距离值进行归一化处理,得到顶点遮蔽值。

可选地,存储模块,用于将顶点遮蔽值存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道的一个或多个通道中;或者,在将顶点遮蔽值编码成灰度值后,将灰度值存储至目标网格物体上对应顶点的顶点颜色rgba通道的一个或多个通道中。

在本发明实施例中,采用创建与待渲染的目标网格物体相适配的源网格物体;在源网格物体的顶点集合中分别为目标网格物体上每个顶点选取对应的参照顶点;获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值;对三维空间距离值进行归一化处理得到顶点遮蔽值,并将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中,即通过源网格物体上的任意参考顶点到目标网格物体上对应顶点之间的绝对距离定义了任意种类树木的顶点遮蔽值。由此解决了相关技术中提供的环境光遮蔽计算方式所获得的自阴影效果较差且需要较大的计算开销的问题,进而能够实现在三维空间中待渲染的目标网格物体具有真实、柔和、整体的自阴影效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的一种交叉平面法的运用实例的示意图;

图2a是根据相关技术的采用离线预处理得到的环境光遮蔽效果的示意图;

图2b是根据相关技术的采用动态计算得到的ssao效果的示意图;

图2c是根据相关技术的采用动态计算得到的dfao效果的示意图;

图3是根据本发明实施例的环境光遮蔽的处理方法的流程图;

图4是根据本发明优选实施例的在未使用交叉平面法构建的树木模型上生成的环境光遮蔽效果示意图;

图5是根据本发明优选实施例的在采用上述环境光遮蔽的处理方法后得到的环境光遮蔽效果的示意图;

图6是根据本发明优选实施例的根据目标网格物体的整体轮廓外形创建一个包围网格作为源网格物体的示意图;

图7是根据本发明优选实施例的源网格物体外观平滑度影响目标网格自阴影效果的比对示意图;

图8是根据本发明优选实施例的源网格物体外观尺寸和位置影响目标网格自阴影效果的比对示意图;

图9是根据本发明实施例的环境光遮蔽的处理装置的结构框图;

图10是根据本发明优选实施例的环境光遮蔽的处理装置的结构框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种环境光遮蔽的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图3是根据本发明实施例的环境光遮蔽的处理方法的流程图,如图3所示,该方法包括如下步骤:

步骤s32,创建与待渲染的目标网格物体相适配的源网格物体;

步骤s34,在源网格物体的顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点;

步骤s36,获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值;

步骤s38,将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中。

通过上述步骤,采用创建与待渲染的目标网格物体相适配的源网格物体;在源网格物体的顶点集合中分别为目标网格物体上每个顶点选取对应的参照顶点;获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值;对三维空间距离值进行归一化处理得到顶点遮蔽值,并将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中,即通过源网格物体上的任意参考顶点到目标网格物体上对应顶点之间的绝对距离定义了任意种类树木的顶点遮蔽值。由此解决了相关技术中提供的环境光遮蔽计算方式所获得的自阴影效果较差且需要较大的计算开销的问题,进而能够实现在三维空间中待渲染的目标网格物体具有真实、柔和、整体的自阴影效果。

图4是根据本发明优选实施例的在未使用交叉平面法构建的树木模型上生成的环境光遮蔽效果示意图,如图4所示,本发明实施例所提供的技术方案不仅适合交叉平面法构建的树木网格模型,同时也适合除使用交叉平面法之外其他方法构建的树木网格模型,通过二维几何体表面按照簇叶造型结构直接建构而成的树木网格模型。

在本发明实施例中所采用的归一化方法可以称为特征缩放(featurescaling)属于数字信号处理范畴,其用于将所有数值映射到0.0-1.0浮点数区间内,灰度值可以表示成0.0-1.0之间的浮点型数据,经过转换也可以表示成0-255之间的整数型数据。而未经归一化处理的数据可能会落到灰度值区间范围外,造成数据信号丢失,从而无法得到所需的环境光遮蔽效果。

图5是根据本发明优选实施例的在采用上述环境光遮蔽的处理方法后得到的环境光遮蔽效果的示意图。如图5所示,游戏环境下的树木具有真实柔和整体的自阴影效果。

可选地,在步骤s32中,创建与目标网格物体相适配的源网格物体可以包括以下执行步骤:

步骤s321,采用多边形网格模型构建目标网格物体;

步骤s322,根据目标网格物体的三维轮廓创建包围目标网格物体的源网格物体。

本发明实施例不仅适合表现随机分布在三维空间中的交叉平面法构建的网格模型上的环境光遮蔽效果,同时也适合表现非交叉平面构建的网格模型上的环境光遮蔽效果。

在采用多边形网格模型构建待渲染的目标网格物体后,可以根据目标网格物体的整体轮廓外形创建一个包围目标网格物体的网格作为源网格物体。图6是根据本发明优选实施例的根据目标网格物体的整体轮廓外形创建一个包围网格作为源网格物体的示意图。如图6所示,源网格物体是一个在三维空间中能够描述目标网格物体整体轮廓外形的模型,即源网格物体可以为双流形拓扑多边形物体(其可以延各个边进行分割并展开的网格,以使网格展平且不重叠)或者水密体。该源网格物体既可以由具有专业技术经验的人员在三维计算机图形软件中根据目标网格物体整体外轮廓形手工建模而成,也可以通过三维计算机图形软件的预定义功能自动生成。构建该源网格物体时有两个变化因素可以调整:网格的外观平滑度和网格的尺寸位置。

源网格物体的外观平滑度能够使得树木分支结构附近的簇叶带有正确的阴影。图7是根据本发明优选实施例的源网格物体外观平滑度影响目标网格自阴影效果的比对示意图。如图7所示,右边一组的源网格物体外观较为平滑,因而,分支之间也能生成互相遮蔽的自阴影效果。

源网格物体的尺寸和位置能够模拟地面对枝叶的环境光遮蔽效果。图8是根据本发明优选实施例的源网格物体外观尺寸和位置影响目标网格自阴影效果的比对示意图。如图8所示,右边一组的源网格物体相比左边一组中的源网格物体尺寸较大并且位置向下偏移,因而在树木的下半部分生成了更浓重的自阴影效果,从而有效地模拟了地面的遮蔽因素。

可选地,在步骤s34中,在顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点可以包括以下执行步骤:

步骤s341,按照预设顺序依次遍历目标网格物体上的每个顶点;

步骤s342,从顶点集合中选取与目标网格物体上当前遍历顶点的空间距离最近的顶点,并将选取的顶点设置为与当前遍历顶点对应的参照顶点,直至为目标网格物体上每个顶点均选取到对应的参照顶点。

本发明实施例根据实际观察经验假设选取的参照顶点到对应的目标网格的顶点的距离越小,则光线照射到目标网格的顶点的概率越高,因此,只有查找到距离目标网格物体的顶点最近的源网格物体的顶点,才能够确保得到所要获取的目标网格物体的顶点遮蔽值。故而,需要按照预先设定的遍历顺序依次遍历目标网格物体上的每一个顶点,对于每个当前遍历的顶点而言,在源网格物体中会存在多个与当前遍历的顶点位置相近的顶点,为此,需要从源网格物体中存在的多个与当前遍历的顶点位置相近的顶点中选取与目标网格物体上当前遍历的顶点的空间距离最近的顶点,并将当前选取的顶点设置为与当前遍历的顶点对应的参照顶点,该参照顶点的世界坐标位置随后将减去目标网格物体的对应顶点的世界坐标位置并对计算结果执行归一化处理,最终将顶点遮蔽值存储到目标网格对应顶点的顶点数据通道中。

可选地,在步骤s36中,获取三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值可以包括以下执行步骤:

步骤s361,分别获取参照顶点的第一世界空间坐标位置以及目标网格物体上对应顶点的第二世界空间坐标位置;

步骤s362,对第一世界空间坐标位置和第二世界空间坐标位置执行减法操作得到三维空间距离值,此处得到的计算结果为绝对值;

步骤s363,对三维空间距离值进行归一化处理,得到顶点遮蔽值。

在优选实施例中,根据实际观察经验假设选取的参照顶点到对应的目标网格的顶点的距离越大,则目标网格的顶点被遮挡的可能性越高。这里使用了归一化的距离来推导出遮蔽值计算公式:

ax=(lx-lmin)/(lmax-lmin)

其中,lx为目标网格任一顶点x到其源网格参考点的距离值,lmin是其中最小的距离值,lmax是其中最大的距离值,ax是目标网格任一顶点x的环境光遮蔽值近似值。按照此种处理方式依次遍历目标网格物体上的全部顶点,直至目标网格物体上的每个顶点都能够在源网格物体的顶点集合中查找到距离自身最近的顶点。

可选地,在步骤s38中,将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中可以包括以下方式之一:

方式一、将顶点遮蔽值存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道的一个或多个通道中;

方式二、在将顶点遮蔽值编码成灰度值后,将灰度值存储至目标网格物体上对应顶点的顶点颜色rgba通道的一个或多个通道中。

在优选实施例中,可以将顶点遮蔽值存储在对应顶点的任一或者全部顶点数据通道中,这些顶点数据通道可以包括但不限于:顶点颜色的rgba通道;贴图通道(mapchannel)的uvw通道,其中,uvw分别表示纹理贴图坐标的三个不同方向,其分别与三维空间坐标的xyz方向平行。如果查看二维贴图图像,则u相当于x,表示该贴图的水平方向;v相当于y,表示该贴图的竖直方向;w相当于z,表示与该贴图的uv平面垂直的方向。

顶点数据通道可以用来记录被编码为灰度颜色值的环境光遮蔽值通常存储在顶点颜色数据通道上以可视化,这样便于预览到自阴影效果质量,以灵活地调整生成环境光遮蔽数据所用到的参数变量。因此,为了便于预览调整参数,通常可以存储在顶点颜色上,但是实际使用时,顶点颜色可能已经用于存储其它信息,例如:控制树叶随风晃动的权重值。故而应当根据实际情况,选择合适的顶点数据通道对顶点遮蔽值进行存储。

由于经过归一化处理的顶点遮蔽值是0.0-1.0之间的浮点型数据,考虑到顶点纹理贴图坐标数据格式也是浮点型的,因此,顶点遮蔽值可以不经转换直接存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道中;此外,考虑到顶点颜色数据格式是rgba每通道0-255之间的整数型,因此,需要对顶点遮蔽值进行编码转换才能够存储至目标网格物体上对应顶点的顶点颜色rgba通道中。在实时渲染阶段,着色器读取的数据又会被自动转换为0.0-1.0之间的浮点数。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种环境光遮蔽的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是根据本发明实施例的环境光遮蔽的处理装置的结构框图,如图9所示,该装置可以包括:创建模块10,用于创建与待渲染的目标网格物体相适配的源网格物体;选取模块20,用于在源网格物体的顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点;处理模块30,用于获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值;存储模块40,用于将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中。

通过上述装置,采用创建与待渲染的目标网格物体相适配的源网格物体;在源网格物体的顶点集合中分别为目标网格物体上每个顶点选取对应的参照顶点;获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值;对三维空间距离值进行归一化处理得到顶点遮蔽值,并将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中,即通过源网格物体上的任意参考顶点到目标网格物体上对应顶点之间的绝对距离定义了任意种类树木的顶点遮蔽值。由此解决了相关技术中提供的环境光遮蔽计算方式所获得的自阴影效果较差且需要较大的计算开销的问题,进而能够实现在三维空间中待渲染的目标网格物体(例如:游戏环境下的树木)具有真实柔和整体的自阴影效果。

可选地,图10是根据本发明优选实施例的环境光遮蔽的处理装置的结构框图,如图10所示,该装置除包括图9所示的所有模块外,创建模块10还可以进一步包括:构建单元100,用于采用多边形网格模型构建目标网格物体;创建单元102,用于根据目标网格物体的三维轮廓创建包围目标网格物体的源网格物体。

在采用多边形网格构建待渲染的目标网格物体后,可以根据目标网格物体的整体轮廓外形创建一个包围目标网格物体的网格作为源网格物体。源网格物体是一个在三维空间中能够描述目标网格物体整体轮廓外形的模型,即源网格物体可以为双流形拓扑多边形物体(即可以延其各个边进行分割并展开的网格,以使网格展平且不重叠)或者水密体。该源网格物体既可以由具有专业技术经验的人员在三维计算机图形软件中根据交叉平面构建的目标网格物体整体外轮廓形手工建模而成,也可以通过三维计算机图形软件的预定义功能自动生成。

可选地,如图10所示,选取模块20还可以进一步包括:遍历单元200,用于按照预设顺序依次遍历目标网格物体上的每个顶点;选取单元202,用于从顶点集合中选取与目标网格物体上当前遍历顶点的空间距离最近的顶点,并将选取的顶点设置为与当前遍历顶点对应的参照顶点,直至为目标网格物体上每个顶点均选取到对应的参照顶点。

本发明实施例根据实际观察经验假设选取的参照顶点到对应的目标网格的顶点的距离越小,则光线照射到目标网格的顶点的概率越高,因此,只有查找到距离目标网格物体的顶点最近的源网格物体的顶点,才能够确保得到所要获取的目标网格物体的顶点遮蔽值。故而,需要按照预先设定的遍历顺序依次遍历目标网格物体上的每一个顶点,对于每个当前遍历的顶点而言,在源网格物体中会存在多个与当前遍历的顶点位置相近的顶点,为此,需要从源网格物体中存在的多个与当前遍历的顶点位置相近的顶点中选取与目标网格物体上当前遍历的顶点的空间距离最近的顶点,并将当前选取的顶点设置为与当前遍历的顶点对应的参照顶点,该参照顶点的世界坐标位置随后将减去目标网格物体的对应顶点的世界坐标位置并进行归一化处理,并将处理结果存储到目标网格对应顶点的顶点数据通道中。

可选地,如图10所示,处理模块30还可以进一步包括:获取单元300,用于分别获取参照顶点的第一世界空间坐标位置以及目标网格物体上对应顶点的第二世界空间坐标位置;计算单元302,用于对第一世界空间坐标位置和第二世界空间坐标位置执行减法操作得到三维空间距离值;处理单元304,用于对三维空间距离值进行归一化处理,得到顶点遮蔽值。

可选地,存储模块40,用于将顶点遮蔽值存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道的一个或多个通道中;或者,在将顶点遮蔽值编码成灰度值后,将灰度值存储至目标网格物体上对应顶点的顶点颜色rgba通道的一个或多个通道中。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,创建与待渲染的目标网格物体相适配的源网格物体;

s2,在源网格物体的顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点;

s3,获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值;

s4,将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:采用多边形网格模型构建目标网格物体;根据目标网格物体的三维轮廓创建包围目标网格物体的源网格物体。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:按照预设顺序依次遍历目标网格物体上的每个顶点;从顶点集合中选取与目标网格物体上当前遍历顶点的空间距离最近的顶点,并将选取的顶点设置为与当前遍历顶点对应的参照顶点,直至为目标网格物体上每个顶点均选取到对应的参照顶点。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:分别获取参照顶点的第一世界空间坐标位置以及目标网格物体上对应顶点的第二世界空间坐标位置;对第一世界空间坐标位置和第二世界空间坐标位置执行减法操作得到三维空间距离值;对三维空间距离值进行归一化处理,得到顶点遮蔽值。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将顶点遮蔽值存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道的一个或多个通道中;或者,在将顶点遮蔽值编码成灰度值后,将灰度值存储至目标网格物体上对应顶点的顶点颜色rgba通道的一个或多个通道中。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:

s1,创建与待渲染的目标网格物体相适配的源网格物体;

s2,在源网格物体的顶点集合中分别为目标网格物体上的每个顶点选取对应的参照顶点;

s3,获取参照顶点与目标网格物体上对应顶点之间的三维空间距离值,并对三维空间距离值进行归一化处理得到顶点遮蔽值;

s4,将顶点遮蔽值存储至目标网格物体上对应顶点的数据通道中。

可选地,在本实施例中,处理器还根据存储介质中已存储的程序代码执行:采用多边形网格模型构建目标网格物体;根据目标网格物体的三维轮廓创建包围目标网格物体的源网格物体。

可选地,在本实施例中,处理器还根据存储介质中已存储的程序代码执行:按照预设顺序依次遍历目标网格物体上的每个顶点;从顶点集合中选取与目标网格物体上当前遍历顶点的空间距离最近的顶点,并将选取的顶点设置为与当前遍历顶点对应的参照顶点,直至为目标网格物体上每个顶点均选取到对应的参照顶点。

可选地,在本实施例中,处理器还根据存储介质中已存储的程序代码执行:分别获取参照顶点的第一世界空间坐标位置以及目标网格物体上对应顶点的第二世界空间坐标位置;对第一世界空间坐标位置和第二世界空间坐标位置执行减法操作得到三维空间距离值;对三维空间距离值进行归一化处理,得到顶点遮蔽值。

可选地,在本实施例中,处理器还根据存储介质中已存储的程序代码执行:将顶点遮蔽值存储至目标网格物体上对应顶点的纹理贴图坐标数据uvw通道的一个或多个通道中;或者,在将顶点遮蔽值编码成灰度值后,将灰度值存储至目标网格物体上对应顶点的顶点颜色rgba通道的一个或多个通道中。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

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

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