CN116883575B - 建筑群渲染方法、装置、计算机设备和存储介质 - Google Patents
建筑群渲染方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116883575B CN116883575B CN202311153512.7A CN202311153512A CN116883575B CN 116883575 B CN116883575 B CN 116883575B CN 202311153512 A CN202311153512 A CN 202311153512A CN 116883575 B CN116883575 B CN 116883575B
- Authority
- CN
- China
- Prior art keywords
- texture
- building
- map
- target
- physical
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 172
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 239000000463 material Substances 0.000 claims abstract description 71
- 238000013507 mapping Methods 0.000 claims abstract description 67
- 238000005070 sampling Methods 0.000 claims abstract description 30
- 238000003491 array Methods 0.000 claims abstract description 27
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 22
- 230000009466 transformation Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 101150019623 mip-1 gene Proteins 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 101150031350 Cxcl2 gene Proteins 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- 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
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种建筑群渲染方法、装置、计算机设备和存储介质。方法包括:获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组;当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图;针对于至少一个目标建筑块模型中每一个目标像素点,在进行采样时,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素,基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。采用本方法能够在渲染时保障计算机设备的正常运行。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种建筑群渲染方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,图像渲染处理技术也迅速发展,计算机设备可以通过调用绘制接口来进行图像渲染。在调用绘制接口的过程中,计算机设备的中央处理器调用底层图形绘制接口,以命令图形处理器进行渲染操作。
传统技术中,对建筑群进行渲染的场景下,会先对建筑群中的建筑进行建模,得到多个建筑模型,再利用多个建筑模型各自的材质分别进行渲染。每个建筑模型都具有多个面,为了使建筑群的不同面呈现不同的视觉效果,通常可以对不同的面设置不同的材质,通过对不同的材质进行不同的贴图,使得具有不同贴图的面能够呈现不同的视觉效果。
然而,传统方法,在对建筑群进行渲染时采用了多个材质,由于计算机设备不能对材质不同的模型进行合并调用绘制接口,因此对于一张渲染图像,在渲染时只能多次调用绘制接口。随着材质数量的增加,中央处理器调用绘制接口的次数也会增加,容易导致中央处理器过载,且材质数量的增加也意味着贴图的数量的增加,会占用大量的显存,影响计算机设备的正常运行。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在渲染时保障计算机设备的正常运行的建筑群渲染方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种建筑群渲染方法。所述方法包括:
获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
第二方面,本申请还提供了一种建筑群渲染装置。所述装置包括:
模型获取模块,用于获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
贴图生成模块,用于当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
坐标转换模块,用于针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
纹理采样模块,用于基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
渲染模块,用于基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
上述建筑群渲染方法、装置、计算机设备、存储介质和计算机程序产品,通过获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,由于纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息,能够使得建筑群的模型可以共用一个渲染材质,方便进行合批处理,能够降低调用绘制接口的次数,避免了中央处理器过载,当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图的基础上,针对于至少一个目标建筑块模型中每一个目标像素点,通过先确定目标像素点对应的物理纹理坐标,再根据物理纹理坐标,确定目标像素点对应的虚拟纹理坐标,再基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素,能够利用虚拟纹理贴图来优化物理纹理贴图的显存占用,在进行纹理采样时,只要将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图即可,不增加贴图额外的显存,能够有效降低显存占用,进而可以直接基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。整个过程,通过降低调用绘制接口的次数来避免中央处理器过载,并通过利用虚拟纹理贴图来优化物理纹理贴图的显存占用的方式来有效降低显存占用,能够在渲染时保障计算机设备的正常运行。
附图说明
图1为一个实施例中建筑群渲染方法的应用环境图;
图2为一个实施例中建筑群渲染方法的流程示意图;
图3为一个实施例中导入配置的配置界面示意图;
图4为一个实施例中物理纹理贴图的示意图;
图5为另一个实施例中物理纹理贴图的示意图;
图6为一个实施例中渲染图像的示意图;
图7为一个实施例中确定物理纹理坐标的示意图;
图8为一个实施例中获取与目标像素点相应的一部分物理纹理贴图的示意图;
图9为一个实施例中加载过程的流程示意图;
图10为一个实施例中渲染过程的流程示意图;
图11为一个实施例中使用传统方案的效果图;
图12为一个实施例中使用本申请方案的效果图;
图13为另一个实施例中使用传统方案的效果图;
图14为另一个实施例中使用本申请方案的效果图;
图15为一个实施例中建筑群渲染装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
本申请涉及计算机视觉技术(Computer Vision ,CV),计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能***。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。可以理解,在本申请的建筑群渲染方法,就是基于计算机视觉技术,对建筑群的模型进行渲染处理。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的建筑群渲染方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他服务器上。终端102可以从服务器104中获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息,当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图,物理纹理贴图是多个建筑纹理贴图拼接形成的,针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在物理纹理贴图中对应的物理纹理坐标,根据物理纹理坐标,确定目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标,基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素,基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种建筑群渲染方法,该方法可以由终端或服务器单独执行,也可以由终端和服务器协同执行。在本申请实施例中,以该方法应用于终端为例进行说明,包括以下步骤:
步骤202,获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息。
其中,建筑群是指包括多个建筑的集群,建筑群的模型是指针对建筑群所建立的模型。比如,建筑群的模型具体可以是指针对建筑群所建立的三维模型。建筑群的模型包括通过拆分得到的多个建筑块模型,每个建筑块模型包括至少一个建筑模型。建筑模型可以由多个面片网格构成,相邻两个面片网格相交的位置即为建筑模型的顶点。建筑模型的每个顶点都具有相应的顶点属性,用于对顶点进行描述。比如,顶点属性具体可以包括顶点在相应的建筑纹理贴图中对应的贴图纹理坐标、顶点在世界坐标系下的位置信息等。
其中,渲染材质是指用于对建筑群的模型进行渲染的材质,本实施例中,渲染材质包括纹理数组,纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息。纹理数组可以将多个建筑纹理贴图打包成一个数组,并在渲染时使用单个渲染调用进行处理。
其中,建筑纹理贴图是覆盖在建筑模型表面的平面图像,存储着建筑模型表面的图形特征。可以理解的是,建筑纹理贴图实际上可以是一个二维数组,二维数组中的元素是一些颜色值。当把建筑纹理贴图按照特定的方式映射到建筑模型表面上的时候能使建筑模型看上去更加真实,即建筑纹理贴图可以用于体现需要被渲染的建筑模型所包括的内容。每个建筑模型的建筑纹理贴图可按照实际应用场景进行预先绘制。贴图信息是指用于获取建筑纹理贴图的信息。比如,贴图信息具体可以是指用于获取建筑纹理贴图的引用路径,通过该引用路径可以获取到建筑纹理贴图的文件句柄,进而可以通过文件句柄对建筑纹理贴图进行任意操作。
具体的,在进行建筑群渲染时,终端会获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息。在具体的应用中,建筑群的模型包括通过拆分得到的多个建筑块模型,而多个建筑块模型,可以通过对建筑群的初始模型中包括的多个建筑模型进行拆分得到。
在具体的应用中,建筑群的初始模型以及多个建筑纹理贴图,是绘制对象利用计算机图形软件(如Houdini)进行绘制的。在绘制完成后,引擎编辑器可以获取从计算机图形软件输出的包括多个建筑模型的建筑群的初始模型以及多个建筑纹理贴图,将包括多个建筑模型的建筑群的初始模型以及多个建筑纹理贴图转换成渲染引擎可用的格式,生成渲染材质。终端所获取的是引擎编辑器生成的渲染材质。其中,这里的渲染引擎可用的格式可按照实际应用场景进行配置。
在一个具体的应用中,引擎编辑器可以通过预配置的建筑群导入工具来将包括多个建筑模型的建筑群的初始模型以及多个建筑纹理贴图转换成渲染引擎可用的格式,生成渲染材质。在导入时,引擎编辑器会先将多个建筑纹理贴图合并成纹理数组,并在多个建筑模型的顶点加入相应的建筑纹理贴图在纹理数组的索引,再基于纹理数组生成渲染材质,方便渲染引擎使用。
在一个具体的应用中,在通过建筑群导入工具将多个建筑纹理贴图合并成纹理数组,基于纹理数组生成渲染材质时,需要在引擎编辑器上进行模型导入的导入配置,配置界面可以如图3所示,在配置时需要选择创建组合材质和某个统一的建筑纹理贴图的贴图尺寸(如图3所示为SQUARE_1024(正方形_1024)),并从已有的基础材质中选择材质(如图3所示选择了预设着色器)进行导入,在导入基础材质的基础上,可以通过导入的基础材质以及所生成的纹理数组,来生成渲染材质。在点击“确认”控件后即可实现渲染材质生成。其中,已有的基础材质可按照实际应用场景进行配置。通过选择某个统一的建筑纹理贴图的贴图尺寸,能够对多个建筑纹理贴图的贴图尺寸进行统一,使得纹理数组中的多个建筑纹理贴图的贴图尺寸相同。
在一个具体的应用中,在多个建筑模型的顶点加入相应的建筑纹理贴图在纹理数组的索引,是指在导入时,在顶点在相应的建筑纹理贴图中对应的贴图纹理坐标中加入相应的建筑纹理贴图在纹理数组的索引。举例说明,在生成纹理数组之前,贴图纹理坐标的形式可以为[U1,V1],其中的U1和V1是顶点在相应的建筑纹理贴图中对应的纹理坐标,在生成纹理数组之后,贴图纹理坐标的形式可以为 [U1,V1,索引1],其中的索引1是指顶点相应的建筑纹理贴图在纹理数组的索引。
其中,纹理坐标是指UV坐标,用于指明从建筑纹理贴图的哪个地方采样,即采集像素颜色,其中的U是指水平方向,V是指垂直方向,该纹理坐标可以理解为建筑纹理贴图上的百分比坐标,纹理坐标的范围可以为0到1,也可以超过1,在纹理坐标的范围超过1的情况下,纹理坐标超过1的部分表示复用,比如,若两个相邻点的坐标是(0,0),(0,1.5),就表示在V方向上会对建筑纹理贴图进行复用。需要说明的是,渲染的基础几何图形是三角形,两个相邻点是指任意三角形中的任意两个顶点。
步骤204,当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图;物理纹理贴图是多个建筑纹理贴图拼接形成的。
其中,需显示的至少一个目标建筑块模型,是指需要在终端上显示的目标建筑块模型。可以理解的是,通过对建筑群的模型进行拆分,可以将建筑群的模型拆分为多个建筑块模型,每次在终端上进行显示时,在多个建筑块模型中,只有目标建筑块模型需要显示。通过只显示至少一个目标建筑块模型,能够充分利用渲染引擎的剔除功能,能够提升渲染性能。
其中,通过按照预配置的贴图拼接参数对多个建筑纹理贴图进行拼接,即可生成物理纹理贴图。贴图拼接参数可按照实际应用场景进行配置,具体可以包括第一方向拼接图像数量和第二方向拼接图像数量。按照不同的第一方向拼接图像数量和第二方向拼接图像数量对多个建筑纹理贴图进行拼接,可以生成不同的物理纹理贴图。举例说明,假设多个建筑纹理贴图的数量为12个,且第一方向(假设为横向)拼接图像数量为2,第二方向(假设为纵向)拼接图像数量为6,则所生成的物理纹理贴图的形式可以如图4所示。又举例说明,假设多个建筑纹理贴图的数量为12个,且第一方向(假设为横向)拼接图像数量为3,第二方向(假设为纵向)拼接图像数量为4,则所生成的物理纹理贴图的形式可以如图5所示。
其中,需要说明的是,物理纹理贴图包括至少一个纹理级别各自的拼接图像,针对至少一个纹理级别中每一个,所针对的纹理级别的拼接图像,是通过对多个建筑纹理贴图的所针对的纹理级别的纹理图像进行拼接得到的。纹理级别也可以称为mip级别,即物理纹理贴图包括至少一个mip级别的拼接图像。在至少一个mip级别为多个mip级别的情况下,在物理纹理贴图中,随着mip级别的降低,多个mip级别的拼接图像的分辨率逐mip级别降低。举例说明,假设多个mip级别为mip0和mip1,其中的mip0级别的拼接图像的大小可以为64*64个像素,mip1级别的拼接图像的大小可以为32*32个像素,mip0级别的拼接图像的分辨率大于mip1级别的拼接图像的分辨率。
具体的,建筑群的模型包括通过拆分得到的多个建筑块模型,终端会基于预配置的虚拟相机的相机位置,从多个建筑块模型中,确定是否存在需显示的至少一个目标建筑块模型,当确定存在需显示的至少一个目标建筑块模型,基于纹理数组中的建筑群的模型的多个建筑纹理贴图的贴图信息,获取多个建筑纹理贴图的文件句柄并保存,利用多个建筑纹理贴图的文件句柄,来生成建筑群的模型的物理纹理贴图。在具体的应用中,在获取多个建筑纹理贴图的文件句柄并保存后,终端可以利用多个建筑纹理贴图的文件句柄,来读取多个建筑纹理贴图,对读取到的多个建筑纹理贴图进行拼接,生成建筑群的模型的物理纹理贴图。
步骤206,针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在物理纹理贴图中对应的物理纹理坐标,根据物理纹理坐标,确定目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。
其中,目标像素点是指在渲染目标建筑块模型时用于进行纹理采样的像素点。物理纹理坐标是指目标像素点在物理纹理贴图中对应的纹理坐标。虚拟纹理贴图的概念类似虚拟内存,在图形渲染中使用,可以将大型复杂纹理分割成小块,只在需要时加载和渲染它们。利用虚拟纹理贴图,可以减少内存使用和渲染时间,同时提高图形质量和灵活性。虚拟纹理坐标是指目标像素点在虚拟纹理贴图中对应的纹理坐标。
具体的,在生成物理纹理贴图的情况下,针对于至少一个目标建筑块中每一个目标像素点,终端会对目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标进行重定位,将该贴图纹理坐标映射到物理纹理贴图上,得到目标像素点在物理纹理贴图中对应的物理纹理坐标。在确定物理纹理坐标的情况下,终端会确定目标像素点相应的目标纹理级别,基于目标纹理级别,对物理纹理坐标进行坐标转换,得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。其中,目标像素点相应的建筑纹理贴图,是指用于渲染包括目标像素点的目标建筑块的纹理贴图。
在具体的应用中,目标像素点相应的目标纹理级别,是指在采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素之前,需要获取并填充至虚拟纹理贴图中的一部分物理纹理贴图所属纹理级别,即目标像素点相应的一部分物理纹理贴图所属纹理级别。需要说明的是,在物理纹理贴图中包括至少一个纹理级别的拼接图像,需要获取并填充至虚拟纹理贴图中的一部分物理纹理贴图归属于目标纹理级别的拼接图像,即终端是从目标纹理级别的拼接图像中获取目标像素点相应的一部分物理纹理贴图进行填充。
在一个具体的应用中,目标像素点相应的目标纹理级别,也可以理解为目标像素点所属的目标建筑块模型相应的目标纹理级别,可以根据目标像素点所属的目标建筑块模型与预配置的虚拟相机之间的距离确定的。具体来说,目标像素点所属的目标建筑块模型距离预配置的虚拟相机越近,其相应的目标纹理级别越高,目标像素点所属的目标建筑块模型距离预配置的虚拟相机越远,其相应的目标纹理级别越低。
在一个具体的应用中,可以预先配置目标建筑块模型与预配置的虚拟相机之间的距离和纹理级别的映射关系,不同的距离对应不同的纹理级别,在确定目标建筑块模型与预配置的虚拟相机之间的距离的基础上,就可以根据该距离确定目标像素点相应的目标纹理级别。其中,预先配置的映射关系可按照实际应用场景进行配置。举例说明,预先配置的映射关系可以为:距离在X1米范围内,纹理级别为0,距离大于X1米且小于X2米,纹理级别为1这样的形式。
步骤208,基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素。
其中,纹理像素,是指虚拟纹理贴图中的纹理像素值,例如可以是纹理颜色值。可以理解的是,采样是指从总体中抽取个体或样本的过程。本实施例中,采样纹理像素,可以是指通过虚拟纹理坐标,从虚拟纹理贴图中读取虚拟纹理坐标上的颜色值,此过程即为纹理采样。
具体的,在确定虚拟纹理坐标的情况下,终端可以确定虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块,进而可以根据虚拟纹理贴图和物理纹理贴图的映射关系,确定物理纹理贴图中与虚拟纹理块对应的一部分物理纹理贴图,将与虚拟纹理块对应的一部分物理纹理贴图作为与目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素。
步骤210,基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。
具体的,终端上的着色器,基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,可以对至少一个目标建筑块模型进行渲染,得到建筑群至少一部分的渲染图像。其中,着色器是在显卡内的图形处理器中运行的小型程序,用于并行处理各类图形单位上的计算。在具体的应用中,所得到的建筑群的至少一部分的渲染图像可以如图6所示,包括渲染后的建筑群中的至少一部分(如图6所示包括7个建筑)。需要说明的是,为了方便示意,在图6中并未示出渲染图像的颜色。
上述建筑群渲染方法,通过获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,由于纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息,能够使得建筑群的模型可以共用一个渲染材质,方便进行合批处理,能够降低调用绘制接口的次数,避免了中央处理器过载,当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图的基础上,针对于至少一个目标建筑块模型中每一个目标像素点,通过先确定目标像素点对应的物理纹理坐标,再根据物理纹理坐标,确定目标像素点对应的虚拟纹理坐标,再基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素,能够利用虚拟纹理贴图来优化物理纹理贴图的显存占用,在进行纹理采样时,只要将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图即可,不增加贴图额外的显存,能够有效降低显存占用,进而可以直接基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。整个过程,通过降低调用绘制接口的次数来避免中央处理器过载,并通过利用虚拟纹理贴图来优化物理纹理贴图的显存占用的方式来有效降低显存占用,能够在渲染时保障计算机设备的正常运行。
在一个实施例中,建筑群的模型包括通过拆分得到的多个建筑块模型;建筑群渲染方法还包括:
分别确定多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离;
基于距离,从多个建筑块模型中,确定需显示的至少一个目标建筑块模型。
其中,建筑块中心是指建筑块模型的包围盒的中心。包围盒是指能够包容物体的几何空间,本实施例中,建筑块模型的包围盒是指能够包容建筑块模型的几何空间。可以理解的是,本实施例中的建筑块模型的包围盒可以是指能够包容建筑块模型的最小包围盒。虚拟相机也可以称为相机模型,是用于在包含建筑群的模型的虚拟场景中进行画面采集的虚拟模型。虚拟相机具有与实体相机类似的相机信息,比如相机位置、姿态、光圈大小、焦距等等。虚拟相机在虚拟场景中采集到的画面可以通过虚拟相机在虚拟场景中的相机信息来确定。
具体的,建筑群的模型包括通过拆分得到的多个建筑块模型,在确定建筑群的模型中需显示的至少一个目标建筑块模型时,终端会先确定分别确定多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离,从多个建筑块模型中,筛选出与预配置的虚拟相机之间的距离小于预设距离的至少一个建筑块模型,作为需显示的至少一个目标建筑块模型。其中,预设距离可按照实际应用场景进行配置。
本实施例中,在分别确定多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离的基础上,基于距离,从多个建筑块模型中,确定需显示的至少一个目标建筑块模型,能够利用距离对不需要显示的建筑块模型进行剔除,能够提升渲染性能。
在一个实施例中,建筑群的初始模型包括多个建筑模型;多个建筑块模型通过基于多个建筑模型各自相应的包围盒和预配置建筑块大小,对多个建筑模型进行拆分得到。
其中,建筑模型的包围盒是指能够包容建筑模型的几何空间。可以理解的是,本实施例中的建筑模型的包围盒可以是指能够包围建筑模型的最小包围盒。预配置建筑块大小是指预先配置的建筑块大小,可以按照实际应用场景进行配置。
具体的,建筑群的初始模型包括多个建筑模型,建筑群的模型所包括的多个建筑块模型,是通过基于多个建筑模型各自相应的包围盒和预配置建筑块大小,对多个建筑模型进行拆分得到的。在具体的应用中,对多个建筑模型进行拆分的过程可以通过引擎编辑器执行,引擎编辑器会先确定多个建筑模型各自相应的包围盒,针对于多个建筑模型中每一个,将所针对的建筑模型的包围盒的中心,作为所针对的建筑模型的模型中心,基于多个建筑模型各自的模型中心和预配置建筑块大小,对多个建筑模型进行拆分,将多个建筑模型拆分为多个建筑块模型。
本实施例中,能够利用建筑模型的包围盒实现对建筑模型的模型中心的确定,进而可以基于预配置建筑块大小和多个建筑模型各自的模型中心实现对多个建筑模型的拆分,得到多个建筑块模型,以便基于多个建筑块模型进行渲染时的剔除,能够提升渲染性能。
在一个实施例中,至少一个目标建筑块模型中每一个目标像素点通过以下方式确定:
针对于至少一个目标建筑块模型中每一个目标建筑块模型,基于目标建筑块模型与预配置的虚拟相机之间的距离,确定目标建筑块模型相应的需显示的细节层次模型,基于需显示的细节层级模型上的顶点,确定目标建筑块模型的目标像素点。
其中,目标建筑块模型包括多个不同层级的细节层次模型。细节层次模型是指基于多细节层次(Levels of Detail,简称LOD)技术所构建的模型。多细节层次技术在不影响画面视觉效果的条件下,通过逐次简化物体的表面细节来减少场景的几何复杂性,从而提高绘制算法的效率。需要说明的是,每个细节层次模型均保留了一定层次的细节,在绘制时,可以根据不同的标准选择适当的细节层次模型来表示目标建筑块模型。
具体的,针对于至少一个目标建筑块模型中每一个目标建筑块模型,目标建筑块模型包括多个不同层级的细节层次模型,在确定目标建筑块模型的目标像素点时,终端需要基于目标建筑块模型与预配置的虚拟相机之间的距离,确定目标建筑块模型相应的需显示的细节层次模型,基于需显示的细节层级模型上的顶点进行光栅化处理,确定目标建筑块模型的目标像素点。需要说明的是,针对于不同层级的细节层次模型,其上的顶点的数量是不相同的,层级越高,能够显示越多细节的细节层级模型上的顶点的数量会越多。
在具体的应用中,若目标建筑块模型与预配置的虚拟相机之间的距离越近,则所针对的目标建筑块模型所需要显示的模型细节越多,需要选择能够显示较多细节的细节层次模型。若目标建筑块模型与预配置的虚拟相机之间的距离越远,则所针对的目标建筑块模型所需要选择的模型细节越少,可以选择能够粗略表示目标建筑块模型的细节层次模型。
在具体的应用中,可以预先设置目标建筑块模型与预配置的虚拟相机之间的距离和细节层次模型的映射关系,不同的距离对应不同层级的细节层次模型,在确定目标建筑块模型与预配置的虚拟相机之间的距离的基础上,就可以根据该距离确定目标建筑块模型相应的需显示的细节层次模型。
在具体的应用中,针对于至少一个目标建筑块模型中每一个目标建筑块模型,目标建筑块模型包括的多个不同层级的细节层次模型是可以预先编辑的,这里的编辑指的是,可以将目标建筑块模型中任一建筑模型加入到另一建筑模型中作为其某一级细节层次,通过这种方式,可以构建多个不同层级的细节层次模型。需要说明的是,在将任一建筑模型加入到另一建筑模型中作为其某一级细节层次时,需要考虑两个建筑模型的顶点格式是否相同,即顶点属性是否相同,在两个建筑模型的顶点格式相同的情况下,才可以进行添加。
本实施例中,对目标建筑块模型中建筑,通过减低建筑密度的方式来生成不同层级的细节层次模型,能够优化渲染性能,在生成不同层级的细节层次模型的基础上,基于目标建筑块模型与预配置的虚拟相机之间的距离,确定需显示的细节层次模型,基于需显示的细节层次模型上的顶点,来确定目标建筑块模型的目标像素点,而不是基于目标建筑块模型上所有的顶点来确定目标像素点,能够有效的减少在图像渲染过程中需要处理的顶点的数量,能够优化渲染性能。
在一个实施例中,基于纹理数组,生成建筑群的模型的物理纹理贴图包括:
基于纹理数组中多个建筑纹理贴图的贴图信息,获取多个建筑纹理贴图的文件句柄;
针对至少一个纹理级别中每一个纹理级别,基于多个建筑纹理贴图的文件句柄,加载多个建筑纹理贴图的所针对的纹理级别的纹理图像,对所针对的纹理级别的纹理图像进行拼接,得到所针对的纹理级别的拼接图像;
基于至少一个纹理级别各自的拼接图像,生成建筑群的模型的物理纹理贴图。
其中,在文件***中,要从一个文件读取数据,应用程序首先要调用操作***函数并传送文件名,并选一个到该文件的路径来打开文件,该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数ReadFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作***。当完成任务后,再通过调用***函数来关闭该文件。本实施例中,即通过建筑纹理贴图的文件句柄,来读取建筑纹理贴图的至少一个纹理级别的纹理图像。
具体的,终端会基于纹理数组中多个建筑纹理贴图的贴图信息,获取多个建筑纹理贴图的文件句柄,并保存多个建筑纹理贴图的文件句柄,每个建筑纹理贴图都包括至少一个纹理级别的纹理图像,针对至少一个纹理级别中每一个纹理级别,终端会基于多个建筑纹理贴图的文件句柄,来读取并加载多个建筑纹理贴图的所针对的纹理级别的纹理图像,对所针对的纹理级别的纹理图像进行拼接,得到所针对的纹理级别的拼接图像,基于至少一个纹理级别各自的拼接图像,生成建筑群的模型的物理纹理贴图,即建筑群的模型的物理纹理贴图包括至少一个纹理级别各自的拼接图像。
在具体的应用中,纹理数组中多个建筑纹理贴图的贴图信息具体可以为多个建筑纹理贴图的引用路径,引用路径是指在图像渲染中定位和引用建筑纹理贴图所需的路径,可以理解为是建筑纹理贴图在终端上的存储路径。对于每个建筑纹理贴图,终端可以基于建筑纹理贴图的引用路径,来获取建筑纹理贴图的文件句柄,再基于建筑纹理贴图的文件句柄,来读取建筑纹理贴图的至少一个纹理级别的纹理图像。
本实施例中,能够基于贴图信息实现对文件句柄的获取,进而可以利用文件句柄来获取并加载多个建筑纹理贴图的至少一个纹理级别的纹理贴图,从而可以通过分别对至少一个纹理级别的纹理图像进行拼接的方式,得到至少一个纹理级别各自的拼接图像,基于至少一个纹理级别各自的拼接图像,实现建筑群的模型的物理纹理贴图的生成。
在一个实施例中,针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在物理纹理贴图中对应的物理纹理坐标包括:
确定物理纹理贴图相应的贴图拼接参数;贴图拼接参数包括第一方向拼接图像数量和第二方向拼接图像数量;
针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,基于第一方向拼接图像数量、第二方向拼接图像数量和贴图纹理坐标,确定目标像素点在物理纹理贴图中对应的物理纹理坐标。
其中,贴图拼接参数是指在对多个建筑纹理贴图的每个纹理级别的纹理图像进行拼接时设置的参数,可按照实际应用场景预先配置,具体可以包括第一方向拼接图像数量和第二方向拼接图像数量。按照不同的第一方向拼接图像数量和第二方向拼接图像数量对多个建筑纹理贴图进行拼接,可以生成不同的物理纹理贴图。
具体的,在确定目标像素点在物理纹理贴图中对应的物理纹理坐标时,终端会先确定物理纹理贴图相应的贴图拼接参数,该贴图拼接参数包括第一方向拼接图像数量和第二方向拼接图像数量,在此基础上,针对于至少一个目标建筑块中每一个目标像素点,终端会先确定目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,再基于第一方向拼接图像数量和第二方向拼接图像数量,对贴图纹理坐标进行重定位,将贴图纹理坐标映射到物理纹理贴图上,得到目标像素点在物理纹理贴图中对应的物理纹理坐标。
在具体的应用中,目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,可通过利用目标建筑块模型中多个目标顶点在同一建筑纹理贴图中对应的贴图纹理坐标进行插值得到。其中,目标顶点是指目标建筑块模型中与目标像素点相邻的顶点。
在具体的应用中,根据贴图纹理坐标中的建筑纹理贴图在纹理数组的索引、第一方向拼接图像数量和第二方向拼接图像数量,可以从物理纹理贴图中定位出建筑纹理贴图所在区域,进而可以根据该建筑纹理贴图所在区域的物理纹理坐标范围,对贴图纹理坐标中目标像素点在相应的建筑纹理贴图中的纹理坐标进行重定位,得到目标像素点在物理纹理贴图中对应的物理纹理坐标。
在一个具体的应用中,在对贴图纹理坐标中目标像素点在相应的建筑纹理贴图中的纹理坐标进行重定位,得到目标像素点对应的物理纹理坐标时,由于建筑模型中的两个顶点之间是可能存在建筑纹理贴图的复用的,但是每个目标像素点都是直接采样就行,所以需要先将目标像素点在相应的建筑纹理贴图中的纹理坐标进行去整,再根据该建筑纹理贴图所在区域的物理纹理坐标范围,对去整后纹理坐标进行重定位,得到目标像素点在物理纹理贴图中对应的物理纹理坐标。需要说明的是,这里的去整是指去除目标像素点在相应的建筑纹理贴图中的纹理坐标中的整数部分,只保留小数部分。举例说明,若目标像素点在相应的建筑纹理贴图中的纹理坐标为(1.5,1.5),通过去整之后所得到的去整后纹理坐标为(0.5,0.5)。在一个具体的应用中,如图7所示,以目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标为[0.5,0.5,索引4](如图7所示假设建筑纹理贴图的纹理坐标原点在左下角),物理纹理贴图相应的贴图拼接参数为第一方向(如图7所示为横向)拼接图像数量为2,第二方向(如图7所示为纵向)拼接图像数量为2为例,根据贴图纹理坐标中的建筑纹理贴图在纹理数组的索引、第一方向拼接图像数量和第二方向拼接图像数量,可以从物理纹理贴图中定位出建筑纹理贴图所在区域为702,进而可以根据建筑纹理贴图所在区域的物理纹理坐标范围(假设物理纹理贴图的纹理坐标原点也在左下角,则该物理纹理坐标范围的四个物理纹理坐标为:左上角(0.5,0.5)、右上角(1,0.5)、左下角(0.5,0)、右下角(1,0)),得到目标像素点在物理纹理贴图中对应的物理纹理坐标(0.75,0.25)。
本实施例中,通过确定物理纹理贴图相应的贴图拼接参数,能够利用贴图拼接参数所包括的第一方向拼接图像数量和第二方向拼接图像数量,实现对目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标的重定位,确定出目标像素点在物理纹理贴图中对应的物理纹理坐标。
在一个实施例中,根据物理纹理坐标,确定目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标包括:
确定目标像素点相应的目标纹理级别;
计算目标纹理级别相应的拼接图像尺寸和虚拟纹理贴图的贴图尺寸之间的第一尺寸比值;
基于第一尺寸比值,对物理纹理坐标进行坐标转换,得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。
具体的,不同纹理级别的拼接图像的拼接图像尺寸不相同。可以理解的是,纹理级别越高,拼接图像尺寸越大,纹理级别越低,拼接图像尺寸越小。举例说明,级别为mip0的拼接图像的拼接图像尺寸大于级别为mip1的拼接图像的拼接图像尺寸,级别为mip1的拼接图像的拼接图像尺寸大于级别为mip2的拼接图像的拼接图像尺寸。因此,为了实现准确坐标转换,终端需要先确定目标像素点相应的目标纹理级别,再计算目标纹理级别相应的拼接图像尺寸和预创建的虚拟纹理贴图的贴图尺寸之间的第一尺寸比值,再基于第一尺寸比值,对物理纹理坐标进行坐标转换,得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。
在具体的应用中,假设目标纹理级别相应的拼接图像尺寸为m,预创建的虚拟纹理贴图的贴图尺寸为n,则可以得到第一尺寸比值为m/n,若物理纹理坐标为(U2,V2),则可以得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标为(U2*(m/n),V2*(m/n))。
本实施例中,通过确定目标像素点相应的目标纹理级别,计算目标纹理级别相应的拼接图像尺寸和预创建的虚拟纹理贴图的贴图尺寸之间的第一尺寸比值,能够利用第一尺寸比值,实现对物理纹理坐标的转换,得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。
在一个实施例中,基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图包括:
确定虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块;
基于虚拟纹理块在虚拟纹理贴图中的第一位置信息,确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息;
根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图;
将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图。
其中,第一位置信息是指虚拟纹理块在虚拟纹理贴图中的纹理坐标范围。第二位置信息是指物理纹理块在物理纹理贴图中的纹理坐标范围。
具体的,在将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图时,终端需要先确定虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块,再基于虚拟纹理块在虚拟纹理贴图中的第一位置信息进行位置映射,确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息,最后根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图的虚拟纹理块中。
在具体的应用中,由于第二位置信息是指物理纹理块在物理纹理贴图中的纹理坐标范围,在根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图时,终端会获取物理纹理贴图中第二位置信息内的纹理贴图,将第二位置信息内的纹理贴图,作为与目标像素点相应的一部分物理纹理贴图。
在具体的应用中,虚拟纹理贴图可用于填充物理纹理贴图,虚拟纹理贴图包括多个虚拟纹理块,每个虚拟纹理块都可以用于填充物理纹理贴图中的至少一部分纹理贴图。在将至少一部分虚拟纹理块用于填充物理纹理贴图的情况下,每个用于填充的虚拟纹理块都分别与物理纹理贴图中的一个物理纹理块相对应,一个物理纹理块指示有一个纹理坐标范围。基于此,可以从虚拟纹理贴图中填充有物理纹理贴图的虚拟纹理块中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素。
在具体的应用中,如图8所示,虚拟纹理贴图包括多个虚拟纹理块802,假设虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块为804,根据虚拟纹理块804在虚拟纹理贴图中的第一位置信息(包括虚拟纹理块的四个顶点的纹理坐标,在图8中四个顶点通过四个小圆圈表示)进行位置映射,可以确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息(如图8所示为物理纹理块的四个顶点的纹理坐标,在图8中四个顶点通过四个小圆圈表示),进而可以根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图(如图8所示为物理纹理块806内的一部分物理纹理贴图)进行填充。
本实施例中,通过先确定虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块,能够利用虚拟纹理块在虚拟纹理贴图中的第一位置信息,实现对物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息的确定,进而可以根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图进行填充,能够实现准确填充,从而可以基于所填充的贴图进行准确纹理采样,实现准确渲染。
在一个实施例中,基于虚拟纹理块在虚拟纹理贴图中的第一位置信息,确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息包括:
确定目标像素点相应的目标纹理级别;
计算虚拟纹理贴图的贴图尺寸和目标纹理级别相应的拼接图像尺寸之间的第二尺寸比值;
基于第二尺寸比值,对虚拟纹理块在虚拟纹理贴图中的第一位置信息进行坐标转换,得到物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息。
具体的,不同纹理级别的拼接图像的拼接图像尺寸不相同。可以理解的是,纹理级别越高,拼接图像尺寸越大,纹理级别越低,拼接图像尺寸越小。因此,为了实现准确坐标转换,终端需要先确定目标像素点相应的目标纹理级别,再计算虚拟纹理贴图的贴图尺寸和目标纹理级别相应的拼接图像尺寸之间的第二尺寸比值,再基于第二尺寸比值,对虚拟纹理块在虚拟纹理贴图中的第一位置信息进行坐标转换,得到物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息。
在具体的应用中,假设目标纹理级别相应的拼接图像尺寸为m,虚拟纹理贴图的贴图尺寸为n,则可以得到第二尺寸比值为n/m,若第一位置信息(包括虚拟纹理块的四个顶点的纹理坐标,分别为纹理坐标1、纹理坐标2、纹理坐标3、纹理坐标4),则可以得到物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息(包括物理纹理块的四个顶点的纹理坐标,分别为纹理坐标1*(n/m)、纹理坐标2*(n/m)、纹理坐标3*(n/m)、纹理坐标4*(n/m))。需要说明的是,在进行坐标转换的过程中,假定物理纹理贴图和虚拟纹理贴图的纹理坐标原点是相对应的。比如,纹理坐标原点可以为物理纹理贴图和虚拟纹理贴图的左下角的顶点。
本实施例中,通过确定目标像素点相应的目标纹理级别,基于目标纹理级别计算第二尺寸比值,能够利用第二尺寸比值,实现对第一位置信息的转换,得到第二位置信息,进而可以根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图进行填充,能够实现准确填充,从而可以基于所填充的贴图进行准确纹理采样,实现准确渲染。
在一个实施例中,物理纹理贴图包括至少一个纹理级别各自的拼接图像;根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图包括:
当物理纹理贴图包括目标纹理级别的拼接图像,根据第二位置信息,从目标纹理级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图,目标纹理级别是指目标像素点相应的一部分物理纹理贴图所属纹理级别。
具体的,在确定第二位置信息后,终端需要判断在物理纹理贴图中是否包括目标纹理级别的拼接图像,在物理纹理贴图包括目标纹理级别的拼接图像的情况下,直接根据第二位置信息,从目标纹理级别的拼接图像中,获取第二位置信息内的的纹理贴图,作为与目标像素点相应的一部分物理纹理贴图。其中,目标纹理级别是指目标像素点相应的一部分物理纹理贴图所属纹理级别。需要说明的是,在物理纹理贴图中包括至少一个纹理级别的拼接图像,需要获取并填充至虚拟纹理贴图中的一部分物理纹理贴图归属于目标纹理级别的拼接图像,因此要先确定物理纹理贴图中是否包括目标纹理级别的拼接图像。
在具体的应用中,假设物理纹理贴图包括mip0级别的拼接图像和mip1级别的拼接图像,而目标像素点相应的一部分物理纹理贴图所属纹理级别为mip1级别,则可以直接根据第二位置信息,从mip1级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图,即mip1级别的拼接图像中第二位置信息内的纹理贴图。
本实施例中,能够在存在目标纹理级别的拼接图像的情况下,根据第二位置信息,从目标纹理级别的拼接图像中,实现对与目标像素点相应的一部分物理纹理贴图的获取。
在一个实施例中,物理纹理贴图包括至少一个纹理级别各自的拼接图像;根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图包括:
当物理纹理贴图不包括目标纹理级别的拼接图像,加载多个建筑纹理贴图的目标纹理级别的纹理图像;
对多个建筑纹理贴图的目标纹理级别的纹理图像进行拼接,得到目标纹理级别的拼接图像;
根据第二位置信息,从目标纹理级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图。
具体的,在物理纹理贴图不包括目标纹理级别的拼接图像的情况下,终端需要先基于所保存的多个建筑纹理贴图的文件句柄,读取并加载多个建筑纹理贴图的目标纹理级别的纹理图像,再对多个建筑纹理贴图的目标纹理级别的纹理图像进行拼接,得到目标纹理级别的拼接图像,根据第二位置信息,从目标纹理级别的拼接图像中,获取第二位置信息内的的纹理贴图,作为与目标像素点相应的一部分物理纹理贴图。
在具体的应用中,假设物理纹理贴图包括mip0级别的拼接图像和mip1级别的拼接图像,而目标像素点相应的一部分物理纹理贴图所属纹理级别为mip2级别,则终端需要先基于所保存的多个建筑纹理贴图的文件句柄,读取并加载多个建筑纹理贴图的mip2级别的纹理图像,再对多个建筑纹理贴图的mip2级别的纹理图像进行拼接,得到mip2级别的拼接图像,再根据第二位置信息,从mip2级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图,即mip2级别的拼接图像中第二位置信息内的纹理贴图。
本实施例中,在物理纹理贴图不包括目标纹理级别的拼接图像的情况下,通过先加载纹理图像,再对纹理图像进行拼接得到目标纹理级别的拼接图像,再根据第二位置信息,从目标纹理级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图,能够实现对对与目标像素点相应的一部分物理纹理贴图的获取。
在一个实施例中,本申请的建筑群渲染方法,主要包括加载和渲染两个流程。
其中,加载过程的流程示意图可以如图9所示。终端会获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,分别确定多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离,基于距离判断是否显示建筑块模型,即是否存在需显示的至少一个目标建筑块模型,在存在需显示的至少一个目标建筑块模型的情况下,加载至少一个目标建筑块模型(mesh material(网格材质)),加载渲染材质中的纹理数组,基于纹理数组中多个建筑纹理贴图的贴图信息,获取多个建筑纹理贴图的文件句柄并保存,根据纹理数组生成物理纹理贴图的数据结构,在物理纹理贴图的数据结构中包括至少一个纹理级别的拼接图像,基于至少一个纹理级别各自的拼接图像,生成建筑群的模型的物理纹理贴图,创建虚拟纹理贴图,上传物理纹理贴图相关参数,即贴图拼接参数。
在具体的应用中,根据纹理数组生成至少一个纹理级别的拼接图像的方式可以为,针对至少一个纹理级别中每一个纹理级别,基于多个建筑纹理贴图的文件句柄,加载多个建筑纹理贴图的所针对的纹理级别的纹理图像,对所针对的纹理级别的纹理图像进行拼接,得到所针对的纹理级别的拼接图像。
在具体的应用中,建筑群的模型包括通过拆分得到的多个建筑块模型,而多个建筑块模型,可以通过对建筑群的初始模型中包括的多个建筑模型进行拆分得到。
在具体的应用中,建筑群的初始模型以及多个建筑纹理贴图,是绘制对象利用计算机图形软件(如Houdini)进行绘制的。在绘制完成后,引擎编辑器可以获取从计算机图形软件输出的包括多个建筑模型的建筑群的初始模型以及多个建筑纹理贴图,将包括多个建筑模型的建筑群的初始模型以及多个建筑纹理贴图转换成渲染引擎可用的格式,生成渲染材质。终端所获取的是引擎编辑器生成的渲染材质。其中,这里的渲染引擎可用的格式可按照实际应用场景进行配置。在一个具体的应用中,引擎编辑器可以通过预配置的建筑群导入工具来将包括多个建筑模型的建筑群的初始模型以及多个建筑纹理贴图转换成渲染引擎可用的格式,生成渲染材质。在导入时,引擎编辑器会先将多个建筑纹理贴图合并成纹理数组,并在多个建筑模型的顶点加入相应的建筑纹理贴图在纹理数组的索引,再基于纹理数组生成渲染材质,方便渲染引擎使用。需要说明的是,包括多个建筑模型的建筑群的初始模型,是通过对多个建筑模型进行合并得到的,这里的合并主要是针对材质引用着色器相同,但是引用建筑纹理贴图不同的模型进行合并,在对多个建筑模型进行合并,得到建筑群的初始模型时,会将多个建筑纹理贴图合并成纹理数组。
在具体的应用中,对多个建筑模型进行拆分的过程可以通过引擎编辑器的模型编辑工具执行,引擎编辑器的模型编辑工具会先确定多个建筑模型各自相应的包围盒,针对于多个建筑模型中每一个,将所针对的建筑模型的包围盒的中心,作为所针对的建筑模型的模型中心,基于多个建筑模型各自的模型中心和预配置建筑块大小,对多个建筑模型进行拆分,将多个建筑模型拆分为多个建筑块模型。
在具体的应用中,在拆分得到多个建筑块模型后,针对多个建筑块模型中每一个建筑块模型,可以在引擎编辑器中的模型编辑工具对建筑块模型包括的多个不同层级的细节层次模型进行预先编辑,这里的编辑指的是,可以将建筑块模型中任一建筑模型加入到另一建筑模型中作为其某一级细节层次,通过这种方式,可以构建多个不同层级的细节层次模型。需要说明的是,在将任一建筑模型加入到另一建筑模型中作为其某一级细节层次时,需要考虑两个建筑模型的顶点格式是否相同,即顶点属性是否相同,在两个建筑模型的顶点格式相同的情况下,才可以进行添加。
需要说明的是,本申请中涉及的资源(包括建筑群的模型、渲染材质等)都可以通过工具(如上述实施例中的模型编辑工具、建筑群导入工具)进行自动生成,并且保存的模型、渲染材质、建筑纹理贴图都可以匹配。同时,可以根据工具的参数配置自主控制整个流程,比如建筑块的大小、细节层次模型的配置、使用纹理数组的类型等。
其中,渲染过程的流程示意图可以如图10所示。在渲染时,针对于至少一个目标建筑块模型中每一个目标像素点,将目标像素点在相应的物理纹理贴图中的贴图纹理坐标转换成物理纹理贴图中的物理纹理坐标,即确定目标像素点在物理纹理贴图中对应的物理纹理坐标,根据物理纹理坐标,确定目标像素点在预创建的虚拟纹理贴图中对应的虚拟纹理坐标,基于虚拟纹理坐标,解析需要的物理纹理贴图中的物理纹理块,判断目标像素点相应的目标纹理级别的数据是否已加载,即物理纹理贴图是否包括目标纹理级别的拼接图像,当物理纹理贴图包括目标纹理级别的拼接图像,根据物理纹理块的第二位置信息,从目标纹理级别的拼接图像中,获取物理纹理块对应的一部分物理纹理贴图(即与目标像素点相应的一部分物理纹理贴图),上传至虚拟纹理贴图(即填充至虚拟纹理贴图),从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素,基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型,得到建筑群至少一部分的渲染图像。
当物理纹理贴图不包括目标纹理级别的拼接图像,加载纹理数组中多个建筑纹理贴图的目标纹理级别的纹理图像,对多个建筑纹理贴图的目标纹理级别的纹理图像进行拼接,得到目标纹理级别的拼接图像,合并到物理纹理贴图的数据结构中,根据第二位置信息,从目标纹理级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图。
在一个实施例中,在进行渲染时,还需要确定至少一个目标建筑块模型中每一个目标像素点,至少一个目标建筑块模型中每一个目标像素点可以通过以下方式确定:针对于至少一个目标建筑块模型中每一个目标建筑块模型,基于目标建筑块模型与预配置的虚拟相机之间的距离,确定目标建筑块模型相应的需显示的细节层次模型,基于需显示的细节层级模型上的顶点,确定目标建筑块模型的目标像素点。
在一个实施例中,确定目标像素点在物理纹理贴图中对应的物理纹理坐标的方式可以为,确定物理纹理贴图相应的贴图拼接参数,贴图拼接参数包括第一方向拼接图像数量和第二方向拼接图像数量,针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,基于第一方向拼接图像数量、第二方向拼接图像数量和贴图纹理坐标,确定目标像素点在所述物理纹理贴图中对应的物理纹理坐标。
在一个实施例中,根据物理纹理坐标,确定目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标的方式可以为,确定目标像素点相应的目标纹理级别,计算目标纹理级别相应的拼接图像尺寸和虚拟纹理贴图的贴图尺寸之间的第一尺寸比值,基于第一尺寸比值,对物理纹理坐标进行坐标转换,得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。
在一个实施例中,基于虚拟纹理坐标,解析需要的物理纹理贴图中的物理纹理块的方式可以为,确定虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块,基于虚拟纹理块在虚拟纹理贴图中的第一位置信息,确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息。根据第二位置信息,就可以从物理纹理贴图中获取第二位置信息内的纹理贴图,即与目标像素点相应的一部分物理纹理贴图。
在一个实施例中,确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息的方式可以为,确定目标像素点相应的目标纹理级别,计算虚拟纹理贴图的贴图尺寸和目标纹理级别相应的拼接图像尺寸之间的第二尺寸比值,基于第二尺寸比值,对虚拟纹理块在虚拟纹理贴图中的第一位置信息进行坐标转换,得到物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息。
本申请提供的建筑群渲染方法,通过将不同建筑纹理贴图合并成一张纹理数组,能够使得建筑群的模型可以共用一个渲染材质,方便进行合批处理,能够降低调用绘制接口的次数,避免了中央处理器过载。同时,基于虚拟纹理贴图,支持纹理数组的流,利用虚拟纹理贴图来优化物理纹理贴图的显存占用,在进行纹理采样时,只要将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图即可,不增加贴图额外的显存,能够有效降低显存占用。此外本申请中,通过对建筑群的模型进行分块,将单独分块的建筑块模型内建筑模型进行网格合并,在控制绘制调用的前提下充分利用渲染引擎的剔除功能,能够提升性能。对同一分建筑块内的建筑模型,通过减低建筑密度的方式来生成不同层级的细节层次模型,能够优化性能。
在一个实施例中,在获取建筑群的模型以及建筑群的模型所指示渲染材质包括的纹理数组,且确定建筑群的模型中需显示的至少一个目标建筑块模型的情况下,还可以通过以下方式渲染至少一个目标建筑块模型:终端可以先将纹理数组进行反序列化,依次将多个建筑纹理贴图加载进内存,对加载的多个建筑纹理贴图的图形处理器的纹理进行拷贝合并成图像处理器的纹理数组,针对于至少一个目标建筑块模型中每一个目标像素点,在着色器根据目标像素点的顶点属性中的纹理数组的索引来采样对应的建筑纹理贴图,得到与目标像素点对应的贴图纹理坐标相匹配的纹理像素,基于各目标像素点对应的贴图纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型,得到建筑群至少一部分的渲染图像。
本申请中的建筑群渲染方法,可以极度的降低建筑群渲染的绘制调用,通过纹理数组对多个建筑纹理贴图进行合并后,使用渲染引擎的自动合批,可以把对一个建筑块模型的建筑模型控制在一个绘制调用中。其次,通过使用虚拟纹理贴图对纹理数组进行优化,在已有虚拟纹理贴图的场景中,只要保存贴图格式相同,可以保证不增加贴图额外的显存,同时提供了对贴图的加载流和建筑块流,减小了中央处理器的压力。
在一个实施例中,本申请的建筑群渲染方法可以应用于城市建筑图像渲染。发明人认为,在传统的大规模的城市建筑渲染中,为了丰富效果,会有大量不同种类的建筑,同时对于同一种类型的建筑,可能会有多种风格的材质,因为传统方法的合批策略都是基于相同材质,这就会导致很难对建筑进行合批,无法降低绘制调用的数量,同时,种类越多也意味着贴图的数量越多,也会占用大量的显存,且由于城市建筑的模型本身就很简单,基本一个建筑就只有几十个面,难以通过有效的减面来制作多细节层次模型。因此,若持续采用传统方法进行城市建筑图像渲染,会影响用于渲染的计算机设备的正常运行。基于此,本申请提供了一种建筑群渲染方法,在将本申请的建筑群渲染方法应用于城市建筑图像渲染时,能够在不影响其效果的基础上实现性能优化。除了应用于城市建筑图像渲染外,本申请的建筑群渲染方法,还可以应用于对任意具体多种风格的材质的模型集群进行渲染,比如,可以应用于对具有多种风格的材质的虚拟对象模型集群进行渲染,又比如,可以应用于对具有多种风格的材质的地形模型进行渲染。在实际应用中,对于一个与20万建筑的城市区域,使用传统方案,以在配置2060-8 GB(吉字节)显卡,32GB内存的计算机设备上进行图像渲染为例,远景的绘制调用在4000次左右,FPS(Frame Per Second,画面每秒传输帧数)在30左右,近景的绘制调用在700-1000次之间,FPS在40左右。而应用本申请中的建筑群渲染方法之后,远景的绘制调用可以控制在100次左右,近景的绘制调用只有1-2次,FPS都稳定在60左右。性能收益明显。
在一个实施例中,如图11所示,为使用传统方案进行城市建筑图像渲染的效果图,从图11中可以看出,FPS为36.8,耗时为27.2ms(毫秒)。如图12所示,为使用本申请的建筑群渲染方法对图11中的同一区域进行渲染的效果图,从12中可以看出,FPS为60,耗时为16.7ms,性能收益明显。
在一个实施例中,如图13所示,为使用传统方案进行城市建筑图像渲染的另一效果图,从图13中可以看出,FPS为34.0,耗时为29.2ms。如图14所示,为使用本申请的建筑群渲染方法对图13中的同一区域进行渲染的效果图,从14中可以看出,FPS为59.9,耗时为16.7ms,性能收益明显。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的建筑群渲染方法的建筑群渲染装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个建筑群渲染装置实施例中的具体限定可以参见上文中对于建筑群渲染方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种建筑群渲染装置,包括:模型获取模块1502、贴图生成模块1504、坐标转换模块1506、纹理采样模块1508和渲染模块1510,其中:
模型获取模块1502,用于获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息;
贴图生成模块1504,用于当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图;物理纹理贴图是多个建筑纹理贴图拼接形成的;
坐标转换模块1506,用于针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在物理纹理贴图中对应的物理纹理坐标,根据物理纹理坐标,确定目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
纹理采样模块1508,用于基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
渲染模块1510,用于基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。
上述建筑群渲染装置,通过获取建筑群的模型,模型指示有用于渲染建筑群的渲染材质,渲染材质包括纹理数组,由于纹理数组包括建筑群的模型的多个建筑纹理贴图的贴图信息,能够使得建筑群的模型可以共用一个渲染材质,方便进行合批处理,能够降低调用绘制接口的次数,避免了中央处理器过载,当确定建筑群的模型中存在需显示的至少一个目标建筑块模型,基于纹理数组,生成建筑群的模型的物理纹理贴图的基础上,针对于至少一个目标建筑块模型中每一个目标像素点,通过先确定目标像素点对应的物理纹理坐标,再根据物理纹理坐标,确定目标像素点对应的虚拟纹理坐标,再基于虚拟纹理坐标,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图,从虚拟纹理贴图中,采样与目标像素点对应的虚拟纹理坐标相匹配的纹理像素,能够利用虚拟纹理贴图来优化物理纹理贴图的显存占用,在进行纹理采样时,只要将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图即可,不增加贴图额外的显存,能够有效降低显存占用,进而可以直接基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染至少一个目标建筑块模型。整个过程,通过降低调用绘制接口的次数来避免中央处理器过载,并通过利用虚拟纹理贴图来优化物理纹理贴图的显存占用的方式来有效降低显存占用,能够在渲染时保障计算机设备的正常运行。
在一个实施例中,建筑群的模型包括通过拆分得到的多个建筑块模型;贴图生成模块还用于分别确定多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离,基于距离,从多个建筑块模型中,确定需显示的至少一个目标建筑块模型。
在一个实施例中,建筑群的初始模型包括多个建筑模型;多个建筑块模型通过基于多个建筑模型各自相应的包围盒和预配置建筑块大小,对多个建筑模型进行拆分得到。
在一个实施例中,坐标转换模块还用于针对于至少一个目标建筑块模型中每一个目标建筑块模型,基于目标建筑块模型与预配置的虚拟相机之间的距离,确定目标建筑块模型相应的需显示的细节层次模型,基于需显示的细节层级模型上的顶点,确定目标建筑块模型的目标像素点。
在一个实施例中,贴图生成模块还用于基于纹理数组中多个建筑纹理贴图的贴图信息,获取多个建筑纹理贴图的文件句柄,针对至少一个纹理级别中每一个纹理级别,基于多个建筑纹理贴图的文件句柄,加载多个建筑纹理贴图的所针对的纹理级别的纹理图像,对所针对的纹理级别的纹理图像进行拼接,得到所针对的纹理级别的拼接图像,基于至少一个纹理级别各自的拼接图像,生成建筑群的模型的物理纹理贴图。
在一个实施例中,坐标转换模块还用于确定物理纹理贴图相应的贴图拼接参数,贴图拼接参数包括第一方向拼接图像数量和第二方向拼接图像数量,针对于至少一个目标建筑块模型中每一个目标像素点,确定目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,基于第一方向拼接图像数量、第二方向拼接图像数量和贴图纹理坐标,确定目标像素点在物理纹理贴图中对应的物理纹理坐标。
在一个实施例中,坐标转换模块还用于确定目标像素点相应的目标纹理级别,计算目标纹理级别相应的拼接图像尺寸和虚拟纹理贴图的贴图尺寸之间的第一尺寸比值,基于第一尺寸比值,对物理纹理坐标进行坐标转换,得到目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标。
在一个实施例中,纹理采样模块还用于确定虚拟纹理贴图中虚拟纹理坐标所处的虚拟纹理块,基于虚拟纹理块在虚拟纹理贴图中的第一位置信息,确定物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息,根据第二位置信息,从物理纹理贴图中获取与目标像素点相应的一部分物理纹理贴图,将目标像素点相应的一部分物理纹理贴图填充至虚拟纹理贴图。
在一个实施例中,纹理采样模块还用于确定目标像素点相应的目标纹理级别,计算虚拟纹理贴图的贴图尺寸和目标纹理级别相应的拼接图像尺寸之间的第二尺寸比值,基于第二尺寸比值,对虚拟纹理块在虚拟纹理贴图中的第一位置信息进行坐标转换,得到物理纹理贴图中与虚拟纹理块对应的物理纹理块的第二位置信息。
在一个实施例中,物理纹理贴图包括至少一个纹理级别各自的拼接图像;纹理采样模块还用于当物理纹理贴图包括目标纹理级别的拼接图像,根据第二位置信息,从目标纹理级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图,目标纹理级别是指目标像素点相应的一部分物理纹理贴图所属纹理级别。
在一个实施例中,物理纹理贴图包括至少一个纹理级别各自的拼接图像;纹理采样模块还用于当物理纹理贴图不包括目标纹理级别的拼接图像,加载多个建筑纹理贴图的目标纹理级别的纹理图像,对多个建筑纹理贴图的目标纹理级别的纹理图像进行拼接,得到目标纹理级别的拼接图像,根据第二位置信息,从目标纹理级别的拼接图像中,获取与目标像素点相应的一部分物理纹理贴图。
上述建筑群渲染装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,也可以是服务器,以该计算机设备是终端为例,其内部结构图可以如图16所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种建筑群渲染方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种建筑群渲染方法,其特征在于,所述方法包括:
获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
2.根据权利要求1所述的方法,其特征在于,所述建筑群的模型包括通过拆分得到的多个建筑块模型;所述方法还包括:
分别确定所述多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离;
基于所述距离,从所述多个建筑块模型中,确定需显示的至少一个目标建筑块模型。
3.根据权利要求2所述的方法,其特征在于,所述建筑群的初始模型包括多个建筑模型;所述多个建筑块模型通过基于所述多个建筑模型各自相应的包围盒和预配置建筑块大小,对所述多个建筑模型进行拆分得到。
4.根据权利要求1所述的方法,其特征在于,所述至少一个目标建筑块模型中每一个目标像素点通过以下方式确定:
针对于所述至少一个目标建筑块模型中每一个目标建筑块模型,基于所述目标建筑块模型与预配置的虚拟相机之间的距离,确定所述目标建筑块模型相应的需显示的细节层次模型,基于所述需显示的细节层级模型上的顶点,确定所述目标建筑块模型的目标像素点。
5.根据权利要求1所述的方法,其特征在于,所述基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图包括:
基于所述纹理数组中所述多个建筑纹理贴图的贴图信息,获取所述多个建筑纹理贴图的文件句柄;
针对至少一个纹理级别中每一个纹理级别,基于所述多个建筑纹理贴图的文件句柄,加载所述多个建筑纹理贴图的所针对的纹理级别的纹理图像,对所述所针对的纹理级别的纹理图像进行拼接,得到所述所针对的纹理级别的拼接图像;
基于所述至少一个纹理级别各自的拼接图像,生成所述建筑群的模型的物理纹理贴图。
6.根据权利要求1所述的方法,其特征在于,所述针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标包括:
确定所述物理纹理贴图相应的贴图拼接参数;所述贴图拼接参数包括第一方向拼接图像数量和第二方向拼接图像数量;
针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,基于所述第一方向拼接图像数量、所述第二方向拼接图像数量和所述贴图纹理坐标,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标。
7.根据权利要求1所述的方法,其特征在于,所述根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标包括:
确定所述目标像素点相应的目标纹理级别;
计算所述目标纹理级别相应的拼接图像尺寸和虚拟纹理贴图的贴图尺寸之间的第一尺寸比值;
基于所述第一尺寸比值,对所述物理纹理坐标进行坐标转换,得到所述目标像素点在所述虚拟纹理贴图中对应的虚拟纹理坐标。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图包括:
确定所述虚拟纹理贴图中所述虚拟纹理坐标所处的虚拟纹理块;
基于所述虚拟纹理块在所述虚拟纹理贴图中的第一位置信息,确定所述物理纹理贴图中与所述虚拟纹理块对应的物理纹理块的第二位置信息;
根据所述第二位置信息,从所述物理纹理贴图中获取与所述目标像素点相应的一部分物理纹理贴图;
将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图。
9.根据权利要求8所述的方法,其特征在于,所述基于所述虚拟纹理块在所述虚拟纹理贴图中的第一位置信息,确定所述物理纹理贴图中与所述虚拟纹理块对应的物理纹理块的第二位置信息包括:
确定所述目标像素点相应的目标纹理级别;
计算所述虚拟纹理贴图的贴图尺寸和所述目标纹理级别相应的拼接图像尺寸之间的第二尺寸比值;
基于所述第二尺寸比值,对所述虚拟纹理块在所述虚拟纹理贴图中的第一位置信息进行坐标转换,得到所述物理纹理贴图中与所述虚拟纹理块对应的物理纹理块的第二位置信息。
10.根据权利要求8所述的方法,其特征在于,所述物理纹理贴图包括至少一个纹理级别各自的拼接图像;所述根据所述第二位置信息,从所述物理纹理贴图中获取与所述目标像素点相应的一部分物理纹理贴图包括:
当所述物理纹理贴图包括目标纹理级别的拼接图像,根据所述第二位置信息,从所述目标纹理级别的拼接图像中,获取与所述目标像素点相应的一部分物理纹理贴图,所述目标纹理级别是指所述目标像素点相应的一部分物理纹理贴图所属纹理级别。
11.根据权利要求8所述的方法,其特征在于,所述物理纹理贴图包括至少一个纹理级别各自的拼接图像;所述根据所述第二位置信息,从所述物理纹理贴图中获取与所述目标像素点相应的一部分物理纹理贴图包括:
当所述物理纹理贴图不包括目标纹理级别的拼接图像,加载所述多个建筑纹理贴图的所述目标纹理级别的纹理图像;
对所述多个建筑纹理贴图的所述目标纹理级别的纹理图像进行拼接,得到所述目标纹理级别的拼接图像;
根据所述第二位置信息,从所述目标纹理级别的拼接图像中,获取与所述目标像素点相应的一部分物理纹理贴图。
12.一种建筑群渲染装置,其特征在于,所述装置包括:
模型获取模块,用于获取建筑群的模型,所述模型指示有用于渲染所述建筑群的渲染材质,所述渲染材质包括纹理数组,所述纹理数组包括所述建筑群的模型的多个建筑纹理贴图的贴图信息;
贴图生成模块,用于当确定所述建筑群的模型中存在需显示的至少一个目标建筑块模型,基于所述纹理数组,生成所述建筑群的模型的物理纹理贴图;所述物理纹理贴图是所述多个建筑纹理贴图拼接形成的;
坐标转换模块,用于针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标,根据所述物理纹理坐标,确定所述目标像素点在虚拟纹理贴图中对应的虚拟纹理坐标;
纹理采样模块,用于基于所述虚拟纹理坐标,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图,从所述虚拟纹理贴图中,采样与所述目标像素点对应的虚拟纹理坐标相匹配的纹理像素;
渲染模块,用于基于各目标像素点对应的虚拟纹理坐标相匹配的纹理像素,渲染所述至少一个目标建筑块模型。
13.根据权利要求12所述的装置,其特征在于,所述建筑群的模型包括通过拆分得到的多个建筑块模型;所述贴图生成模块还用于分别确定所述多个建筑块模型的建筑块中心与预配置的虚拟相机之间的距离,基于所述距离,从所述多个建筑块模型中,确定需显示的至少一个目标建筑块模型。
14.根据权利要求13所述的装置,其特征在于,所述建筑群的初始模型包括多个建筑模型;所述多个建筑块模型通过基于所述多个建筑模型各自相应的包围盒和预配置建筑块大小,对所述多个建筑模型进行拆分得到。
15.根据权利要求12所述的装置,其特征在于,所述坐标转换模块还用于针对于所述至少一个目标建筑块模型中每一个目标建筑块模型,基于所述目标建筑块模型与预配置的虚拟相机之间的距离,确定所述目标建筑块模型相应的需显示的细节层次模型,基于所述需显示的细节层级模型上的顶点,确定所述目标建筑块模型的目标像素点。
16.根据权利要求12所述的装置,其特征在于,所述贴图生成模块还用于基于所述纹理数组中所述多个建筑纹理贴图的贴图信息,获取所述多个建筑纹理贴图的文件句柄,针对至少一个纹理级别中每一个纹理级别,基于所述多个建筑纹理贴图的文件句柄,加载所述多个建筑纹理贴图的所针对的纹理级别的纹理图像,对所述所针对的纹理级别的纹理图像进行拼接,得到所述所针对的纹理级别的拼接图像,基于所述至少一个纹理级别各自的拼接图像,生成所述建筑群的模型的物理纹理贴图。
17.根据权利要求12所述的装置,其特征在于,所述坐标转换模块还用于确定所述物理纹理贴图相应的贴图拼接参数;所述贴图拼接参数包括第一方向拼接图像数量和第二方向拼接图像数量,针对于所述至少一个目标建筑块模型中每一个目标像素点,确定所述目标像素点在相应的建筑纹理贴图中对应的贴图纹理坐标,基于所述第一方向拼接图像数量、所述第二方向拼接图像数量和所述贴图纹理坐标,确定所述目标像素点在所述物理纹理贴图中对应的物理纹理坐标。
18.根据权利要求12所述的装置,其特征在于,所述坐标转换模块还用于确定所述目标像素点相应的目标纹理级别,计算所述目标纹理级别相应的拼接图像尺寸和虚拟纹理贴图的贴图尺寸之间的第一尺寸比值,基于所述第一尺寸比值,对所述物理纹理坐标进行坐标转换,得到所述目标像素点在所述虚拟纹理贴图中对应的虚拟纹理坐标。
19.根据权利要求12至18任意一项所述的装置,其特征在于,所述纹理采样模块还用于确定所述虚拟纹理贴图中所述虚拟纹理坐标所处的虚拟纹理块,基于所述虚拟纹理块在所述虚拟纹理贴图中的第一位置信息,确定所述物理纹理贴图中与所述虚拟纹理块对应的物理纹理块的第二位置信息,根据所述第二位置信息,从所述物理纹理贴图中获取与所述目标像素点相应的一部分物理纹理贴图,将所述目标像素点相应的一部分物理纹理贴图填充至所述虚拟纹理贴图。
20.根据权利要求19所述的装置,其特征在于,所述纹理采样模块还用于确定所述目标像素点相应的目标纹理级别,计算所述虚拟纹理贴图的贴图尺寸和所述目标纹理级别相应的拼接图像尺寸之间的第二尺寸比值,基于所述第二尺寸比值,对所述虚拟纹理块在所述虚拟纹理贴图中的第一位置信息进行坐标转换,得到所述物理纹理贴图中与所述虚拟纹理块对应的物理纹理块的第二位置信息。
21.根据权利要求19所述的装置,其特征在于,所述物理纹理贴图包括至少一个纹理级别各自的拼接图像;所述纹理采样模块还用于当所述物理纹理贴图包括目标纹理级别的拼接图像,根据所述第二位置信息,从所述目标纹理级别的拼接图像中,获取与所述目标像素点相应的一部分物理纹理贴图,所述目标纹理级别是指所述目标像素点相应的一部分物理纹理贴图所属纹理级别。
22.根据权利要求19所述的装置,其特征在于,所述物理纹理贴图包括至少一个纹理级别各自的拼接图像;所述纹理采样模块还用于当所述物理纹理贴图不包括目标纹理级别的拼接图像,加载所述多个建筑纹理贴图的所述目标纹理级别的纹理图像,对所述多个建筑纹理贴图的所述目标纹理级别的纹理图像进行拼接,得到所述目标纹理级别的拼接图像,根据所述第二位置信息,从所述目标纹理级别的拼接图像中,获取与所述目标像素点相应的一部分物理纹理贴图。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153512.7A CN116883575B (zh) | 2023-09-08 | 2023-09-08 | 建筑群渲染方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311153512.7A CN116883575B (zh) | 2023-09-08 | 2023-09-08 | 建筑群渲染方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116883575A CN116883575A (zh) | 2023-10-13 |
CN116883575B true CN116883575B (zh) | 2023-12-26 |
Family
ID=88272229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311153512.7A Active CN116883575B (zh) | 2023-09-08 | 2023-09-08 | 建筑群渲染方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116883575B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6744442B1 (en) * | 2000-08-29 | 2004-06-01 | Harris Corporation | Texture mapping system used for creating three-dimensional urban models |
CN109961498A (zh) * | 2019-03-28 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、终端及存储介质 |
CN112884875A (zh) * | 2021-03-19 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
CN114119834A (zh) * | 2021-12-03 | 2022-03-01 | 天津亚克互动科技有限公司 | 渲染方法、装置、电子设备及可读存储介质 |
CN115713589A (zh) * | 2022-09-23 | 2023-02-24 | 网易(杭州)网络有限公司 | 虚拟建筑群的图像生成方法、装置、存储介质及电子装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL202460A (en) * | 2009-12-01 | 2013-08-29 | Rafael Advanced Defense Sys | Method and system for creating a 3D view of real arena for military planning and operations |
WO2012132237A1 (ja) * | 2011-03-31 | 2012-10-04 | パナソニック株式会社 | 立体視画像の描画を行う画像描画装置、画像描画方法、画像描画プログラム |
US9418478B2 (en) * | 2012-06-05 | 2016-08-16 | Apple Inc. | Methods and apparatus for building a three-dimensional model from multiple data sets |
US9070314B2 (en) * | 2012-06-05 | 2015-06-30 | Apple Inc. | Method, system and apparatus for rendering a map according to texture masks |
EP2973423B1 (en) * | 2013-03-15 | 2020-08-19 | Robert Bosch GmbH | System and method for display of a repeating texture stored in a texture atlas |
-
2023
- 2023-09-08 CN CN202311153512.7A patent/CN116883575B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6744442B1 (en) * | 2000-08-29 | 2004-06-01 | Harris Corporation | Texture mapping system used for creating three-dimensional urban models |
CN109961498A (zh) * | 2019-03-28 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、终端及存储介质 |
CN112884875A (zh) * | 2021-03-19 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、计算机设备和存储介质 |
CN114119834A (zh) * | 2021-12-03 | 2022-03-01 | 天津亚克互动科技有限公司 | 渲染方法、装置、电子设备及可读存储介质 |
CN115713589A (zh) * | 2022-09-23 | 2023-02-24 | 网易(杭州)网络有限公司 | 虚拟建筑群的图像生成方法、装置、存储介质及电子装置 |
Non-Patent Citations (4)
Title |
---|
A Gestalt rules and graph-cut-based simplification framework for urban building models;Yuebin Wang et;International Journal of Applied Earth Observation and Geoinformation;第247-258页 * |
Rendering 3D City for Smart City Digital Twin;Lorenzo Adreani;2022 IEEE International Conference on Smart Computing (SMARTCOMP);第183-185页 * |
基于3DGIS的木构建筑群三维重建与可视化;杜志强;李德仁;朱宜萱;朱庆;;***仿真学报(第07期);第1884-1889页 * |
基于CGA的大规模三维城市模型构建方法研究;邵泽凤;邹青青;张荣华;任义兰;;现代计算机(第12期);第44-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116883575A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
CN102890829B (zh) | 一种基于gpu的渲染地形的方法 | |
CN113628331B (zh) | 一种虚幻引擎中摄影测量模型的数据组织和调度方法 | |
US20210027526A1 (en) | Lighting estimation | |
CN113112579A (zh) | 渲染方法、装置、电子设备和计算机可读存储介质 | |
CN114820990B (zh) | 一种基于数字孪生的流域防洪可视化方法及*** | |
CN109636893A (zh) | 三维OBJ模型及MTL材质在iPhone中的解析与渲染方法 | |
CN110544291A (zh) | 一种图像渲染方法及装置 | |
CN112365598B (zh) | 倾斜摄影数据转换三维数据的方法、装置及终端 | |
CN112785696A (zh) | 基于游戏引擎和倾斜摄影数据的三维实景模型生成方法 | |
CN116109765A (zh) | 标注对象的三维渲染方法、装置、计算机设备、存储介质 | |
US11995771B2 (en) | Automated weighting generation for three-dimensional models | |
CN113610958A (zh) | 一种基于风格迁移的3d图像构建方法、装置及终端 | |
CN114596423A (zh) | 基于虚拟场景网格化的模型渲染方法、装置和计算机设备 | |
KR20160068204A (ko) | 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체 | |
CN116883575B (zh) | 建筑群渲染方法、装置、计算机设备和存储介质 | |
CN116758206A (zh) | 矢量数据的融合渲染方法、装置、计算机设备、存储介质 | |
US6768493B1 (en) | System, method and article of manufacture for a compressed texture format that is efficiently accessible | |
Masood et al. | A novel method for adaptive terrain rendering using memory-efficient tessellation codes for virtual globes | |
CN117557711B (zh) | 可视域的确定方法、装置、计算机设备、存储介质 | |
US20240212282A1 (en) | Image rendering method and apparatus, device, and medium | |
EP1602075A2 (en) | Visual simulation of dynamic moving bodies | |
CN116958385B (zh) | 支持海量单体模型的材质纹理动态更新方法、存储介质及设备 | |
US11948338B1 (en) | 3D volumetric content encoding using 2D videos and simplified 3D meshes | |
CN111506680B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |