CN116030179B - 一种数据处理方法、装置、计算机设备及存储介质 - Google Patents
一种数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116030179B CN116030179B CN202310321006.8A CN202310321006A CN116030179B CN 116030179 B CN116030179 B CN 116030179B CN 202310321006 A CN202310321006 A CN 202310321006A CN 116030179 B CN116030179 B CN 116030179B
- Authority
- CN
- China
- Prior art keywords
- rendering
- sample
- map
- scattering
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Image Generation (AREA)
Abstract
本申请实施例公开了一种数据处理方法、装置、计算机设备及存储介质,包括:获取渲染规则;渲染规则包括第一渲染规则和第二渲染规则;获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据;通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值;基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到业务渲染参数;业务渲染参数用于对第一贴图的媒质散射效果进行渲染;第一贴图的业务环境配置为样本环境配置。采用本申请实施例,可以同时兼顾渲染效果以及渲染效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
传统散射实时渲染系统在对大气散射进行模拟时,主要包括两种现象,即天空效果和空气透视效果。其中,天空效果是指白天天空呈蓝色,傍晚天边呈红色,该效果通常借助天空球实现;而空气透视效果是指大气散射现象对远处物体造成的雾效(又称大气雾)。
对于空气透视效果这一现象而言,传统散射模拟方法可以采用一种基于物理公式简化而来的渲染规则(例如,Hoffman02算法)对其进行模拟。但是由于该渲染规则简化了物理算法,以至于存在参数难调的问题,因此要想达到目标效果,往往需要通过人工不断尝试该渲染规则中的渲染参数,并对该渲染参数进行精细的微调,这对美术创作而言是非常耗时且困难的,即传统散射模拟方法需要花费大量的人力成本和时间成本,进而导致难以同时兼顾渲染效率和渲染效果。
发明内容
本申请实施例提供一种数据处理方法、装置、计算机设备及存储介质,可以同时兼顾渲染效率和渲染效果。
本申请实施例一方面提供一种数据处理方法,包括:
获取渲染规则;渲染规则包括第一渲染规则和第二渲染规则;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据;
通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值;
基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数;业务渲染参数用于对第一贴图的媒质散射效果进行渲染;第一贴图的业务环境配置为样本环境配置。
本申请实施例一方面提供一种数据处理方法,包括:
在对第一贴图进行散射模拟渲染时,获取针对第一贴图的业务环境配置;
若业务环境配置为样本环境配置,则获取与样本环境配置相匹配的业务渲染参数;业务渲染参数是基于样本贴图在样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;样本贴图的实际渲染值是基于样本贴图的样本体纹理所确定的;样本贴图的样本体纹理是由第一渲染规则生成的;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
基于业务渲染参数以及第二渲染规则,对第一贴图的媒质散射效果进行渲染,得到第二贴图。
本申请实施例一方面提供一种数据处理装置,包括:
规则获取模块,用于获取渲染规则;渲染规则包括第一渲染规则和第二渲染规则;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
样本参考模块,用于获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据;
样本预测模块,用于通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值;
训练模块,用于基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数;业务渲染参数用于对第一贴图的媒质散射效果进行渲染;第一贴图的业务环境配置为样本环境配置。
其中,该样本参考模块包括:
属性获取单元,用于获取针对样本贴图的参考属性;
体纹理获取单元,用于基于参考属性所包括的虚拟光源高度角以及样本贴图,获取由第一渲染规则所生成的与虚拟光源高度角相匹配的样本体纹理;
切片单元,用于获取包括N个初始深度数据的预设深度数据集合,基于N个初始深度数据以及样本体纹理,得到样本体纹理在虚拟光源高度角下的切片数据;切片数据包括N个样本子图;N为正整数;
参考图像确定单元,用于从N个样本子图中确定样本贴图在虚拟光源高度角下的参考图像;
参考数据确定单元,用于将参考图像的渲染值作为样本贴图在样本环境配置下的实际渲染值,将参考图像的初始深度数据作为参考深度数据。
其中,虚拟光源高度角包括太阳高度角;样本体纹理包括第一样本体纹理和第二样本体纹理;第一样本体纹理是指在样本环境配置下用于模拟白天的体纹理;第二样本体纹理是指在样本环境配置下用于模拟日落的体纹理;
该属性获取单元包括:
界面显示子单元,用于显示针对业务引擎中的大气渲染组件的业务配置界面;业务配置界面包括针对太阳高度角的配置控件;
角度获取子单元,用于响应针对配置控件的属性添加操作,获取用于导出第一样本体纹理的第一高度角,以及用于导出第二样本体纹理的第二高度角;第一高度角大于第二高度角;
属性确定子单元,用于将第一高度角与第二高度角均作为针对样本贴图的参考属性。
其中,该参考图像确定单元包括:
遍历子单元,用于遍历N个样本子图,将遍历到的样本子图确定为待处理子图;
光栅化子单元,用于对待处理子图的纹理网格进行光栅化,得到待处理子图中的每个像素点对应的坐标位置;
叠加处理子单元,用于基于每个像素点对应的坐标位置,对每个像素点的像素值进行叠加处理,得到待处理子图对应的总像素值,直到遍历结束,得到N个总像素值;
参考图像确定子单元,用于从N个样本子图中,选择具有最大总像素值的样本子图作为样本贴图在虚拟光源高度角下的参考图像。
其中,初始渲染参数包括第一散射参数、第二散射参数以及亮度参数;第一散射参数与第二散射参数分别对应不同的散射方式;亮度参数用于指示虚拟光源亮度;样本体纹理是由第一渲染规则所生成的与虚拟光源高度角相匹配的体纹理;
该样本预测模块包括:
初始值获取单元,用于获取样本贴图的初始渲染值;
透过率确定单元,用于基于第一散射参数的初始散射系数、第二散射参数的初始散射系数以及参考深度数据,确定样本贴图对应的透过率;
内散射参数确定单元,用于基于第一散射参数的初始散射系数、第二散射参数的初始散射系数、亮度参数以及参考深度数据,确定样本贴图在虚拟光源高度角下的内散射参数;
预测值确定单元,用于基于初始渲染值、透过率以及内散射参数,确定样本贴图在样本环境配置下的预测渲染值。
其中,虚拟光源高度角是指虚拟光源发出的方向光对应的高度角;
该内散射参数确定单元包括:
第一确定子单元,用于确定虚拟光源发出的方向光与当前视线的夹角,基于第一散射参数的初始散射系数以及夹角,确定第一散射参数的更新散射系数;
第二确定子单元,用于基于第二散射参数的初始散射系数以及夹角,确定第二散射参数的更新散射系数;
第三确定子单元,用于基于第一散射参数的初始散射系数、第一散射参数的更新散射系数、第二散射参数的初始散射系数、第二散射参数的更新散射系数、亮度参数以及参考深度数据,确定样本贴图在虚拟光源高度角下的内散射参数。
其中,该训练模块包括:
总损失确定单元,用于基于预测渲染值以及实际渲染值,确定样本贴图对应的渲染总损失;
训练单元,用于基于渲染总损失,对初始渲染参数进行迭代训练,得到参数训练结果;
业务渲染参数确定单元,用于若参数训练结果指示迭代训练后的初始渲染参数满足训练截止条件,则将满足训练截止条件的初始渲染参数确定为与样本环境配置相匹配的业务渲染参数。
其中,样本贴图包括M个像素点;M为正整数;M个像素点包括像素点Xi;i为小于或者等于M的正整数;
该总损失确定单元包括:
渲染值确定子单元,用于从预测渲染值中获取像素点Xi的预测渲染值Yi,从实际渲染值中获取像素点Xi的实际渲染值yi;
损失确定子单元,用于将预测渲染值Yi以及实际渲染值yi之间的渲染差值作为像素点Xi的渲染损失,直到得到M个像素点分别对应的渲染损失;
总损失确定子单元,用于基于M个渲染损失,确定样本贴图对应的渲染总损失。
其中,业务渲染参数为样本环境配置下的目标虚拟光源高度角对应的渲染参数;目标虚拟光源高度角属于Z个虚拟光源高度角;Z为大于1的正整数;Z个虚拟光源高度角是响应属性添加操作时所获取的;属性添加操作为针对参考属性的配置控件所执行的触发操作;
该装置还包括:
渲染参数获取模块,用于获取Z个虚拟光源高度角中的每个虚拟光源高度角分别对应的渲染参数;每个渲染参数中均包括第一散射参数、第二散射参数以及亮度参数;
第一拟合模块,用于从Z个渲染参数中分别确定与第一散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与第一散射参数相关联的第一渲染分布图;
第二拟合模块,用于从Z个渲染参数中分别确定与第二散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与第二散射参数相关联的第二渲染分布图;
第三拟合模块,用于从Z个渲染参数中分别确定与亮度参数相关联的Z个虚拟光源亮度,在虚拟光源高度角的角度区间内,对确定的Z个虚拟光源亮度进行拟合,得到与亮度参数相关联的第三渲染分布图;
分布图确定模块,用于将第一渲染分布图、第二渲染分布图以及第三渲染分布图确定为与样本环境配置相匹配的业务渲染分布图。
本申请实施例一方面提供一种数据处理装置,包括:
配置获取模块,用于在对第一贴图进行散射模拟渲染时,获取针对第一贴图的业务环境配置;
业务参数获取模块,用于若业务环境配置为样本环境配置,则获取与样本环境配置相匹配的业务渲染参数;业务渲染参数是基于样本贴图在样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;样本贴图的实际渲染值是基于样本贴图的样本体纹理所确定的;样本贴图的样本体纹理是由第一渲染规则生成的;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
渲染模块,用于基于业务渲染参数以及第二渲染规则,对第一贴图的媒质散射效果进行渲染,得到第二贴图。
其中,样本环境配置存储至数据库中;
该业务参数获取模块包括:
查找单元,用于若业务环境配置为样本环境配置,则基于样本环境配置的关联关系,在数据库中查找与样本环境配置相匹配的业务渲染分布图;业务渲染分布图包括与第一散射参数相关联的第一渲染分布图、与第二散射参数相关联的第二渲染分布图以及与亮度参数相关联的第三渲染分布图;
角度确定单元,用于确定第一贴图对应的待渲染角度;
待处理参数确定单元,用于在第一渲染分布图中,将待渲染角度对应的散射系数确定为第一待处理系数,在第二渲染分布图中,将待渲染角度对应的散射系数确定为第二待处理系数,在第三渲染分布图中,将待渲染角度对应的虚拟光源亮度确定为待处理亮度;
业务参数获取单元,用于将第一待处理系数、第二待处理系数以及待处理亮度确定为与样本环境配置相匹配的业务渲染参数。
其中,该装置还包括:
样本更新模块,用于若数据库中不存在与业务环境配置相匹配的样本环境配置,则将业务环境配置作为更新样本配置,将第一贴图作为更新样本配置下的更新样本贴图;
参考更新模块,用于获取由第一渲染规则生成的更新样本贴图的样本体纹理,基于更新样本贴图的样本体纹理,分别确定更新样本贴图在更新样本配置下的实际渲染值以及更新样本贴图的参考深度数据;
预测更新模块,用于通过第二渲染规则中的初始渲染参数以及更新样本贴图的参考深度数据,确定更新样本贴图在更新样本配置下的预测渲染值;
训练更新模块,用于基于更新样本贴图在更新样本配置下的实际渲染值以及更新样本贴图在更新样本配置下的预测渲染值,对初始渲染参数进行训练,得到与更新样本配置相匹配的更新渲染参数;
存储更新模块,用于基于更新渲染参数,将更新样本配置存储至数据库。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,具有渲染功能的计算机设备在对媒质散射效果进行模拟渲染时,需要获取渲染规则,这里的渲染规则可以包括用于对包含媒质的虚拟场景进行渲染的第一渲染规则(即新物理算法)以及用于对媒质散射效果进行渲染的第二渲染规则(即旧简化算法)。这时,该计算机设备在获取到样本贴图时,无需消耗大量的时间,对第二渲染规则中的初始渲染参数进行人工调整,而是可以直接通过第一渲染规则获取样本贴图的体纹理(即样本体纹理),进而可以基于该样本体纹理,分别确定该样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据。然后,该计算机设备可以通过第二渲染规则中的初始渲染参数(即训练前的渲染参数)以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值。最后,该计算机设备可以基于预测渲染值和实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数(即训练完成的渲染参数)。其中,这里的业务渲染参数可以用于对第一贴图的媒质散射效果进行渲染,且第一贴图的业务环境配置为样本环境配置。由此可见,本申请实施例无需人工对第二渲染规则中的初始渲染参数进行调整,而是可以直接通过获取第一渲染规则这一新的物理算法的中间数据(即样本体纹理),来推导第二渲染规则中难调的渲染参数。这意味着本申请实施例在对媒质散射效果进行渲染时,并非直接采用第二渲染规则,而是通过将第一渲染规则和第二渲染规则进行结合,更加快速且准确的得到业务渲染参数,这样后续在对第一贴图的媒质散射效果进行渲染时,不仅可以确保渲染效果,还能提升渲染效率,即本申请实施例所采用的散射模拟方法可以同时兼顾渲染效果和渲染效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种对渲染参数进行训练的框架示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图一;
图4是本申请实施例提供的一种训练参数的流程示意图;
图5是本申请实施例提供的一种数据处理方法的流程示意图二;
图6是本申请实施例提供的一种对媒质散射效果进行渲染的场景示意图;
图7是本申请实施例提供的一种数据处理装置的结构示意图一;
图8是本申请实施例提供的一种数据处理装置的结构示意图二;
图9是本申请实施例提供的一种计算机设备的示意图;
图10是本申请实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
光的散射是指光束通过不均匀媒质时,部分光束将偏离原来方向而分散传播,从侧向也可以看到光的现象。其中,光线通过有尘土的空气或胶质溶液等媒质时,太阳辐射通过大气时遇到空气分子、尘粒、云滴等质点时,均可以发生散射。比如,一束光通过稀释后的牛奶后为白色,而从侧面和上面看,却是浅蓝色的。
其中,这里的媒质可以包括气体类媒质(例如,空气等),也可以包括液体类媒质(例如,水、牛奶、油等),还可以包括固体类媒质(例如,玻璃等),这里将不对其进行限定。可以理解的是,若媒质为空气,则第一渲染规则所渲染的包含媒质的虚拟场景可以为天空效果,而第二渲染规则所渲染的媒质散射效果可以为空气透视效果。其中,天空效果可以为白天天空呈蓝色,傍晚天边呈红色的效果。空气透视效果可以是指大气散射现象对远处物体造成的雾效。
所谓大气散射,是指光通过大气中的气体分子、气溶胶粒子等物质时发生的散射现象,也是地球上白天天空呈蓝色、傍晚天边呈红色的主要原因。在图形学中,一个大气散射系统一般包含了对瑞利散射、米氏散射、空气对光能量的吸收(例如,臭氧吸收)这三种物理现象的模拟。
可以理解的是,本申请实施例可以通过散射系数来表示对不同颜色(不同波长)的光的强度的散射比例,又因散射是朝向四面八方的,因此可以用相函数(Phase function)来表示光线向不同角度散射的比例。
物理现象一:瑞利散射,该散射是由空气分子造成的散射,其各方向上的散射光的强度是不一样的,该强度与入射光的波长四次方成反比,所以瑞利散射是白天大气呈现蓝色,傍晚天边呈现橙红色的根本原因。具体地,与瑞利散射相关联的具体公式可以参见下述公式(1)-(2):
其中,可以用于表示瑞利散射的散射系数,表示光在一次碰撞后损失与散射的比例;h用于表示某一像素点的高度;λ用于表示入射光的波长;n用于表示空气的折射率;N用于表示标准大气的分子数密度,即每立方米的分子数;HR可以用于表示与海拔高度有关的参数。
可以理解的是,在模拟瑞利散射时,本申请实施例中的散射系数可以指示公式(1)中的这一部分的计算结果,常常用βR(即第一散射参数)来表示。可以理解的是,此参数常常由前述公式根据波长对应的RGB值,加上大气测量学得到的参考数据计算出来,有时候也将该参数暴露给业务对象(例如,用户),使其手动调整最终结果,用来模拟各种环境配置(例如,火星或地球等行星)的大气效果。
其中,PR(μ)可以用于表示瑞利散射的相函数,用来控制散射几何体,它表示在特定方向损失的光的相对比率。3/16π这一系数用作归一化因子,因此单位球面上的积分为1;μ=cosθ,意为θ的余弦值;θ可以用于表示方向光与当前视线的夹角。
物理现象二:米氏(Mie)散射,该散射是由空气中椭球形粒子,如气溶胶粒子、水滴粒子等造成的散射,米氏散射表现出比较强的各向异性,即通过该类粒子的光,有相当一部分朝着与原本光传播的方向呈钝角的方向,甚至光传播方向的反方向进行散射,因此,米氏散射是白天太阳周围有一圈发白的光晕的主要成因。具体地,与米氏散射相关联的具体公式可以参见下述公式(3)-(4):
其中,PM(μ)可以用于表示米氏散射常用的相函数(CornetteShanks phasefunction);g可以用于控制米氏散射各向异性的参数。当然,本申请实施例也可以采用其他相函数(例如,Heyney Greenstein Phase function),来模拟米氏散射现象。
物理现象三:空气对光能量的吸收,吸收主要存在于臭氧现象中,但由于影响较小,本申请实施例暂且忽略此物理现象的模拟效果。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器10F和终端设备集群。该终端设备集群可以包括一个或者多个终端设备。如图1所示,该终端设备集群具体可以包括终端设备100a、终端设备100b、终端设备100c、…、终端设备100n。如图1所示,终端设备100a、终端设备100b、终端设备100c、…、终端设备100n可以分别与上述服务器10F进行网络连接,以便于每个终端设备可以通过该网络连接与服务器10F进行数据交互。其中,这里的网络连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
其中,该终端设备集群中的每个终端设备均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等具有数据处理功能的智能终端。应当理解,如图1所示的终端设备集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述图1所示的服务器10F之间进行数据交互。其中,该应用客户端可以包括社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、信息流客户端、教育客户端、直播客户端等应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
如图1所示,本申请实施例中的服务器10F可以为该应用客户端对应的服务器。该服务器10F可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。其中,本申请实施例将不对终端设备和服务器的数量进行限制。
为便于理解,本申请实施例可以在图1所示的多个终端设备中选择一个终端设备作为目标终端设备。例如,本申请实施例可以将图1所示的终端设备100a作为目标终端设备,该目标终端设备中可以集成有应用客户端。此时,该目标终端设备可以通过该应用客户端对应的业务数据平台与服务器10F之间实现数据交互。其中,这里的应用客户端中的业务引擎(例如,游戏引擎、物理仿真引擎等)中可以部署有用于进行散射模拟渲染的组件(即大气渲染组件)。比如,游戏引擎(例如,UE4引擎)所部署的大气渲染组件可以为SkyAtmosphere组件(又称SkyAtmosphere模块)。该大气渲染组件可以用于训练与样本环境配置相匹配的渲染参数。
其中,这里的样本环境配置可以为业务对象(例如,用户)根据实际模拟环境所配置的,这里的配置可以包括与星球相关联的第一配置,也可以包括与某一星球的位置信息相关联的第二配置,还可以包括其他类型的配置,这里将不对其进行限定。比如,该业务对象可以从第一配置对应的配置选项(例如,地球、火星、月亮、自定义星球等)中选择某一星球(例如,火星)作为第一配置,以使计算机设备后续模拟某一贴图在火星上的渲染效果。可选的,该业务对象在针对第一配置进行选择后,还可以在第一配置的基础上再次针对第二配置进行选择。比如,在选择第一配置为地球后,该业务对象还可以在第一配置的基础上,再次从第二配置对应的配置选项(例如,赤道、北极、自定义经纬度坐标等)中选择某一位置信息(例如,赤道)作为第二配置,以使计算机设备后续模拟某一贴图在地球的赤道上的渲染效果。换言之,本申请实施例可以调节各种散射系统以达成对各种星球的渲染效果的模拟,也可以自定义各种渲染效果,这里将不再对其进行一一举例。
应当理解,本申请实施例所涉及的散射模拟方法可以由具有渲染功能的计算机设备执行,该计算机设备可以为图1所示的服务器10F,也可以上述图1所示的终端设备集群中的任意一个终端设备,例如,终端设备100a,这里将不对其进行限定。
在参数训练过程中,该计算机设备可以获取渲染规则,这里的渲染规则不仅可以包括用于对包含媒质的虚拟场景进行渲染的第一渲染规则(例如,Hillaire20算法),还可以包括用于对媒质散射效果进行渲染的第二渲染规则(例如,Hoffman02算法)。为了减少人力成本和时间成本,该计算机设备可以获取通过第一渲染规则所得到的中间数据(即样本贴图的样本体纹理,例如,3D Volume纹理),进而可以基于该样本体纹理,分别确定该样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据。其中,这里的实际渲染值以及样本贴图的参考深度数据均是根据样本贴图在样本环境配置下的参考图像所确定的,该实际渲染值是指参考图像的渲染值;该参考深度数据是指该参考图像的初始深度数据,即用于表示当前观察点(例如,游戏场景中的虚拟人物所处位置)到参考图像的目标点(例如,某个待渲染的像素点对应的坐标位置)的距离。
然后,该计算机设备可以通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值,进而可以基于该预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数。其中,这里的业务渲染参数用于对第一贴图的媒质散射效果进行渲染,且该第一贴图的环境配置(即业务环境配置)为样本环境配置。
其中,本申请实施例所涉及的散射模拟方法可以应用在多个场景。比如,在游戏场景中,该计算机设备获取到的样本贴图可以为游戏贴图(例如,某竞技游戏中的野外射击场景对应的贴图),这时,该计算机设备可以通过结合第一渲染规则和第二渲染规则,对第二渲染规则中的初始渲染参数进行训练,以快速且准确的得到业务渲染参数,进而在后续应用该业务渲染参数时,能够更加准确的展示游戏渲染效果,以提升用户的游戏体验。
又比如,在虚拟现实场景(即VR场景)中,该计算机设备获取到的样本贴图可以为虚拟贴图(例如,某虚拟世界中的森林场景对应的贴图),这时,该计算机设备可以通过结合第一渲染规则和第二渲染规则,对第二渲染规则中的初始渲染参数进行训练,以快速且准确的得到业务渲染参数,进而在后续应用该业务渲染参数时,从而可以更加实时准确的模拟空气透视效果,使处于虚拟世界中的用户产生一种身临其境的感觉,提升趣味性。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种对渲染参数进行训练的框架示意图。如图2所示,本申请实施例中的计算机设备可以为具备渲染功能的计算机设备,该计算机设备可以为上述图1所示的终端设备集群中的任意一个终端设备,例如,终端设备100a,该计算机设备也可以为上述图1所示的服务器10F,这里将不对计算机设备进行限定。其中,本申请实施例中的媒质可以以空气为例,这意味着包含媒质的虚拟场景可以为天空效果,媒质散射效果可以为空气透视效果。
应当理解,由于用于对空气透视效果进行渲染的渲染规则(即第二渲染规则)存在参数难调的问题,因此,该计算机设备在参数训练过程中,需要获取用于对第二渲染规则的初始渲染参数进行训练的贴图(即样本贴图),例如,图2所示的贴图20P。该贴图20P可以为未进行散射模拟渲染的原始贴图,也可以为已经对原始贴图的天空效果进行模拟渲染后所得到的贴图,这里将不对其进行限定。
其中,本申请实施例中渲染规则不仅可以包括用于对天空效果进行渲染的第一渲染规则(即新物理算法),还可以包括用于对空气透视效果进行渲染的第二渲染规则(即旧简化算法),即本申请实施例能够结合旧简化算法和新物理算法,快速且准确的对空气透视效果进行实时渲染。
可以理解的是,该计算机设备可以通过第一渲染规则,获取贴图20P在样本环境配置(例如,地球)下的多个样本体纹理。其中,一个样本体纹理可以为该计算机设备针对贴图20P所获取的与一个虚拟光源高度角(即虚拟光源发出的光线所对应的高度角φ)相匹配的体纹理。该虚拟光源高度角的角度区间可以由第一角度阈值和第二角度阈值所构成,其中,第一角度阈值和第二角度阈值均可以为根据实际需求进行动态调整,这里将不对其进行限定。其中,这里的虚拟光源可以为能够发射出光线的光源,例如,手电筒、太阳等光源。
在虚拟光源为太阳时,这里的虚拟光源高度角可以为太阳高度角,即太阳光线与地平线的夹角。比如,这里的第一角度阈值可以为-10度,这里的第二角度阈值可以为90度。在本申请实施例中,若太阳高度角为负数,则与该太阳高度角相匹配的样本体纹理为用于模拟太阳沉到地平线以下的体纹理;若太阳高度角为0度,则与该太阳高度角相匹配的样本体纹理为用于模拟日落的体纹理;若太阳高度角为正数,则与该太阳高度角相匹配的样本体纹理为用于模拟白天的体纹理;若太阳高度角为90度,则与该太阳高度角相匹配的样本体纹理为用于模拟正午的体纹理。
为便于阐述,本申请实施例的样本体纹理的数量可以以2个为例,具体可以包括用于模拟白天的体纹理T1以及用于模拟日落的体纹理T2。其中,该体纹理T1对应的虚拟光源高度角(例如,高度角φ1)可以为10度,该体纹理T2对应的虚拟光源高度角(例如,高度角φ2)可以为0度。
比如,对于体纹理T1而言,该计算机设备可以确定贴图20P在体纹理T1对应的高度角φ1下的参考图像(例如,图2所示的参考图像H1),进而可以基于该参考图像H1,分别确定贴图20P在样本环境配置的高度角φ1下的实际渲染值和参考深度数据。其中,这里的参考深度数据用于表示当前观察点(例如,游戏场景中的虚拟人物所处位置)到参考图像H1的目标点(例如,某个待渲染的像素点对应的坐标位置)的距离。然后,该计算机设备可以获取该第二渲染规则的初始渲染参数(例如,与高度角φ1相匹配的渲染参数21U1),进而可以通过第二渲染规则、渲染参数21U1以及参考图像H1对应的参考深度数据,确定贴图20P在样本环境配置的高度角φ1下的预测渲染值。这时该计算机设备可以基于贴图20P在高度角φ1下的预测渲染值和实际渲染值,对渲染参数21U1进行训练,得到与样本环境配置的高度角φ1相匹配的业务渲染参数(例如,渲染参数22U1)。
同理,对于体纹理T2而言,该计算机设备可以确定贴图20P在体纹理T2对应的高度角φ2下的参考图像(例如,图2所示的参考图像H2),进而可以基于该参考图像H2,分别确定贴图20P在样本环境配置的高度角φ2下的实际渲染值和参考深度数据。其中,这里的参考深度数据用于表示当前观察点(例如,游戏场景中的虚拟人物所处位置)到参考图像H2的目标点(例如,某个待渲染的像素点对应的坐标位置)的距离。然后,该计算机设备可以获取该第二渲染规则的初始渲染参数(例如,与高度角φ2相匹配的渲染参数21U2),进而可以通过第二渲染规则、渲染参数21U2以及参考图像H2对应的参考深度数据,确定贴图20P在样本环境配置的高度角φ2下的预测渲染值。这时该计算机设备可以基于贴图20P在高度角φ2下的预测渲染值和实际渲染值,对渲染参数21U2进行训练,得到与样本环境配置的高度角φ2相匹配的业务渲染参数(例如,渲染参数22U2)。
以此类推,该计算机设备还可以参见渲染参数22U1和渲染参数22U2的参数训练方法,得到与该样本环境配置下的其他太阳高度角相匹配的业务渲染参数,进而可以将各太阳高度角下的业务渲染参数,确定为与样本环境配置相匹配的业务渲染参数集合。其中,该业务渲染参数集合中的每个业务渲染参数均可以用于对业务环境配置为样本环境配置的某一贴图(即第一贴图)的空气投射效果进行渲染。
由此可见,由于本申请实施例提供的这种散射模拟(即大气散射模拟)方法无需人工参与,而是通过结合第一渲染规则和第二渲染规则,得到样本环境配置下的不同太阳高度角的业务渲染参数,进而可以在后续基于这些业务渲染参数,对第一贴图的空气透视效果进行实时渲染时,能够极大程度的减少人工成本和时间成本,以至于在确保渲染效果的基础上,还能提升渲染效率,即该大气散射模拟方法能够同时兼顾渲染效果和渲染效率。
其中,具备渲染功能的计算机设备在对某一贴图的媒质散射效果进行渲染时,可以通过结合第一渲染规则和第二渲染规则,对第二渲染规则中的初始渲染参数进行训练,以快速且准确的得到与样本环境配置相匹配的业务渲染参数。其中,参数训练的具体实现方式可以参见下述图3-图6所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图一。如图3所示,该方法可以由具备渲染功能的计算机设备执行,该计算机设备可以为终端设备(例如,上述图1所示的终端设备集群中的任意一个终端设备,例如,具备参数训练功能的终端设备100a),也可以为服务器(例如,上述图1所示的服务器10F),在此不做限定。为便于理解,本申请实施例以该方法由具备渲染功能的服务器执行为例进行说明,该方法至少可以包括以下步骤S101-步骤S104:
步骤S101,获取渲染规则。
其中,这里的渲染规则可以为用于进行散射模拟渲染的规则,具体可以包括第一渲染规则和第二渲染规则,该第一渲染规则(例如,Hillaire20算法)可以用于对包含媒质的虚拟场景(例如,天空效果)进行渲染;该第二渲染规则(例如,Hoffman02算法)可以用于对媒质散射效果(例如,空气透视效果)进行渲染。
步骤S102,获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据。
具体地,该计算机设备可以获取针对样本贴图的参考属性,进而可以基于参考属性所包括的虚拟光源高度角以及样本贴图,获取由第一渲染规则所生成的与虚拟光源高度角相匹配的样本体纹理。然后,该计算机设备可以获取包括N个初始深度数据的预设深度数据集合,基于N个初始深度数据以及样本体纹理,得到样本体纹理在虚拟光源高度角下的切片数据。其中,这里的切片数据可以包括N个样本子图;N为正整数,且一个样本子图对应一个初始深度数据。这时,该计算机设备可以从N个样本子图中确定样本贴图在虚拟光源高度角下的参考图像,进而可以将参考图像的渲染值作为样本贴图在样本环境配置下的实际渲染值,将参考图像的初始深度数据作为参考深度数据。
其中,该计算机设备获取的参考属性可以为该计算机设备预先配置的虚拟光源高度角,例如,默认将虚拟光源高度角配置为0度和10度;也可以为该计算机设备对应的业务对象(例如,用户)在大气渲染组件的业务配置界面中根据实际需求所配置的虚拟光源高度角,这里将不对其进行限定。其中,这里的业务配置界面是指用于对散射模拟渲染的各种属性进行配置的显示界面。例如,该业务配置界面可以包括用于对虚拟光源高度角(例如,太阳高度角)这一属性进行配置的配置控件,也可以包括用于对渲染参数进行输入的配置控件,还可以包括对其他属性进行配置的配置控件,这里将不对其进行限定。
为便于理解,本申请实施例可以以业务对象进行配置为例,阐述计算机设备获取针对样本贴图的参考属性的具体实施方式。比如,该计算机设备可以显示针对业务引擎中的大气渲染组件(例如,UE4引擎中的SkyAtmosphere组件)的业务配置界面。其中,这里的业务配置界面可以包括针对太阳高度角的配置控件。
其中,太阳高度角的角度区间可以由第一角度阈值和第二角度阈值所构成,由于太阳下沉至地平线以下后,还存在散射现象,因此本申请实施例中的太阳高度角的第一角度阈值可以为负值(例如,-10度),第二角度阈值可以为用于模拟正午的角度值(例如,90度),因此该太阳高度角的角度区间可以为[-10°,90°]。这里的太阳高度角是指太阳发出的方向光对应的高度角,即太阳光与地平线的夹角。
这时,该计算机设备对应的业务对象可以针对参考属性的配置控件执行属性添加操作,换言之,业务对象可以在太阳高度角的角度区间内随机添加一个或多个太阳高度角,比如,依次添加-5度、0度、10度、45度等多个太阳高度角,这里将不对其进行限定。其中,这里的属性添加操作是指业务对象对太阳高度角这一属性进行添加的触发操作,该触发操作可以包括点击、长按等接触性操作,也可以包括语音、手势等非接触性操作,这里将不对其进行限定。
进一步地,计算机设备可以响应该属性添加操作,获取用于导出第一样本体纹理的(即在样本环境配置下模拟白天的体纹理)的第一高度角,以及用于导出第二样本体纹理(即在样本环境配置下模拟日落的体纹理)的第二高度角。其中,这里的第一样本体纹理和第二样本体纹理均属于样本体纹理,且第一高度角大于第二高度角。进一步地,该计算机设备可以将第一高度角和第二高度角均作为针对样本贴图的参考属性。
然后,该计算机设备可以基于参考属性所包括的太阳高度角,获取由第一渲染规则所生成的与太阳高度角相匹配的样本体纹理。比如,若参考属性包括-5度、0度、10度、45度这4个太阳高度角,则该计算机设备可以获取由第一渲染规则所生成的4个样本体纹理,具体可以包括太阳高度角为-5度的样本体纹理(例如,样本体纹理T1),太阳高度角为0度的样本体纹理(例如,样本体纹理T2),太阳高度角为10度的样本体纹理(例如,样本体纹理T3)以及太阳高度角为45度的样本体纹理(例如,样本体纹理T4)。这样后续该计算机设备在结合第一渲染规则和第二渲染规则,对第二渲染规则中的初始渲染参数进行训练后,可以得到这4个太阳高度角分别对应的业务渲染参数。
可以理解的是,本申请实施例可以对业务引擎中的大气渲染组件(例如,SkyAtmosphere组件)进行改造,即对SkyAtmosphere组件添加了将中间数据(即样本体纹理)导出的功能,此外,该SkyAtmosphere组件还添加了将参数g(即用于控制米氏散射各向异性的参数)导出的功能。
为便于理解,本申请实施例可以以1个虚拟光源高度角(例如,虚拟光源高度角为0度)为例,用以阐述第二渲染规则中的参数训练过程。换言之,第一渲染规则所生成的与虚拟光源高度角相匹配的样本体纹理包括虚拟光源高度角为0度时的样本体纹理,其中,该样本体纹理可以为计算机设备通过第二渲染规则中的顶点纹理拾取(Vertex TextureFetch,简称VFT)方法,对样本贴图进行纹理采样后所得到的3D Volume纹理。
因此,该计算机设备在获取到包括N个初始深度数据的预设深度数据集合时,通过这N个初始深度数据以及样本体纹理,能够得到该样本体纹理在虚拟光源高度角下的切片数据。其中,切片数据可以包括N个样本子图(即N张切片)、参数g、虚拟光源对应的方向光向量、以及每张切片对应的初始深度数据。比如,该计算机设备可以通过运行脚本(例如,python脚本),生成与某一初始深度数据对应的样本子图的纹理网格。进一步地,该计算机设备需要从这N个样本子图中确定样本贴图在虚拟光源高度角下的参考图像。其中,可以理解的是,该计算机设备可以遍历N个样本子图,将遍历到的样本子图确定为待处理子图,进而可以对待处理子图的纹理网格进行光栅化,得到待处理子图中的每个像素点对应的坐标位置。此时,该计算机设备可以基于每个像素点对应的坐标位置,对每个像素点的像素值进行叠加处理,得到待处理子图对应的总像素值,直到遍历结束,得到N个总像素值。然后,该计算机设备可以从N个样本子图中,选择具有最大总像素值的样本子图作为样本贴图在虚拟光源高度角下的参考图像,并将该参考图像的渲染值作为样本贴图在样本环境配置下的实际渲染值,将参考图像的初始深度数据作为参考深度数据。
比如,若该预设深度数据集合中的初始深度数据为3个,具体可以包括深度数据S1、深度数据S2以及深度数据S3,则该计算机设备可以基于深度数据S1以及样本体纹理,得到深度数据S1对应的样本子图(例如,样本子图P1),同理,该计算机设备还可以得到深度数据S2对应的样本子图(例如,样本子图P2)以及深度数据S3对应的样本子图(例如,样本子图P3)。进一步地,该计算机设备可以基于样本子图P1、样本子图P2、以及样本子图P3这3个样本子图(即3张切片)、参数g、虚拟光源对应的方向光向量、以及每张切片对应的初始深度数据,在缓存目录中会生成3个样本子图和一个数据导出文件。其中,这3个样本子图均可以以tga格式进行存储,而这个数据导出文件可以以json格式进行存储,且该数据导出文件可以包括参数g、虚拟光源对应的方向光向量以及每张切片对应的初始深度数据。
然后,该计算机设备可以通过业务引擎自动运行脚本(例如,Python脚本),使用光栅化工具(例如,NvDiffras),分别对每个样本子图的纹理网格进行光栅化,以得到每个样本子图对应的总像素值。比如,该计算机设备可以对样本子图P1的纹理网格进行光栅化,得到该样本子图P1中的每个像素点对应的坐标位置,然后,基于每个像素点对应的坐标位置,对每个像素点的像素值进行叠加处理,得到样本子图P1对应的总像素值。其中,这里的叠加处理可以是指先确定样本子图P1中的每个像素点对应的颜色值(例如,RGB值)与权重的乘积,再将这些乘积进行求和处理。同理,该计算机设备也可以得到样本子图P2对应的总像素值以及样本子图P3对应的总像素值。
这时,该计算机设备可以从样本子图P1对应的总像素值、样本子图P2对应的总像素值、以及样本子图P3对应的总像素值中确定最大总像素值,进而可以将具有最大总像素值的样本子图(例如,样本子图P3)确定为样本贴图在虚拟光源高度角下的参考图像,然后,该计算机设备可以将样本子图P3的渲染值作为样本贴图在样本环境配置下的实际渲染值,将深度数据S3作为参考深度数据。
步骤S103,通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值。
其中,这里的初始渲染参数可以包括第一散射参数、第二散射参数以及亮度参数,第一散射参数与第二散射参数分别对应不同的散射方式;亮度参数可以用于指示虚拟光源亮度;这里的样本体纹理是由第一渲染规则所生成的与虚拟光源高度角相匹配的体纹理。具体地,该计算机设备可以获取样本贴图的初始渲染值,进而可以基于第一散射参数的初始散射系数、第二散射参数的初始散射系数以及参考深度数据,确定样本贴图对应的透过率。进一步地,该计算机设备可以基于第一散射参数的初始散射系数、第二散射参数的初始散射系数、亮度参数以及参考深度数据,确定样本贴图在虚拟光源高度角下的内散射参数,进而可以基于初始渲染值、透过率以及内散射参数,确定样本贴图在样本环境配置下的预测渲染值。
具体地,该计算机设备确定某一贴图的渲染值的具体方式可以参见下述公式(5)-(9):
其中,这里的L0用于表示某一贴图的初始渲染值,即表示场景中的物体颜色,首次训练时可以默认为0;Fex(s)用于表示透过率,指传到视线上的光经散射传播到视线外这一现象中所留下的光的比例;Lin(s,θ)用于表示内散射参数,即是指视线外的光向视线内散射,又称向内散射;βR用于表示第一散射参数,即第一散射(例如,瑞利散射)的散射系数;βM用于表示第二散射参数,即第二散射(例如,米氏散射)的散射系数;s是指当前观察点到目标点的距离;θ用于表示虚拟光源发出的方向光与当前视线的夹角;Esun用于表示亮度参数,用于指示虚拟光源亮度(例如,太阳光亮度),可以以RGB颜色的形式存储;g用于表示是控制米氏散射各向异性的参数,可以默认为0.8。
在本申请实施例中,该计算机设备可以将初始渲染参数中的第一散射参数、第二散射参数以及亮度参数这三个参数的初始值均可以设定为1,即第一散射参数的初始散射系数为1、第二散射参数的初始散射系数为1,亮度参数的初始值为1。
因此,该计算机设备在确定样本贴图在样本环境配置下的预测渲染值时,首先可以根据上述公式(6)、第一散射参数的初始散射系数(例如,1)、第二散射参数的初始散射系数(例如,1)以及参考深度数据,确定样本贴图对应的透过率。然后,由于虚拟光源高度角是指虚拟光源发出的方向光对应的高度角,因此,该计算机设备需要确定该虚拟光源发出的方向光与当前视频的夹角,进而可以基于公式(8)、第一散射参数的初始散射系数以及该夹角,确定第一散射参数的更新散射系数,基于公式(9)、第二散射参数的初始散射系数以及该夹角,确定第二散射参数的更新散射系数。然后,该计算机设备可以基于上述公式(7)、第一散射参数的初始散射系数、第一散射参数的更新散射系数、第二散射参数的初始散射系数、第二散射参数的更新散射系数、亮度参数以及参考深度数据,确定样本贴图在虚拟光源高度角下的内散射参数。最后,该计算机设备可以基于上述公式(5),确定样本贴图的初始渲染值与透过率之间的乘积,再将确定的乘积与内散射参数之和作为该样本贴图在样本环境配置下的预测渲染值。
步骤S104,基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数。
具体地,该计算机设备可以基于预测渲染值以及实际渲染值,确定样本贴图对应的渲染总损失,进而可以基于渲染总损失,对初始渲染参数进行迭代训练,得到参数训练结果。若参数训练结果指示迭代训练后的初始渲染参数满足训练截止条件,则该计算机设备可以将满足训练截止条件的初始渲染参数确定为与样本环境配置相匹配的业务渲染参数。其中,业务渲染参数可以用于对第一贴图的媒质散射效果进行渲染;该第一贴图的业务环境配置为样本环境配置。
具体地,该计算机设备基于初始渲染参数的损失函数(例如,均方误差函数,Meansquared error)确定渲染总损失的具体方式可以参见下述公式(10):
其中,M用于表示某一贴图中的像素点的总数量,M为正整数;Yi用于表示该贴图中的第i个像素点(例如,像素点Xi)的预测渲染值;yi用于表示该像素点Xi的实际渲染值。
若样本贴图包括M个像素点;且M个像素点包括像素点Xi;M为正整数;i为小于或者等于M的正整数,则该计算机设备可以先从预测渲染值中获取像素点Xi的预测渲染值Yi,再从实际渲染值中获取像素点Xi的实际渲染值yi。然后,该计算机设备可以将预测渲染值Yi以及实际渲染值yi之间的渲染差值作为像素点Xi的渲染损失,直到得到M个像素点分别对应的渲染损失,这时该计算机设备可以基于上述公式(10)以及M个渲染损失,确定样本贴图对应的渲染总损失。
其中,该计算机设备可以获取与初始渲染参数相关联的训练截止条件,其中,该训练截止条件可以为渲染总损失持续N轮(例如,10轮)未继续下降,即停止参数训练。可选的,该训练截止条件还可以为渲染总损失小于或者等于训练截止条件中的损失阈值(例如,0.01),即停止参数训练,这里将不对其进行限定。
可以理解的是,若参数训练结果指示迭代训练后的初始渲染参数满足训练截止条件,则该计算机设备可以将满足训练截止条件的初始渲染参数作为与样本环境配置相匹配的业务渲染参数。可选的,若参数训练结果指示迭代训练后的初始渲染参数不满足训练截止条件,则该计算机设备可以基于不满足训练截止条件的渲染总损失,对初始渲染参数进行参数调整。进一步地,该计算机设备可以将调整后的初始渲染参数作为过渡渲染参数,对过渡渲染参数进行迭代训练,直到迭代训练后的过渡渲染参数满足训练截止条件时,将满足训练截止条件的过渡渲染参数作为与样本环境配置相匹配的业务渲染参数。
进一步地,请参见图4,图4是本申请实施例提供的一种训练参数的流程示意图。如图4所示,本申请实施例中的流程示意图可以包括步骤S41-步骤S48,具体以样本配置环境下的一个虚拟光源高度角φ(即目标虚拟光源高度角,例如,φ为10度)为例,用以阐述通过第一渲染规则和第二渲染规则的结合,对与目标虚拟光源高度角相匹配的渲染参数进行训练的过程。
应当理解,该计算机设备可以执行步骤S41,通过业务引擎,获取由第一渲染规则生成的与目标虚拟光源高度角相匹配的样本体纹理,进一步地,该计算机设备可以执行步骤S42,将样本体纹理导入脚本语言(例如,Python),基于预设深度数据集合中的N个初始深度数据以及样本体纹理,以得到样本体纹理在目标虚拟光源高度角下的切片数据。其中,这里的切片数据可以包括N个样本子图(即N张切片)、参数g、虚拟光源对应的方向光向量、以及每张切片对应的初始深度数据。
进一步地,该计算机设备可以执行步骤S43,使用光栅化工具(例如,NvDiffras),对切片数据中的N个样本子图的纹理网格分别进行光栅化,以得到每个样本子图对应的总像素值。然后,该计算机设备可以执行步骤S44,根据N个样本子图分别对应的总像素值,从N个样本子图中选择具有最大总像素值的样本子图,作为样本贴图在目标虚拟光源高度角下的参考图像。其中,这里的参考图像的渲染值可以作为样本贴图在样本环境配置的目标虚拟光源高度角下的实际渲染值;参考图像的初始深度数据可以作为样本贴图在在样本环境配置的目标虚拟光源高度角下的参考深度数据。
此时,该计算机设备可以执行步骤S45,根据上述公式(5)-(10)以及第二渲染规则获取样本贴图的预测渲染值,并基于预测渲染值与参考图像的实际渲染值,确定渲染损失。比如,该计算机设备可以根据上述公式(5)-(9)、第二渲染规则中的初始渲染参数(βR、βM、Esun)、方向光与当前视线的夹角(θ)以及参考图像对应的参考深度数据(s),确定样本贴图在目标虚拟光源高度角下的预测渲染值,进而可以基于上述公式(10)、预测渲染值以及实际渲染值,确定样本贴图对应的渲染总损失。
进一步地,该计算机设备可以执行步骤S46,确定渲染总损失是否小于或者等于损失阈值。若渲染总损失小于或者等于损失阈值,则该计算机设备可以对确定初始渲染参数满足训练截止条件,进而可以执行步骤S47,将初始渲染参数直接确定为与样本环境配置的目标虚拟光源高度角相匹配的业务渲染参数。
可选的,若渲染总损失大于损失阈值,则该计算机设备可以对初始渲染参数进行调整,然后再次执行步骤S46,重新确定样本贴图的预测渲染值,并基于重新确定的预测渲染值以及实际渲染值,确定新的渲染总损失,以继续与损失阈值进行比对,直到新的渲染总损失小于或者等于损失阈值,继续执行步骤S47,将当前渲染参数确定为与样本环境配置的目标虚拟光源高度角相匹配的业务渲染参数。
计算机设备在得到业务渲染参数后,可以执行步骤S48,将训练得到的业务渲染参数(即训练后的βR、βM、Esun)填入至业务配置界面(例如,SkyAtmosphere组件对应属性中),以使后续在样本环境配置的目标虚拟光源高度角下,对某一贴图的媒质散射效果进行渲染时,可以直接应用该业务渲染参数。其中,可以理解的是,本申请实施例可以对SkyAtmosphere组件中的顶点着色引擎 (Vertex Shader)进行改造,即可以集成第二渲染规则的空气透视渲染算法。在渲染过程中,可以结合场景物体颜色L0,使用第二渲染规则实时在低端设备上高效地实现空气透视的计算,与此同时,该计算机设备还可以使用其原本的天空绘制方案(即通过第一渲染规则对天空效果进行渲染)。
另外,这里的业务渲染参数可以为样本环境配置下的目标虚拟光源高度角对应的渲染参数,而该目标虚拟光源高度角属于Z个虚拟光源高度角,Z为大于1的正整数。其中,这Z个虚拟光源高度角是计算机设备响应属性添加操作时所获取的;这里的属性添加操作为针对参考属性的配置控件所执行的触发操作。可以理解的是,虚拟光源高度角的数量越多,后续针对业务分布图的数据拟合点的数量越多,进而导致拟合得到的业务渲染分布图的准确度越高。其中,每个渲染参数中均包括第一散射参数、第二散射参数以及亮度参数,这意味着该计算机设备可以参见前述针对目标虚拟光源高度角的业务渲染参数的训练方式,获取这Z个虚拟光源高度角中的每个虚拟光源高度角分别对应的渲染参数。
进一步地,该计算机设备可以从Z个渲染参数中分别确定与第一散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与第一散射参数相关联的第一渲染分布图。同理,该计算机设备还可以从Z个渲染参数中分别确定与第二散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与第二散射参数相关联的第二渲染分布图。与此同时,该计算机设备也可以从Z个渲染参数中分别确定与亮度参数相关联的Z个虚拟光源亮度,在虚拟光源高度角的角度区间内,对确定的Z个虚拟光源亮度进行拟合,得到与亮度参数相关联的第三渲染分布图。这时,该计算机设备可以将第一渲染分布图、第二渲染分布图以及第三渲染分布图确定为与样本环境配置相匹配的业务渲染分布图。
比如,若虚拟光源高度角为φ1,则该虚拟光源高度角φ1对应的渲染参数可以包括第一散射参数(用βR1表示)、第二散射参数(用βM1表示)以及亮度参数(用Esun1表示);若虚拟光源高度角为φ2,则该虚拟光源高度角φ2对应的渲染参数可以包括第一散射参数(用βR2表示)、第二散射参数(用βM2表示)以及亮度参数(用Esun2表示),以此类推。
该计算机设备在拟合与第一散射参数相关联的第一渲染分布图时,可以获取Z个数据拟合点,具体可以包括数据拟合点1(φ1,βR1)、数据拟合点2(φ2,βR2)、…、数据拟合点Z(φZ,βRZ),然后可以在虚拟光源高度角的角度区间内,对这Z个数据拟合点进行拟合,以得到第一渲染分布图。即第一渲染分布图可以为以虚拟光源高度角φ为横坐标,以第一散射参数(βR)为纵坐标的分布图。
该计算机设备在拟合与第二散射参数相关联的第二渲染分布图时,可以获取Z个数据拟合点,具体可以包括数据拟合点1(φ1,βM1)、数据拟合点2(φ2,βM2)、…、数据拟合点Z(φZ,βMZ),然后可以在虚拟光源高度角的角度区间内,对这Z个数据拟合点进行拟合,以得到第二渲染分布图。即第二渲染分布图可以为以虚拟光源高度角φ为横坐标,以第二散射参数(βM)为纵坐标的分布图。
该计算机设备在拟合与亮度参数相关联的第三渲染分布图时,可以获取Z个数据拟合点,具体可以包括数据拟合点1(φ1,Esun1)、数据拟合点2(φ2,Esun2)、…、数据拟合点Z(φZ,EsunZ),然后可以在虚拟光源高度角的角度区间内,对这Z个数据拟合点进行拟合,以得到第三渲染分布图。即第三渲染分布图可以为以虚拟光源高度角φ为横坐标,以亮度参数(Esun)为纵坐标的分布图。
进一步地,该计算机设备可以将第一渲染分布图、第二渲染分布图以及第三渲染分布图确定为与样本环境配置相匹配的业务渲染分布图,以便于后续能够快速读取在样本环境配置下的某一虚拟光源高度角对应的渲染参数,从而可以实时对处于样本环境配置下的任意一个贴图的媒质散射效果进行渲染,从而提升渲染效率。
由此可见,本申请实施例无需人工对第二渲染规则中的初始渲染参数进行调整,而是可以直接通过获取第一渲染规则这一新的物理算法的中间数据(即样本体纹理),来推导第二渲染规则中难调的渲染参数。这意味着本申请实施例在对媒质散射效果进行渲染时,并非直接采用第二渲染规则,而是通过将第一渲染规则和第二渲染规则进行结合,更加快速且准确的得到业务渲染参数,这样后续在对第一贴图的媒质散射效果进行渲染时,不仅可以确保渲染效果,还能提升渲染效率,即本申请实施例所采用的散射模拟方法可以同时兼顾渲染效果和渲染效率。
进一步地,请参见图5,图5是本申请实施例提供的一种数据处理方法的流程示意图二。该方法可以由具备渲染功能的终端设备(例如,上述图1所示的终端设备集群中的任意一个终端设备,例如,终端设备100a)执行,也可以由具备渲染功能的服务器(例如,上述图1所示的服务器10F)执行,还可以由具备参数应用功能的终端设备和具备参数训练功能的服务器交互执行。在此不做限定。该方法至少可以包括以下步骤S201-步骤S207:
步骤S201,获取渲染规则。
其中,这里的渲染规则包括第一渲染规则和第二渲染规则,该第一渲染规则(例如,Hillaire20算法)可以用于对包含媒质的虚拟场景进行渲染;该第二渲染规则(例如,Hoffman02算法)可以用于对媒质散射效果进行渲染。
步骤S202,获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据。
具体地,该计算机设备可以获取针对样本贴图的参考属性,进而可以基于参考属性所包括的虚拟光源高度角以及样本贴图,获取由第一渲染规则所生成的与虚拟光源高度角相匹配的样本体纹理。然后,该计算机设备可以获取包括N个初始深度数据的预设深度数据集合,基于N个初始深度数据以及样本体纹理,得到样本体纹理在虚拟光源高度角下的切片数据。其中,这里的切片数据可以包括N个样本子图;N为正整数。这时,该计算机设备可以从N个样本子图中确定样本贴图在虚拟光源高度角下的参考图像,进而可以将参考图像的渲染值作为样本贴图在样本环境配置下的实际渲染值,将参考图像的初始深度数据作为参考深度数据。
步骤S203,通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值。
其中,这里的初始渲染参数可以包括第一散射参数、第二散射参数以及亮度参数,第一散射参数与第二散射参数分别对应不同的散射方式;亮度参数可以用于指示虚拟光源亮度;实际渲染值为样本贴图的参考图像对应的渲染值。具体地,该计算机设备可以获取样本贴图的初始渲染值,进而可以基于第一散射参数的初始散射系数、第二散射参数的初始散射系数以及参考深度数据,确定样本贴图对应的透过率。进一步地,该计算机设备可以基于第一散射参数的初始散射系数、第二散射参数的初始散射系数、亮度参数、参考深度数据以及参考图像对应的虚拟光源高度角,确定样本贴图在虚拟光源高度角下的内散射参数,进而可以基于初始渲染值、透过率以及内散射参数,确定样本贴图在样本环境配置下的预测渲染值。
步骤S204,基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数。
具体地,该计算机设备可以基于预测渲染值以及实际渲染值,确定样本贴图对应的渲染总损失,进而可以基于渲染总损失,对初始渲染参数进行迭代训练,得到参数训练结果。若参数训练结果指示迭代训练后的初始渲染参数满足训练截止条件,则该计算机设备可以将满足训练截止条件的初始渲染参数确定为与样本环境配置相匹配的业务渲染参数。其中,业务渲染参数可以用于对第一贴图的媒质散射效果进行渲染;该第一贴图的业务环境配置为样本环境配置。
其中,本申请实施例中的数据处理方法可以包括参数训练过程以及参数应用过程。可以理解的是,该步骤S201-步骤S204阐述了参数训练过程,该参数训练过程的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
其中,该参数应用过程具体可以参见下述步骤S205-步骤S207的描述。
步骤S205,在对第一贴图进行散射模拟渲染时,获取针对第一贴图的业务环境配置。
具体地,该计算机设备在对第一贴图进行散射模拟渲染时,需要获取针对第一贴图的业务配置环境,进而可以在存储有样本环境配置的数据库中,查找该业务配置环境中是否为数据库中已经存储的样本环境配置。
步骤S206,若业务环境配置为样本环境配置,则获取与样本环境配置相匹配的业务渲染参数。
其中,业务渲染参数是基于样本贴图在样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;样本贴图的实际渲染值是基于样本贴图的样本体纹理所确定的;样本贴图的样本体纹理是由第一渲染规则生成的;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染。具体地,当样本环境配置存储至数据库时,若业务环境配置为样本环境配置,则该计算机设备可以基于样本环境配置的关联关系,在数据库中查找与样本环境配置相匹配的业务渲染分布图。其中,这里的业务渲染分布图可以包括与第一散射参数相关联的第一渲染分布图、与第二散射参数相关联的第二渲染分布图以及与亮度参数相关联的第三渲染分布图。进一步地,该计算机设备需要确定第一贴图对应的待渲染角度,然后,在第一渲染分布图中,将待渲染角度对应的散射系数确定为第一待处理系数,在第二渲染分布图中,将待渲染角度对应的散射系数确定为第二待处理系数,在第三渲染分布图中,将待渲染角度对应的虚拟光源亮度确定为待处理亮度,进而可以将第一待处理系数、第二待处理系数以及待处理亮度确定为与样本环境配置相匹配的业务渲染参数。
可选的,若数据库中不存在与业务环境配置相匹配的样本环境配置,则该计算机设备可以将业务环境配置作为更新样本配置(即新的样本环境配置),将第一贴图作为更新样本配置下的更新样本贴图(即新的样本贴图)。进一步地,该计算机设备可以获取由第一渲染规则生成的更新样本贴图的样本体纹理,基于更新样本贴图的样本体纹理,分别确定更新样本贴图在更新样本配置下的实际渲染值以及更新样本贴图的参考深度数据,进而可以通过第二渲染规则中的初始渲染参数以及更新样本贴图的参考深度数据,确定更新样本贴图在更新样本配置下的预测渲染值。然后,该计算机设备可以基于更新样本贴图在更新样本配置下的实际渲染值以及更新样本贴图在更新样本配置下的预测渲染值,对初始渲染参数进行训练,得到与更新样本配置相匹配的更新渲染参数,进而可以基于更新渲染参数,将更新样本配置存储至数据库。
步骤S207,基于业务渲染参数以及第二渲染规则,对第一贴图的媒质散射效果进行渲染,得到第二贴图。
其中,这里的业务渲染参数可以包括多个待渲染角度对应的渲染参数。具体地,该计算机设备可以参见上述公式(5)-(9)所示的第二渲染规则,以及每个待渲染角度下的渲染参数,分别对第一贴图的媒质散射效果进行渲染,以得到与待渲染角度相匹配的第二贴图。其中,在待渲染角度从第一角度阈值依次变更至第二角度阈值时,该计算机设备可以获取到多个第二贴图,从而实现实时对第一贴图的媒质散射效果进行渲染。
为便于理解,进一步地,请参见图6,图6是本申请实施例提供的一种对媒质散射效果进行渲染的场景示意图。如图6所示,贴图60P可以为本申请实施例中的计算机设备获取到的需要对媒质散射效果(例如,空气透视效果)进行渲染的贴图(即第一贴图),该贴图60P可以为未进行散射模拟渲染的原始贴图,也可以为已经对原始贴图的包含媒质的虚拟场景(例如,天空效果)进行模拟渲染后所得到的贴图,这里将不对其进行限定。
如图6所示,该数据库600K中可以存储有计算机设备所训练的与样本环境配置相匹配的业务渲染参数,比如,该数据库600K中可以存储一个用于指示样本环境配置的关联关系的关系表。其中,该关系表中可以包括多个样本环境配置,为便于阐述,本申请实施例可以以2个为例,具体可以包括环境配置1(例如,地球)以及环境配置2(例如,火星)。
为便于理解,进一步地,请参见表1,表1是本申请实施例提供的一种数据库所存储的关系表。该关系表可以包括样本环境配置栏、实际训练栏以及业务渲染分布图栏,当然该关系表中还可以包括其他栏,这里将不对其进行限定。其中,这里的训练栏是指在样本环境配置下所实际训练的各虚拟光源高度角下的渲染参数。如表1所示:
其中,以环境配置1为例,由于业务对象在针对参考属性的配置控件执行属性添加操作,可以添加虚拟光源高度角1φ1(例如,-5°)、虚拟光源高度角1φ2(例如,0°)、虚拟光源高度角1φ3(例如,10°)以及虚拟光源高度角1φ4(例如,60°),因此该计算机设备在响应属性添加操作时,能够获取这4个虚拟光源高度角,进而可以结合第一渲染规则和第二渲染规则,分别对这4个虚拟光源高度角下的渲染参数进行训练,得到每个虚拟光源高度角分别对应的渲染参数。进一步地,该计算机设备可以基于这4个渲染参数在虚拟光源高度角的角度区间内进行拟合,以得到与环境配置1相匹配的业务渲染分布图,具体可以包括渲染分布图10F1、渲染分布图10F2以及渲染分布图10F3。其中,渲染分布图10F1用于表示与第一散射参数相关联的第一渲染分布图(即与瑞利散射的散射系数相关联的渲染分布图);渲染分布图10F2用于表示与第二散射参数相关联的第二渲染分布图(即与米氏散射的散射系数相关联的渲染分布图);渲染分布图10F3用于表示与亮度参数相关联的第三渲染分布图(例如,与虚拟光源亮度相关联的渲染分布图)。
可以理解的是,该计算机设备在获取到贴图60P时,可以确定该贴图60P的业务环境配置,进而可以基于该贴图60P的业务环境配置在数据库600K中进行查找。若贴图60P的业务环境配置为上述表1所包括的样本环境配置(例如,环境配置1),则该计算机设备可以直接根据上述表1,获取与环境配置1相匹配的业务渲染参数。
比如,若第一贴图对应的待渲染角度(例如,10°)属于与环境配置1对应的实际训练栏中的虚拟光源高度角,则该计算机设备可以直接从实际训练栏中查找与待渲染角度相匹配的渲染参数作为业务渲染参数。又比如,若待渲染角度(例如,20°)不属于与环境配置1对应的实际训练栏中的虚拟光源高度角,在渲染精确度要求较低时,该计算机设备可以快速从与环境配置1相匹配的业务渲染分布图的三个渲染分布图中,分别查找与待渲染角度相匹配的渲染参数作为业务渲染参数。例如,该计算机设备可以从渲染分布图10F1中查找待渲染角度对应的散射系数,从渲染分布图10F2中查找待渲染角度对应的散射系数,从渲染分布图10F3中查找待渲染角度对应的虚拟光源亮度,进而将确定的这三个参数作为与样本环境配置相匹配的业务渲染参数。当然,由于20度这一虚拟光源高度角的业务渲染参数是从业务渲染分布图所读取到的,在渲染精确度要求过高时,该计算机设备也可以将第一贴图作为新的样本贴图,结合第一渲染规则和第二渲染规则,重新训练在20度这一虚拟光源高度角的业务渲染参数。然后,该计算机设备可以基于20度这一虚拟光源高度角的业务渲染参数,对上述表1进行更新。
可选的,若贴图60P的业务环境配置为环境配置3(例如,月球),则数据库600K中存储的上述表1不存在与环境配置3相匹配的样本环境配置,则意味着该计算机设备无法根据上述表1,获取与环境配置3相匹配的业务渲染参数。此时,该计算机设备可以将第一贴图作为新的样本贴图,结合第一渲染规则和第二渲染规则,重新训练与环境配置3相匹配的业务渲染参数。
比如,该计算机设备可以将环境配置3作为更新样本配置(即新的样本环境配置),将第一贴图作为更新样本配置下的更新样本贴图(即新的样本贴图)。然后,参见上述对样本环境配置的参数训练方法,对更新样本配置的初始渲染参数进行训练,以得到与更新样本配置相匹配的更新渲染参数,进而可以建立环境配置3、实际训练的虚拟光源高度角下的渲染参数,以及与环境配置3相匹配的业务渲染分布图之间的关联关系,并将其存储至上述表1中,以对上述表1进行更新。
在获取到与贴图60P的业务环境配置相匹配的业务渲染参数(例如,图6所示的渲染参数6U2)时,该计算机设备可以根据渲染参数6U2中所包括的待渲染角度的渲染参数,实时对贴图60P的空气透视效果进行渲染,以得到该待渲染角度对应的第二贴图(例如,图6所示的贴图61P),从而提升渲染效率。由于大气散射算法大部分算是屏幕空间的渲染算法,所以本申请实施例并不依赖特定的可微渲染器,甚至可以不用可微渲染器,也可以自己实现渲染器,本申请实施例可以利用一种用于图像识别和语言处理等应用程序的机器学习(例如,Pytorch)的自动微分的功能,实现对空气透视效果进行渲染。
由此可见,本申请实施例可以结合旧的简化算法(即第二渲染估值)和新的物理算法(第一渲染规则),来解决对贴图的媒质散射效果进行实时渲染的效率问题,通过使用第一渲染规则的中间数据(即3DVolume 纹理)结合可微渲染技术来推导第二渲染规则中难调的参数,使得整个散射渲染系统能够达到效果正确、制作高效和渲染效率的平衡。
进一步地,请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图一。如图7所示,该数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图7所示,该数据处理装置1可以运行于具有渲染功能的计算机设备,该计算机设备可以为上述图1所对应实施例中的服务器10F,也可以为上述图1所对应实施例中的终端设备集群中的任意一个终端设备,例如,终端设备100a。该数据处理装置1可以包括:规则获取模块10,样本参考模块20,样本预测模块30,训练模块40,渲染参数获取模块50,第一拟合模块60,第二拟合模块70,第三拟合模块80以及分布图确定模块90。
该规则获取模块10,用于获取渲染规则;渲染规则包括第一渲染规则和第二渲染规则;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
该样本参考模块20,用于获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据。
其中,该样本参考模块20包括:属性获取单元201,体纹理获取单元202,切片单元203,参考图像确定单元204以及参考数据确定单元205。
该属性获取单元201,用于获取针对样本贴图的参考属性。
其中,虚拟光源高度角包括太阳高度角;样本体纹理包括第一样本体纹理和第二样本体纹理;第一样本体纹理是指在样本环境配置下用于模拟白天的体纹理;第二样本体纹理是指在样本环境配置下用于模拟日落的体纹理;
该属性获取单元201包括:界面显示子单元2011,角度获取子单元2012以及属性确定子单元2013。
该界面显示子单元2011,用于显示针对业务引擎中的大气渲染组件的业务配置界面;业务配置界面包括针对太阳高度角的配置控件;
该角度获取子单元2012,用于响应针对配置控件的属性添加操作,获取用于导出第一样本体纹理的第一高度角,以及用于导出第二样本体纹理的第二高度角;第一高度角大于第二高度角;
该属性确定子单元2013,用于将第一高度角与第二高度角均作为针对样本贴图的参考属性。
其中,该界面显示子单元2011,角度获取子单元2012以及属性确定子单元2013的具体实现方式可以参见上述图3所对应实施例中对参考属性的描述,这里将不再继续进行赘述。
该体纹理获取单元202,用于基于参考属性所包括的虚拟光源高度角以及样本贴图,获取由第一渲染规则所生成的与虚拟光源高度角相匹配的样本体纹理;
该切片单元203,用于获取包括N个初始深度数据的预设深度数据集合,基于N个初始深度数据以及对样本体纹理,得到样本体纹理在虚拟光源高度角下的切片数据;切片数据包括N个样本子图;N为正整数;
该参考图像确定单元204,用于从N个样本子图中确定样本贴图在虚拟光源高度角下的参考图像。
其中,该参考图像确定单元204包括:遍历子单元2041,光栅化子单元2042,叠加处理子单元2043以及参考图像确定子单元2044。
该遍历子单元2041,用于遍历N个样本子图,将遍历到的样本子图确定为待处理子图;
该光栅化子单元2042,用于对待处理子图的纹理网格进行光栅化,得到待处理子图中的每个像素点对应的坐标位置;
该叠加处理子单元2043,用于基于每个像素点对应的坐标位置,对每个像素点的像素值进行叠加处理,得到待处理子图对应的总像素值,直到遍历结束,得到N个总像素值;
该参考图像确定子单元2044,用于从N个样本子图中,选择具有最大总像素值的样本子图作为样本贴图在虚拟光源高度角下的参考图像。
其中,该遍历子单元2041,光栅化子单元2042,叠加处理子单元2043以及参考图像确定子单元2044的具体实现方式可以参见上述图3所对应实施例中对参考图像的描述,这里将不再继续进行赘述。
该参考数据确定单元205,用于将参考图像的渲染值作为样本贴图在样本环境配置下的实际渲染值,将参考图像的初始深度数据作为参考深度数据。
其中,该属性获取单元201,体纹理获取单元202,切片单元203,参考图像确定单元204以及参考数据确定单元205的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
该样本预测模块30,用于通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值。
其中,初始渲染参数包括第一散射参数、第二散射参数以及亮度参数;第一散射参数与第二散射参数分别对应不同的散射方式;亮度参数用于指示虚拟光源亮度;样本体纹理是由第一渲染规则所生成的与虚拟光源高度角相匹配的体纹理;
该样本预测模块30包括:初始值获取单元301,透过率确定单元302,内散射参数确定单元303以及预测值确定单元304。
该初始值获取单元301,用于获取样本贴图的初始渲染值;
该透过率确定单元302,用于基于第一散射参数的初始散射系数、第二散射参数的初始散射系数以及参考深度数据,确定样本贴图对应的透过率;
该内散射参数确定单元303,用于基于第一散射参数的初始散射系数、第二散射参数的初始散射系数、亮度参数以及参考深度数据,确定样本贴图在虚拟光源高度角下的内散射参数。
其中,虚拟光源高度角是指虚拟光源发出的方向光对应的高度角;
该内散射参数确定单元303包括:第一确定子单元3031,第二确定子单元3032以及第三确定子单元3033。
该第一确定子单元3031,用于确定虚拟光源发出的方向光与当前视线的夹角,基于第一散射参数的初始散射系数以及夹角,确定第一散射参数的更新散射系数;
该第二确定子单元3032,用于基于第二散射参数的初始散射系数以及夹角,确定第二散射参数的更新散射系数;
该第三确定子单元3033,用于基于第一散射参数的初始散射系数、第一散射参数的更新散射系数、第二散射参数的初始散射系数、第二散射参数的更新散射系数、亮度参数以及参考深度数据,确定样本贴图在虚拟光源高度角下的内散射参数。
其中,该第一确定子单元3031,第二确定子单元3032以及第三确定子单元3033的具体实现方式可以参见上述图3所对应实施例中对内散射参数的描述,这里将不再继续进行赘述。
该预测值确定单元304,用于基于初始渲染值、透过率以及内散射参数,确定样本贴图在样本环境配置下的预测渲染值。
其中,该初始值获取单元301,透过率确定单元302,内散射参数确定单元303以及预测值确定单元304的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
该训练模块40,用于基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数;业务渲染参数用于对第一贴图的媒质散射效果进行渲染;第一贴图的业务环境配置为样本环境配置。
其中,该训练模块40包括:总损失确定单元401,训练单元402以及业务渲染参数确定单元403。
该总损失确定单元401,用于基于预测渲染值以及实际渲染值,确定样本贴图对应的渲染总损失。
其中,样本贴图包括M个像素点;M为正整数;M个像素点包括像素点Xi;i为小于或者等于M的正整数;
该总损失确定单元401包括:渲染值确定子单元4011,损失确定子单元4012以及总损失确定子单元4013。
该渲染值确定子单元4011,用于从预测渲染值中获取像素点Xi的预测渲染值Yi,从实际渲染值中获取像素点Xi的实际渲染值yi;
该损失确定子单元4012,用于将预测渲染值Yi以及实际渲染值yi之间的渲染差值作为像素点Xi的渲染损失,直到得到M个像素点分别对应的渲染损失;
该总损失确定子单元4013,用于基于M个渲染损失,确定样本贴图对应的渲染总损失。
其中,该渲染值确定子单元4011,损失确定子单元4012以及总损失确定子单元4013的具体实现方式可以参见上述图3所对应实施例中对渲染总损失的描述,这里将不再继续进行赘述。
该训练单元402,用于基于渲染总损失,对初始渲染参数进行迭代训练,得到参数训练结果;
该业务渲染参数确定单元403,用于若参数训练结果指示迭代训练后的初始渲染参数满足训练截止条件,则将满足训练截止条件的初始渲染参数确定为与样本环境配置相匹配的业务渲染参数。
其中,该总损失确定单元401,训练单元402以及业务渲染参数确定单元403的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
其中,业务渲染参数为样本环境配置下的目标虚拟光源高度角对应的渲染参数;目标虚拟光源高度角属于Z个虚拟光源高度角;Z为大于1的正整数;Z个虚拟光源高度角是响应属性添加操作时所获取的;属性添加操作为针对参考属性的配置控件所执行的触发操作;
该渲染参数获取模块50,用于获取Z个虚拟光源高度角中的每个虚拟光源高度角分别对应的渲染参数;每个渲染参数中均包括第一散射参数、第二散射参数以及亮度参数;
该第一拟合模块60,用于从Z个渲染参数中分别确定与第一散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与第一散射参数相关联的第一渲染分布图;
该第二拟合模块70,用于从Z个渲染参数中分别确定与第二散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与第二散射参数相关联的第二渲染分布图;
该第三拟合模块80,用于从Z个渲染参数中分别确定与亮度参数相关联的Z个虚拟光源亮度,在虚拟光源高度角的角度区间内,对确定的Z个虚拟光源亮度进行拟合,得到与亮度参数相关联的第三渲染分布图;
该分布图确定模块90,用于将第一渲染分布图、第二渲染分布图以及第三渲染分布图确定为与样本环境配置相匹配的业务渲染分布图。
其中,该规则获取模块10,样本参考模块20,样本预测模块30,训练模块40,渲染参数获取模块50,第一拟合模块60,第二拟合模块70,第三拟合模块80以及分布图确定模块90的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图8,图8是本申请实施例提供的一种数据处理装置的结构示意图二。该数据处理装置2可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置2为一个应用软件;该数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图8所示,该数据处理装置2可以运行于具有渲染功能的计算机设备,该计算机设备可以为上述图1所对应实施例中的服务器10F,也可以为上述图1所对应实施例中的终端设备集群中的任意一个终端设备,例如,终端设备100a。该数据处理装置2可以包括:配置获取模块100,业务参数获取模块200,渲染模块300,样本更新模块400,参考更新模块500,预测更新模块600,训练更新模块700以及存储更新模块800。
该配置获取模块100,用于在对第一贴图进行散射模拟渲染时,获取针对第一贴图的业务环境配置;
该业务参数获取模块200,用于若业务环境配置为样本环境配置,则获取与样本环境配置相匹配的业务渲染参数;业务渲染参数是基于样本贴图在样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;样本贴图的实际渲染值是基于样本贴图的样本体纹理所确定的;样本贴图的样本体纹理是由第一渲染规则生成的;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染。
其中,样本环境配置存储至数据库中;
该业务参数获取模块200包括:查找单元2010,角度确定单元2020,待处理参数确定单元2030以及业务参数获取单元2040。
该查找单元2010,用于若业务环境配置为样本环境配置,则基于样本环境配置的关联关系,在数据库中查找与样本环境配置相匹配的业务渲染分布图;业务渲染分布图包括与第一散射参数相关联的第一渲染分布图、与第二散射参数相关联的第二渲染分布图以及与亮度参数相关联的第三渲染分布图;
该角度确定单元2020,用于确定第一贴图对应的待渲染角度;
该待处理参数确定单元2030,用于在第一渲染分布图中,将待渲染角度对应的散射系数确定为第一待处理系数,在第二渲染分布图中,将待渲染角度对应的散射系数确定为第二待处理系数,在第三渲染分布图中,将待渲染角度对应的虚拟光源亮度确定为待处理亮度;
该业务参数获取单元2040,用于将第一待处理系数、第二待处理系数以及待处理亮度确定为与样本环境配置相匹配的业务渲染参数。
其中,该查找单元2010,角度确定单元2020,待处理参数确定单元2030以及业务参数获取单元2040的具体实现方式可以参见上述图5所对应实施例中对业务渲染参数的描述,这里将不再继续进行赘述。
该渲染模块300,用于基于业务渲染参数以及第二渲染规则,对第一贴图的媒质散射效果进行渲染,得到第二贴图。
该样本更新模块400,用于若数据库中不存在与业务环境配置相匹配的样本环境配置,则将业务环境配置作为更新样本配置,将第一贴图作为更新样本配置下的更新样本贴图;
该参考更新模块500,用于获取由第一渲染规则生成的更新样本贴图的样本体纹理,基于更新样本贴图的样本体纹理,分别确定更新样本贴图在更新样本配置下的实际渲染值以及更新样本贴图的参考深度数据;
该预测更新模块600,用于通过第二渲染规则中的初始渲染参数以及更新样本贴图的参考深度数据,确定更新样本贴图在更新样本配置下的预测渲染值;
该训练更新模块700,用于基于更新样本贴图在更新样本配置下的实际渲染值以及更新样本贴图在更新样本配置下的预测渲染值,对初始渲染参数进行训练,得到与更新样本配置相匹配的更新渲染参数;
该存储更新模块800,用于基于更新渲染参数,将更新样本配置存储至数据库。
其中,该配置获取模块100,业务参数获取模块200,渲染模块300,样本更新模块400,参考更新模块500,预测更新模块600,训练更新模块700以及存储更新模块800的具体实现方式可以参见上述图5所对应实施例中对步骤S201-步骤S207的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图9,图9是本申请实施例提供的一种计算机设备的示意图。如图9所示,该计算机设备1000可以为具备渲染功能的计算机设备,该计算机设备1000可以包括:至少一个处理器1001,例如,CPU,至少一个网络接口1004,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图9所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。其中,在一些实施例中,该计算机设备还可以包括图9所示的用户接口1003,比如,若该计算机设备为图1所示的具有渲染功能的终端设备(例如,终端设备100a),则该计算机设备还可以包括该用户接口1003,其中,该用户接口1003可以包括显示屏(Display)、键盘(Keyboard)等。
在图9所示的计算机设备1000中,网络接口1004主要用于进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取渲染规则;渲染规则包括第一渲染规则和第二渲染规则;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
获取由第一渲染规则生成的样本贴图的样本体纹理,基于样本体纹理,分别确定样本贴图在样本环境配置下的实际渲染值以及样本贴图的参考深度数据;
通过第二渲染规则中的初始渲染参数以及参考深度数据,确定样本贴图在样本环境配置下的预测渲染值;
基于预测渲染值以及实际渲染值,对初始渲染参数进行训练,得到与样本环境配置相匹配的业务渲染参数;业务渲染参数用于对第一贴图的媒质散射效果进行渲染;第一贴图的业务环境配置为样本环境配置。
处理器1001还可以用于调用存储器1005中存储的设备控制应用程序,以实现:
在对第一贴图进行散射模拟渲染时,获取针对第一贴图的业务环境配置;
若业务环境配置为样本环境配置,则获取与样本环境配置相匹配的业务渲染参数;业务渲染参数是基于样本贴图在样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;样本贴图的实际渲染值是基于样本贴图的样本体纹理所确定的;样本贴图的样本体纹理是由第一渲染规则生成的;第一渲染规则用于对包含媒质的虚拟场景进行渲染;第二渲染规则用于对媒质散射效果进行渲染;
基于业务渲染参数以及第二渲染规则,对第一贴图的媒质散射效果进行渲染,得到第二贴图。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3和图5所对应实施例中对该数据处理方法的描述,也可执行前文图7所对应实施例中对该数据处理装置1或者图8所对应实施例中对该数据处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的数据处理装置1或者数据处理装置2所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图3或者图5所对应实施例中对该数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图5中各个步骤所提供的数据处理方法,具体可参见图3以及图5各个步骤所提供的实现方式,在此不再赘述。
进一步的,请参见图10,图10是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图7所对应实施例中的数据处理装置1,可以理解的是,该数据处理装置1a可以集成在上述具有渲染功能的计算机设备,该计算机设备可以为上述图1所对应实施例中的服务器10F,也可以为上述图1所对应实施例中的终端设备集群中的任意一个终端设备,例如,终端设备100a,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图8所对应实施例中的数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述具有渲染功能的计算机设备,该计算机设备可以为上述图1所对应实施例中的服务器10F,也可以为上述图1所对应实施例中的终端设备集群中的任意一个终端设备,例如,终端设备100a,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (16)
1.一种数据处理方法,其特征在于,包括:
获取渲染规则;所述渲染规则包括第一渲染规则和第二渲染规则;所述第一渲染规则用于对包含媒质的虚拟场景进行渲染;所述第二渲染规则用于对媒质散射效果进行渲染;
获取由所述第一渲染规则生成的样本贴图的样本体纹理,基于所述样本体纹理,分别确定所述样本贴图在样本环境配置下的实际渲染值以及所述样本贴图的参考深度数据;所述实际渲染值与所述参考深度数据均是基于所述样本贴图在虚拟光源高度角下的参考图像所确定的;所述参考图像是从所述样本体纹理在所述虚拟光源高度角下的切片数据中所确定的;
通过所述第二渲染规则中的初始渲染参数以及所述参考深度数据,确定所述样本贴图在所述样本环境配置下的预测渲染值;
基于所述预测渲染值以及所述实际渲染值,对所述初始渲染参数进行训练,得到与所述样本环境配置相匹配的业务渲染参数;所述业务渲染参数用于对第一贴图的媒质散射效果进行渲染;所述第一贴图的业务环境配置为所述样本环境配置。
2.根据权利要求1所述的方法,其特征在于,所述获取由所述第一渲染规则生成的样本贴图的样本体纹理,基于所述样本体纹理,分别确定所述样本贴图在样本环境配置下的实际渲染值以及所述样本贴图的参考深度数据,包括:
获取针对样本贴图的参考属性;
基于所述参考属性所包括的虚拟光源高度角以及所述样本贴图,获取由所述第一渲染规则所生成的与所述虚拟光源高度角相匹配的样本体纹理;
获取包括N个初始深度数据的预设深度数据集合,基于所述N个初始深度数据以及所述样本体纹理,得到所述样本体纹理在所述虚拟光源高度角下的切片数据;所述切片数据包括N个样本子图;N为正整数;
从所述N个样本子图中确定所述样本贴图在所述虚拟光源高度角下的参考图像;
将所述参考图像的渲染值作为所述样本贴图在样本环境配置下的实际渲染值,将所述参考图像的初始深度数据作为参考深度数据。
3.根据权利要求2所述的方法,其特征在于,所述虚拟光源高度角包括太阳高度角;所述样本体纹理包括第一样本体纹理和第二样本体纹理;所述第一样本体纹理是指在所述样本环境配置下用于模拟白天的体纹理;所述第二样本体纹理是指在所述样本环境配置下用于模拟日落的体纹理;
所述获取针对样本贴图的参考属性,包括:
显示针对业务引擎中的大气渲染组件的业务配置界面;所述业务配置界面包括针对所述太阳高度角的配置控件;
响应针对所述配置控件的属性添加操作,获取用于导出所述第一样本体纹理的第一高度角,以及用于导出所述第二样本体纹理的第二高度角;所述第一高度角大于所述第二高度角;
将所述第一高度角与所述第二高度角均作为针对样本贴图的参考属性。
4.根据权利要求2所述的方法,其特征在于,所述从所述N个样本子图中确定所述样本贴图在所述虚拟光源高度角下的参考图像,包括:
遍历所述N个样本子图,将遍历到的样本子图确定为待处理子图;
对所述待处理子图的纹理网格进行光栅化,得到所述待处理子图中的每个像素点对应的坐标位置;
基于所述每个像素点对应的坐标位置,对所述每个像素点的像素值进行叠加处理,得到所述待处理子图对应的总像素值,直到遍历结束,得到N个总像素值;
从所述N个样本子图中,选择具有最大总像素值的样本子图作为所述样本贴图在所述虚拟光源高度角下的参考图像。
5.根据权利要求1所述的方法,其特征在于,所述初始渲染参数包括第一散射参数、第二散射参数以及亮度参数;所述第一散射参数与所述第二散射参数分别对应不同的散射方式;所述亮度参数用于指示虚拟光源亮度;所述样本体纹理是由所述第一渲染规则所生成的与虚拟光源高度角相匹配的体纹理;
所述通过所述第二渲染规则中的初始渲染参数以及所述参考深度数据,确定所述样本贴图在所述样本环境配置下的预测渲染值,包括:
获取所述样本贴图的初始渲染值;
基于所述第一散射参数的初始散射系数、所述第二散射参数的初始散射系数以及所述参考深度数据,确定所述样本贴图对应的透过率;
基于所述第一散射参数的初始散射系数、所述第二散射参数的初始散射系数、所述亮度参数以及所述参考深度数据,确定所述样本贴图在所述虚拟光源高度角下的内散射参数;
基于所述初始渲染值、所述透过率以及所述内散射参数,确定所述样本贴图在所述样本环境配置下的预测渲染值。
6.根据权利要求5所述的方法,其特征在于,所述虚拟光源高度角是指虚拟光源发出的方向光对应的高度角;
所述基于所述第一散射参数的初始散射系数、所述第二散射参数的初始散射系数、所述亮度参数以及所述参考深度数据,确定所述样本贴图在所述虚拟光源高度角下的内散射参数,包括:
确定所述虚拟光源发出的方向光与当前视线的夹角,基于所述第一散射参数的初始散射系数以及所述夹角,确定所述第一散射参数的更新散射系数;
基于所述第二散射参数的初始散射系数以及所述夹角,确定所述第二散射参数的更新散射系数;
基于所述第一散射参数的初始散射系数、所述第一散射参数的更新散射系数、所述第二散射参数的初始散射系数、所述第二散射参数的更新散射系数、所述亮度参数以及所述参考深度数据,确定所述样本贴图在所述虚拟光源高度角下的内散射参数。
7.根据权利要求1所述的方法,其特征在于,所述基于所述预测渲染值以及所述实际渲染值,对所述初始渲染参数进行训练,得到与所述样本环境配置相匹配的业务渲染参数,包括:
基于所述预测渲染值以及所述实际渲染值,确定所述样本贴图对应的渲染总损失;
基于所述渲染总损失,对所述初始渲染参数进行迭代训练,得到参数训练结果;
若所述参数训练结果指示迭代训练后的初始渲染参数满足训练截止条件,则将满足所述训练截止条件的初始渲染参数确定为与所述样本环境配置相匹配的业务渲染参数。
8.根据权利要求7所述的方法,其特征在于,所述样本贴图包括M个像素点;M为正整数;所述M个像素点包括像素点Xi;i为小于或者等于M的正整数;
所述基于所述预测渲染值以及所述实际渲染值,确定所述样本贴图对应的渲染总损失,包括:
从所述预测渲染值中获取所述像素点Xi的预测渲染值Yi,从所述实际渲染值中获取所述像素点Xi的实际渲染值yi;
将所述预测渲染值Yi以及所述实际渲染值yi之间的渲染差值作为所述像素点Xi的渲染损失,直到得到M个像素点分别对应的渲染损失;
基于M个渲染损失,确定所述样本贴图对应的渲染总损失。
9.根据权利要求1所述的方法,其特征在于,所述业务渲染参数为所述样本环境配置下的目标虚拟光源高度角对应的渲染参数;所述目标虚拟光源高度角属于Z个虚拟光源高度角;Z为大于1的正整数;所述Z个虚拟光源高度角是响应属性添加操作时所获取的;所述属性添加操作为针对参考属性的配置控件所执行的触发操作;
所述方法还包括:
获取所述Z个虚拟光源高度角中的每个虚拟光源高度角分别对应的渲染参数;每个渲染参数中均包括第一散射参数、第二散射参数以及亮度参数;
从Z个渲染参数中分别确定与所述第一散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与所述第一散射参数相关联的第一渲染分布图;
从Z个渲染参数中分别确定与所述第二散射参数相关联的Z个散射系数,在虚拟光源高度角的角度区间内,对确定的Z个散射系数进行拟合,得到与所述第二散射参数相关联的第二渲染分布图;
从Z个渲染参数中分别确定与所述亮度参数相关联的Z个虚拟光源亮度,在虚拟光源高度角的角度区间内,对确定的Z个虚拟光源亮度进行拟合,得到与所述亮度参数相关联的第三渲染分布图;
将所述第一渲染分布图、所述第二渲染分布图以及所述第三渲染分布图确定为与所述样本环境配置相匹配的业务渲染分布图。
10.一种数据处理方法,其特征在于,包括:
在对第一贴图进行散射模拟渲染时,获取针对所述第一贴图的业务环境配置;
若所述业务环境配置为样本环境配置,则获取与所述样本环境配置相匹配的业务渲染参数;所述业务渲染参数是基于样本贴图在所述样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;所述样本贴图的预测渲染值是通过所述第二渲染规则中的初始渲染参数以及所述样本贴图的参考深度数据所确定的;所述样本贴图的实际渲染值以及所述参考深度数据均是基于所述样本贴图的样本体纹理所确定的;所述样本贴图的样本体纹理是由第一渲染规则生成的;所述第一渲染规则用于对包含媒质的虚拟场景进行渲染;所述第二渲染规则用于对媒质散射效果进行渲染;
基于所述业务渲染参数以及所述第二渲染规则,对所述第一贴图的媒质散射效果进行渲染,得到第二贴图。
11.根据权利要求10所述的方法,其特征在于,所述样本环境配置存储至数据库中;
所述若所述业务环境配置为样本环境配置,则获取与所述样本环境配置相匹配的业务渲染参数,包括:
若所述业务环境配置为样本环境配置,则基于所述样本环境配置的关联关系,在所述数据库中查找与所述样本环境配置相匹配的业务渲染分布图;所述业务渲染分布图包括与第一散射参数相关联的第一渲染分布图、与第二散射参数相关联的第二渲染分布图以及与亮度参数相关联的第三渲染分布图;
确定所述第一贴图对应的待渲染角度;
在所述第一渲染分布图中,将所述待渲染角度对应的散射系数确定为第一待处理系数,在所述第二渲染分布图中,将所述待渲染角度对应的散射系数确定为第二待处理系数,在所述第三渲染分布图中,将所述待渲染角度对应的虚拟光源亮度确定为待处理亮度;
将所述第一待处理系数、所述第二待处理系数以及所述待处理亮度确定为与所述样本环境配置相匹配的业务渲染参数。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若所述数据库中不存在与所述业务环境配置相匹配的样本环境配置,则将所述业务环境配置作为更新样本配置,将所述第一贴图作为所述更新样本配置下的更新样本贴图;
获取由所述第一渲染规则生成的所述更新样本贴图的样本体纹理,基于所述更新样本贴图的样本体纹理,分别确定所述更新样本贴图在所述更新样本配置下的实际渲染值以及所述更新样本贴图的参考深度数据;
通过所述第二渲染规则中的初始渲染参数以及所述更新样本贴图的参考深度数据,确定所述更新样本贴图在所述更新样本配置下的预测渲染值;
基于所述更新样本贴图在所述更新样本配置下的实际渲染值以及所述更新样本贴图在所述更新样本配置下的预测渲染值,对所述初始渲染参数进行训练,得到与所述更新样本配置相匹配的更新渲染参数;
基于所述更新渲染参数,将所述更新样本配置存储至所述数据库。
13.一种数据处理装置,其特征在于,包括:
规则获取模块,用于获取渲染规则;所述渲染规则包括第一渲染规则和第二渲染规则;所述第一渲染规则用于对包含媒质的虚拟场景进行渲染;所述第二渲染规则用于对媒质散射效果进行渲染;
样本参考模块,用于获取由所述第一渲染规则生成的样本贴图的样本体纹理,基于所述样本体纹理,分别确定所述样本贴图在样本环境配置下的实际渲染值以及所述样本贴图的参考深度数据;所述实际渲染值与所述参考深度数据均是基于所述样本贴图在虚拟光源高度角下的参考图像所确定的;所述参考图像是从所述样本体纹理在所述虚拟光源高度角下的切片数据中所确定的;
样本预测模块,用于通过所述第二渲染规则中的初始渲染参数以及所述参考深度数据,确定所述样本贴图在所述样本环境配置下的预测渲染值;
训练模块,用于基于所述预测渲染值以及所述实际渲染值,对所述初始渲染参数进行训练,得到与所述样本环境配置相匹配的业务渲染参数;所述业务渲染参数用于对第一贴图的媒质散射效果进行渲染;所述第一贴图的业务环境配置为所述样本环境配置。
14.一种数据处理装置,其特征在于,包括:
配置获取模块,用于在对第一贴图进行散射模拟渲染时,获取针对所述第一贴图的业务环境配置;
业务参数获取模块,用于若所述业务环境配置为样本环境配置,则获取与所述样本环境配置相匹配的业务渲染参数;所述业务渲染参数是基于样本贴图在所述样本环境配置下的预测渲染值和实际渲染值,对第二渲染规则中的初始渲染参数进行训练后所得到的;所述样本贴图的预测渲染值是通过所述第二渲染规则中的初始渲染参数以及所述样本贴图的参考深度数据所确定的;所述样本贴图的实际渲染值以及所述参考深度数据均是基于所述样本贴图的样本体纹理所确定的;所述样本贴图的样本体纹理是由第一渲染规则生成的;所述第一渲染规则用于对包含媒质的虚拟场景进行渲染;所述第二渲染规则用于对媒质散射效果进行渲染;
渲染模块,用于基于所述业务渲染参数以及所述第二渲染规则,对所述第一贴图的媒质散射效果进行渲染,得到第二贴图。
15.一种计算机设备,其特征在于,包括:处理器和存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至12任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1至12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321006.8A CN116030179B (zh) | 2023-03-29 | 2023-03-29 | 一种数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321006.8A CN116030179B (zh) | 2023-03-29 | 2023-03-29 | 一种数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116030179A CN116030179A (zh) | 2023-04-28 |
CN116030179B true CN116030179B (zh) | 2023-06-09 |
Family
ID=86077949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310321006.8A Active CN116030179B (zh) | 2023-03-29 | 2023-03-29 | 一种数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116030179B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112150598A (zh) * | 2020-09-25 | 2020-12-29 | 网易(杭州)网络有限公司 | 云层的渲染方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2017204504A1 (en) * | 2017-06-30 | 2019-01-17 | Canon Kabushiki Kaisha | System and method of rendering a graphical object with modification in structure |
CN110827391B (zh) * | 2019-11-12 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN112263837B (zh) * | 2020-11-16 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 虚拟环境中的天气渲染方法、装置、设备及存储介质 |
CN113870404B (zh) * | 2021-09-23 | 2024-05-07 | 聚好看科技股份有限公司 | 一种3d模型的皮肤渲染方法及显示设备 |
CN114529650A (zh) * | 2022-02-24 | 2022-05-24 | 北京鲸甲科技有限公司 | 一种游戏场景的渲染方法及装置 |
CN115775294A (zh) * | 2022-11-23 | 2023-03-10 | 杭州海康威视数字技术股份有限公司 | 一种场景渲染方法及装置 |
-
2023
- 2023-03-29 CN CN202310321006.8A patent/CN116030179B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112150598A (zh) * | 2020-09-25 | 2020-12-29 | 网易(杭州)网络有限公司 | 云层的渲染方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116030179A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022206380A1 (zh) | 光照渲染方法、装置、计算机设备和存储介质 | |
US7710418B2 (en) | Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon | |
CN111723902A (zh) | 使用神经网络动态估计增强现实场景中位置的照明参数 | |
US11276244B2 (en) | Fixing holes in a computer generated model of a real-world environment | |
CN104091363A (zh) | 一种基于屏幕空间实时的体积云计算方法 | |
US8773434B2 (en) | Directing indirect illumination to visibly influenced scene regions | |
US20200273240A1 (en) | Directional occlusion methods and systems for shading a virtual object rendered in a three-dimensional scene | |
CN114119853B (zh) | 图像渲染方法、装置、设备和介质 | |
US20210158139A1 (en) | Methods and systems for geometry-aware image contrast adjustments via image-based ambient occlusion estimation | |
CN115330640B (zh) | 光照贴图降噪方法、装置、设备和介质 | |
US9098939B2 (en) | System and method of generating light maps | |
CN110908510A (zh) | 一种倾斜摄影建模数据在沉浸式显示设备中的应用方法 | |
Hillaire | A scalable and production ready sky and atmosphere rendering technique | |
CN112150598A (zh) | 云层的渲染方法、装置、设备及存储介质 | |
JP7460778B2 (ja) | モバイル機器における大規模建築物の拡張現実具現のためのデータ最適化及びインターフェース向上方法 | |
CN108090949A (zh) | 一种基于光能传播的实时全局光照方法 | |
CN116894922A (zh) | 一种基于实时图形引擎的夜视图像生成方法 | |
WO2021185615A1 (en) | Method and apparatus for adapting a scene rendering | |
CN116030179B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN116883573A (zh) | 基于WebGL的地图建筑渲染方法及其系统 | |
Kwak et al. | Harmonic rendering for visual coherence on mobile outdoor AR environment | |
Boorboor et al. | VoxAR: Adaptive Visualization of Volume Rendered Objects in Optical See-Through Augmented Reality | |
CN117649478B (zh) | 模型训练方法、图像处理方法及电子设备 | |
Andrade et al. | An unstructured lumigraph based approach to the SVBRDF estimation problem | |
Huang et al. | Lighting and Foggy Effect Transfer. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |