一种绒毛渲染方法、装置、设备及介质与流程

未命名 07-14 阅读:111 评论:0
1.本技术涉及计算机处理技术,具体涉及一种绒毛渲染方法、装置、设备及介质。
背景技术
::2.绒毛在生活中出现的频率非常高,绒毛渲染越来越多的被应用到电影、游戏和动画制作当中。但由于绒发的复杂性,绒毛的渲染往往需要较大的计算量,影响工作效率。技术实现要素:3.有鉴于此,本技术实施例提供一种绒毛渲染方法、装置、设备及介质,以减少渲染的计算量,提高渲染效果。4.为实现上述目的,本技术实施例提供的技术方案如下:5.在本技术实施例第一方面,提供了一种绒毛渲染方法,该方法可以包括:6.针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;7.针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;8.根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。9.在本技术实施例第二方面,提供了一种绒毛渲染装置,所述装置包括:10.第一确定单元,用于针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;11.第二确定单元,用于针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;12.渲染单元,用于根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。13.在本技术实施例第三方面,提供了一种电子设备,所述设备包括:处理器和存储器;14.所述存储器,用于存储指令或计算机程序;15.所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备实现第一方面所述的绒毛渲染方法。16.在本技术实施例第四方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上第一方面所述的绒毛渲染方法。17.在本技术实施例第五方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行第一方面所述的绒毛渲染方法。18.由此可见,本技术实施例具有如下有益效果:19.本技术实施例提供的技术方案,在对绒毛的光照进行渲染时,针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点。对于当前绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,该光照渲染参数可以包括一个或多个光照渲染子项参数。其中,不同的光照渲染子项参数用于从不同的维度对绒毛的光照效果进行渲染。在确定各顶点对应的光照渲染参数后,利用顶点对应的光照渲染参数对绒毛渲染层进行绒毛渲染。也就是,在进行绒毛光照渲染时,以构成绒毛渲染层的顶点为渲染粒度进行绒毛渲染,不再以像素点为单位进行绒毛渲染,由于绒毛渲染层的顶点数量少于像素点,从而减少计算量,提高渲染效率。附图说明20.图1a为一种多通道绒毛渲染模型图;21.图1b为本技术实施例提供的一种绒毛渲染层示意图;22.图2为本技术实施例提供的一种绒毛渲染方法流程图;23.图3a为本技术实施例提供的一种绒毛自阴影渲染效果图;24.图3b为本技术实施例提供的一种噪点图;25.图3c为本技术实施例提供的一种绒毛自阴影渲染效果图;26.图3d为本技术实施例提供的一种绒毛环境光效果图;27.图4为本技术实施例提供的一种绒毛渲染装置示意图;28.图5为本技术实施例提供的一种电子设备意图。具体实施方式29.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术实施例作进一步详细的说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,并非对本技术的限定。另外,还需要说明的是,为便于描述,附图中仅示出了与本技术相关的部分,并非全部结构。30.随着多媒体技术的不断发展,在一些多媒体视频中常常会出现一些人物或动物等角色的仿真,该仿真过程不可避免地会出现绒毛的仿真。然而,由于传统的渲染技术是逐片源(每个像素点)确定绒毛的光照渲染参数,而绒毛渲染层包括大量的像素点,导致计算量大。31.基于此,本技术实施例提供了一种绒毛渲染方法,针对一绒毛渲染层,首先确定该绒毛渲染层所包括的顶点,并以顶点为单位确定该顶点对应的光照渲染参数,进而根据各顶点对应的光照渲染参数对绒毛渲染层进行光照渲染。32.需要说明的是,本技术实施例中绒毛仿真可以基于多通道(pass)绒毛渲染模型实现,即通过渲染模型多次沿特定方向挤出,并逐层降低透明度来到达模拟绒毛的效果。例如图1a所示,每一个pass代表一个绒毛渲染层,渲染每一层时将顶点沿法线移出。通常情况下,所使用的pass数量越多,渲染效果越好。每个绒毛渲染层包括多个顶点,如图1b所示,本技术以顶点为单位确定该顶点对应的光照渲染参数,不再以像素点为单位确定光照渲染参数,减少计算量。在实际渲染的过程中,将初始绒毛渲染层不断向外扩,从而得到不同的绒毛渲染层。33.为便于理解本技术实施例提供的技术方案,下面将结合附图进行说明。34.参见图2,该图为本技术实施例提供的一种绒毛渲染方法流程图,该方法可以由绒毛渲染装置执行,该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图2所示,该方法包括:35.s201:针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点。36.本实施例中,在进行绒毛渲染时,通常情况下从最底层开始逐层向上进行绒毛渲染,因此,在进行每层绒毛渲染时,可以针对其中至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点。由于每一绒毛渲染层是基于上一绒毛渲染层外扩的方式得到的,相对于渲染模型而来,不同绒毛渲染层顶点的坐标是不同的。基于此,在对绒毛渲染层进行渲染时,确定该绒毛渲染层所对应的顶点。具体地,可以确定渲染模型中的一个绒毛渲染层所对应的顶点,或者确定渲染模型中多个绒毛渲染层各自所对应的顶点。37.s202:针对绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数。38.在确定出绒毛渲染层所对应的顶点后,针对其中至少一个顶点,确定该顶点对应的光照渲染参数,该光照渲染参数可以包括一个或多个光照渲染子项参数,该一个或多个光照渲染子项参数用于渲染不同维度的光照效果。例如,光照渲染子项可以为环境光遮蔽参数(颜色值)、漫反射参数(颜色值)、环境光参数(颜色值)、各向异性高光参数(颜色值)、自阴影参数(颜色值)等。具体地,可以仅确定该绒毛渲染层中某一个顶点对应的光照渲染参数,或者确定该绒毛渲染层中多个顶点各自对应的光照渲染参数。39.其中,针对环境光遮蔽参数、漫反射参数、环境光参数以及自阴影参数的确定,本实施例提出了一种实现方案,下面将分别进行说明。40.响应于光照渲染子项参数包括环境光遮蔽参数,确定顶点与绒毛发根的距离;根据该距离确定影响环境光强度的第一参数;根据环境光参数、第一参数和第二参数确定环境光遮蔽参数。其中,第二参数用于提亮环境光。具体地,将环境光参数、第一参数和第二参数的乘积作为环境光参数。为便于理解,参见上述计算公式:41.aofactor=clamp(_furlevel*_furlevel+0.04,0.0,1.0);42.varao=mix(u_aocolor.rgb,vec3(1.0),aofactor);43.final_color=ibldiffuse*varao*u_iblexposure;44.其中,_furlevel表示当前绒毛渲染层的系数,越靠外的绒毛渲染层,其对应的系数越大;clamp为限制函数,用于限制_furlevel*_furlevel的计算结果,如果该计算结果大于1,则输出1;如果该计算结果小于0,则输出0;如果该计算结果位于0和1之间,则输出该计算结果;aofactor用于表示顶点与绒毛发根的距离。45.varao表示第一参数,其可以影响环境光的强度;u_aocolor.rgb表示用于设置的颜色值;vec3(1.0)表示白色;mix表示插值函数,当aofactor越大时,varao倾向于白色,否则varao越倾向于用户设定的颜色。46.final_color表示环境光遮蔽参数;ibldiffuse为环境光参数;u_iblexposure为第二参数,用于提亮环境光。参见图3a所示,左图为未渲染遮蔽效果的绒毛示意图,右图为渲染遮蔽效果的绒毛示意图。47.响应于光照渲染子项参数包括漫反射参数,获取法线方向和入射光方向;对法线方向和入射光方向进行点乘,获得第三参数;根据第三参数、绒毛渲染层的系数以及透光强度确定漫反射参数。其中,第三参数可以反映法线方向与入射光方向的夹角。48.其中,根据第三参数、绒毛渲染层的系数以及透光强度确定漫反射参数,可以包括:将绒毛渲染层的系数与透光强度相乘得到第四参数;将第三参数与第四参数相加获得第五参数;将第五参数作为限制函数的输入,将显示函数的输出确定为,漫反射参数。其中,限制函数用于将输入限制的预设数据范围内。为便于理解,参见如下计算公式:49.l=normalize(u_lightdirt);//对入射光进行归一化处理50.nol=dot(n,l)*0.5+0.5;51.vis=clamp(nol+_furlevel*u_lightfilter,0.0,1.0);52.其中,n表示法线方向向量量,l表示入射光方向向量,dot为点积函数,为避免背光面过暗,在点积的基础上加上一个较小的数0.5,nol为第三参数。_furlevel表示绒毛渲染层的系数、u_lightfilter表示透光强度、_furlevel*u_lightfilter表示第四参数、nol+_furlevel*u_lightfilter表示第五参数、vis表示漫反射参数。53.考虑到绒毛漫反射受光源强度的影响,基于此,还可以利用光源强度修正所得到的漫反射参数,具体为,将第五参数作为限制函数的输入,将限制函数的输出确定为初始漫反射参数;将初始漫反射参数与光源强度相乘确定为漫反射参数。例如,如下计算公式:54.vardiffuse+=vis*lightfactor;//lightfactor表示光源强度55.在绒毛漫反射的渲染子项里,仅考虑整个绒毛以及绒毛从根部到顶部的明暗关系。而绒毛本身是有体积的,对于背光部分,显然亮度是低于向光部分的。为体现背光部分的,本技术将噪点图做一个微小的偏移,使得偏移前后的两张噪点图存在重叠部分,将该重叠部分可以作为一个背光面,并确定该背光面的颜色值。具体地,将绒毛渲染层进行偏移,获得偏移后的绒毛渲染层;根据绒毛渲染层和偏移后的绒毛渲染层确定重叠部分;根据绒毛渲染层和偏移后的绒毛渲染层的差值确定重叠部分的自阴影参数。56.其中,在对绒毛渲染层进行偏移时,对应的偏移量可以通过以下方式确定:将入射光方向从模型空间转换到模型空间对应的法线空间,获得转换后入射光方向;将转换后的入射光方向作为偏移量对绒毛渲染层进行偏移,获得偏移后的绒毛渲染层。例如,图3b所示的偏移前的噪点图,该噪点图中的每个点对应一根绒毛,将该噪点图沿入射光方向进行偏移。57.具体可以参见如下计算公式:58.varlightuvoffset=(tbn*modellightdir).xy;59.singlefurdiffuse=step(0.0,t_mask.r-t_mask_lightoffset.r);60.其中,modellightdir表示模型空间中入射光方向;tbn表示转换矩阵;varlightuvoffset表示切线空间下的入射光方向;t_mask.r表示偏移前的噪点图;t_mask_lightoffset.r表示偏移后的噪点图;step函数的作用在于限制输出的数据大于等于0,当t_mask.r-t_mask_lightoffset.r的差值大于零时,将该差值确定为重叠部分的自阴影参数;当t_mask.r-t_mask_lightoffset.r的差值小于零时,将零确定为重叠部分的自阴影参数。61.参见图3c,左图为未进行自阴影渲染的绒毛效果示意图,右图为进行自阴影渲染的绒毛效果示意图。62.响应于光照渲染子项参数包括环境光参数,将漫反射参数与第六参数相加,再与环境光遮蔽参数相乘的结果确定为环境光参数。其中,第六参数为预先设定的颜色值,用户可以根据实际应用场景自行设定。63.考虑到绒毛边缘处的绒毛透光性相较于中间而言要强,因此边缘处的环境光要更亮,基于此,可以根据视角方向和法线方向的点乘结果确定顶点的位置;响应于顶点的位置位于边缘区域,增强顶点的环境光强度。例如图3d所示,边缘处的绒毛透光性较强。64.另外,还可以确定顶点的各向异性高光参数,基于该各向异性高光参数实现绒毛高光渲染。需要说明的是,在确定各向异性高光参数时,将法线方向替换为绒毛的朝向,从而保证计算的准确性。65.进一步地,在顶点存在各向异性高光参数时,将漫反射参数、各向异性高光参数以及第六参数相加,再与环境光遮蔽参数相乘的结果确定为环境光参数。66.s203:根据各顶点对应的光照渲染参数对绒毛渲染层进行绒毛渲染。67.在确定各顶点对应的光照渲染参数后,利用各顶点的光照渲染参数对绒毛渲染层进行光照渲染,从而获得更真实的绒毛。68.需要说明的是,对于任意两个顶点之间的绒毛渲染,可以通过对两个顶点各自对应的光照渲染参数进行插值的方式确定两个顶点之间某一像素点对应的光照渲染参数,从而实现对绒毛渲染层进行完整的渲染。69.可见,在对绒毛的光照进行渲染时,针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点。对于当前绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,该光照渲染参数可以包括一个或多个光照渲染子项参数。其中,不同的光照渲染子项参数用于从不同的维度对绒毛的光照效果进行渲染。在确定各顶点对应的光照渲染参数后,利用顶点对应的光照渲染参数对绒毛渲染层进行绒毛渲染。也就是,在进行绒毛光照渲染时,以构成绒毛渲染层的顶点为渲染粒度进行绒毛渲染,不再以像素点为单位进行绒毛渲染,由于绒毛渲染层的顶点数量少于像素点,从而减少计算量,提高渲染效率。70.基于上述方法实施例,本技术实施例提供了一种绒毛渲染装置以及电子设备,下面将结合附图进行说明。71.参见图4,该图为本技术实施例提供的一种绒毛渲染装置结构图,如图4所示,该装置400可以包括:第一确定单元401、第二确定单元402和渲染单元403。72.第一确定单元401,用于针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;73.第二确定单元402,用于针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;74.渲染单元403,用于根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。75.在一种可能的实现方式中,所述光照渲染子项参数包括环境光遮蔽参数、漫反射参数、环境光参数中的一种或多种参数。76.在一种可能的实现方式中,所述第二确定单元402,具体用于响应于所述光照渲染子项参数包括环境光遮蔽参数,确定所述顶点与绒毛发根的距离;根据所述距离确定影响环境光强度的第一参数;根据环境光参数、所述第一参数以及第二参数确定所述环境光遮蔽参数,所述第二参数用于提亮环境光。77.在一种可能的实现方式中,所述第二确定单元402,具体用于将所述环境光参数、所述第一参数和第二参数的乘积作为所述环境光遮蔽参数。78.在一种可能的实现方式中,所述第二确定单元402,具体用于响应于所述光照渲染子项参数包括漫反射参数,获取法线方向和入射光方向;对所述法线方向和所述入射光方向进行点乘,获得第三参数;根据所述第三参数、所述绒毛渲染层的系数以及透光强度确定所述漫反射参数。79.在一种可能的实现方式中,所述第二确定单元402,具体用于将所述绒毛渲染层的系数与所述透光强度相乘获得第四参数;将所述第三参数与所述第四参数相加获得第五参数;将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为所述漫反射参数,所述限制函数用于将输入限制在预设数值范围内。80.在一种可能的实现方式中,所述第二确定单元402,具体用于所述将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为初始漫反射参数;将所述初始漫反射参数与光源强度相乘确定为所述漫反射参数。81.在一种可能的实现方式中,所述第二确定单元402,还用于将所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层;根据所述绒毛渲染层和所述偏移后的绒毛渲染层确定重叠部分;根据所述绒毛渲染层和所述偏移后的绒毛渲染层的差值确定所述重叠部分的自阴影参数。82.在一种可能的实现方式中,所述第二确定单元402,具体用于将入射光方向从模型空间转换到模型空间对应的法线空间,获得转换后的入射光方向;将所述转换后的入射光方向作为偏移量对所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层。83.在一种可能的实现方式中,所述第二确定单元402,具体用于响应于所述光照渲染子项参数包括环境光参数,将所述漫反射参数与第六参数相加,再与所述环境光遮蔽参数相乘的结果确定为所述环境光参数,所述第六参数为预先设定的颜色值。84.在一种可能的实现方式中,所述装置还包括:增强单元;85.所述第二确定单元402,还用于根据视角方向和法线方向点乘结果确定所述顶点的位置;86.所述增强单元,用于响应于所述顶点的位置位于边缘区域,增强所述顶点的环境光强度。87.需要说明的是,本实施例中各个单元的实现可以参见上述方法实施例中的相关描述,本实施例在此不再赘述。88.参见图5,其示出了适于用来实现本技术实施例的电子设备500的结构示意图。本技术实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(personaldigitalassistant,个人数字助理)、pad(portableandroiddevice,平板电脑)、pmp(portablemediaplayer,便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv(television,电视机)、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。89.如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。90.通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。91.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本技术实施例的方法中限定的上述功能。92.本技术实施例提供的电子设备与上述实施例提供的绒毛渲染方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。93.本技术实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现上述任一实施例所述的绒毛渲染方法。94.需要说明的是,本技术上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:95.电线、光缆、rf(射频)等等,或者上述的任意合适的组合。96.在一些实施方式中,客户端、服务器可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。97.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。98.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述绒毛渲染方法。99.可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。100.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。101.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元/模块的名称在某种情况下并不构成对该单元本身的限定,例如,语音数据采集模块还可以被描述为“数据采集模块”。102.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。103.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。104.根据本技术的一个或多个实施例,提供了一种绒毛渲染方法,该方法包括:105.针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;106.针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;107.根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。108.根据本技术的一个或多个实施例,所述光照渲染子项参数包括环境光遮蔽参数、漫反射参数、环境光参数中的一种或多种参数。109.根据本技术的一个或多个实施例,所述确定该顶点对应的光照渲染参数,包括:110.响应于所述光照渲染子项参数包括环境光遮蔽参数,确定所述顶点与绒毛发根的距离;111.根据所述距离确定影响环境光强度的第一参数;112.根据环境光参数、所述第一参数以及第二参数确定所述环境光遮蔽参数,所述第二参数用于提亮环境光。113.根据本技术的一个或多个实施例,所述根据环境光参数、所述第一参数以及第二参数确定所述环境光遮蔽参数,包括:114.将所述环境光参数、所述第一参数和第二参数的乘积作为所述环境光遮蔽参数。115.根据本技术的一个或多个实施例,所述确定该顶点对应的光照渲染参数,包括:116.响应于所述光照渲染子项参数包括漫反射参数,获取法线方向和入射光方向;117.对所述法线方向和所述入射光方向进行点乘,获得第三参数;118.根据所述第三参数、所述绒毛渲染层的系数以及透光强度确定所述漫反射参数。119.根据本技术的一个或多个实施例,所述根据所述第三参数、所述绒毛渲染层的系数以及透光强度确定所述漫反射参数,包括:120.将所述绒毛渲染层的系数与所述透光强度相乘获得第四参数;121.将所述第三参数与所述第四参数相加获得第五参数;122.将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为所述漫反射参数,所述限制函数用于将输入限制在预设数值范围内。123.根据本技术的一个或多个实施例,所述将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为所述漫反射参数,包括:124.所述将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为初始漫反射参数;125.将所述初始漫反射参数与光源强度相乘确定为所述漫反射参数。126.根据本技术的一个或多个实施例,所述方法还包括:127.将所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层;128.根据所述绒毛渲染层和所述偏移后的绒毛渲染层确定重叠部分;129.根据所述绒毛渲染层和所述偏移后的绒毛渲染层的差值确定所述重叠部分的自阴影参数。130.根据本技术的一个或多个实施例,所述将所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层,包括:131.将入射光方向从模型空间转换到模型空间对应的法线空间,获得转换后的入射光方向;132.将所述转换后的入射光方向作为偏移量对所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层。133.根据本技术的一个或多个实施例,所述确定该顶点对应的光照渲染参数,包括:134.响应于所述光照渲染子项参数包括环境光参数,将所述漫反射参数与第六参数相加,再与所述环境光遮蔽参数相乘的结果确定为所述环境光参数,所述第六参数为预先设定的颜色值。135.根据本技术的一个或多个实施例,所述方法还包括:136.根据视角方向和法线方向点乘结果确定所述顶点的位置;137.响应于所述顶点的位置位于边缘区域,增强所述顶点的环境光强度。138.根据本技术的一个或多个实施例,提供了一种绒毛渲染装置,所述装置包括:139.第一确定单元,用于针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;140.第二确定单元,用于针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;141.渲染单元,用于根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。142.根据本技术的一个或多个实施例,所述光照渲染子项参数包括环境光遮蔽参数、漫反射参数、环境光参数中的一种或多种参数。143.根据本技术的一个或多个实施例,所述第二确定单元,具体用于响应于所述光照渲染子项参数包括环境光遮蔽参数,确定所述顶点与绒毛发根的距离;根据所述距离确定影响环境光强度的第一参数;根据环境光参数、所述第一参数以及第二参数确定所述环境光遮蔽参数,所述第二参数用于提亮环境光。144.根据本技术的一个或多个实施例,所述第二确定单元,具体用于将所述环境光参数、所述第一参数和第二参数的乘积作为所述环境光遮蔽参数。145.根据本技术的一个或多个实施例,所述第二确定单元,具体用于响应于所述光照渲染子项参数包括漫反射参数,获取法线方向和入射光方向;对所述法线方向和所述入射光方向进行点乘,获得第三参数;根据所述第三参数、所述绒毛渲染层的系数以及透光强度确定所述漫反射参数。146.根据本技术的一个或多个实施例,所述第二确定单元,具体用于将所述绒毛渲染层的系数与所述透光强度相乘获得第四参数;将所述第三参数与所述第四参数相加获得第五参数;将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为所述漫反射参数,所述限制函数用于将输入限制在预设数值范围内。147.根据本技术的一个或多个实施例,所述第二确定单元,具体用于所述将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为初始漫反射参数;将所述初始漫反射参数与光源强度相乘确定为所述漫反射参数。148.根据本技术的一个或多个实施例,所述第二确定单元,还用于将所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层;根据所述绒毛渲染层和所述偏移后的绒毛渲染层确定重叠部分;根据所述绒毛渲染层和所述偏移后的绒毛渲染层的差值确定所述重叠部分的自阴影参数。149.根据本技术的一个或多个实施例,所述第二确定单元,具体用于将入射光方向从模型空间转换到模型空间对应的法线空间,获得转换后的入射光方向;将所述转换后的入射光方向作为偏移量对所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层。150.根据本技术的一个或多个实施例,所述第二确定单元,具体用于响应于所述光照渲染子项参数包括环境光参数,将所述漫反射参数与第六参数相加,再与所述环境光遮蔽参数相乘的结果确定为所述环境光参数,所述第六参数为预先设定的颜色值。151.根据本技术的一个或多个实施例,所述装置还包括:增强单元;152.所述第二确定单元,还用于根据视角方向和法线方向点乘结果确定所述顶点的位置;153.所述增强单元,用于响应于所述顶点的位置位于边缘区域,增强所述顶点的环境光强度。154.根据本技术的一个或多个实施例,一种电子设备,所述设备包括:处理器和存储器;155.所述存储器,用于存储指令或计算机程序;156.所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行所述的绒毛渲染方法。157.根据本技术的一个或多个实施例,一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上所述的绒毛渲染方法。158.需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。159.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。160.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。161.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
:内所公知的任意其它形式的存储介质中。162.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
技术特征:
1.一种绒毛渲染方法,其特征在于,所述方法包括:针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。2.根据权利要求1所述的方法,其特征在于,所述光照渲染子项参数包括环境光遮蔽参数、漫反射参数、环境光参数中的一种或多种参数。3.根据权利要求2所述的方法,其特征在于,所述确定该顶点对应的光照渲染参数,包括:响应于所述光照渲染子项参数包括环境光遮蔽参数,确定所述顶点与绒毛发根的距离;根据所述距离确定影响环境光强度的第一参数;根据环境光参数、所述第一参数以及第二参数确定所述环境光遮蔽参数,所述第二参数用于提亮环境光。4.根据权利要求3所述的方法,其特征在于,所述根据环境光参数、所述第一参数以及第二参数确定所述环境光遮蔽参数,包括:将所述环境光参数、所述第一参数和第二参数的乘积作为所述环境光遮蔽参数。5.根据权利要求2所述的方法,其特征在于,所述确定该顶点对应的光照渲染参数,包括:响应于所述光照渲染子项参数包括漫反射参数,获取法线方向和入射光方向;对所述法线方向和所述入射光方向进行点乘,获得第三参数;根据所述第三参数、所述绒毛渲染层的系数以及透光强度确定所述漫反射参数。6.根据权利要求5所述的方法,其特征在于,所述根据所述第三参数、所述绒毛渲染层的系数以及透光强度确定所述漫反射参数,包括:将所述绒毛渲染层的系数与所述透光强度相乘获得第四参数;将所述第三参数与所述第四参数相加获得第五参数;将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为所述漫反射参数,所述限制函数用于将输入限制在预设数值范围内。7.根据权利要求6所述的方法,其特征在于,所述将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为所述漫反射参数,包括:所述将所述第五参数作为限制函数的输入,将所述限制函数的输出确定为初始漫反射参数;将所述初始漫反射参数与光源强度相乘确定为所述漫反射参数。8.根据权利要求5所述的方法,其特征在于,所述方法还包括:将所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层;根据所述绒毛渲染层和所述偏移后的绒毛渲染层确定重叠部分;根据所述绒毛渲染层和所述偏移后的绒毛渲染层的差值确定所述重叠部分的自阴影参数。
9.根据权利要求8所述的方法,其特征在于,所述将所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层,包括:将入射光方向从模型空间转换到模型空间对应的法线空间,获得转换后的入射光方向;将所述转换后的入射光方向作为偏移量对所述绒毛渲染层进行偏移,获得偏移后的绒毛渲染层。10.根据权利要求2-9任一项所述的方法,其特征在于,所述确定该顶点对应的光照渲染参数,包括:响应于所述光照渲染子项参数包括环境光参数,将所述漫反射参数与第六参数相加,再与所述环境光遮蔽参数相乘的结果确定为所述环境光参数,所述第六参数为预先设定的颜色值。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:根据视角方向和法线方向点乘结果确定所述顶点的位置;响应于所述顶点的位置位于边缘区域,增强所述顶点的环境光强度。12.一种绒毛渲染装置,其特征在于,所述装置包括:第一确定单元,用于针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点;第二确定单元,用于针对所述绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,所述光照渲染参数包括一个或多个光照渲染子项参数,所述一个或多个光照渲染子项参数用于渲染不同维度的光照效果;渲染单元,用于根据各顶点对应的光照渲染参数对所述绒毛渲染层进行绒毛渲染。13.一种电子设备,其特征在于,所述设备包括:处理器和存储器;所述存储器,用于存储指令或计算机程序;所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行权利要求1-11任一项所述的绒毛渲染方法。14.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行以上权利要求1-11任一项所述的绒毛渲染方法。

技术总结
本申请实施例公开了一种绒毛渲染方法,在对绒毛的光照进行渲染时,针对至少一个绒毛渲染层,确定该绒毛渲染层所对应的顶点。对于当前绒毛渲染层中的至少一个顶点,确定该顶点对应的光照渲染参数,该光照渲染参数可以包括一个或多个光照渲染子项参数。其中,不同的光照渲染子项参数用于从不同的维度对绒毛的光照效果进行渲染。在确定各顶点对应的光照渲染参数后,利用顶点对应的光照渲染参数对绒毛渲染层进行绒毛渲染。也就是,在进行绒毛光照渲染时,以构成绒毛渲染层的顶点为渲染粒度进行绒毛渲染,不再以像素点为单位进行绒毛渲染,由于绒毛渲染层的顶点数量少于像素点,从而减少计算量,提高渲染效率。提高渲染效率。提高渲染效率。


技术研发人员:林伟锋 郭燚
受保护的技术使用者:北京字跳网络技术有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐