本申请涉及计算机,特别涉及一种纹理渲染方法、装置、终端及存储介质。
背景技术:
1、随着计算机技术的发展,游戏的种类越来越多,用户更倾向于玩与真实世界更接近的游戏。其中,如果游戏中各个游戏对象的纹理具有真实世界的效果,则会提高游戏的真实性,从而吸引更多的用户。然而,在游戏中,很多时候游戏对象在光照下的纹理并没有达到光照效果。因此,如何优化游戏对象的纹理,是一个需要解决的问题。
2、目前,通常采用神经网络对游戏中各个游戏对象的纹理进行光照视觉重建,使得游戏对象在光照下的纹理能够达到光照效果,从而优化各个游戏对象的纹理。但是,由于上述方法是对游戏中的全部纹理进行光照视觉重建,导致计算量较大,需要耗费大量的硬件资源。
技术实现思路
1、本申请实施例提供了一种纹理渲染方法、装置、终端及存储介质,能够提升欠采样点的纹理的视觉效果,实现了对纹理的优化。所述技术方案如下:
2、一方面,提供了一种纹理渲染方法,所述方法包括:
3、基于目标虚拟对象的立方体表面光场图像,生成所述目标虚拟对象的3d纹理,所述立方体表面光场图像由所述目标虚拟对象的多个纹理图像组成,所述多个纹理图像通过从不同角度对所述目标虚拟对象已渲染的纹理进行拍摄得到;
4、基于所述目标虚拟对象的3d纹理中的光线信息,确定至少一个欠采样点,所述欠采样点用于指示未进行光线采样的纹理像素点,所述光线信息用于指示纹理像素点的光线的颜色值;
5、对于任一个欠采样点,基于所述欠采样点相邻的多个纹理像素点的光线,确定所述欠采样点的光线的颜色值;
6、基于所述至少一个欠采样点的光线的颜色值,重新渲染所述目标虚拟对象的纹理。
7、另一方面,提供了一种纹理渲染装置,所述装置包括:
8、生成模块,用于基于目标虚拟对象的立方体表面光场图像,生成所述目标虚拟对象的3d纹理,所述立方体表面光场图像由所述目标虚拟对象的多个纹理图像组成,所述多个纹理图像通过从不同角度对所述目标虚拟对象已渲染的纹理进行拍摄得到;
9、第一确定模块,用于基于所述目标虚拟对象的3d纹理中的光线信息,确定至少一个欠采样点,所述欠采样点用于指示未进行光线采样的纹理像素点,所述光线信息用于指示纹理像素点的光线的颜色值;
10、第二确定模块,用于对于任一个欠采样点,基于所述欠采样点相邻的多个纹理像素点的光线,确定所述欠采样点的光线的颜色值;
11、渲染模块,用于基于所述至少一个欠采样点的光线的颜色值,重新渲染所述目标虚拟对象的纹理。
12、在一些实施例中,所述第二确定模块,用于对于任一个欠采样点,确定与所述欠采样点的距离小于距离阈值的多个纹理像素点;基于所述纹理像素点的权重,对所述多个纹理像素点的光线的颜色值进行加权求和,得到所述欠采样点的光线的颜色值,所述纹理像素点的权重用于指示所述纹理像素点与所述欠采样点之间距离的远近。
13、在一些实施例中,所述装置还包括:
14、第三确定模块,用于对于所述多个纹理像素点中的任一纹理像素点,基于距离参数以及所述纹理像素点与所述欠采样点之间的距离,确定所述纹理像素点的权重。
15、在一些实施例中,所述第一确定模块,用于基于目标视点的视点参数,确定从所述目标视点到所述立方体表面光场图像的多条光线;确定所述多条光线与所述立方体表面光场图像的多个交点;对于所述多个交点中的任一交点,在所述交点为未进行光线采样的纹理像素点的情况下,确定所述交点为欠采样点。
16、在一些实施例中,所述第一确定模块,用于在所述交点为已进行光线采样的纹理像素点的情况下,基于所述目标虚拟对象的3d纹理中的光线信息,查询所述交点的颜色值;将所述交点的颜色值作为穿过所述交点的光线的颜色值。
17、在一些实施例中,所述立方体表面光场图像的六个表面分别对应六个立方体贴图;所述生成模块,用于生成所述六个立方体贴图分别对应的六个图像矩阵,所述图像矩阵中的元素用于表示所述立方体贴图中纹理像素点的坐标;对于所述六个图像矩阵中的任一图像矩阵,基于所述图像矩阵中的元素,对所述图像矩阵进行横向拼接,得到所述图像矩阵对应的一维矩阵,所述一维矩阵的维度的数量等于所述图像矩阵中的元素的数量;基于所述六个图像矩阵对应的六个一维矩阵,生成所述目标虚拟对象的3d纹理。
18、在一些实施例中,所述装置还包括:
19、划分模块,用于将所述目标虚拟对象的3d纹理划分成多个像素块,所述像素块包括多个纹理像素点;
20、第四确定模块,用于对于所述多个像素块中的任一像素块,基于所述像素块中多个纹理像素点的颜色值,确定所述像素块的灰度空间的两个端点颜色和每一个纹理像素点的颜色系数,所述颜色系数用于确定所述纹理像素点的颜色值;
21、存储模块,用于存储所述灰度空间的两个端点颜色和所述每一个纹理像素点的颜色系数。
22、在一些实施例中,所述第四确定模块,用于基于所述像素块中多个纹理像素点的颜色值,确定所述像素块的rgb空间的两个端点颜色和每一个纹理像素点的颜色系数;将所述两个端点颜色由rgb空间转换至灰度空间,得到灰度空间的两个端点颜色。
23、另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行以实现本申请实施例中的纹理渲染方法。
24、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一段计算机程序,所述至少一段计算机程序由处理器加载并执行以实现如本申请实施例中的纹理渲染方法。
25、另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行以实现本申请实施例中的纹理渲染方法。
26、本申请实施例提供了一种纹理渲染方案,通过目标虚拟对象的立方体表面光场图像,生成目标虚拟对象的3d纹理,能够根据3d纹理中的光线信息,确定欠采样点,也即是确定未进行光线采样的纹理像素点。欠采样点对应的纹理像素点在光照下并没有达到光照效果。通过与欠采样点相邻的多个已进行光线采样的纹理像素点的光线,确定欠采样点的光线的颜色值,并重新渲染目标虚拟对象的纹理,能够对目标虚拟对象的纹理进行光照视觉重建,从而提升局部纹理的视觉效果,也即提升欠采样点的纹理的视觉效果,实现了对纹理的优化,且硬件资源的消耗量较少。
1.一种纹理渲染方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对于任一个欠采样点,基于所述欠采样点相邻的多个纹理像素点的光线,确定所述欠采样点的光线的颜色值,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述纹理像素点的权重,对所述多个纹理像素点的光线的颜色值进行加权求和,得到所述欠采样点的光线的颜色值之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标虚拟对象的3d纹理中的光线信息,确定至少一个欠采样点,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述立方体表面光场图像的六个表面分别对应六个立方体贴图;
7.根据权利要求1所述的方法,其特征在于,所述生成所述目标虚拟对象的3d纹理之后,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述基于所述像素块中多个纹理像素点的颜色值,确定所述像素块的灰度空间的两个端点颜色和每一个纹理像素点的颜色系数,包括:
9.一种纹理渲染装置,其特征在于,所述装置包括:
10.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器用于存储至少一段计算机程序,所述至少一段计算机程序由所述处理器加载并执行权利要求1至8任一项权利要求所述的纹理渲染方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段计算机程序,所述至少一段计算机程序用于执行权利要求1至8任一项权利要求所述的纹理渲染方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项权利要求所述的纹理渲染方法。