CN114842127A - 地形渲染方法及装置、电子设备、介质及产品 - Google Patents
地形渲染方法及装置、电子设备、介质及产品 Download PDFInfo
- Publication number
- CN114842127A CN114842127A CN202210567577.5A CN202210567577A CN114842127A CN 114842127 A CN114842127 A CN 114842127A CN 202210567577 A CN202210567577 A CN 202210567577A CN 114842127 A CN114842127 A CN 114842127A
- Authority
- CN
- China
- Prior art keywords
- rendered
- dimension
- graph
- homogeneous
- coordinate data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本公开提供一种地形渲染方法及装置、电子设备、介质及产品,涉及计算机视觉技术领域。该地形渲染方法包括:确定待渲染地形对应的渲染图形,将渲染图形顶点的世界坐标传入顶点着色器;通过顶点着色器,根据渲染图形顶点的世界坐标和渲染图形在物理贴图上的位置信息,确定渲染图形顶点的齐次坐标;将渲染图形顶点的齐次坐标传入像素着色器;通过像素着色器,根据渲染图形顶点的齐次坐标、渲染图形在物理贴图上的位置信息和渲染图形在虚拟贴图上的位置信息,确定渲染图形的物理纹理坐标;基于渲染图形的物理纹理坐标渲染待渲染地形。该方法能够减少顶点着色器阶段的顶点着色压力,保证帧率平稳和内存稳定。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种地形渲染方法及装置、电子设备、介质及产品。
背景技术
地形渲染是虚拟自然场景中的重要组成部分,可以通过运行时虚拟纹理(RuntimeVirtual texture,RVT)实现地形渲染。RVT是虚幻引擎4.23版提供的一项功能,可以在运行时使用图像处理器(Graphics Processing Unit,GPU)按需生成和缓存纹理数据,其可以缓存大面积的着色数据,因此非常适合使用贴花类材质和非常适合地形的样条线的景观着色。相关技术中,可以通过虚幻引擎4.23版提供的RVT实现地形渲染。但是分析得到,RVT在地形渲染时需要处理所有的顶点信息,导致顶点着色器压力过大,并且需要频繁的渲染页面切换和拷贝操作,对渲染器不友好。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供一种地形渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品,以至少解决需要处理所有的顶点信息而导致的顶点着色器压力过大的问题。
根据本公开实施例的一个方面,提供一种地形渲染方法,包括:确定待渲染地形对应的渲染图形,将渲染图形顶点的世界坐标传入顶点着色器;通过所述顶点着色器,根据所述渲染图形顶点的世界坐标和所述渲染图形在物理贴图上的位置信息,确定所述渲染图形顶点的齐次坐标;将所述渲染图形顶点的齐次坐标传入像素着色器;通过所述像素着色器,根据所述渲染图形顶点的齐次坐标、所述渲染图形在物理贴图上的位置信息和所述渲染图形在虚拟贴图上的位置信息,确定所述渲染图形的物理纹理坐标。
在本公开的一个实施例中,所述渲染图形顶点的世界坐标包括:第一维度世界坐标数据、第二维度世界坐标数据和第三维度世界坐标数据,其中,所述第三维度世界坐标数据为通过所述渲染图形的序号标识确定的。
在本公开的一个实施例中,所述方法还包括:根据所述第三维度世界坐标数据,获取所述渲染图形的序号标识;根据所述渲染图形的序号标识,确定所述渲染图形在物理贴图上的位置信息,其中,所述渲染图形在物理贴图上的位置信息为所述渲染图形顶点的物理贴图坐标,所述渲染图形顶点的物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据;以及根据所述渲染图形的序号标识,确定所述渲染图形在虚拟贴图上的位置信息,其中,所述渲染图形在虚拟贴图上的位置信息为所述渲染图形顶点的虚拟贴图坐标,所述渲染图形顶点的虚拟贴图坐标包括第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据。
在本公开的一个实施例中,所述根据所述渲染图形顶点的世界坐标和所述渲染图形在物理贴图上的位置信息,确定所述渲染图形顶点的齐次坐标,包括:以所述渲染图形顶点的世界坐标作为参考,将所述渲染图形顶点的物理贴图坐标映射到齐次空间,获得所述渲染图形顶点的齐次坐标,其中,所述渲染图形顶点的齐次坐标包括第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据。
在本公开的一个实施例中,所述以所述渲染图形顶点的世界坐标作为参考,将所述渲染图形顶点的物理贴图坐标映射到齐次空间,获得所述渲染图形顶点的齐次坐标,包括:以所述第一维度世界坐标数据作为参考,基于齐次空间的第一维度坐标取值范围,对所述第一维度物理贴图坐标数据进行坐标转换,获得所述第一维度齐次坐标数据;以所述第二维度世界坐标数据作为参考,基于齐次空间的第二维度坐标取值范围,对所述第二维度物理贴图坐标数据进行坐标转换,获得所述第二维度齐次坐标数据;基于齐次空间的第三维度坐标取值范围,对所述第三维度世界坐标数据进行坐标转换,获得所述第三维度齐次坐标数据;设置所述第四维度齐次坐标数据为预设值;根据所述第一维度齐次坐标数据、所述第二维度齐次坐标数据、所述第三维度齐次坐标数据和所述第四维度齐次坐标数据,确定所述渲染图形顶点的齐次坐标。
在本公开的一个实施例中,所述根据所述渲染图形顶点的齐次坐标、所述渲染图形在物理贴图上的位置信息和所述渲染图形在虚拟贴图上的位置信息,确定所述渲染图形的物理纹理坐标,包括:根据所述第一维度齐次坐标数据和所述第二维度齐次坐标数据,基于所述渲染图形在虚拟贴图中的尺寸信息,对所述第一维度物理贴图坐标数据和所述第二维度物理贴图坐标数据进行坐标转换,获得第一维度坐标偏移数据和第二维度坐标偏移数据,其中,所述渲染图形在虚拟贴图中的尺寸信息为通过所述渲染图形的序号标识确定的;以所述第一维度虚拟贴图坐标数据和所述第二维度虚拟贴图坐标数据作为参考,对所述第一维度坐标偏移数据和所述第二维度坐标偏移数据进行坐标转换,获得所述渲染图形的物理纹理坐标。
在本公开的一个实施例中,所述渲染图形的数量为至少一个。
在本公开的一个实施例中,所述渲染图形为正方形。
根据本公开实施例的又一方面,提供一种地形渲染装置,包括:渲染图形确定模块,用于确定待渲染地形对应的渲染图形;坐标传入模块,用于将渲染图形顶点的世界坐标传入顶点着色器;齐次坐标确定模块,用于通过所述顶点着色器,根据所述渲染图形顶点的世界坐标和所述渲染图形在物理贴图上的位置信息,确定所述渲染图形顶点的齐次坐标;所述坐标传入模块,还用于将所述渲染图形顶点的齐次坐标传入像素着色器;物理纹理坐标确定模块,用于通过所述像素着色器,根据所述渲染图形顶点的齐次坐标、所述渲染图形在物理贴图上的位置信息和所述渲染图形在虚拟贴图上的位置信息,确定所述渲染图形的物理纹理坐标;渲染模块,用于基于所述渲染图形的物理纹理坐标渲染所述待渲染地形。
在本公开的一个实施例中,所述渲染图形顶点的世界坐标包括:第一维度世界坐标数据、第二维度世界坐标数据和第三维度世界坐标数据,其中,所述第三维度世界坐标数据为通过所述渲染图形的序号标识确定的。
在本公开的一个实施例中,所述装置还包括位置信息确定模块,用于:根据所述第三维度世界坐标数据,获取所述渲染图形的序号标识;根据所述渲染图形的序号标识,确定所述渲染图形在物理贴图上的位置信息,其中,所述渲染图形在物理贴图上的位置信息为所述渲染图形顶点的物理贴图坐标,所述渲染图形顶点的物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据;以及根据所述渲染图形的序号标识,确定所述渲染图形在虚拟贴图上的位置信息,其中,所述渲染图形在虚拟贴图上的位置信息为所述渲染图形顶点的虚拟贴图坐标,所述渲染图形顶点的虚拟贴图坐标包括第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据。
在本公开的一个实施例中,所述齐次坐标确定模块还用于:以所述渲染图形顶点的世界坐标作为参考,将所述渲染图形顶点的物理贴图坐标映射到齐次空间,获得所述渲染图形顶点的齐次坐标,其中,所述渲染图形顶点的齐次坐标包括第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据。
在本公开的一个实施例中,所述齐次坐标确定模块还用于:以所述第一维度世界坐标数据作为参考,基于齐次空间的第一维度坐标取值范围,对所述第一维度物理贴图坐标数据进行坐标转换,获得所述第一维度齐次坐标数据;以所述第二维度世界坐标数据作为参考,基于齐次空间的第二维度坐标取值范围,对所述第二维度物理贴图坐标数据进行坐标转换,获得所述第二维度齐次坐标数据;基于齐次空间的第三维度坐标取值范围,对所述第三维度世界坐标数据进行坐标转换,获得所述第三维度齐次坐标数据;设置所述第四维度齐次坐标数据为预设值;根据所述第一维度齐次坐标数据、所述第二维度齐次坐标数据、所述第三维度齐次坐标数据和所述第四维度齐次坐标数据,确定所述渲染图形顶点的齐次坐标。
在本公开的一个实施例中,所述物理纹理坐标确定模块还用于:根据所述第一维度齐次坐标数据和所述第二维度齐次坐标数据,基于所述渲染图形在虚拟贴图中的尺寸信息,对所述第一维度物理贴图坐标数据和所述第二维度物理贴图坐标数据进行坐标转换,获得第一维度坐标偏移数据和第二维度坐标偏移数据,其中,所述渲染图形在虚拟贴图中的尺寸信息为通过所述渲染图形的序号标识确定的;以所述第一维度虚拟贴图坐标数据和所述第二维度虚拟贴图坐标数据作为参考,对所述第一维度坐标偏移数据和所述第二维度坐标偏移数据进行坐标转换,获得所述渲染图形的物理纹理坐标。
在本公开的一个实施例中,所述渲染图形的数量为至少一个。
在本公开的一个实施例中,所述渲染图形为正方形。
根据本公开实施例的再一方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的地形渲染方法。
根据本公开实施例的又一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述的地形渲染方法。
根据本公开实施例的又一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述的地形渲染方法。
本公开的实施例提供的技术方案至少带来以下有益效果:先确定待渲染地形对应的渲染图形,然后将渲染图形顶点的世界坐标传入顶点着色器中,这样可以通过该顶点着色器,以渲染图形顶点的世界坐标作为参考,根据渲染图形在物理贴图上的位置信息确定渲染图形顶点的齐次坐标;接着将该齐次坐标传入像素着色器中,然后可以通过该像素着色器,根据通过顶点着色器确定的齐次坐标,结合渲染图形在物理贴图上的位置信息和在虚拟贴图上的位置信息,计算得到渲染图形的物理纹理坐标;最后,可以利用得到的物理纹理坐标渲染待渲染地形。一方面不需要处理所有的顶点信息,能够减少顶点着色器阶段的顶点着色压力;另一方面不需要频繁的渲染页面切换和拷贝操作,能够保证帧率平稳和内存固定。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的地形渲染方法的示例性系统架构的示意图;
图2是根据一示例性实施例示出的地形渲染方法的流程图;
图3是相关技术中地形渲染方法的示例图;
图4是示出的地形的线框模式的顶视图;
图5是根据一示例性实施例示出的渲染图形的示意图;
图6是虚拟贴图、虚拟纹理页表与物理贴图之间的关系示意图;
图7是根据一示例性实施例示出的图5所示的渲染图形在物理贴图上的位置信息;
图8是根据一示例性实施例示出的物理贴图的坐标示意图;
图9是根据一示例性实施例示出的通过顶点着色器确定渲染图形顶点的齐次坐标的流程示意图;
图10是相关技术的地形渲染方法与本公开实施例的地形渲染方法的帧率对比结果示意图;
图11是相关技术的地形渲染方法与本公开实施例的地形渲染方法的内存对比结果示意图;
图12是根据一示例性实施例示出的地形渲染装置1200的框图;
图13是根据一示例性实施例示出的地形渲染的电子设备的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的地形渲染方法的示例性系统架构的示意图。如图1所示,该系统架构可以包括服务器101、网络102和客户端103。网络102用以在客户端103和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
在一些可选的实施例中,与服务端101进行数据传输的客户端103可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、AR(AugmentedReality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备、智能可穿戴设备等类型的电子设备,或者,客户端103也可以是个人计算机,比如膝上型便携计算机和台式计算机等等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在一些实际应用中,服务器101也可以是网络平台的服务器,网络平台例如可以是交易平台、直播平台、社交平台或者音乐平台等,本公开实施例对此不作限定。其中,服务器可以是一台服务器,也可以是多台服务器形成的集群,本公开对于服务器的具体架构不做限定。
在一些可选的实施例中,客户端103用于实现地形渲染方法的过程可以是:客户端103确定待渲染地形对应的渲染图形,将渲染图形顶点的世界坐标传入顶点着色器;客户端103通过顶点着色器,根据渲染图形顶点的世界坐标和渲染图形在物理贴图上的位置信息,确定渲染图形顶点的齐次坐标;客户端103将渲染图形顶点的齐次坐标传入像素着色器;客户端103通过像素着色器,根据渲染图形顶点的齐次坐标、渲染图形在物理贴图上的位置信息和渲染图形在虚拟贴图上的位置信息,确定渲染图形的物理纹理坐标;客户端103基于渲染图形的物理纹理坐标渲染待渲染地形。
此外,需要说明的是,图1所示的仅仅是本公开提供的地形渲染方法的一种应用环境。图1中的客户端、网络和服务器的数目仅仅是示意性的,根据实际需要,可以具有任意数目的客户端、网络和服务器。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像信息标注、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术。
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图及实施例对本公开示例实施例中的地形渲染方法的各个步骤进行更详细的说明。
图2是根据一示例性实施例示出的地形渲染方法的流程图,图2实施例提供的方法的执行主体可以是任意的电子设备,例如图1实施例中的客户端103,但本公开并不限定于此。
如图2所示,地形渲染方法可以包括以下步骤S210至步骤S250。
步骤S210:确定待渲染地形对应的渲染图形,将渲染图形顶点的世界坐标传入顶点着色器;
步骤S220:通过顶点着色器,根据渲染图形顶点的世界坐标和渲染图形在物理贴图上的位置信息,确定渲染图形顶点的齐次坐标;
步骤S230:将渲染图形顶点的齐次坐标传入像素着色器;
步骤S240:通过像素着色器,根据渲染图形顶点的齐次坐标、渲染图形在物理贴图上的位置信息和渲染图形在虚拟贴图上的位置信息,确定渲染图形的物理纹理坐标;
步骤S250:基于渲染图形的物理纹理坐标渲染待渲染地形。
在本申请实施例提供的地形渲染方法中,先确定待渲染地形对应的渲染图形,然后将渲染图形顶点的世界坐标传入顶点着色器中,这样可以通过该顶点着色器,以渲染图形顶点的世界坐标作为参考,根据渲染图形在物理贴图上的位置信息确定渲染图形顶点的齐次坐标;接着将该齐次坐标传入像素着色器中,然后可以通过该像素着色器,根据通过顶点着色器确定的齐次坐标,结合渲染图形在物理贴图上的位置信息和在虚拟贴图上的位置信息,计算得到渲染图形的物理纹理坐标;最后,可以利用得到的物理纹理坐标渲染待渲染地形。本申请一方面不需要处理所有的顶点信息,能够减少顶点着色器阶段的顶点着色压力;另一方面不需要频繁的渲染页面切换和拷贝操作,能够保证帧率平稳和内存固定。
下面对地形渲染方法的各个方法步骤的具体实现方式进行详细说明。
在步骤S210中,确定待渲染地形对应的渲染图形,将渲染图形顶点的世界坐标传入顶点着色器。
在计算机图形中,渲染是指将三维场景中的物体模型,按照设定好的环境、材质、光照及渲染参数,二维投影成数字图像的过程。也即,渲染是将三维的光能传递处理转换为一个二维图像的过程。
客户端中部署有三维场景应用的应用程序,应用程序中部署有渲染器。渲染器是可实现地形渲染的核心组件或系统,通过利用渲染器可迅速实现所需的地形渲染功能,并能够实现将模型、动画、光影、特效等所有效果实时计算出来,并在客户端的显示屏上展示渲染效果。例如,游戏应用程序中的渲染器可以包括Unreal Engine虚幻引擎、Unity引擎等。
其中,渲染器中包括着色器,着色器是用于实现地形渲染的穿插在渲染管线上的一段算法程序,负责将输入的顶点数据以指定的方式和输入的贴图或者颜色等组合起来,然后输出。通常是由GPU通过着色器读入相应的输入纹理数据,通过GPU的渲染管线对待渲染地形进行渲染。具体的,着色器可以包括顶点着色器和像素着色器。顶点着色器主要负责顶点的几何关系等的运算处理,像素着色器主要负责片元颜色等的运算处理。
待渲染地形可以为三维场景中待展示的地形画面。比如,在游戏场景中,如果旋转镜头,需要展示的地形画面是变化的。通过展示连续的地形画面对应的图像帧,能够展示动态的地形场景或地形场景视频。其中,待渲染地形可以表示在展示三维场景的过程中当前需要渲染处理的图像帧。
相关技术中,可以通过虚幻引擎4.23版提供的RVT实现地形渲染。图3是相关技术中地形渲染方法的示例图。从图3可以看出,通过虚幻引擎4.23版提供的RVT进行地形渲染的方法中,在所需位置的上方通过渲染实际物体获取贴图。由于RVT需要处理所有的顶点信息,导致顶点着色器压力过大,并且需要频繁的渲染页面切换和拷贝操作,对渲染器不友好。
图4是示出的地形的线框模式的顶视图。从图4可以看出,地形在平面上是均匀的网格体,但是实际上地形是有起伏的。也即,可以认为地形在XY方向上是均匀分布的特殊网格体,通过调整Z方向上的值来实现地形的起伏。地形的渲染需要权重图,权重图的顶点个数跟地形的顶点个数相同,如果地形是均匀的网格体,那么可以使用光栅化的线性插值来代替每个顶点的单独计算。所以,在地形渲染时,可以使用光栅化线性插值替代渲染的实际物体。
具体实现为,在步骤S210中,先获取到待渲染地形对应的渲染图形。其中,渲染图形的数量为至少一个,渲染图形可以为正方形。也就是说,可以认为待渲染地形是由至少一个渲染图形得到的。每个渲染图形代表可以绘制一个贴图,后续处理中确定每个渲染图形在物理贴图中的位置信息和在虚拟贴图中的位置信息,进而可以利用确定的位置信息渲染待渲染地形。由于渲染图形的数量为至少一个,可以利用渲染图形的唯一标识将渲染图形区分开,具体的可以采用渲染图形的序号标识区分不同的渲染图形。图5是根据一示例性实施例示出的渲染图形的示意图。如图5所示,待渲染地形对应的渲染图形为8个正方形,每个正方形代表可以绘制一个贴图,8个正方形的序号标识分别为0、1、2、3、4、5、6、7。
将渲染图形顶点的世界坐标传入顶点着色器中,后续可以通过顶点着色器确定渲染图形在物理贴图上的具体位置信息。其中,顶点着色器是用于在三维场景中增加各式特效等的处理单元,顶点着色器的可程式化特性允许开发者靠加载新的软件指令来调整各式的特效。每一个顶点可以被各种的数据清楚地定义,至少包括每一顶点的x、y、z坐标。例如,每一个顶点可以包括颜色、最初的径路、材质、光线特征等中的至少一种数据。
计算机图形学中的坐标系系统中各坐标系系统之间是相对的,如坐标系可以包括世界坐标系、纹理坐标系、屏幕坐标系等。世界坐标,是指在三维场景中的世界空间坐标系下的坐标。其中,三维场景中各顶点的世界坐标是固定不变的。因此,可以以世界坐标作为参考,对渲染图形顶点的坐标进行转换。渲染图形顶点的世界坐标可以包括:第一维度世界坐标数据、第二维度世界坐标数据和第三维度世界坐标数据,其中,第三维度世界坐标数据为通过渲染图形的序号标识确定的。以图5所示的渲染图形为例进行说明,对于序号标识0的正方形,该正方形顶点的第一维度世界坐标数据和第二维度世界坐标数据为在三维场景中的时间空间坐标系下的XY方向上的坐标数据,该正方形顶点的第三维度世界坐标数据可以为该正方形的序号标识0。
在一些可选实施例中,地形渲染方法还可以包括:根据第三维度世界坐标数据,获取渲染图形的序号标识;根据渲染图形的序号标识,确定渲染图形在物理贴图上的位置信息,其中,渲染图形在物理贴图上的位置信息为渲染图形顶点的物理贴图坐标,渲染图形顶点的物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据;以及根据渲染图形的序号标识,确定渲染图形在虚拟贴图上的位置信息,其中,渲染图形在虚拟贴图上的位置信息为渲染图形顶点的虚拟贴图坐标,渲染图形顶点的虚拟贴图坐标包括第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据。
理想情况下,三维场景中的所有物体使用的是同一张贴图,同一段Shader(即运行在GPU上的一段代码,引擎提供给它3D的模型顶点、纹理和其它信息,并获取返回的像素颜色),这样可以通过一个Draw Call(即,发起方为CPU接收方为GPU的命令,当给定了一个Draw Call时,GPU就会根据渲染状态和所有输入的顶点数据来进行计算,最终输出成屏幕上所显示的那些像素)得到整个场景。所以,如果整个地形采用同一张贴图,能够极大的节省性能。但是,如果2KM*2KM的地形使用的是一张贴图,那么在保证精度的情况下,这张贴图约为256*256*256*256个像素,即使使用R8G8B8A8的格式来储存也会达到64G。可见,这个超级大的贴图是不可能获得的,并且在渲染地形的时候又不可能需要显示所有Mip0的贴图,因此可以通过虚拟贴图实现。
虚拟贴图(Virtual Texture,VT)的概念类似虚拟内存,不会将超大纹理的全部数据加载到内存中,而是根据三维场景应用在运行时的实现需要,只将这个超大纹理中需要的部分区域加载到内存中。物理贴图(Physical Texture,PT)是指内存中实际存在的纹理图像,也就是被加载至内存的实际纹理数据中的纹理贴图,则为物理贴图。与虚拟内存不同的是,虚拟贴图在运行时不会产生阻塞,在数据无法即使从硬盘读取到时,可以用内存中对应的多级渐远纹理中层级高的纹理暂时代替显示。例如,可以将地图纹理分为不同解析度的层级纹理,个别再分割成多个区块,在渲染时越接近的区块才显出较高解析度。然后通过预先定义的映射关系,映射到一张内存中存在的物理贴图。在展示的视野发生变化的时候,一部分物理贴图会被替换出去,一部分物理贴图会被加载。
虚拟贴图与物理贴图之间的映射关系可以通过虚拟纹理页表(Page Table)存储。图6是虚拟贴图、虚拟纹理页表与物理贴图之间的关系示意图。如图6所示,可以将虚拟贴图划分成10*10个小的虚拟贴图,物理贴图的大小为6*6个小的物理贴图,虚拟纹理页表的大小为10*10个像素。每个像素记录的是虚拟贴图中每个小的虚拟贴图在物理贴图中的位置。
在上文中已经说明,渲染图形的第三维度世界坐标数据为通过渲染图形的序号标识确定的。因此,可以通过第三维度世界坐标数据,得到渲染图形的序号标识,即可以确定当前处理的具体渲染图形。一个渲染图形代表可以在物理贴图上绘制一个贴图,不同的渲染图形可以通过该渲染图形的序号标识区分。在获取到渲染图形的序号标识后,可以根据该序号标识确定渲染图形在物理贴图上的位置信息。
图7是根据一示例性实施例示出的图5所示的渲染图形在物理贴图上的位置信息。如图7所示,可以得到图5所示的8个正方形在物理贴图上的位置信息。其中,渲染图形在物理贴图上的位置信息可以通过渲染图形顶点的物理贴图坐标表示。
图8是根据一示例性实施例示出的物理贴图的坐标示意图。如图8所示,该物理贴图81包括6*6个小的物理贴图82。物理贴图81的原点坐标可以为左上角的顶点对应的坐标(0,0)。物理贴图81中左上角的第一个小的物理贴图82的坐标,可以为左上角的顶点对应的顶点坐标,即也为(0,0);左下角的小的物理贴图82的坐标,则为左下角顶点对应的顶点坐标(0,5);右上角的小的物理贴图82的坐标,则为右上角顶点对应的顶点坐标(5,0);右下角的小的物理贴图82的坐标,则为右下角顶点对应的顶点坐标(5,5)。其中,通过渲染图形在物理贴图上的位置信息可以得到渲染图形的顶点位于哪些小的物理贴图上,进而可以通过小的物理贴图的坐标确定渲染图形顶点的物理贴图坐标。另外,物理贴图可以看作为二维坐标系,所以渲染图形顶点的物理贴图坐标可以包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据。
在获取到渲染图形的序号标识后,除了可以根据该序号标识确定渲染图形在物理贴图上的位置信息,还可以根据该序号标识确定渲染图形在虚拟贴图上的位置信息。具体的,在获取到渲染图形在物理贴图上的位置信息后,可以通过查询虚拟纹理页表,确定该渲染图形在虚拟贴图上的位置信息。
在步骤S220中,通过顶点着色器,根据渲染图形顶点的世界坐标和渲染图形在物理贴图上的位置信息,确定渲染图形顶点的齐次坐标。
在一些可选实施例中,根据渲染图形顶点的世界坐标和渲染图形在物理贴图上的位置信息,确定渲染图形顶点的齐次坐标,可以包括:以渲染图形顶点的世界坐标作为参考,将渲染图形顶点的物理贴图坐标映射到齐次空间,获得渲染图形顶点的齐次坐标。其中,渲染图形顶点的齐次坐标包括第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据。
齐次坐标是将一个原本是n维的向量用一个n+1维向量来表示。如二维点(x,y)的齐次坐标表示为(hx,hy,h)。可以看出,一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,如齐次坐标(8,4,2)、(4,2,1)表示的都是二维点(4,2)。许多图形应用涉及到几何变换,主要包括平移、旋转、缩放。以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转和缩放则是矩阵相乘。引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,即它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。其次,它可以表示无穷远的点。n+1维的齐次坐标中如果h=0,实际上就表示了n维空间的一个无穷远点。
上文已经说明,三维场景中各顶点的世界坐标是固定不变的。因此,可以以渲染图形顶点的世界坐标作为参考,对渲染图形顶点的物理贴图坐标进行转换,将其映射到齐次空间。由于世界坐标系为三维坐标系,因此得到的齐次坐标为四维坐标,即渲染图形顶点的齐次坐标包括第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据。
在一些可选实施例中,以渲染图形顶点的世界坐标作为参考,将渲染图形顶点的物理贴图坐标映射到齐次空间,获得渲染图形顶点的齐次坐标,可以包括:以第一维度世界坐标数据作为参考,基于齐次空间的第一维度坐标取值范围,对第一维度物理贴图坐标数据进行坐标转换,获得第一维度齐次坐标数据;以第二维度世界坐标数据作为参考,基于齐次空间的第二维度坐标取值范围,对第二维度物理贴图坐标数据进行坐标转换,获得第二维度齐次坐标数据;基于齐次空间的第三维度坐标取值范围,对第三维度世界坐标数据进行坐标转换,获得第三维度齐次坐标数据;设置第四维度齐次坐标数据为预设值;根据第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据,确定渲染图形顶点的齐次坐标。
需要说明的是,本公开实施例中,齐次空间的第一维度、第二维度和第三维度的坐标取值范围是由硬件虚拟贴图(Hardware Virtual Texture)决定的。第一维度的坐标取值范围为-1到1,第二维度的坐标取值范围为1到-1,第三维度的坐标取值范围为1到0。接下来,说明获取各个维度齐次坐标数据的具体过程。
(1)在将渲染图形顶点的物理贴图坐标映射到齐次空间的过程中,可以对第一维度世界坐标数据和第一维度物理贴图坐标数据进行求和,然后利用虚拟贴图的参数信息对求和结果进行处理,使其转换到从0到1的空间,得到转换后的坐标数据。接着,基于第一维度的坐标取值范围-1到1,对转换后的坐标数据加上-1,得到第一维度齐次坐标数据。其中,虚拟贴图的参数信息可以通过虚拟贴图的尺寸信息决定。
(2)在将渲染图形顶点的物理贴图坐标映射到齐次空间的过程中,可以对第二维度世界坐标数据和第二维度物理贴图坐标数据进行求和,然后利用虚拟贴图的参数信息对求和结果进行处理,使其转换到从0到1的空间,得到转换后的坐标数据。接着,基于第二维度的坐标取值范围1到-1,对转换后的坐标数据加上-1后再乘以-1,得到第二维度齐次坐标数据。
(3)在将渲染图形顶点的物理贴图坐标映射到齐次空间的过程中,基于齐次空间的第三维度坐标取值范围1到0,对第三维度世界坐标数据进行坐标转换,获得第三维度齐次坐标数据。上文已经说明渲染图形顶点的第三维度世界坐标数据为通过渲染图形的序号标识确定的。以图5为例进行说明,8个正方形的序号标识为0到7。针对每个正方形,将该正方形的序号标识加1后再求倒数,得到的数据为正方形顶点的第三维度齐次坐标数据。
(4)在将渲染图形顶点的物理贴图坐标映射到齐次空间的过程中,可以直接设置第四维度齐次坐标数据为1。
图9是根据一示例性实施例示出的通过顶点着色器确定渲染图形顶点的齐次坐标的流程示意图。如图9所示,确定渲染图形顶点的齐次坐标的流程可以包括:
步骤S901,将渲染图形顶点的世界坐标传入顶点着色器,其中,该世界坐标包括第一维度世界坐标数据、第二维度世界坐标数据和第三维度世界坐标数据,以及该第三维度世界坐标数据是该渲染图形的序号标识;
步骤S902,根据第三维度世界坐标数据获取渲染图形的序号标识,然后根据渲染图形的序号标识,确定渲染图形顶点的物理贴图坐标,其中,该物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据;
步骤S903,对第一维度世界坐标数据和第一维度物理贴图坐标数据进行求和,然后利用虚拟贴图的参数信息对求和结果进行处理,使其转换到从0到1的空间,得到转换后的坐标数据,接着对转换后的坐标数据加上-1,得到第一维度齐次坐标数据;
步骤S904,对第二维度世界坐标数据和第二维度物理贴图坐标数据进行求和,然后利用虚拟贴图的参数信息对求和结果进行处理,使其转换到从0到1的空间,得到转换后的坐标数据,接着对转换后的坐标数据加上-1后再乘以-1,得到第二维度齐次坐标数据;
步骤S905,将渲染图形的序号标识加1后再求倒数,得到第三维度齐次坐标数据;
步骤S906,设置第四维度齐次坐标数据为1;
步骤S907,根据第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据,确定渲染图形顶点的齐次坐标。
需要说明的是,上述步骤S901至S907为确定一个渲染图形的一个顶点的齐次坐标的具体流程。本公开实施例中,通过上述步骤S901至S907,确定各个渲染图形的各个顶点的齐次坐标。以图5所示的渲染图形为例进行说明,通过顶点着色器确定8个正方形的共32个顶点的齐次坐标。另外,上述步骤S903至步骤S906的执行顺序可以根据实际情况调整,本公开实施例对此不作限定。
在步骤S230中,将渲染图形顶点的齐次坐标传入像素着色器。
在获取到渲染图形顶点的齐次坐标后,可以将齐次坐标传入像素着色器中,后续像素着色器根据齐次坐标进行片元颜色处理。像素着色器是一组指令,这组指令在中像素被渲染时执行。在每个执行时间,都会有很多像素被渲染。像素的数目依靠屏幕的分辨率决定。
在步骤S240中,通过像素着色器,根据渲染图形顶点的齐次坐标、渲染图形在物理贴图上的位置信息和渲染图形在虚拟贴图上的位置信息,确定渲染图形的物理纹理坐标。
上文中已经说明,渲染图形在物理贴图上的位置信息为渲染图形顶点的物理贴图坐标,渲染图形顶点的物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据。以及,渲染图形在虚拟贴图上的位置信息为渲染图形顶点的虚拟贴图坐标,渲染图形顶点的虚拟贴图坐标包括第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据。
在一些可参考实施例中,根据渲染图形顶点的齐次坐标、渲染图形在物理贴图上的位置信息和渲染图形在虚拟贴图上的位置信息,确定渲染图形的物理纹理坐标,可以包括:根据第一维度齐次坐标数据和第二维度齐次坐标数据,基于渲染图形在虚拟贴图中的尺寸信息,对第一维度物理贴图坐标数据和第二维度物理贴图坐标数据进行坐标转换,获得第一维度坐标偏移数据和第二维度坐标偏移数据;以第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据作为参考,对第一维度坐标偏移数据和第二维度坐标偏移数据进行坐标转换,获得渲染图形的物理纹理坐标。其中,渲染图形在虚拟贴图中的尺寸信息为通过渲染图形的序号标识确定的。像素着色器阶段就是对顶点着色器处理后的顶点进行着色,可以将需要渲染的像素转换到地形的0到1空间。具体的,在确定渲染图形的物理纹理坐标的过程中,可以根据渲染图形顶点的第三维度齐次坐标数据,确定渲染图形的序号标识,以便可以确定处理的具体渲染图形。另外,可以根据渲染图形的序号标识,确定渲染图形顶点的物理贴图坐标和渲染图形顶点的虚拟贴图坐标。在确定渲染图形顶点的物理贴图坐标后,即确定第一维度物理贴图坐标数据和第二维度物理贴图坐标数据坐标后,以第一维度齐次坐标数据和第二维度齐次坐标数据作为参考,利用虚拟贴图的参数信息和渲染图形在虚拟贴图中的尺寸信息,对第一维度物理贴图坐标数据和第二维度物理贴图坐标数据进行处理,得到第一维度坐标偏移数据和第二维度坐标偏移数据。最后,对第一维度虚拟贴图坐标数据和第一维度坐标偏移数据进行求和,得到渲染图形的一个方向上的物理纹理坐标;对第二维度虚拟贴图坐标数据和第二维度坐标偏移数据进行求和,得到渲染图形的另一个方向上的物理纹理坐标。
在步骤S250中,基于渲染图形的物理纹理坐标渲染待渲染地形。
在获取到渲染图形的物理纹理坐标后,就可以利用物理纹理坐标渲染待渲染地形。具体的,通过像素着色器,从物理贴图中采样与物理纹理坐标匹配的纹理像素,并基于纹理像素渲染待渲染图像。其中,纹理像素是指纹理贴图中的纹理像素值,例如可以是纹理颜色值。采样是指从总体中抽取个体或样品的过程。其中,采样纹理像素,可以是指通过将顶点坐标与纹理坐标进行映射得到的采样坐标,从物理贴图中读取采样坐标上的颜色值,此过程即为纹理采样。客户端通过像素着色器获得物理纹理坐标后,则通过像素着色器从物理贴图中,采样与物理纹理坐标匹配的纹理像素,像素着色器进而基于所采样的纹理像素计算出待渲染图像中各像素点的最终像素值,从而渲染出待渲染地形。
图10是相关技术的地形渲染方法与本公开实施例的地形渲染方法的帧率对比结果示意图。图11是相关技术的地形渲染方法与本公开实施例的地形渲染方法的内存对比结果示意图。其中,使用客户端均为相同的,测试时间为2分钟。在前16秒保持客户端显示的虚拟地形场景静止不动。在16秒的时候疯狂旋转镜头,此处的镜头是指虚拟地形场景中的虚拟镜头。在1分钟的时候,在虚拟地形场景中奔跑并且旋转镜头,此处的奔跑可以是指虚拟地形场景中的用户角色疯狂奔跑。从图10和图11可以看出,在静止的情况下,相关技术的地形渲染方法的性能与本公开实施例的地形渲染方法的性能是没有区别的。但是当疯狂的旋转镜头的时候,需要更新物理贴图,由于相关技术的地形渲染方法的更新物理贴图的方式和本公开实施例的地形渲染方法的更新物理贴图的方式是不同的,因此导致性能的差异。对比可得,采用本公开实施例的地形渲染方法,帧率比较平稳,并且内存稳定。这是由于本公开实施例的地形渲染方法在渲染小的贴图的时候,不会去申请新的内存,因此内存固定,但是相关技术的地形渲染方法中,由于需要在更新物理贴图的时候不断的在小的贴图上渲染,所以内存是不断变化的。
相关技术中,通过虚幻引擎4.23版提供的RVT进行地形渲染的方法中,在所需位置的上方通过渲染实际物体获取贴图。由于RVT需要处理所有的顶点信息,导致顶点着色器压力过大,并且需要频繁的渲染页面切换和拷贝操作,对渲染器不友好。
本公开实施例中,先确定待渲染地形对应的渲染图形,然后将渲染图形顶点的世界坐标传入顶点着色器中,这样可以通过该顶点着色器,以渲染图形顶点的世界坐标作为参考,根据渲染图形在物理贴图上的位置信息确定渲染图形顶点的齐次坐标;接着将该齐次坐标传入像素着色器中,然后可以通过该像素着色器,根据通过顶点着色器确定的齐次坐标,结合渲染图形在物理贴图上的位置信息和在虚拟贴图上的位置信息,计算得到渲染图形的物理纹理坐标;最后,可以利用得到的物理纹理坐标渲染待渲染地形。一方面不需要处理所有的顶点信息,能够减少顶点着色器阶段的顶点着色压力;另一方面不需要频繁的渲染页面切换和拷贝操作,能够保证帧率平稳和内存固定。
图12是根据一示例性实施例示出的地形渲染装置1200的框图。该地形渲染装置1200可以应用于客户端,参照图12,该装置1200可以包括:渲染图形确定模块1210、坐标传入模块1220、齐次坐标确定模块1230、物理纹理坐标确定模块1240和渲染模块1250。
渲染图形确定模块1210可用于:确定待渲染地形对应的渲染图形;坐标传入模块1220可用于:将渲染图形顶点的世界坐标传入顶点着色器;齐次坐标确定模块1230可用于:通过顶点着色器,根据渲染图形顶点的世界坐标和渲染图形在物理贴图上的位置信息,确定渲染图形顶点的齐次坐标;坐标传入模块1220还可用于:将渲染图形顶点的齐次坐标传入像素着色器;物理纹理坐标确定模块1240可用于:通过像素着色器,根据渲染图形顶点的齐次坐标、渲染图形在物理贴图上的位置信息和渲染图形在虚拟贴图上的位置信息,确定渲染图形的物理纹理坐标;渲染模块1250可用于:基于渲染图形的物理纹理坐标渲染待渲染地形。其中,渲染图形的数量为至少一个;以及渲染图形可以为正方形。
其中,渲染图形顶点的世界坐标可以包括:第一维度世界坐标数据、第二维度世界坐标数据和第三维度世界坐标数据。第三维度世界坐标数据为通过渲染图形的序号标识确定的。
在一些可选实施例中,地形渲染装置1200还可以包括位置信息确定模块1260。该位置信息确定模块1260可用于:根据第三维度世界坐标数据,获取渲染图形的序号标识;根据渲染图形的序号标识,确定渲染图形在物理贴图上的位置信息,其中,渲染图形在物理贴图上的位置信息为渲染图形顶点的物理贴图坐标,渲染图形顶点的物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据;以及根据渲染图形的序号标识,确定渲染图形在虚拟贴图上的位置信息。其中,渲染图形在虚拟贴图上的位置信息为渲染图形顶点的虚拟贴图坐标,渲染图形顶点的虚拟贴图坐标可以包括第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据。
在一些可选实施例中,齐次坐标确定模块1230还可用于:以渲染图形顶点的世界坐标作为参考,将渲染图形顶点的物理贴图坐标映射到齐次空间,获得渲染图形顶点的齐次坐标,其中,渲染图形顶点的齐次坐标包括第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据。
在一些可选实施例中,齐次坐标确定模块1230还可用于:以第一维度世界坐标数据作为参考,基于齐次空间的第一维度坐标取值范围,对第一维度物理贴图坐标数据进行坐标转换,获得第一维度齐次坐标数据;以第二维度世界坐标数据作为参考,基于齐次空间的第二维度坐标取值范围,对第二维度物理贴图坐标数据进行坐标转换,获得第二维度齐次坐标数据;基于齐次空间的第三维度坐标取值范围,对第三维度世界坐标数据进行坐标转换,获得第三维度齐次坐标数据;设置第四维度齐次坐标数据为预设值;根据第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据,确定渲染图形顶点的齐次坐标。
在一些可选实施例中,物理纹理坐标确定模块1240还可用于:根据第一维度齐次坐标数据和第二维度齐次坐标数据,基于渲染图形在虚拟贴图中的尺寸信息,对第一维度物理贴图坐标数据和第二维度物理贴图坐标数据进行坐标转换,获得第一维度坐标偏移数据和第二维度坐标偏移数据;以第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据作为参考,对第一维度坐标偏移数据和第二维度坐标偏移数据进行坐标转换,获得渲染图形的物理纹理坐标。其中,渲染图形在虚拟贴图中的尺寸信息为通过渲染图形的序号标识确定的。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13是根据一示例性实施例示出的地形渲染的电子设备的结构框图。下面参照图13来描述根据本公开的这种实施例的电子设备1300。图13显示的电子设备1300仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图13所示,电子设备1300以通用计算设备的形式表现。电子设备1300的组件可以包括但不限于:上述至少一个处理单元1310、上述至少一个存储单元1320、连接不同系统组件(包括存储单元1320和处理单元1310)的总线1330、显示单元1340。
其中,存储单元存储有程序代码,程序代码可以被处理单元1310执行,使得处理单元1310执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,处理单元1310可以执行如图2中所示的方法。又如,电子设备可以实现如图2所示的各个步骤。
存储单元1320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1321和/或高速缓存存储单元1322,还可以进一步包括只读存储单元(ROM)1323。
存储单元1320还可以包括具有一组(至少一个)程序模块1325的程序/实用工具1324,这样的程序模块1325包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1300也可以与至少一个外部设备1370(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1300交互的设备通信,和/或与使得该电子设备1300能与至少一个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1350进行。并且,电子设备1300还可以通过网络适配器1360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1360通过总线1330与电子设备1300的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序和/或指令,计算机程序和/或指令被处理器执行时实现上述实施例中的地形渲染方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种地形渲染方法,其特征在于,包括:
确定待渲染地形对应的渲染图形,将渲染图形顶点的世界坐标传入顶点着色器;
通过所述顶点着色器,根据所述渲染图形顶点的世界坐标和所述渲染图形在物理贴图上的位置信息,确定所述渲染图形顶点的齐次坐标;
将所述渲染图形顶点的齐次坐标传入像素着色器;
通过所述像素着色器,根据所述渲染图形顶点的齐次坐标、所述渲染图形在物理贴图上的位置信息和所述渲染图形在虚拟贴图上的位置信息,确定所述渲染图形的物理纹理坐标;
基于所述渲染图形的物理纹理坐标渲染所述待渲染地形。
2.根据权利要求1所述的方法,其特征在于,所述渲染图形顶点的世界坐标包括:第一维度世界坐标数据、第二维度世界坐标数据和第三维度世界坐标数据,其中,所述第三维度世界坐标数据为通过所述渲染图形的序号标识确定的。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第三维度世界坐标数据,获取所述渲染图形的序号标识;
根据所述渲染图形的序号标识,确定所述渲染图形在物理贴图上的位置信息,其中,所述渲染图形在物理贴图上的位置信息为所述渲染图形顶点的物理贴图坐标,所述渲染图形顶点的物理贴图坐标包括第一维度物理贴图坐标数据和第二维度物理贴图坐标数据;以及
根据所述渲染图形的序号标识,确定所述渲染图形在虚拟贴图上的位置信息,其中,所述渲染图形在虚拟贴图上的位置信息为所述渲染图形顶点的虚拟贴图坐标,所述渲染图形顶点的虚拟贴图坐标包括第一维度虚拟贴图坐标数据和第二维度虚拟贴图坐标数据。
4.根据权利要求3所述的方法,其特征在于,所述根据所述渲染图形顶点的世界坐标和所述渲染图形在物理贴图上的位置信息,确定所述渲染图形顶点的齐次坐标,包括:
以所述渲染图形顶点的世界坐标作为参考,将所述渲染图形顶点的物理贴图坐标映射到齐次空间,获得所述渲染图形顶点的齐次坐标,其中,所述渲染图形顶点的齐次坐标包括第一维度齐次坐标数据、第二维度齐次坐标数据、第三维度齐次坐标数据和第四维度齐次坐标数据。
5.根据权利要求4所述的方法,其特征在于,所述以所述渲染图形顶点的世界坐标作为参考,将所述渲染图形顶点的物理贴图坐标映射到齐次空间,获得所述渲染图形顶点的齐次坐标,包括:
以所述第一维度世界坐标数据作为参考,基于齐次空间的第一维度坐标取值范围,对所述第一维度物理贴图坐标数据进行坐标转换,获得所述第一维度齐次坐标数据;
以所述第二维度世界坐标数据作为参考,基于齐次空间的第二维度坐标取值范围,对所述第二维度物理贴图坐标数据进行坐标转换,获得所述第二维度齐次坐标数据;
基于齐次空间的第三维度坐标取值范围,对所述第三维度世界坐标数据进行坐标转换,获得所述第三维度齐次坐标数据;
设置所述第四维度齐次坐标数据为预设值;
根据所述第一维度齐次坐标数据、所述第二维度齐次坐标数据、所述第三维度齐次坐标数据和所述第四维度齐次坐标数据,确定所述渲染图形顶点的齐次坐标。
6.根据权利要求4所述的方法,其特征在于,所述根据所述渲染图形顶点的齐次坐标、所述渲染图形在物理贴图上的位置信息和所述渲染图形在虚拟贴图上的位置信息,确定所述渲染图形的物理纹理坐标,包括:
根据所述第一维度齐次坐标数据和所述第二维度齐次坐标数据,基于所述渲染图形在虚拟贴图中的尺寸信息,对所述第一维度物理贴图坐标数据和所述第二维度物理贴图坐标数据进行坐标转换,获得第一维度坐标偏移数据和第二维度坐标偏移数据,其中,所述渲染图形在虚拟贴图中的尺寸信息为通过所述渲染图形的序号标识确定的;
以所述第一维度虚拟贴图坐标数据和所述第二维度虚拟贴图坐标数据作为参考,对所述第一维度坐标偏移数据和所述第二维度坐标偏移数据进行坐标转换,获得所述渲染图形的物理纹理坐标。
7.一种地形渲染装置,其特征在于,包括:
渲染图形确定模块,用于确定待渲染地形对应的渲染图形;
坐标传入模块,用于将渲染图形顶点的世界坐标传入顶点着色器;
齐次坐标确定模块,用于通过所述顶点着色器,根据所述渲染图形顶点的世界坐标和所述渲染图形在物理贴图上的位置信息,确定所述渲染图形顶点的齐次坐标;
所述坐标传入模块,还用于将所述渲染图形顶点的齐次坐标传入像素着色器;
物理纹理坐标确定模块,用于通过所述像素着色器,根据所述渲染图形顶点的齐次坐标、所述渲染图形在物理贴图上的位置信息和所述渲染图形在虚拟贴图上的位置信息,确定所述渲染图形的物理纹理坐标;
渲染模块,用于基于所述渲染图形的物理纹理坐标渲染所述待渲染地形。
8.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的地形渲染方法。
9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至6中任一项所述的地形渲染方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至6中任一项所述的地形渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210567577.5A CN114842127A (zh) | 2022-05-23 | 2022-05-23 | 地形渲染方法及装置、电子设备、介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210567577.5A CN114842127A (zh) | 2022-05-23 | 2022-05-23 | 地形渲染方法及装置、电子设备、介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114842127A true CN114842127A (zh) | 2022-08-02 |
Family
ID=82572552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210567577.5A Pending CN114842127A (zh) | 2022-05-23 | 2022-05-23 | 地形渲染方法及装置、电子设备、介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114842127A (zh) |
-
2022
- 2022-05-23 CN CN202210567577.5A patent/CN114842127A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022193941A1 (zh) | 图像渲染方法、装置、设备、介质和计算机程序产品 | |
US10109101B2 (en) | Re-utilization of render assets for video compression | |
EP3923248A1 (en) | Image processing method and apparatus, electronic device and computer-readable storage medium | |
US9214038B1 (en) | Efficiently implementing and displaying independent 3-dimensional interactive viewports of a virtual world on multiple client devices | |
CN108564527B (zh) | 基于神经网络的全景图内容补全和修复的方法及装置 | |
US9275493B2 (en) | Rendering vector maps in a geographic information system | |
KR20080090671A (ko) | 3d 객체 모델에 텍스쳐를 매핑하는 방법 및 장치 | |
CN113643414B (zh) | 一种三维图像生成方法、装置、电子设备及存储介质 | |
Bonatto et al. | Real-time depth video-based rendering for 6-DoF HMD navigation and light field displays | |
CN114863038A (zh) | 基于显式几何形变的实时动态自由视角合成方法及装置 | |
CN110634178A (zh) | 面向数字博物馆的三维场景精细化重建方法 | |
CN115797561A (zh) | 三维重建方法、设备及可读存储介质 | |
Scholz et al. | Real‐time isosurface extraction with view‐dependent level of detail and applications | |
CN116385619B (zh) | 对象模型渲染方法、装置、计算机设备和存储介质 | |
AU2023233092A1 (en) | Artificial intelligence techniques for extrapolating hdr panoramas from ldr low fov images | |
US10754498B2 (en) | Hybrid image rendering system | |
EP4068216A1 (en) | 3d digital model surface rendering and conversion | |
CN114842127A (zh) | 地形渲染方法及装置、电子设备、介质及产品 | |
Kim et al. | Ray tracing-based construction of 3D background model for real-time stereoscopic rendering of live immersive video | |
Muszyński et al. | Wide Field of View Projection Using Rasterization | |
Rebollo et al. | Three-dimensional trees for virtual globes | |
Jiang et al. | PMPI: Patch-Based Multiplane Images for Real-Time Rendering of Neural Radiance Fields | |
CN118365792A (zh) | 动态对象合成方法及装置、电子设备、存储介质 | |
CN117523102A (zh) | 生成模型材质的方法及装置 | |
CN117689850A (zh) | 三维空间的还原方法及装置 |
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 |