掌桥专利:专业的专利平台
掌桥专利
首页

晶石模型的渲染方法及装置、计算机存储介质、电子设备

文献发布时间:2023-06-19 10:55:46


晶石模型的渲染方法及装置、计算机存储介质、电子设备

技术领域

本公开涉及模型渲染技术领域,特别涉及一种晶石模型的渲染方法、晶石模型的渲染装置、计算机存储介质及电子设备。

背景技术

随着互联网及计算机计算的迅速发展与进步,相关游戏技术也在迅速发展。如何保证游戏画面与真实世界的贴合度,成为相关开发人员关注的焦点问题。

目前的冰块效果实现方式为:通过环境贴图模拟冰块的反射环境,通过冰块的表面颜色实现冰块的漫反射,用没有散射的半透明贴图与冰块后面的游戏背景叠加,以体现冰块的透明属性,使用光线追踪的方式计算光线在冰块内的传播路径,沿途累积计算路径上各个点的光对最终屏幕上像素亮度的贡献。然而,上述方法无法体现出冰块内部的质感和散射特性。

鉴于此,本领域亟需开发一种新的晶石模型的渲染方法及装置。

需要说明的是,上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。

发明内容

本公开的目的在于提供一种晶石模型的渲染方法、晶石模型的渲染装置、计算机存储介质及电子设备,进而至少在一定程度上克服了相关技术中无法表现晶石内部质感及散射特性的缺陷。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种晶石模型的渲染方法,包括:对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标;利用所述偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色;对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色;对所述目标颜色与所述反射颜色进行融合,并根据融合后的颜色对所述待渲染晶石模型进行渲染。

在本公开的示例性实施例中,所述对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标,包括:对所述预存储的细节纹理贴图进行颜色采样,获得第二采样颜色;将世界空间坐标系下的相机视线方向转换为切线空间坐标系下的相机视线方向;根据所述第二采样颜色中任一颜色分量、所述切线空间坐标系下的相机视线方向以及输入的深度值对所述纹理坐标进行视差偏移,得到所述偏移纹理坐标。

在本公开的示例性实施例中,所述世界空间坐标系下的相机视线方向通过以下方式确定:根据相机位置坐标与所述待渲染晶石模型上每个像素坐标的差值确定所述世界空间坐标系下的相机视线方向。

在本公开的示例性实施例中,所述将世界空间坐标系下的相机视线方向转换为切线空间坐标系下的相机视线方向,包括:获取所述待渲染晶石模型上各个像素点的切线方向、副法线方向和主法线方向;根据所述切线方向与所述世界空间坐标系下的相机视线方向的数量积、所述副法线方向与所述世界空间坐标系下的相机视线方向的数量积、所述主法线方向与所述世界空间坐标系下的相机视线方向的数量积,确定所述切线空间坐标系下的相机视线方向。

在本公开的示例性实施例中,基于以下公式确定所述偏移纹理坐标:

其中,Distortuv表示上述偏移纹理坐标,uv表示上述纹理坐标,V′

在本公开的示例性实施例中,所述融合后的颜色通过以下方式确定:根据所述主法线方向与所述世界空间坐标系下的相机视线方向的数量积,确定一目标值;将所述目标值作为插值因子,对所述目标颜色与所述反射颜色进行插值,得到所述融合后的颜色。

在本公开的示例性实施例中,所述对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色,包括:将所述第一采样颜色的任一颜色分量作为插值因子,对输入的模型内部颜色与模型表面颜色进行插值,得到所述目标颜色。

在本公开的示例性实施例中,基于以下公式确定所述目标颜色:

result=interior_color*(1-weight)+external_color*weight

其中,result表示上述目标颜色,interior_color表示上述模型内部颜色,external_color表示上述模型外部颜色,weight表示上述插值因子。

根据本公开的第二方面,提供一种晶石模型的渲染装置,包括:视差偏移模块,用于对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标;颜色采样模块,用于利用所述偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色;颜色融合模块,用于对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色;渲染模块,用于对所述目标颜色与所述反射颜色进行融合,并根据融合后的颜色对所述待渲染晶石模型进行渲染。

根据本公开的第三方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的晶石模型的渲染方法。

根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面所述的晶石模型的渲染方法。

由上述技术方案可知,本公开示例性实施例中的晶石模型的渲染方法、晶石模型的渲染装置、计算机存储介质及电子设备至少具备以下优点和积极效果:

在本公开的一些实施例所提供的技术方案中,一方面,对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标,利用偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,从而能够在视角转动的时候体现出内部结构位置互相交错的效果,较好的表现了模型内部的体积感。

进一步的,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色,并对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色,能够支持自定义不同的颜色,以实时动态呈现不同的显示效果,实现晶石模型内部的非均质的密度差异以及模拟散射效果,使得晶石模型的质感与石头和玻璃区分开来。

另一方面,对目标颜色与反射颜色进行融合,并根据融合后的颜色对待渲染晶石模型进行渲染,能够提高模型的逼真程度。

本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本公开一示例性实施例中晶石模型的渲染方法的流程示意图;

图2示出本公开实施例中对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标的流程示意图;

图3示出本公开实施例中预存储的细节纹理贴图的示意图;

图4A-图4B示出本公开示例性实施例中不同的Mipmap等级对应的模型显示效果示意图;

图5示出本公开实施例中将世界空间坐标系下的相机视线方向转换为切线空间坐标系的相机视线方向的流程示意图;

图6A示出相关技术中无视差偏移处理时的晶石模型的示意图;

图6B-6E示出本公开实施例中有视差偏移处理时的晶石模型的示意图;

图7A示出相关技术中无颜色混合时晶石模型的示意图;

图7B示出本公开中对模型内部颜色和模型表面颜色进行融合之后晶石模型的示意图;

图8示出本公开实施例中确定融合后的颜色的流程示意图;

图9A示出基于本公开实施例中的方法生成的风格化冰块的示意图;

图9B示出基于本公开实施例中的方法生成的写实冰块的示意图;

图9C示出基于本公开实施例中的方法生成的高透射小冰块的示意图;

图9D示出基于本公开实施例中的方法生成的琥珀的示意图;

图10示出本公开示例性实施例中晶石模型的渲染装置的结构示意图;

图11示出本公开示例性实施例中电子设备的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。

本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。

目前常见的实时冰块效果实现方式主要为:通过环境贴图模拟光滑冰块反射的环境;通过冰块模型的模型表面颜色表现冰块表面的漫反射;用没有散射的半透明与冰块后面的游戏背景叠加,表现冰块的透明属性;使用光线追踪的方式计算光线在冰块内传播的路径,沿途累积计算路径上每个采样点的光照贡献。

然而,上述方案具有以下缺陷:

第一,上述方式能够表现冰块的模型表面颜色和表面特性,但是对其内部的质感由于模型本身只有表面,没有内部体积的特性无法表现冰块内部的散射效果;

第二,使用光线追踪确定光照贡献的方式可以做到相对精确,但是需要大量的采样计算,对电子设备硬件并不友好;

第三,使用光线追踪确定光照贡献的方式如要实现不均匀介质的变化,需要定义基于体积的密度数据,与基于三角面的模型数据并不共用。并且参数需要相对客观,对美术创作的限制较多。

在本公开的实施例中,首先提供了一种晶石模型的渲染方法,至少在一定程度上克服相关技术中无法表现晶石内部质感及散射特性的缺陷。

图1示出本公开一示例性实施例中晶石模型的渲染方法的流程示意图,该晶石模型的渲染方法的执行主体可以是对晶石模型进行渲染的服务器。

参考图1,根据本公开的一个实施例的晶石模型的渲染方法包括以下步骤:

步骤S110,对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标;

步骤S120,利用偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色;

步骤S130,对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色;

步骤S140,对目标颜色与反射颜色进行融合,并根据融合后的颜色对待渲染晶石模型进行渲染。

在图1所示实施例所提供的技术方案中,一方面,对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标,利用偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,从而能够在视角转动的时候体现出内部结构位置互相交错的效果,较好的表现了模型内部的体积感。进一步的,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色,并对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色,能够支持自定义不同的颜色,以实时动态呈现不同的显示效果,实现晶石模型内部的非均质的密度差异以及模拟散射效果,使得晶石模型的质感与石头和玻璃区分开来。另一方面,对目标颜色与反射颜色进行融合,并根据融合后的颜色对待渲染晶石模型进行渲染,能够提高模型的逼真程度。

以下对图1中的各个步骤的具体实现过程进行详细阐述:

需要说明的是,本公开中的晶石模型可以包括冰块、矿石、水晶、宝石、钻石、琥珀等,可以根据实际情况自行设定,属于本公开的保护范围。

在步骤S110中,对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标。

本步骤中,待渲染晶石模型可以是根据晶石的多种图像数据构建,可以根据实际应用场景灵活选择构建方式,均属于本公开的保护范围。

示例性的,待渲染晶石模型表面的纹理坐标可以表示为(u,v),进而,可以参考图2,图2示出本公开实施例中对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标的流程示意图,包含步骤S201-步骤S203,一下结合图2对步骤S110进行解释。

在步骤S201中,对预存储的细节纹理贴图进行颜色采样,获得第二采样颜色。

本步骤中,可以在采样器中输入第一Mipmap等级(例如:3.72,可以根据实际情况自行设定),以对预存储的细节纹理贴图进行颜色采样,得到第二采样颜色。示例性的,可以在进行颜色采样之后,对得到的颜色值进行归一化处理,例如:将每个通道的数值除以255,得到上述第二采样颜色。示例性的,得到的第二采样颜色可以是(0.3,0.3,0.3)。

其中,预存储的细节纹理贴图可以是由美术制作人员针对上述待渲染晶石模型制作得到,可以反映晶石内部的固有色的灰度图像(即RGB三通道的数值相等,R=G=B),例如:一张四方连续的噪波贴图,示例性的,可以参考图3,图3示出上述预存储的细节纹理贴图的示意图,图中浅色部分表示距离模型表面较近的区域,深色部分表示距离模型表面较远的区域。

通过设置不同的Mipmap等级,可以对纹理进行模糊,呈现出模型内部更均质化的质感。示例性的,可以参考图4A-图4B,图4A-图4B示出本公开示例性实施例中不同的Mipmap等级对应的模型显示效果示意图,具体的,图4B中设置的Mipmap等级高于图4A中设置的Mipmap等级,从而,图4B可以呈现出更均质化的质感表现。

在步骤S202中,将世界空间坐标系下的相机视线方向转换为切线空间坐标系下的相机视线方向。

本步骤中,可以先获取世界空间坐标系下的相机视线方向,具体的,可以根据相机位置坐标与待渲染晶石模型上每个像素坐标的差值确定世界空间坐标系下的相机视线方向。示例性的,以相机位置坐标为O(a1,b1,c1),而像素坐标为A(a2,b2,c2)为例进行说明,则上述世界空间坐标系下的相机视线方向V可以表示为(a1-a2,b1-b2,c1-c2)。

进而,可以参考图5,图5示出本公开实施例中将世界空间坐标系下的相机视线方向转换为切线空间坐标系的相机视线方向的流程示意图,包含步骤S501-步骤S502,以下结合图5对步骤S202进行解释。

在步骤S501中,获取待渲染晶石模型上各个像素点的切线方向、副法线方向和主法线方向。

本步骤中,可以获取待渲染晶石模型上各个像素点的切线方向Tangent(例如:x1,y1,z1)、副法线方向Binormal(例如:x2,y2,z2)和主法线方向Normal(例如:x3,y3,z3)。

在步骤S502中,根据切线方向与世界空间坐标系下的相机视线方向的数量积、副法线方向与世界空间坐标系下的相机视线方向的数量积、主法线方向与世界空间坐标系下的相机视线方向的数量积,确定切线空间坐标系下的相机视线方向。

本步骤中,以世界空间坐标系下的相机视线方向V(a3,b3,c3)为例进行解释,则切线方向与世界空间坐标系下的相机视线方向的数量积为:a3*x1+b3*y1+c3*z1,副法线方向与世界空间坐标系下的相机视线方向的数量积可以是:a3*x2+b3*y2+c3*z2,主法线方向与世界空间坐标系下的相机视线方向的数量积可以是:a3*x3+b3*y3+c3*z3,从而,切线空间坐标系下的相机视线方向V’可以表示为:(a4,b4,c4)。

接着参考图2,在步骤S203中,根据第二采样颜色中任一颜色分量、切线空间坐标系下的相机视线方向以及输入的深度值对纹理坐标进行视差偏移,得到偏移纹理坐标。

本步骤中,可以基于以下公式1对上述纹理坐标偏移,得到偏移纹理坐标:

其中,上述Distortuv表示偏移后的纹理坐标;uv表示上述待渲染晶石模型表面的纹理坐标,例如:(0.5,0.5);V′

从而,示例性的,计算出的偏移纹理坐标可以是:

示例性的,可以参考图6A,图6A示出相关技术中无视差偏移处理时的晶石模型的示意图,由图6A可知,当视角转动时,无法体现出内部结构的变换效果,仅能呈现如图中所示的一种显示效果。而参考图6B-6E,图6B-6E示出有视差偏移处理时的晶石模型的示意图,本公开通过对纹理坐标进行偏移,后续当视角转动时,会有内部结构位置互相交错的视觉效果,即不同的视角会呈现出不同的显示效果。

接着参考图1,在步骤S120中,利用偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色。

本步骤中,在得到上述偏移纹理坐标之后,可以将上述偏移纹理坐标、第二Mipmap等级(例如:0,可以根据实际情况自行设定)输入采样器,以对上述预存储的细节纹理贴图进行颜色采样,得到第一采样颜色。具体的,可以参照上述步骤S201的相关解释,在进行颜色采样之后,对得到的颜色值进行归一化处理,例如:将每个通道的数值除以255,得到第一采样颜色。示例性的,得到的第一采样颜色可以是(0.1,0.1,0.1)。

在得到第一采样颜色之后,可以将上述第一采样颜色与输入的环境反射强度值相乘,确定反射颜色。示例性的,当输入的环境反射强度值为0.2时,则得到的反射颜色为(0.1,0.1,0.1)*0.2=(0.02,0.02,0.02)。

需要说明的是,鉴于上述预存储的细节纹理贴图为不均匀纹理的扭曲贴图,而晶石的表面也是不均匀的随机纹理,因而,可以复用上述细节纹理贴图,以对其进行处理得到待渲染晶石模型的纹理贴图,从而,无需额外制作一张细节纹理贴图,仅需保存一张图便可实现相关处理步骤,节省了内存占用。

本步骤中预存储的细节纹理贴图也可以是与图3的细节纹理贴图不同的新制作的贴图,可以根据实际情况自行设定,属于本公开的保护范围。

在步骤S130中,对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色。

本步骤中,可以以上述第一采样颜色的任一颜色分量作为插值因子,使用lerp函数对输入的模型内部颜色与模型表面颜色进行插值,得到目标颜色。

示例性的,可以基于以下公式确定上述目标颜色:

result=interior_color*(1-weight)+external_color*weight 公式2其中,result表示上述目标颜色,interior_color表示上述模型内部颜色,external_color表示上述模型外部颜色,weight表示上述插值因子。

参照上述步骤S120的相关解释可知,第一采样颜色的任一颜色分量为0.1,则插值因子为0.1,从而,当输入的模型内部颜色为(80,200,200),输入的模型表面颜色为(70,100,100)时,则目标颜色可以表示为:(80,200,200)*(1-0.1)+(77,100,100)*0.1=(79.7,190,190)。进而,可以对得到的数据进行归一化处理,得到目标颜色(0.31,0.75,0.75)。

示例性的,图7A示出相关技术中无颜色混合时晶石模型的示意图,图7B示出本公开中对模型内部颜色和模型表面颜色进行融合之后晶石模型的示意图。

在步骤S140中,对目标颜色与反射颜色进行融合,并根据融合后的颜色对待渲染晶石模型进行渲染。

本步骤中,在得到上述目标颜色和反射颜色之后,可以对上述目标颜色与反射颜色进行融合,具体的,可以参考图8,图8示出本公开实施例中确定融合后的颜色的流程示意图,包含步骤S801-步骤S802,以下结合图8对步骤S140进行解释:

在步骤S801中,根据主法线方向与世界空间坐标系下的相机视线方向的数量积,确定一目标值。

本步骤中,可以参照上述步骤S302的相关解释,则主法线方向与世界空间坐标系下的相机视线方向的数量积为:a3*x3+b3*y3+c3*z3,以该数值为0.6为例进行说明,则示例性的,可以将上述数量积的2次方确定为上述目标值,则该目标值可以是0.36。需要说明的是,上述目标值也可以是上述数量积的3次方、5次方等,可以根据实际情况自行设定,属于本公开的保护范围。

在步骤S802中,将目标值作为插值因子,对目标颜色与反射颜色进行插值,得到融合后的颜色。

本步骤中,在确定出上述目标值之后,可以将上述目标值作为插值因子,对上述目标颜色和上述反射颜色进行插值,得到融合后的颜色。参照上述步骤的相关解释可知,当目标颜色为(0.31,0.75,0.75),反射颜色为(0.02,0.02,0.02)时,则可以得到融合后的颜色为:(0.31,0.75,0.75)*(1-0.36)+(0.02,0.02,0.02)*0.36=(0.21,0.49,0.49)。进而,可以将该数值各颜色分量乘以255,得到上述融合后的颜色(53.55,124.95,124.95)。

进而,可以根据融合后的颜色对待渲染晶石模型进行渲染,以使得上述待渲染晶石模型呈现出与之对应的颜色。

需要说明的是,还可以对本申请中的相关输入参数进行调整,以生成不同类型的冰块、琥珀等模型。具体的,可以参考图9A-图9D:

当输入的模型内部颜色为(80,216,234),输入的模型表面颜色为(77,110,110)时,深度值为0.32,环境反射强度值为1,第一次采样和第二次采样的Mipmap等级均为0时,则可以生成如图9A所示的风格化冰块模型。

当输入的模型内部颜色为(126,140,151),输入的模型表面颜色为(63,79,77),深度值为0.32,反射强度系数为0.3,第一次采样和第二次采样的Mipmap等级均为0时,则可以生成如图9B所示的写实冰块模型。

当输入的模型内部颜色为(124,196,199),输入的模型表面颜色为(222,255,254),深度值为0.3,反射强度系数为1,第一次采样和第二次采样的Mipmap等级均为0时,则可以生成如图9C所示的高透射小冰块模型。

当输入的模型内部颜色为(246,233,53),输入的模型表面颜色为(219,117,67),深度值为0.31,反射强度系数为0.2,第一次采样和第二次采样的Mipmap等级均为3.72时,则可以生成如图9D所示的琥珀模型。

基于上述技术方案,一方面,本公开对引擎内存的消耗非常小,造成的额外开销基本可以忽略,可以用于当前主流手机平台,也可支持同时生成大批量的晶石模型。进一步的,本公开对美术制作友好,支持自定义不同的颜色、纹理,可实时动态看到不同程度均质化的效果,无需额外制作体积数据。另一方面,本公开能够实现介质内部的非均质的密度差异,以及模拟散射效果,使得冰块的质感与石头和玻璃区分开来。

本公开还提供了一种晶石模型的渲染装置,图10示出本公开示例性实施例中晶石模型的渲染装置的结构示意图;如图10所示,晶石模型的渲染装置1000可以包括视差偏移模块1001、颜色采样模块1002、颜色融合模块1003和渲染模块1004。其中:

视差偏移模块1001,用于对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标。

在本公开的示例性实施例中,视差偏移模块用于对预存储的细节纹理贴图进行颜色采样,获得第二采样颜色;将世界空间坐标系下的相机视线方向转换为切线空间坐标系下的相机视线方向;根据第二采样颜色中任一颜色分量、切线空间坐标系下的相机视线方向以及输入的深度值对纹理坐标进行视差偏移,得到偏移纹理坐标。

在本公开的示例性实施例中,视差偏移模块用于根据相机位置坐标与待渲染晶石模型上每个像素坐标的差值确定世界空间坐标系下的相机视线方向。

在本公开的示例性实施例中,视差偏移模块用于获取待渲染晶石模型上各个像素点的切线方向、副法线方向和主法线方向;根据切线方向与世界空间坐标系下的相机视线方向的数量积、副法线方向与世界空间坐标系下的相机视线方向的数量积、主法线方向与世界空间坐标系下的相机视线方向的数量积,确定切线空间坐标系下的相机视线方向。

在本公开的示例性实施例中,基于以下公式确定偏移纹理坐标:

其中,Distortuv表示上述偏移纹理坐标,uv表示上述纹理坐标,V′

颜色采样模块1002,用于利用偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色。

在本公开的示例性实施例中,颜色采样模块用于根据第一采样颜色与输入的环境反射强度值的乘积,确定反射颜色。

颜色融合模块1003,用于对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色。

在本公开的示例性实施例中,颜色融合模块用于将第一采样颜色的任一颜色分量作为插值因子,对输入的模型内部颜色与模型表面颜色进行插值,得到目标颜色。

在本公开的示例性实施例中,基于以下公式确定目标颜色:

result=interior_color*(1-weight)+external_color*weight

其中,result表示上述目标颜色,interior_color表示上述模型内部颜色,external_color表示上述模型外部颜色,weight表示上述插值因子。

渲染模块1004,用于对目标颜色与反射颜色进行融合,并根据融合后的颜色对待渲染晶石模型进行渲染。

在本公开的示例性实施例中,渲染模块用于根据主法线方向与世界空间坐标系下的相机视线方向的数量积,确定一目标值;将目标值作为插值因子,对目标颜色与反射颜色进行插值,得到融合后的颜色。

上述晶石模型的渲染装置中各模块的具体细节已经在对应的晶石模型的渲染方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的方法。

此外,在本公开实施例中还提供了一种能够实现上述方法的电子设备。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

下面参照图11来描述根据本公开的这种实施方式的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130以及显示单元1140。

其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1110可以执行如图1中所示的:步骤S110,对待渲染晶石模型表面的纹理坐标进行视差偏移,得到偏移纹理坐标;步骤S120,利用偏移纹理坐标对预存储的细节纹理贴图进行颜色采样,根据得到的第一采样颜色与输入的环境反射强度值,确定反射颜色;步骤S130,对输入的模型内部颜色与模型表面颜色进行融合,得到目标颜色;步骤S140,对目标颜色与反射颜色进行融合,并根据融合后的颜色对待渲染晶石模型进行渲染。

存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)11201和/或高速缓存存储单元11202,还可以进一步包括只读存储单元(ROM)11203。

存储单元1120还可以包括具有一组(至少一个)程序模块11205的程序/实用工具11204,这样的程序模块11205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1150进行。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。

此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

相关技术
  • 晶石模型的渲染方法及装置、计算机存储介质、电子设备
  • 模型训练方法及渲染方法、装置、电子设备及存储介质
技术分类

06120112738900