虚拟对象的渲染方法、装置、电子设备及存储介质与流程

文档序号:36096870发布日期:2023-11-20 23:46阅读:33来源:国知局
虚拟对象的渲染方法与流程

本公开涉及图像处理,具体而言,涉及一种虚拟对象的渲染方法、虚拟对象的渲染装置、电子设备以及计算机可读存储介质。


背景技术:

1、环境贴图是一种用于模拟高度反射物体表面反映周围环境的贴图,在图像渲染中,通过对环境贴图渲染能够模拟出真实环境,例如模拟真实环境中的云、光晕或者光线散射等。常见的环境贴图主要有立方体贴图(cubemap)、经纬度全景图(latlongmap)以及球形贴图(spheremap)。

2、在对立方体贴图渲染时,图像处理器需要对六张图进行渲染,需要占用较多的带宽,在经纬度全景图以及球形贴图渲染时,其处理过程较为繁琐,从而影响图像渲染的性能。


技术实现思路

1、本公开实施例至少提供一种虚拟对象的渲染方法、装置、电子设备以及计算机存储介质,可以降低模型渲染过程中纹理贴图占用的带宽,从而提升模型渲染的性能。

2、本公开实施例提供了一种虚拟对象的渲染方法,包括:

3、获取虚拟对象模型以及与所述虚拟对象模型对应的二维纹理贴图;所述二维纹理贴图包括多个二维像素点的像素信息,每个二维像素点为基于对应的反射向量对球形贴图上对应的三维像素点进行采样得到,所述球形贴图基于与所述虚拟对象模型对应的立方体贴图得到,所述反射向量基于预设的入射向量得到;

4、针对所述二维纹理贴图中的每个二维像素点,根据所述反射向量,确定所述二维像素点的二维uv坐标;

5、根据所述每个二维像素点的二维uv坐标以及像素信息,对所述虚拟对象模型进行纹理渲染,生成虚拟对象。

6、本公开实施例中,由于二维纹理贴图上的各个二维像素点的像素信息是基于对应的反射向量对球形贴图上对应的三维像素点采样得到的,且球形贴图是基于虚拟对象模型对应的立方体贴图得到的,也即,在对虚拟对象模型渲染时,相对于相关技术中通过对形成立方体贴图的六个二维纹理图采样的方式相比,只需要对一张二维纹理贴图的像素信息进行采样即可,可以降低渲染的带宽,从而提升渲染的效率,此外,还可以实现与立方体贴图相同的渲染效果。

7、在一种可能的实施方式中,所述根据所述反射向量,确定所述二维纹理贴图中的每个二维像素点的二维uv坐标,包括:

8、针对所述虚拟对象模型对应的球形贴图上的每个三维像素点,基于所述反射向量以及所述预设的入射向量,确定法线向量;

9、基于所述法线向量,确定所述二维像素点对应的二维uv坐标。

10、本公开实施例中,针对球心为原点的球形贴图,球面坐标即等同于法线向量,因此,需要确定法线向量,并基于法线向量确定二维uv坐标,如此,可以提升二维uv坐标的准确性。

11、在一种可能的实施方式中,所述法线向量包括x轴分量、y轴分量以及z轴分量;所述基于所述法线向量,确定所述二维像素点对应的二维uv坐标,包括:

12、将所述法线向量中的x轴分量确定为水平坐标,以及将所述z轴分量确定为垂直坐标,并基于所述水平坐标以及垂直坐标,生成所述二维uv坐标。

13、本公开实施例中,由于立方体贴图的-y面对应地表以下环境,在生成二维uv坐标时,只需要保留二维坐标,而-y面的像素信息通常不会被使用,因此,可以将x轴分量作为水平坐标,将y轴分量作为垂直坐标,生成二维uv坐标,如此,在后续模型渲染过程中,可以基于二维uv坐标精确到各个像素点,有利于提升渲染精度。

14、在一种可能的实施方式中,所述虚拟对象模型为具有镜像区域的模型,二维纹理贴图为虚拟环境的贴图;所述根据所述每个二维像素点的二维uv坐标以及像素信息,对所述虚拟对象模型进行纹理渲染,包括:

15、基于所述虚拟对象模型在所述虚拟环境中的相对位置以及所述镜像区域的尺寸,对所述二维纹理贴图中的二维像素点进行采样,得到多个采样像素点;

16、根据所述多个采样像素点的二维uv坐标以及像素信息,对所述虚拟对象模型的镜像区域进行纹理渲染。

17、本公开实施例中,基于虚拟对象模型在虚拟环境中的相对位置以及镜像区域的尺寸,对二维纹理贴图中的二维像素点采样,这样,基于采样点的二维uv坐标以及像素信息,对镜面区域进行渲染,如此,可以使得镜面区域呈现出镜面反射的效果。

18、在一种可能的实施方式中,所述二维纹理贴图通过以下步骤生成:

19、获取所述立方体贴图,并对立方图贴图进行转换得到所述球形贴图;

20、针对所述球形贴图上的每个三维像素点,基于所述预设入射向量以及与所述三维像素点对应的三维坐标,确定与所述三维像素点对应的反射向量,并基于所述反射向量,确定与三维像素点对应的二维像素点;

21、创建新的二维贴图,并将各个二维像素点的像素信息存储到所述二维贴图中,得到所述二维纹理贴图。

22、本公开实施例中,在确定球形贴图上的每个三位像素点对应的反射向量后,基于反射向量确定对应的二维像素点,如此,可以将球形贴图上的各个点采集完整,使得二维纹理贴图上的像素信息与立方体贴图上的像素信息一致,从而在后续进行模型渲染时,可以确保渲染效果。

23、在一种可能的实施方式中,所述二维纹理贴图的分辨率低于所述立方体贴图的分辨率。

24、本公开实施例中,由于二维纹理贴图的分辨率低于立方体贴图的分辨率,如此,使得二维纹理贴图所占用的内存较小,如此,在模型渲染的过程中即可降低数据传输的带宽,从而提升渲染效率。

25、在一种可选的实施方式中,所述基于所述预设入射向量以及与所述三维像素点对应的三维坐标,确定与所述三维像素点对应的反射向量,包括:

26、基于所述预设入射向量以及与所述三维像素点对应的三维坐标,确定与所述三维的像素点对应的初始反射向量;

27、将所述初始反射向量中的y轴分量和z轴分量进行交换,得到所述反射向量。

28、本公开实施例中,由于y轴分量对应的是立方体贴图的y面,且y面的像素信息通常为环境中地表以下的内容,因此,通过将y轴分量和z轴分量进行交换,可以使得像素信息较为完整。

29、在一种可选的实施方式中,各个三维的像素点对应的预设的入射向量之间相互平行。

30、本公开实施例中,各个三维的像素点对应的预设的入射向量之间相互平行,也可以理解为入射点距离球形贴图的距离无限远,这样,可以使得获取到的球形贴图的像素信息更加丰富和完整。

31、本公开实施例提供了一种虚拟对象的渲染装置,包括:

32、获取模块,用于获取虚拟对象模型以及与所述虚拟对象模型对应的二维纹理贴图;所述二维纹理贴图包括多个二维像素点的像素信息,每个二维像素点为基于对应的反射向量对球形贴图上对应的三维像素点进行采样得到,所述球形贴图基于与所述虚拟对象模型对应的立方体贴图得到,所述反射向量基于预设的入射向量得到;

33、确定模块,用于针对所述二维纹理贴图中的每个二维像素点,根据所述反射向量,确定所述二维像素点的二维uv坐标;

34、渲染模块,用于根据所述每个二维像素点的二维uv坐标以及像素信息,对所述虚拟对象模型进行纹理渲染,生成虚拟对象。

35、在一种可能的实施方式中,所述确定模块具体用于:

36、针对所述虚拟对象模型对应的球形贴图上的每个三维像素点,基于所述反射向量以及所述预设的入射向量,确定法线向量;

37、基于所述法线向量,确定所述二维像素点对应的二维uv坐标。

38、在一种可能的实施方式中,所述法线向量包括x轴分量、y轴分量以及z轴分量;所述确定模块具体用于:

39、将所述法线向量中的x轴分量确定为水平坐标,以及将所述z轴分量确定为垂直坐标,并基于所述水平坐标以及垂直坐标,生成所述二维uv坐标。

40、在一种可能的实施方式中,所述虚拟对象模型为具有镜像区域的模型,二维纹理贴图为虚拟环境的贴图;所述渲染模块具体用于:

41、基于所述虚拟对象模型在所述虚拟环境中的相对位置以及所述镜像区域的尺寸,对所述二维纹理贴图中的二维像素点进行采样,得到多个采样像素点;

42、根据所述多个采样像素点的二维uv坐标以及像素信息,对所述虚拟对象模型的镜像区域进行纹理渲染。

43、在一种可能的实施方式中,所述装置还包括生成模块,所述生成模块用于:

44、获取所述立方体贴图,并对立方图贴图进行转换得到所述球形贴图;

45、针对所述球形贴图上的每个三维像素点,基于所述预设入射向量以及与所述三维像素点对应的三维坐标,确定与所述三维像素点对应的反射向量,并基于所述反射向量,确定与三维像素点对应的二维像素点;

46、创建新的二维贴图,并将各个二维像素点的像素信息存储到所述二维贴图中,得到所述二维纹理贴图。

47、在一种可能的实施方式中,所述二维纹理贴图的分辨率低于所述立方体贴图的分辨率。

48、在一种可能的实施方式中,所述生成模块具体用于:

49、基于所述预设入射向量以及与所述三维像素点对应的三维坐标,确定与所述三维的像素点对应的初始反射向量;

50、将所述初始反射向量中的y轴分量和z轴分量进行交换,得到所述反射向量。

51、在一种可能的实施方式中,各个三维的像素点对应的预设的入射向量之间相互平行。

52、本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一种可能的实施方式中所述的虚拟对象的渲染方法的步骤。

53、本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的实施方式中所述的虚拟对象的渲染方法的步骤。

54、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1