卡通风格渲染方法、装置、电子设备及存储介质与流程

文档序号:33640499发布日期:2023-03-29 01:56阅读:58来源:国知局
卡通风格渲染方法、装置、电子设备及存储介质与流程

1.本公开涉及模型渲染技术领域,具体而言,涉及一种卡通风格渲染方法、装置、电子设备和存储介质。


背景技术:

2.随着计算机技术的不断发展,越来越多的网络游戏通过构建大型的三维游戏场景和三维游戏角色的方式提高用户体验。不同类型的游戏所具有的游戏场景风格是不同的,通过不同风格化的渲染,比如写实风格渲染以及卡通风格渲染等,可以为用户展现丰富的游戏场景以及游戏角色。
3.而不论那种渲染风格,光影的渲染都是影响视觉效果的重要因素。其中,写实风格的光影可以根据模型的表面信息和光照的物理特性来计算,通常可以得到细节丰富、过渡细腻的光影。而卡通风格对光影的要求恰恰相反,一方面它要求细节不能太多,那样会破坏画面的整洁感,另一方面还要求明暗过渡要硬朗,阴影和高光有清晰和工整的轮廓。因此,如何提升卡通风格渲染的渲染效果是业界一直追求的目标。


技术实现要素:

4.本公开实施例至少提供一种卡通风格渲染方法、装置、电子设备及存储介质,可以提升卡通风格渲染的渲染效果。
5.本公开实施例提供了一种卡通风格渲染方法,包括:
6.获取目标对象模型的模型信息、光照参数信息以及阴影信息;所述光照信息包括直接光光照参数以及间接光光照参数;
7.基于所述模型信息、所述直接光光照参数信息以及所述阴影信息,确定第一明暗分界线;其中,所述阴影信息是指待渲染场景中的其他模型在所述目标对象模型上所产生的阴影信息;
8.基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数;
9.基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色,并基于所述漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
10.本公开实施例中,由于第一明暗分界线考虑了阴影信息,进而可以减少在后续渲染过程中因阴影而产生多个明暗分界线问题。此外,通过第一明暗分界线以及间接光光照参数对直接光光照参数进行处理,不仅能够区分目标对象是否处于背光及阴影下,还使得直接光照融入了环境光照,进而使得目标对象能够融入周围的环境,从而提升了卡通风格的渲染效果。
11.在一种可能的实施方式中,所述模型信息包括所述模型的模型表面法线信息,所述直接光光照参数包括直接光光照方向;所述基于所述模型信息、所述直接光光照参数信
息以及所述阴影信息,确定第一明暗分界线,包括:
12.基于所述直接光照参数实时计算所述待渲染场景中至少一个所述其他模型在所述目标对象模型上产生的实时阴影信息;
13.基于预设的明暗交界线函数、所述模型表面法线信息、所述直接光光照方向以及所述实时阴影信息,确定所述第一明暗分界线。
14.本公开实施例中,通过将模型表面法线信息、直接光光照方向以及阴影信息代入到预设的明暗交界线函数中,不仅能够实现第一明暗分界线的确定,还可以提升第一明暗分界线的确定效率。
15.在一种可能的实施方式中,所述直接光光照参数包括直接光光照强度以及直接光光照颜色,所述间接光光照参数包括间接光光照强度;所述基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数,包括:
16.基于所述第一明暗分界线以及所述间接光光照强度,对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。。
17.本公开实施例中,通过间接光光照强度对所述直接光光照参数中的直接光光照强度进行处理,可以使得目标对象受到的光照强度受到环境光照的影响,进而保证目标对象能够融入周围的环境。
18.在一种可能的实施方式中,所述间接光光照强度包括r通道间接光光照强度、g通道间接光光照强度以及b通道间接光光照强度;所述基于所述第一明暗分界线以及所述间接光光照强度,对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数,包括:
19.将所述r通道间接光光照强度、所述g通道间接光光照强度以及所述b通道间接光光照强度中最大的光照强度作为目标间接光光照强度;
20.对所述第一明暗分界线以及所述目标间接光光照强度进行差值处理,得到差值处理结果,并基于所述差值处理结果对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
21.本公开实施例中,通过间接光的rgb三通道的中的最强的光照强度来对直接光照强度进行处理,可以提升直接光光照强度的处理效果。
22.在一种可能的实施方式中,所述基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色之前,所述方法还包括:
23.基于所述模型信息以及所述直接光光照参数信息,确定第二明暗分界线;
24.基于所述第一明暗分界线以及所述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,得到所述目标对象的目标基础颜色;
25.所述基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色,包括:
26.基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的目标基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色。
27.本公开实施例中,通过第一明暗分界线以及述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,可以获取到目标对象在阴影下的光照细节,进一步提升了卡通
风格的渲染效果。
28.在一种可能的实施方式中,所述基于所述第一明暗分界线以及所述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,得到所述目标对象的目标基础颜色,包括:
29.确定所述目标对象的基础颜色中的背光颜色与受光颜色之间的色彩比例,所述色彩比例用于指示所述目标对象的基础颜色从受光面过渡到背光面的颜色变化程度;
30.基于所述色彩比例以及所述第二明暗分界线,对所述目标对象在所述阴影下的背光颜色进行处理,以使所述阴影下的背光颜色中的暗部颜色进一步变暗,得到处理后的背光颜色;
31.采用所述第一明暗分界线对所述处理后的背光颜色以及所述受光颜色进行差值处理,得到所述目标对象的目标基础颜色。
32.本公开实施例中,通过色彩比例以及第二明暗分界线来将阴影下的暗部颜色进一步压暗,可以保证基础颜色的明暗色彩差异,并通过第一明暗分界线来插值受光颜色和处理后的背光颜色,可以提升基础颜色的明暗效果。
33.在一种可能的实施方式中,所述目标对象还接受其他光源的光照,所述方法还包括:
34.采用所述其他光源的光照参数对所述基础颜色进行处理得到其他颜色,并将所述其他颜色与所述漫反射颜色混合,得到所述目标对象的最终漫反射颜色;
35.所述基于漫反射颜色对所述目标对象模型进行渲染,得到漫反射渲染结果,包括:
36.基于所述最终漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
37.本公开实施例中,在存在其他光源的情况下,可以先采用所述其他光源的光照参数对所述基础颜色进行处理得到其他颜色,然后将其他颜色与原本由直接光和间接光得到的漫反射颜色进行混合,得到最终的漫反射颜色,进而使得目标对象的渲染效果呈现多光源的光照效果,进一步提升了卡通风格渲染的效果。
38.本公开实施例提供了一种卡通风格渲染装置,包括:
39.获取模块,用于获取目标对象模型的模型信息、光照参数信息以及阴影信息;所述光照信息包括直接光光照参数以及间接光光照参数;
40.确定模块,用于基于所述模型信息、所述直接光光照参数信息以及所述阴影信息,确定第一明暗分界线;其中,所述阴影信息是指待渲染场景中的其他模型在所述目标对象模型上所产生的阴影信息;
41.处理模块,用于基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数;
42.渲染模块,用于基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色,并基于漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
43.在一种可能的实施方式中,所述模型信息包括所述模型的模型表面法线信息,所述直接光光照参数包括直接光光照方向;所述确定模块具体用于:
44.基于所述直接光照参数实时计算所述待渲染场景中至少一个所述其他模型在所述目标对象模型上产生的实时阴影信息;
45.基于预设的明暗交界线函数、所述模型表面法线信息、所述直接光光照方向以及所述实时阴影信息,确定所述第一明暗分界线。
46.在一种可能的实施方式中,所述直接光光照参数包括直接光光照强度以及直接光光照颜色,所述间接光光照参数包括间接光光照强度;所述处理模块具体用于:
47.基于所述第一明暗分界线以及所述间接光光照强度,对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
48.在一种可能的实施方式中,所述间接光光照强度包括r通道间接光光照强度、g通道间接光光照强度以及b通道间接光光照强度;所述处理模块具体用于:
49.将所述r通道间接光光照强度、所述g通道间接光光照强度以及所述b通道间接光光照强度中最大的光照强度作为目标间接光光照强度;
50.对所述第一明暗分界线以及所述目标间接光光照强度进行差值处理,得到差值处理结果,并基于所述差值处理结果对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
51.在一种可能的实施方式中,所述确定模块还用于:
52.基于所述模型信息以及所述直接光光照参数信息,确定第二明暗分界线;
53.所述处理模块还用于:
54.基于所述第一明暗分界线以及所述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,得到所述目标对象的目标基础颜色;
55.所述渲染模块具体用于:
56.基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的目标基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色。
57.在一种可能的实施方式中,所述处理模块还具体用于:
58.确定所述目标对象的基础颜色中的背光颜色与受光颜色之间的色彩比例,所述色彩比例用于指示所述目标对象的基础颜色从受光面过渡到背光面的颜色变化程度;
59.基于所述色彩比例以及所述第二明暗分界线,对所述目标对象在所述阴影下的背光颜色进行处理,以使所述阴影下的背光颜色中的暗部颜色进一步变暗,得到处理后的背光颜色;
60.采用所述第一明暗分界线对所述处理后的背光颜色以及所述受光颜色进行差值处理,得到所述目标对象的目标基础颜色。
61.在一种可能的实施方式中,所述目标对象还接受其他光源的光照,所述处理模块还用于:
62.采用所述其他光源的光照参数对所述基础颜色进行处理得到其他颜色,并将所述其他颜色与所述漫反射颜色混合,得到所述目标对象的最终漫反射颜色;
63.所述渲染模块具体用于:
64.基于所述最终漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
65.本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一可能的实施方式中
所述的卡通风格渲染方法。
66.本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一可能的实施方式中所述的卡通风格渲染方法。
67.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
68.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
69.图1示出了本公开一些实施例所提供的一种卡通风格渲染方法的流程图;
70.图2示出了本公开一些实施例所提供的另一种卡通风格渲染方法的流程图;
71.图3示出了本公开一些实施例所提供的对目标对象颜色进行处理的方法流程图;
72.图4示出了本公开一些实施例所提供的对目标对象进行颜色处理的部位示意图;
73.图5示出了本公开一些实施例所提供的卡通风格渲染装置的结构示意图;
74.图6示出了本公开一些实施例所提供的电子设备的示意图。
具体实施方式
75.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
76.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
77.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
78.网络游戏因其所具有的游戏场景真实性较高、观赏性和操作性较好而深受用户的喜欢。不同类型的游戏所具有的游戏场景风格是不同的,通过不同风格化的渲染,为用户展现丰富的游戏场景,可以有效提高用户的游戏体验。比如写实风格渲染以及卡通风格渲染等,而不论那种渲染风格,光影的渲染都是影响视觉效果的重要因素。
79.其中,写实风格的光影可以根据模型的表面信息和光照的物理特性来计算,通常
可以得到细节丰富、过渡细腻的光影。而卡通风格对光影的要求恰恰相反,一方面它要求细节不能太多,那样会破坏画面的整洁感,另一方面还要求明暗过渡要硬朗,阴影和高光有清晰和工整的轮廓。
80.经研究发现,目前卡通渲染通常采用基于物理的渲染配合卡通风格的手绘纹理及风格化后处理方式、阴影融合进光照后的lut图插值渲染方式、或者阴影融合进光照后的双纹理插值渲染方式,来实现卡通风格的渲染。然而,上述方式虽然能够实现卡通风格的渲染,但存在一些问题。比如,采用基于物理的渲染配合卡通风格的手绘纹理及风格化后处理方式会无法自定义暗部的色彩表现,且会出现多个明暗交界线;采用阴影融合进光照后的lut图插值渲染方式或者采用阴影融合进光照后的双纹理插值渲染方式,会导致阴影下的光照层次丢失,且不能很好的支持多光源卡通效果,以及无法处理卡通风格的间接光照效果与环境的融合。
81.基于上述研究,本公开提供了一种卡通风格渲染方法,可以基于目标对象模型的模型信息、直接光光照参数信息以及阴影信息,确定第一明暗分界线;然后基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数;接着基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色;最后基于漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
82.本公开实施例中,由于第一明暗分界线考虑了阴影信息,进而可以减少在后续渲染过程中因阴影而产生多个明暗分界线问题。此外,通过第一明暗分界线以及间接光光照参数对直接光光照参数进行处理,不仅能够区分目标对象是否处于背光或者阴影下,还使得直接光照融入了环境光照,进而使得目标对象能够融入周围的环境,从而提升了卡通风格的渲染效果。
83.为便于对本实施例进行理解,首先对本公开实施例所提供的卡通风格渲染方法的执行主体进行详细介绍。本公开实施例所提供的卡通风格渲染方法的执行主体为电子设备。该电子设备可以终端设备或者服务器。其中,该终端设备还可以为移动设备、用户终端、终端、手持设备、计算设备、车载设备、可穿戴设备等。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云存储、大数据和人工智能平台等基础云计算服务的云服务器。其他实施方式中,该卡通风格渲染方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
84.下面结合附图对本技术实施例所提供的卡通风格渲染方法进行详细说明。参见图1所示,为本公开实施例提供的一种卡通风格渲染方法的流程图,该卡通风格渲染方法包括以下s101~s104:
85.s101,获取目标对象模型的模型信息、光照参数信息以及阴影信息;所述光照信息包括直接光光照参数以及间接光光照参数。
86.其中,目标对象可以是游戏角色、游戏道具、游戏物体、游戏建筑等,此处不做限定。目标对象模型是指构成游戏场景中各类目标对象的模型。具体地,目标对象模型可以为对游戏角色、游戏道具、游戏物体、游戏建筑等按比例设计、制作的模型。比如,按照游戏模型的类型区分,目标对象模型可以为场景模型、建筑模型、动画模型、人物模型、道具模型、
粒子效果模型等等;再比如,按照游戏模型的表现形式区分,目标对象模型可以包括三维游戏模型、二维游戏模型等。
87.示例性地,目标对象模型的模型信息可以包括模型的表面法线信息,该模型表面法线信息是基于顶点的基础信息。在一些可能的实施例中,所述目标对象模型的模型信息还可以包括模型的坐标信息、颜色信息、顶点(vertexs)信息、图元(primitives)信息、片元(fragments)信息、纹理(texture)信息、深度信息等,此处不做限定。
88.示例性地,所述阴影信息可以通过阴影贴图获得,其中,阴影贴图为标识了目标场景各个位置的阴影接受情况的灰度图。阴影贴图里面存有各个目标对象(物体)接收到的阴影信息,该阴影信息包含了待渲染场景中其他模型在所述目标对象模型上所产生的阴影信息。也即,阴影贴图可以理解为采用灰度来标识物体阴影接收情况的2d纹理图,其中,白色表示阴影外,黑色表示阴影内,中间灰度表示阴影的过渡部分。本公开实施例中,阴影信息为实时阴影信息,是通过灯光视角下深度比较来产生的阴影信息。
89.直接光光照参数是指直接光光源的光照参数。直接光光源提供用于进行光照计算的光照信息。直接光光源又分为平行光光源和点光源。间接光光照参数是指间接光光源的光照参数,间接光光源是环境中的物体对直接光光源进行漫反射后出射的光线形成的光源。
90.需要说明的是,平行光光源始终存在并提供光照和阴影信息。其他多光源,例如点光源仅提供光照信息,用于形成光照的明暗分布,不产生额外阴影信息。
91.s102,基于所述模型信息、所述直接光光照参数信息以及所述阴影信息,确定第一明暗分界线,其中,所述阴影信息是指待渲染场景中的其他模型在所述目标对象模型上所产生的阴影信息。
92.在一种可能的实施方式中,所述直接光光照参数包括直接光光照方向;因此,可以先基于所述直接光照参数实时计算所述待渲染场景中至少一个所述其他模型在所述目标对象模型上产生的实时阴影信息,然后基于预设的明暗交界线函数、所述模型表面法线信息、所述直接光光照方向以及所述实时阴影信息,确定所述第一明暗分界线。具体代码如下:
93.shading=f(normal
·
light direction*dynamic shadow)
94.其中,shading为第一明暗分界线,f(x)为预设的卡通风格光照的明暗交界线函数,normal为模型表面法线(也称物体表面法线),light direction为直接光光照方向,dynamic shadow为实时阴影信息。
95.需要说明的是,normal
·
light direction为光照方向与物体表面法线的点积,f(normal
·
light direction)为在点积的基础上进一步进行处理,例如将normal
·
light direction改为半兰伯特光照的0.5*normal
·
light direction+0.5,再比如进行step(0.5,n
·
l)处理,来获取明暗分界线等。
96.该步骤中,将光照结果线性插值到比较硬朗的第一明暗分界线上,也即,将柔和的明暗过渡限定到硬朗的第一明暗分界线上,可以保证卡通渲染风格的硬硬朗度。
97.s103,基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数。
98.在一种可能的实施方式中,所述直接光光照参数包括直接光光照强度以及直接光
光照颜色,所述间接光光照参数包括间接光光照强度;所述基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数,包括:基于所述第一明暗分界线以及所述间接光光照强度,对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
99.本公开实施例中,通过间接光光照强度对所述直接光光照参数中的直接光光照强度进行处理,可以使得目标对象受到的光照强度受到环境光照的影响,也即,可以根据周围环境的亮度调整直接光光照亮度,以使得直接光光照亮度融入周围环境,进而保证目标对象的渲染效果能够融入周围的环境。
100.示例性地,所述间接光光照强度包括r通道间接光光照强度、g通道间接光光照强度以及b通道间接光光照强度;所述基于所述第一明暗分界线以及所述间接光光照强度,对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数时,可以包括以下(1)~(2):
101.(1)将所述r通道间接光光照强度、所述g通道间接光光照强度以及所述b通道间接光光照强度中最大的光照强度作为目标间接光光照强度;
102.(2)对所述第一明暗分界线以及所述目标间接光光照强度进行差值处理,得到差值处理结果,并基于所述差值处理结果对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
103.具体地,由于间接光光照强度包括三颜色通道(rgb通道),在获取到间接光光照强度后,需要从该三个颜色通道分别对应的光照强度,确定最大光照强度,并将三个颜色通道中的最大光照强度作为目标间接光光照强度,具体实现代码如下:
104.channel max=max(indirect light.r,indirect light.g,indirect light.b)
105.其中,channel max为目标间接光光照强度,indirect light.r为颜色r通道间接光光照强度,indirect light.g为颜色g通道间接光光照强度,indirect light.b为颜色b通道对应的间接光光照强度。
106.在确定目标间接光光照强度后,可以采用目标间接光光照强度对直接光光照参数中的光照强度进行处理。可选地,可以先对第一明暗分界线以及所述目标间接光光照强度进行差值处理,然后基于差值处理结果对直接光光照强度进行处理,具体代码如下:
107.light color gi=lerp(channel max,1,shading)*light color
108.其中,light color gi为目标直接光光照参数(包括强度及颜色),lerp为插值函数,channel max为目标间接光光照强度,shading为第一明暗分界线,light color为直接光光照参数(直接光光照强度及颜色)。
109.在该实施例中,经过处理后,目标对象的亮部受到的光照强度不变,暗部受到的光照强度为直接光光照强度乘以周围环境的最高亮度,进而使得暗部的光照强度受到环境的影响。也即,可以通过第一明暗分界线来确定目标对象是否处于阴影下,若处于阴影下,则处于阴影的部分(暗部)的光照强度会被目标间接光光照强度(环境光亮度)改变,进而使得目标对象的暗部会融入目标对象所处的环境,提升卡通渲染效果。
110.s104,基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色,并基于漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
111.示例性地,在得到目标直接光光照参数后,可以基于目标直接光光照参数及所述间接光光照参数,对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色。其中,漫反射是物体基本色(基础颜色)和环境光混合的结果,是物体基本色在迎光面和背光面上的显示效果。
112.具体实现代码如下:
113.color=albedo color*(light color gi+indirect light)
114.其中,albedo color为目标对象的基础颜色,light color gi为目标直接光光照参数,indirect light为间接光光照参数,color为漫反射颜色。
115.在得到漫反射颜色后,即可基于漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。本公开实施例中,由于第一明暗分界线考虑了阴影信息,进而可以减少在后续渲染过程中因阴影而产生多个明暗分界线问题。此外,通过第一明暗分界线以及间接光光照参数对直接光光照参数进行处理,不仅能够区分目标对象是否处于背光或者阴影下,还使得直接光照融入了环境光照,进而使得目标对象能够融入周围的环境,从而提升了卡通风格的渲染效果。
116.参阅图2所述,为本公开实施例提供的另一种卡通风格渲染方法的流程图,该方法包括以下s201~s206:
117.s201,获取目标对象模型的模型信息、光照参数信息以及阴影信息;所述光照信息包括直接光光照参数以及间接光光照参数。
118.其中,该步骤与前述步骤s101类似,在此不再赘述。
119.s202,基于所述模型信息、所述直接光光照参数信息以及所述阴影信息,确定第一明暗分界线;其中,所述阴影信息是指待渲染场景中的其他模型在所述目标对象模型上所产生的阴影信息。
120.其中,该步骤与前述步骤s102类似,在此不再赘述。
121.s203,基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数。
122.其中,该步骤与前述步骤s103类似,在此不再赘述。
123.s204,基于所述模型信息以及所述直接光光照参数信息,确定第二明暗分界线。
124.示例性地,与第一明暗分界线的确定方式类似,可以基于预设的明暗交界线函数、所述模型表面法线信息以及所述直接光光照方向,得到所述第二明暗分界线,由于该过程中并未涉及到阴影信息,因此,该第二明暗分界线为不考虑实时阴影的明暗分界线。具体实现代码如下:
125.shading ns=f(normal
·
light direction)
126.其中,shading ns为第二明暗分界线,f(x)为预设的卡通风格光照的明暗交界线函数,normal为模型表面法线,light direction为直接光光照方向。
127.s205,基于所述第一明暗分界线以及所述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,得到所述目标对象的目标基础颜色。
128.示例性地,可以基于所述第一明暗分界线以及所述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,从而得到目标对象在亮部和暗部的不同颜色。
129.具体地,参见图3所示,针对步骤s205,在基于所述第一明暗分界线以及所述第二
明暗分界线,对所述目标对象的基础颜色进行明暗处理,得到所述目标对象的目标基础颜色时,可以包括以下s2051~s2053:
130.s2051,确定所述目标对象的基础颜色中的背光颜色与受光颜色之间的色彩比例,所述色彩比例用于指示所述目标对象的基础颜色从受光面过渡到背光面的颜色变化程度。
131.具体地,可以先通过目标对象的背光颜色贴图以及受光颜色贴图来确定背光颜色和受光颜色的色彩比例,该色彩比例用于指示所述目标对象的基础颜色从受光面过渡到背光面的颜色变化程度,具体代码如下:
132.tex scale=darkness color/max(brightness color,0.01)
133.其中,tex scale为背光颜色和受光颜色的色彩比例,darkness color为背光颜色,brightness color为受光颜色。
134.该步骤中,通过受光面贴图和背光面贴图之间的差异,可以得出变化系数tex scale,也即,通过该系数可以获悉目标对象从受光面过渡到背光面时的颜色变化差异。
135.s2052,基于所述色彩比例以及所述第二明暗分界线,对所述目标对象在所述阴影下的背光颜色进行处理,以使所述阴影下的背光颜色中的暗部颜色进一步变暗,得到处理后的背光颜色。
136.示例性地,参见图4所示,可以根据第二明暗分界线对背光颜色进行处理,以将背光颜色中的暗部颜色b1进一步压暗,也即,在该过程中,阴影下受光方向的暗部颜色a1没有变化,阴影中的背光方向的暗部颜色b1被进一步压缩。具体实现的代码如下:
137.darkness color=darkness color*lerp(tex scale,1,shading ns)
138.其中,shading ns为第二明暗分界线,tex scale为背光颜色和受光颜色的色彩比例,darkness color为背光颜色。
139.s2053,采用所述第一明暗分界线对所述处理后的背光颜色以及所述受光颜色进行差值处理,得到所述目标对象的目标基础颜色。
140.示例性地,可以采用第一明暗分界线对目标对象的基础颜色中的背光颜色以及受光颜色进行差值处理,得到所述目标对象的目标基础颜色。具体代码如下:
141.albedo color=lerp(darkness color,brightness color,shading)
142.其中,albedo color为目标基础颜色,darkness color为背光颜色,brightness color为受光颜色,shading为第一明暗分界线。
143.需要说明的是,在不同的实施例中,albedo color可以表征目标对象未经处理的基础颜色,也可以表征经过处理的目标基础颜色。
144.本实施方式中,通过色彩比例以及第二明暗分界线来将阴影下的暗部颜色进一步压暗,可以保证基础颜色的明暗色彩差异,并通过第一明暗分界线来插值受光颜色和处理后的背光颜色,可以提升基础颜色的明暗效果。
145.s206,基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的目标基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色。
146.其中,该步骤与前述步骤s104类似,在此不再赘述。
147.本公开实施例中的渲染方法与图1中的渲染方法不同的是,还确定未考虑阴影的第二明暗分界线,并进一步通过第一明暗分界线以及述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,以使得目标对象在阴影下受光方向的暗部颜色没有变化,而在
阴影中的背光方向的暗部颜色被进一步压暗,进而可以获取到目标对象在阴影下的光照细节,进一步提升了卡通风格的渲染效果。
148.在一些可能的实施方式中,所述目标对象还接受其他光源的光照,也即,在目标场景中存在多光源的场景下,所述方法还包括以下:
149.采用所述其他光源的光照参数对所述基础颜色进行处理得到其他颜色,并将所述其他颜色与所述漫反射颜色混合,得到所述目标对象的最终漫反射颜色;然后基于所述最终漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
150.也即,在存在其他光源的情况下,漫反射颜色还可以进一步处理,具体代码如下:
151.color+=albedo color other light;
152.其中,albedo color为目标对象的基础颜色(或目标基础颜色),other light为其他光源的光照参数(包括颜色及强度),color最终为漫反射颜色。
153.本公开实施例中,在存在其他光源的情况下,可以先采用所述其他光源的光照参数对目标对象的基础颜色(或目标基础颜色)进行处理得到其他颜色,然后将其他颜色与原本由直接光和间接光得到的漫反射颜色进行混合,得到最终的漫反射颜色,进而使得目标对象的渲染效果呈现多光源的光照效果,进一步提升了卡通风格渲染的效果。
154.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
155.基于同一技术构思,本公开实施例中还提供了与卡通风格渲染方法对应的卡通风格渲染装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述卡通风格渲染方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
156.参照图5所示,为本公开实施例提供的一种卡通风格渲染装置500的示意图,所述装置包括:
157.获取模块501,用于获取目标对象模型的模型信息、光照参数信息以及阴影信息;所述光照信息包括直接光光照参数以及间接光光照参数;
158.确定模块502,用于基于所述模型信息、所述直接光光照参数信息以及所述阴影信息,确定第一明暗分界线;其中,所述阴影信息是指待渲染场景中的其他模型在所述目标对象模型上所产生的阴影信息;
159.处理模块503,用于基于所述第一明暗分界线以及所述间接光光照参数,对所述直接光光照参数进行处理,得到目标直接光光照参数;
160.渲染模块504,用于基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色,并基于漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
161.在一种可能的实施方式中,所述模型信息包括所述模型的模型表面法线信息,所述直接光光照参数包括直接光光照方向;所述确定模块502具体用于:
162.基于所述直接光照参数实时计算所述待渲染场景中至少一个所述其他模型在所述目标对象模型上产生的实时阴影信息;
163.基于预设的明暗交界线函数、所述模型表面法线信息、所述直接光光照方向以及所述实时阴影信息,确定所述第一明暗分界线。
164.在一种可能的实施方式中,所述直接光光照参数包括直接光光照强度以及直接光光照颜色,所述间接光光照参数包括间接光光照强度;所述处理模块503具体用于:
165.基于所述第一明暗分界线以及所述间接光光照强度,对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
166.在一种可能的实施方式中,所述间接光光照强度包括r通道间接光光照强度、g通道间接光光照强度以及b通道间接光光照强度;所述处理模块503具体用于:
167.将所述r通道间接光光照强度、所述g通道间接光光照强度以及所述b通道间接光光照强度中最大的光照强度作为目标间接光光照强度;
168.对所述第一明暗分界线以及所述目标间接光光照强度进行差值处理,得到差值处理结果,并基于所述差值处理结果对所述直接光光照参数中的直接光光照强度进行处理,得到所述目标直接光光照参数。
169.在一种可能的实施方式中,所述确定模块502还用于:
170.基于所述模型信息以及所述直接光光照参数信息,确定第二明暗分界线;
171.所述处理模块503还用于:
172.基于所述第一明暗分界线以及所述第二明暗分界线,对所述目标对象的基础颜色进行明暗处理,得到所述目标对象的目标基础颜色;
173.所述渲染模块504具体用于:
174.基于所述目标直接光光照参数、所述间接光光照参数对所述目标对象的目标基础颜色进行光照信息处理,得到所述目标对象的漫反射颜色。
175.在一种可能的实施方式中,所述处理模块503还具体用于:
176.确定所述目标对象的基础颜色中的背光颜色与受光颜色之间的色彩比例,所述色彩比例用于指示所述目标对象的基础颜色从受光面过渡到背光面的颜色变化程度;
177.基于所述色彩比例以及所述第二明暗分界线,对所述目标对象在所述阴影下的背光颜色进行处理,以使所述阴影下的背光颜色中的暗部颜色进一步变暗,得到处理后的背光颜色;
178.采用所述第一明暗分界线对所述处理后的背光颜色以及所述受光颜色进行差值处理,得到所述目标对象的目标基础颜色。
179.在一种可能的实施方式中,所述目标对象还接受其他光源的光照,所述处理模块503还用于:
180.采用所述其他光源的光照参数对所述基础颜色进行处理得到其他颜色,并将所述其他颜色与所述漫反射颜色混合,得到所述目标对象的最终漫反射颜色;
181.所述渲染模块504具体用于:
182.基于所述最终漫反射颜色对所述目标对象模型进行渲染,得到所述目标对象的漫反射渲染结果。
183.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
184.基于同一技术构思,本公开实施例还提供了一种电子设备。参照图6所示,为本公开实施例提供的电子设备600的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存
储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换。
185.本技术实施例中,存储器602具体用于存储执行本技术方案的应用程序代码,并由处理器601来控制执行。也即,当电子设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601执行存储器602中存储的应用程序代码,进而执行前述任一实施例中所述的方法。
186.其中,存储器602可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
187.处理器601可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
188.可以理解的是,本技术实施例示意的结构并不构成对电子设备600的具体限定。在本技术另一些实施例中,电子设备600可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
189.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的卡通风格渲染方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
190.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的卡通风格渲染方法的步骤,具体可参见上述方法实施例,在此不再赘述。
191.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
192.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
193.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
194.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
195.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
196.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1