CN116824082B - 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 - Google Patents
虚拟地形的绘制方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116824082B CN116824082B CN202311102281.7A CN202311102281A CN116824082B CN 116824082 B CN116824082 B CN 116824082B CN 202311102281 A CN202311102281 A CN 202311102281A CN 116824082 B CN116824082 B CN 116824082B
- Authority
- CN
- China
- Prior art keywords
- virtual
- detail
- visual
- terrain
- level
- 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
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000003860 storage Methods 0.000 title claims abstract description 39
- 238000009877 rendering Methods 0.000 title claims description 41
- 230000000007 visual effect Effects 0.000 claims abstract description 295
- 238000003384 imaging method Methods 0.000 claims description 37
- 230000008439 repair process Effects 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 238000004040 coloring Methods 0.000 description 11
- 210000003128 head Anatomy 0.000 description 11
- 238000005286 illumination Methods 0.000 description 11
- 238000012876 topography Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 239000000463 material Substances 0.000 description 8
- 238000004088 simulation Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000001976 improved effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种虚拟地形的绘制方法、装置、设备、存储介质及程序产品,涉及虚拟环境领域。包括:响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,所述虚拟地块支持至少两种细节层次,且所述第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度;基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次;在所述内存中不存在所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至内存;基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制。
Description
技术领域
本申请实施例涉及虚拟环境领域,特别涉及一种虚拟地形的绘制方法、装置、设备、存储介质及程序产品。
背景技术
现如今,随着技术的发展,视景仿真、虚拟仿真、虚拟现实仿真等技术逐渐应用于飞行模拟领域,通过将计算机技术、图形图像技术以及光学技术等等高科技技术进行结合,实现对现实世界或想象的虚拟世界进行三维建模,并且通过显示器或投影进行显示。
在相关技术中,在飞行模拟应用过程中,需要由视景系统进行地形绘制,在绘制过程中需要由用户预先确定飞行区域,并预先等待视景系统加载飞行区域对应的地形数据后才能够进入飞行训练。
然而,在相关技术中采用的预先加载地形数据的策略,需要提前确定飞行区域,导致用户在一次训练中仅能够在预先选定的区域进行训练,地形加载方案的适用性较差。
发明内容
本申请实施例提供了一种虚拟地形的绘制方法、装置、设备、存储介质及程序产品。所述技术方案包括如下方面。
一方面,本申请实施例提供了一种虚拟地形的绘制方法,所述方法包括如下步骤。
响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,所述虚拟地块支持至少两种细节层次,且所述第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度;基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次;在所述内存中不存在所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至内存;基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制。
另一方面,本申请实施例提供了一种虚拟地形的绘制装置,所述装置包括如下结构。
常驻加载模块,用于响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,所述虚拟地块支持至少两种细节层次,且所述第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度;层次确定模块,用于基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次;动态加载模块,用于在所述内存中不存在所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至内存;地形绘制模块,用于基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的虚拟地形的绘制方法。
另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的虚拟地形的绘制方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的虚拟地形的绘制方法。
本申请实施例提供的技术方案带来的有益效果至少包括以下内容。
本申请实施例中,在进行虚拟地形加载的过程中,将虚拟地形中全部虚拟地块在细节程度最低的第一细节层次下的虚拟地形数据常驻加载至内存,并在确定可视范围内各个可视虚拟地块的目标细节层次之后,将各个可视虚拟地块的目标细节层次下的虚拟地形数据动态加载至内存。将虚拟地块中第一细节层次的虚拟地形数据常驻加载以及动态加载可视虚拟地块的目标细节层次下的虚拟地形数据,采用这种异步动态加载的方式加载不同地块在不同细节层次下的虚拟地形数据,有利于在虚拟地形加载过程中,基于虚拟摄像机的方位,动态的调整所生成的虚拟地形的精细程度,更加符合真实情况下人眼视物的规律。并且采用异步动态加载的虚拟地形数据的方式,相较于提前加载固定路线上的虚拟地形信息并确定地形网格,智能化程度更高,地形加载方案使用场景更加广泛。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的实施环境示意图。
图2示出了本申请一个示例性实施例提供的虚拟地形绘制应用程序界面的示意图。
图3示出了本申请一个示例性实施例提供的虚拟地形绘制方案所绘制的虚拟地形的示意图。
图4示出了本申请一个示例性实施例提供的虚拟地形的绘制方法的流程图。
图5示出了本申请一个示例性实施例提供的可视范围内不同地块在成像平面中成像效果的示意图。
图6示出了本申请一个示例性实施例提供的四叉树结构示意图。
图7示出了本申请一个示例性实施例提供的不同投影距离的可视虚拟地块的目标细节层次的示意图。
图8示出了本申请一个示例性实施例提供的动态加载虚拟地形数据的示意图。
图9示出了本申请一个示例性实施例提供的虚拟地形的绘制装置的结构框图。
图10示出了本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
地形,是指地物形状以和地貌的总称,具体是指地表以上分布的固定物体共同呈现出的高低起伏的各种状态。
虚拟地形,是在虚拟环境中根据地形特征构建的地形结构,地形特征包括地形的高度以及地表的纹理等等,能够反应地理要素的控件错落关系、空间位置等等。虚拟地形生成需要大量的矩阵协同工作,来生成地形的高度以及纹理等信息,是在引擎或游戏生成地形的模块中的基本前提。
地形网格,是指在地表上构成地形的等距离顶点结构,在生成虚拟地形的过程中,需要生成顶点更加复杂的网格。地形网格(Continuous Level of Detail,CLoD)是一种通过连续细节层次算法构造的,可以简单认为是一种动态的多边形网格,提供了更多顶点区域,有更多的细节。
地块,是具有一定综合结构形态,属于一定构造体系的地质块体。
虚拟地块,是指虚拟地形中按照规则划分的一部分地块范围,在一个完整的虚拟地形的范围内包含多个虚拟地块。
LoD(Level of Detail,多细节层次),是大场景开发中常用的一种优化方式,其核心在于,三维模型物体在场景中根据距离虚拟摄像机的远近来显示不同细节程度的模型,距离渐进时显示细节程度较高的模型,距离渐远时,显示细节程度较低的模型,从而节省性能的开销。
四叉树(Quadtree),是一种树状数据结构,在每个节点上会有四个子地块,四叉树常应用于二维空间资料的分析与分类,在本申请实施例中,通过四叉树结构组织不同目标细节层次。
绘制(Rendering),是指通过软件由模型生成图像的过程。其中模型使用语言或者数据结构进行严格定义的三维物体或虚拟场景的描述,包括几何、视点、纹理、照明和阴影等信息。所生成的图像是指数字图像或者位图图像。
游戏引擎(Game Engine),是指一些交互式实时图像应用程序的可重用核心组件,提供一系列可视化开发工具,一般包含绘制引擎、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理等。
图1示出了本申请一个示例性实施例提供的实施环境示意图,该实施环境中包括终端110和服务器120。其中终端110与服务器120之间通过通信网络进行数据通信,可选地,通信网络可以是有线网络也可以是无线网络,且该通信网络可以是局域网、城域网以及广域网中的至少一种。
终端110是具有绘制虚拟地形功能的电子设备。该电子设备可以是智能手机、平板电脑、膝上便携式笔记本电脑等移动终端,也可以是台式电脑、投影式电脑等终端,本申请实施例对此不做限定。且终端中可通过如游戏应用、虚拟现实模拟应用、地图类应用以及飞行模拟器应用等应用程序等提供虚拟地形的绘制功能,本申请对此不做限定。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器120用于为支持虚拟地形绘制的应用程序提供后台服务。可选地,服务器120承担主要计算工作,终端110承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
如图1所示,当具有进行虚拟地形绘制需求的情况下,终端110响应于地形绘制指令,将第一细节层次下的虚拟地形数据常驻加载至内存,确定目标细节层次,并动态加载目标细节层次下的虚拟地形数据至内存,从而基于虚拟地形数据进行虚拟地形的绘制。在这种实施方式下,虚拟地形数据可以存储于外部存储器中,在终端110从外部存储器中获取虚拟地形数据并加载至内存。
在一种可能的实施方式中,服务器120中存储有虚拟地形中各个虚拟地块对应的不同细节层次下的数据,终端110响应于地形绘制指令,从服务器120获取第一细节层次下的虚拟地形数据,并且,在确定目标细节层次后,终端110从服务器120中获取可视虚拟地块在目标细节层次下的虚拟地形数据。
可选的,终端可以将当前虚拟摄像机视角下的地块的数据发送至服务器120,有服务器120基于虚拟摄像机的方位确定不同可视虚拟地块的目标细节层次。
为了方便表述,下述各个实施例以虚拟地形的绘制方法由计算机设备执行为例进行说明。
可选的,本申请实施例提供的虚拟地形的绘制方法可以应用与具有虚拟地形绘制功能的产品中,比如飞行模拟器、汽车模拟、轮船模拟器等产品中。
可选的,本申请实施例提供的虚拟地形的绘制方法可以应用于飞行模拟器中。在飞行人员通过飞行模拟器进行飞行模拟的过程中,计算机设备可以根据高精度全球地形数据,利用异步动态加载虚拟地形数据的方式进行虚拟地形的绘制,并基于三维虚拟空间到二维图像空间的映射关系,将虚拟地形画面投影至飞行模拟器的显示屏上。
示意性的,本申请所提供的虚拟地形的绘制方法用于FFS(Full FlightSimulator,全功能飞行模拟器)的EFVS(Enhanced Flight Vision Systems,视景系统)中。其中,FFS是飞行制造领域的高精尖技术装备,可以逼真的模拟飞机的起飞、降落等飞行姿态、动作以及特殊情况等等,通过虚拟环境为用户提供模拟真实环境的感官效果。视景系统是FFS中的一个子系统,用于向用户提供视觉信息,由成像显示设备以及模拟绘制引擎组成。
请参考图2,其示出了本申请一个示例性实施例提供的虚拟地形绘制应用程序界面的示意图。该应用程序支持创造、导入、造型、清除、挖洞以及绘制等功能,并且该界面还显示有地形尺寸设置控件、地块尺寸设置控件以及子地块尺寸设置控件,用户可以通过触发相应控件实现对虚拟地形数据的更改。并且,用户在设置好相应的参数后,可以通过触发创建控件201,从而使终端接收到虚拟地形绘制指令。
如图3所示,其示出了本申请一个示例性实施例提供的虚拟地形绘制方案所绘制的虚拟地形的示意图。该视角的虚拟地形由虚拟摄像机视角观察的场景,距离虚拟摄像机方位距离较远的地块中虚拟地形的细节程度较低,即显示的虚拟地形较为粗糙,而距离虚拟摄像机较近的地块中虚拟地形的细节程度较高,即显示的虚拟地形较为细节。采用本申请实施例所提供的方案能够使视景系统绘制趋于真实地形的高精度虚拟地形。
可选的,本申请实施例提供的虚拟地形的绘制方案应用于汽车模拟器中,在驾驶员通过汽车模拟器进行模拟驾驶的过程中,计算机设备可以根据虚拟路况数据,利用异步动态加载虚拟地形数据的方式绘制虚拟路况地形,并基于三维虚拟空间到二维图像空间的映射关系,将虚拟驾驶画面投影至汽车模拟器的显示屏上。
请参考图4,其示出了本申请一个示例性实施例提供的虚拟地形的绘制方法的流程图。本实施例以该方法用于计算机设备为例进行说明,该方法包括如下步骤。
步骤401,响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存。
其中,虚拟地块支持至少两种细节层次,且第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度。
在一种可能的实施方式中,考虑到虚拟地形的绘制场景是一种三维虚拟场景,而虚拟地形投影所呈现的是二维画面,因此为了实现对三维虚拟场景的投影显示,计算机设备在目标虚拟场景中设置虚拟视点,并基于虚拟视点对目标虚拟场景进行观察,从而模拟出真实物理空间内基于用户视点对投影画面进行观察的视角效果。可选的,虚拟视点可以通过摄像机模型模拟,即通过虚拟摄像机模型对虚拟场景进行观察。
在计算机设备中安装支持进行虚拟地形绘制的应用程序,用户通过该应用程序触发虚拟地形绘制指令,计算机设备响应于虚拟地形绘制指令开始加载虚拟地形数据。
本申请实施例中,采用异步动态加载的方式进行虚拟地形的加载,由于在进行虚拟地形绘制时,绘制出的虚拟地形可能具有不同的精细程度,而第一细节层次作为细节程度最低的细节程度,其对应的虚拟地形数据占用的内存资源较小,并且在绘制的虚拟地形中第一细节程度的地块占比较大,则将整个地形中全部虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,在进行地形绘制时即可访问内存,获取可视范围内一部分第一细节层次下的虚拟地形数据。
同时能够在虚拟摄像机视角不断变化的过程中快速的从内存中访问到可视范围内可视虚拟地块在第一细节层次下的虚拟地形数据。例如,在虚拟摄像机视角中,可视范围内存在第一虚拟地块,并且在当前视角下第一可视虚拟地块的目标细节层次为第一细节层次,则在对虚拟地形进行绘制时,计算机设备可以确定存储第一虚拟地块在第一细节层次下的虚拟地形数据的内存空间地址,从而使计算机设备根据该地址访问对应的内存单元,获取第一虚拟地块在第一细节层次下的虚拟地形数据后进行虚拟地形的绘制。在虚拟摄像机的视角发生变化的情况下,可视范围内出现第二虚拟地块,且第二虚拟地块的目标细节层次是第一细节层次,则在计算机设备重新绘制虚拟地形时,确定存储有第二虚拟地块在第一细节层次下的虚拟地形数据的内存空间的地址,并访问该地址指示的内存空间,从而根据获取到的第二虚拟地块在第一细节层次下的虚拟地形数据绘制第二虚拟地块处的虚拟地形。
步骤402,基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次。
其中,虚拟摄像机方位包括虚拟摄像机在虚拟环境中的位置以及虚拟摄像机的拍摄角度(即视角)。虚拟摄像机在不同的方位下,能够拍摄到的虚拟地形的范围不同,从而在不同虚拟摄像机方位下,向用户展示的成像平面也不同。虚拟摄像机拍摄到的虚拟地形的参数经过一些列变化最终投影到成像平面中,向用户展示。
在摄像机所拍摄的方位上,并非完整的虚拟地形中全部虚拟地块均能够被虚拟摄像机捕捉到,因此可以仅绘制当前摄像机可视范围内的虚拟地形,能够有效降低计算量,节约运算资源。
其中,计算机设备可以通过视锥体剔除算法基于虚拟摄像机方位确定当前方位下的可视范围,本实施例对此不做赘述。
在可视范围内,基于近大远小的成像规则,距离虚拟摄像机较近物体在成像平面的投影面积较大,而距离虚拟摄像机较远的物体在成像平面的投影面积较小,因此,在可视范围内不同可视虚拟地块的目标细节层次应当不同,从而达到更真实的成像效果。
由于在进行虚拟地形绘制时仅需要绘制可视范围内的虚拟地块,并每一帧根据不同的虚拟摄像机方位更新可视范围内绘制的虚拟地形,因此,仅需要确定可视范围内可视虚拟地块的目标细节层次,并在每一帧对其进行更新。其中,存在至少两个可视虚拟地块的目标细节层次相同。
步骤403,在内存中不存在可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,可视虚拟地块在目标细节层次下的虚拟地形数据动态加载至内存。
可视虚拟地地块目标细节层次下的虚拟地形数据应当动态加载至内存,则在已加载的内存中已经存在某个可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,则无需再将该可视虚拟地块在目标细节层次下的虚拟地形数据动态加载至内存。
可选的,在已加载的内存中已经存在某个可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,若该可视虚拟地块对应的目标细节层次发生变化,且变化后的目标细节层次下的虚拟地形数据未被加载至内存中的情况下,将该可视虚拟地块在变化后的目标细节层次下的虚拟地形数据加载至内存。
步骤404,基于内存中各个可视虚拟地块在目标细节层次下的虚拟地形数据进行虚拟地形绘制。
在确定目标细节层次之后,从内存中分别提取可视范围内可视虚拟地块在目标细节层次下的虚拟地形数据进行不同可视虚拟地块的绘制。
综上所述,本申请实施例中,在进行虚拟地形加载的过程中,将虚拟地形中全部虚拟地块在细节程度最低的第一细节层次下的虚拟地形数据常驻加载至内存,并在确定可视范围内各个可视虚拟地块的目标细节层次之后,将各个可视虚拟地块的目标细节层次下的虚拟地形数据动态加载至内存。将虚拟地块中第一细节层次的虚拟地形数据常驻加载以及动态加载可视虚拟地块的目标细节层次下的虚拟地形数据,采用这种异步动态加载的方式加载不同地块在不同细节层次下的虚拟地形数据,有利于在虚拟地形加载过程中,基于虚拟摄像机的方位,动态的调整所生成的虚拟地形的精细程度,更加符合真实情况下人眼视物的规律。并且采用异步动态加载的虚拟地形数据的方式,相较于提前加载固定路线上的虚拟地形信息并确定地形网格,智能化程度更高,地形加载方案使用场景更加广泛。
在一些实施例中,完整地形的范围较大,例如全球地形,在这种情况下,在成像平面中向用户显示的地形仅为完整地形中的一部分,即为可视范围。在一个完整地形中,包含多个虚拟地块,在可视范围内的虚拟地块为可视虚拟地块。
在进行虚拟地形绘制的过程中,由于在虚拟摄像机拍摄后的成像平面中,距离虚拟摄像机更近的位置的可视虚拟地块在成像平面的成像面积更大,即占据较多的像素,则为保证其成像效果,距离虚拟摄像机越近的地块的细节程度应当越高;而距离虚拟摄像机更远的可视虚拟地块在成像平面的投影面积应当更小,即占据较少的像素,甚至在可视范围边缘处可能存在多个地块在成像平面中仅占据一个像素的情况,则在距离虚拟摄像机越远的地块的细节程度应当越低。
本申请实施例中,计算机设备响应于虚拟地形绘制指令,将整个虚拟地形中虚拟地块在第一细节层次(即精细程度最低的细节层次)常驻加载至内存中。随后需要基于虚拟摄像机的方位,确定可视范围内各个可视虚拟地块的目标细节层次,则可以根据上述近大远小的成像规则,基于各个虚拟地块与虚拟摄像机之间的投影距离确定不同虚拟地块的目标细节层次。
具体的,计算机设备根据虚拟摄像机方位,确定可视范围内各个可视虚拟地块与虚拟摄像机之间的投影距离。
可选的,可视范围内各个可视虚拟地块与虚拟摄像机之间的投影距离可以将可视虚拟地块以及虚拟摄像机置于空间坐标系中,以虚拟摄像机的中心作为坐标系的原点,虚拟地形中在坐标系下的三维物点坐标通过投影矩阵换算为成像平面中的点坐标。投影距离为空间坐标系下可视虚拟地块与虚拟摄像机之间的直线距离,距离摄像机越远的可视虚拟地块对应的投影距离越大,距离摄像机越近的可视虚拟地块对应的投影距离越小。
随后,基于各个可视虚拟地块对应的投影距离,确定可视范围内各个可视虚拟地块的目标细节层次。
其中,目标细节层次所表征的细节程度与投影距离呈负相关关系。即对应投影距离越大的可视虚拟地块,其目标细节层次所表征的细节程度越低,对应投影距离越小的可视虚拟地块,其目标细节层次表征的细节程度越高。
在可视范围内的不同地块投影到成像平面中所占据的投影面积可能存在不同,因此,在确定目标细节层次的过程中,可以设定一个像素阈值,该像素阈值表征投影到像素阈值所指示的像素数目中的地块的细节层次相同,因此,可以通过设定不同的像素阈值以满足绘制虚拟地形的不同精细化程度要求,像素阈值越小,则最终成像平面所呈现的虚拟地形越精细,成像效果越好。
示意性的,请参考图5,其示出了本申请一个示例性实施例提供的可视范围内不同地块在成像平面中成像效果的示意图。第一虚拟地块501以及第二虚拟地块502的尺寸相同,均为S。而由于虚拟摄像机的方位,其距离第一虚拟地块501的投影距离D1小于第二虚拟地块502对应的投影距离D2。第一虚拟地块501在成像平面503的投影面积为S1,第二虚拟地块502在成像平面503的投影面积为S2。由于第一虚拟地块501对应的投影距离更小,则其投影到成像平面503的投影面积S1大于第二虚拟地块502在成像平面503的投影面积S2。
本申请实施例中,计算机设备根据不同可视虚拟地块在成像平面的投影面积以及像素阈值,确定基准投影距离。
其中,像素阈值即为像素误差,与虚拟摄像机之间的距离小于基准投影距离的可视虚拟地块在成像平面的投影面积大于像素阈值。
可选的,计算机设备通过计算不同可视虚拟地块在成像平面投影面积,并与像素阈值进行对比,确定出投影面积等于像素阈值的可视虚拟地块,并将该可视虚拟地块对应的投影距离确定为基准距离。
可选的,计算机设备可以根据基准距离计算公式,基于设定的像素阈值计算得到基准距离,以下为基准距离计算公式。
其中,为投影平面的分辨率,T为虚拟地块尺寸,E为设定的像素阈值,/>表示视锥的夹角。基于上述公式计算机设备即可根据用户设定的像素阈值确定基准投影距离。
可选的,为使成像效果达到最佳可将该像素阈值设置为1像素。
随后,计算机设备基于可视范围内各个可视虚拟地块对应的投影距离,以及投影距离与基准投影距离之间的比值关系,确定不同可视虚拟地块的目标细节层次。
在一种可能的实施方式中,可视虚拟地块的不同细节层次分别对应的四叉树结构的不同层级,四叉树结构包括m个层级,第一细节层次对应四叉树结构的第一层级。
假设一个完整地形地块(Grid)中包含MxN个虚拟地块(Block),其中M和N为任意正整数。一个虚拟地块中包含BxB个子虚拟地块(Tile),B为2的非负整数次幂。每一个子虚拟地块(Tile)对应一张HxH分辨率的高度图和一张DxD分辨率的地形纹理图,H和D均为2的整数次幂加1。
可选的,从一个虚拟地块(Block)作为起始,构建四叉树结构,其中四叉树结构共包含m个层级,其中第一层级对应于虚拟地块(Block),即包含1×1的子虚拟地块(Tile)。第二层级对应于4个子虚拟地块(Tile),第m层级对应于4^(m-1)个子虚拟地块(Tile),第m层级对应的子虚拟地块(Tile)的尺寸是第一层级对应子虚拟地块(Tile)尺寸的1/[4^(m-1)]。并且,不同层级的子虚拟地块(Tile)对应的高度图以及纹理图的分辨率相同。
需要说明的是,每个子虚拟地块可能对应多张高度图或纹理图,本实施例对此不进行限定。
示意性的,请参考图6,其示出了本申请一个示例性实施例提供的四叉树结构示意图。其中M=3,N=2,B=4。则在一个完整地形地块中包含6个可视虚拟地块(block),一个虚拟地块(block)A中包含16个子虚拟地块(Tile),如图中可视虚拟地块(block)A中包含的子虚拟地块(Tile)B。并且,创建的四叉树结构中,第一层级对应可视虚拟地块A,第二层级对应四个子虚拟地块(Tile),第三层级对应16个子虚拟地块(Tile)。
在四叉树结构中,在可视虚拟地块对应的投影距离恰好等于基准投影距离的情况下,该地块在投影平面中的投影面积等于像素阈值。而对应投影距离小于基准投影距离的地块在投影平面中的投影面积应当大于投影平面,而在可视虚拟地块对应的投影面积恰好等于基准投影距离的二分之一的情况下,该可视虚拟地块在投影平面的投影面积应当等于四倍的像素阈值,而对应于四叉树的结构中的第二层级,一个像素阈值可以对应于一个子虚拟模块。而在可视虚拟地块对应的投影平面恰好等于基准投影距离的四分之一的情况下,该可视虚拟地块在投影平面中的投影面积应当等于十六倍的像素阈值,而对应于四叉树的结构中的第三层级,一个像素阈值可以对应于一个更细节的子虚拟模块。因此,可以根据虚拟地块对应的投影距离,确定在四叉树结构下可视虚拟地块所对应的目标细节层次。
在可视虚拟地块对应的投影距离大于或等于基准投影距离的情况下,确定可视虚拟地块的目标细节层次为四叉树结构的第一层级所对应的细节层次。
在可视虚拟地块对应的投影距离大于基准投影距离或者恰好等于基准投影距离的情况下,则说明该可视虚拟地块距离虚拟摄像机较远,其在成像平面的投影面积小于像素阈值,则可以基于该可视虚拟地形在精细程度较低的第一细节层次下的虚拟地形数据进行地形绘制。由于在投影平面的投影面积较小,采用第一细节层次下的虚拟地形数据进行地形绘制,也不会影响到最终的成像效果。
在可视虚拟地块对应的投影距离与基准投影距离之间的比值小于1/[2^(n-1)]基准投影距离,且大于或等于1/(2^n)基准投影距离的情况下,确定可视虚拟地块的目标细节层次为四叉树结构的第n+1层级所对应的细节层次。
其中,n大于或等于1,且n小于或等于m,在n等于1的情况下可视虚拟地块与虚拟摄像机之间的投影距离等于基准投影距离,并且可视虚拟地块对应第一细节层次。
例如,在n=2的情况下,在可视虚拟地块对应的投影距离与基准投影距离之间的比值小于1/2,且大于或等于1/4基准投影距离的情况下,确定可视虚拟地块的目标细节层次为四叉树结构的第三层级所对应的细节层次。
在n=1的情况下,在可视虚拟地块对应的投影距离与基准投影距离之间的比值小于1,且大于或等于1/2基准投影距离的情况下,确定可视虚拟地块的目标细节层次为四叉树结构的第二层级所对应的细节层次。
在可视虚拟地块对应的投影距离小于1/[2^(m-1)]基准投影距离的情况下,确定可视虚拟地块的目标细节层次为四叉树结构的第m层级对应的细节层次。
随着可视虚拟地块与虚拟摄像机之间的距离逐渐靠近,可视虚拟地块对应的目标细节层次所表征的细节程度应当不断升高,而设定的四叉树的层次数量是有限的,因此在可视虚拟地块对应的目标细节层次对应于四叉树的最高层级之后,更近距离的可视虚拟地块的目标细节层次均对应于四叉树结构的第m层级。
例如,在m=3的情况下,即四叉树结构共存在三层,则在可视虚拟地块对应的投影距离小于1/4基准投影距离的情况下,确定可视虚拟地块的目标细节层次为四叉树结构的第3层级对应的细节层次。
示意性的,请参考图7,其示出了本申请一个示例性实施例提供的不同投影距离的可视虚拟地块的目标细节层次的示意图,对应于上述图6所示出的四叉树结构,共包含三种不同目标细节层次的可视虚拟地块。其中区域A中的可视虚拟地块对应的投影距离大于基准投影距离,则其对应于四叉树结构中第一层级所对应的细节层次。在区域B中,可视虚拟地块对应的投影距离与基准投影距离的比值小于1且大于1/2,则其对应于四叉树结构中第二层级所对应的细节层次。在区域C中的可视虚拟地块对应的投影距离与基准投影距离的比值小于1/4,则其对应于四叉树结构中第三层级所对应的细节层次。
本申请实施例中,基于设定不同的像素阈值,确定出基准距离,能够控制需要生成虚拟地形的细节程度。并且基于基准距离确定出不同投影距离的可视虚拟地块对应的目标细节层次,从而达到更好的成像效果,提升用户的视觉体验,适用于各类虚拟地形的绘制场景。
在确定不同可视虚拟地块的目标细节层次的情况下,计算机设备需要根据不同可视虚拟地块的目标细节层次下的虚拟地形数据生成虚拟地形,生成虚拟地形时需要访问内存已加载的虚拟地形数据。
在内存中存在可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,访问可视虚拟地块在目标细节层次下的虚拟地形数据进行虚拟地绘制。
在内存中不存在可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,将可视虚拟地块在目标细节层次下的虚拟地形数据动态加载至内存。
在一些实施例中,由于内存的存储空间有限,在虚拟地形数据占据较多内存空间的情况下,可能会导致计算机设备的运行性能下降,导致延迟。因此,可以设置动态加载阈值,即为内存中动态加载虚拟地形数据的内存空间上限。
在需要加载可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,首先确定可视虚拟地块在目标细节层次下的虚拟地形数据的加载内存需求。
随后,计算机设备会判断已动态加载的虚拟地形数据与加载内存需求之和是否达到内存空间上限。
动态加载阈值即为在内存中划分的用于动态加载虚拟地形数据的存储空间上限,动态加载的虚拟地形数据无法加载到其他内存空间中,并且,动态加载后的虚拟地形数据不会在进行地形绘制后立即被卸载,而是暂时保留在内存中。
在加载内存需求与已动态加载的虚拟地形数据占用的内存空间之和未达到动态加载阈值的情况下,将可视虚拟地块在目标细节层次下的虚拟地形数据动态加载至内存。
在加载内存需求与已加载的虚拟地形数据占用的内存之和未达到动态加载阈值,则最新加载的可视虚拟地块在目标层次下的虚拟地形数据能够直接加载到内存中。
在加载内存需求与已动态加载的虚拟地形数据占用的内存空间之和达到动态加载阈值的情况下,计算机设备从内存中卸载目标虚拟地形数据,再将可视虚拟地块在目标细节层次下的虚拟地形数据动态加载至内存。
其中,目标虚拟地形数据为已动态加载的虚拟地形数据。
在一种可能的实施方式中,可以基于最近最少使用原则从已加载的虚拟地形数据中确定目标虚拟地形数据。
可选的,在内存中存在内存队列用于存储动态加载的虚拟地形数据,且最近加载的虚拟地形数据位于内存队列的头部,即在当前帧所加载的虚拟地形数据位于内存队列的头部。例如,第一帧加载过程中,所加载的第一地形数据位于内存队列的头部,在第二帧加载过程中,计算机设备加载第二地形数据,则第二地行数据位于内存队列的头部,其中第一地形数据以及第二地行数据的细节层次大于第一细节层次。
在需要加载可视虚拟地块在目标细节层次下的虚拟地形数据,且内存中不存在可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,将虚拟地形数据加载到内存队列的头部。
在需要加载可视虚拟地块在目标细节层次下的虚拟地形数据,且内存中存存在可视虚拟地块在目标细节层次下的虚拟地形数据的情况下,访问内存队列中该可视虚拟地块在目标细节层次下的虚拟地形数据,并将该虚拟地形数据填充至内存队列的头部。
采用上述方式进行虚拟地形数据的管理,则在内存队列中,最近最少使用的虚拟地形数据必然位于内存队列的队尾,则可以将位于内存队列尾部的虚拟地形数据确定为目标虚拟地形数据。
请参考图8,其示出了本申请一个示例性实施例提供的动态加载虚拟地形数据的示意图。假设内存队列中能够加载三组虚拟地形数据,最新加载的虚拟地形数据位于内存队列的头部,T1时刻下,内存队列头部没有存储内容。在T2时刻加载的第三虚拟地形数据直接存储至内存队列的头部。在T3时刻,加载第四虚拟地形数据,此时内存队列存储空间已满,则将位于队尾的第一虚拟地形数据确定为目标虚拟地形数据,并将其卸载,随后再将第四虚拟地形数据加载到内存队列中。在T4时刻,访问已加载的第二虚拟地形数据,则将第二虚拟地形数据移动至内存队列的头部。T5时刻,需要重新加载第一虚拟性数据,则由于内存队列已满,则将第三虚拟地形数据确定为目标虚拟地形数据,将卸载后加载第一虚拟地形数据。
本申请实施例中,采用动态加载可视虚拟地块在目标细节层次下的虚拟地形数据,通过设置内存预算的方式以平衡虚拟地形的绘制效果以及绘制性能,可以供用户自行设置内存预算已达到所需的地形绘制效果。
此外,在一些实施方式中,同一可视虚拟地块在不同视角下的细节层次不同,则在短时间内频繁切换虚拟摄像机的视角,会引起多层次细节切换的可见抖动现象,而采用最近最少策略管理动态加载的虚拟地形数据,在短时间内拍摄视角频繁切换的情况下,由于不同可视虚拟地块在目标层次下的虚拟地形数据均已动态加载至内存中,则在进行地形绘制时直接从内存中访问已加载的目标层次下的虚拟地形数据,从而避免由于拍摄视角切换引起的多层次细节变化造成的可见抖动现象。
本申请实施例中,可视虚拟地块包含子虚拟地块,在可视虚拟地块的目标细节层次不同的情况下,包含的子虚拟地块的尺寸不同,可视虚拟地块在目标细节层次下的虚拟地形数据与可视虚拟地块在目标细节层次下所包含的子虚拟地块的虚拟地形数据相匹配。
目标细节层次表征的细节程度越高,则对应的子虚拟地块的尺寸越小。
由于不同尺寸的子虚拟地块所对应的高度图以及纹理图的分辨率相同,则尺寸越小的子虚拟地块的细节程度越高。
在基于内存中各个可视虚拟地块在目标细节层次下的虚拟地形数据进行虚拟地形绘制时,实际上是在虚拟摄像机近端采用尺寸最小的子虚拟地块对应的虚拟地形数据,而在虚拟摄像机采用远端采用尺寸最大的子虚拟地形数据。
在进行虚拟地形绘制的过程中,在可视虚拟地块的目标细节层次是第一细节层次的情况下,基于可视虚拟地块在第一细节层次下的虚拟地形数据进行第一区域的虚拟地形绘制。
在可视虚拟地块的目标细节层次不是第一细节层次的情况下,基于可视虚拟地块在目标细节层次下包含的子虚拟地块的虚拟地形数据进行第二区域的虚拟地形绘制,第一区域以及第二区域构成可视范围。
即在确定目标细节层次地块之后,根据不同确定的目标细节层次对应的字虚拟地块的虚拟地形数据,分别绘制不同子虚拟地块的虚拟地形。
其中,由于各个可视虚拟地块在第一细节层次下的虚拟地形数据常驻加载于内存中,所以,确定目标细节层次为第一细节层次的可视虚拟地块,进行地形绘制时,计算机设备从常驻内存中调用该可视虚拟地块在第一细节层次下的虚拟地形数据进行虚拟地形的绘制。
计算机设备需要基于地形网格进行虚拟地形的绘制,本申请实施例中,可视虚拟地块与子虚拟地块对应的地形网格相同。
在进行地形绘制的过程中,根据可视虚拟地块在目标细节层次下对应的虚拟地形数据,调整各个虚拟地块对应网格的位置,以及缩放的尺寸。
具体的,计算机设备基于第一细节层次下的虚拟地形数据,调整地形网格的绘制位置以及调整地形网格的尺寸,随后将第一细节层次下的虚拟地形数据中包含的地形纹理图以及高度图作用于可视虚拟地块对应的地形网格,进行第一区域的虚拟地形绘制。
其中,调整后的地形网格覆盖于可视虚拟地块的表面。
地形绘制的过程即为将高度图以及纹理图等特征信息作用于地形网格的过程。
同时,基于目标细节层次下可视虚拟地块包含的子虚拟地块的虚拟地形数据,调整地形网格的绘制位置以及调整地形网格的尺寸,随后将子虚拟地块的虚拟地形数据中包含的地形纹理图以及高度图作用于子虚拟地块对应的地形网格,进行第二区域的虚拟地形绘制。
其中,调整后的地形网格覆盖于子虚拟地块的表面。
在不同层次下的子虚拟地块的尺寸不同,因此需要对网格进行缩放以使得网格尺寸与子虚拟地块的尺寸相对应,从而使地形网格覆盖于虚拟地块表面。
将与可视虚拟地块相同分辨率的高度图以及纹理图作用于尺寸更小的地形网格上后,所绘制出的虚拟地形的精细程度更高。
需要说明的是,虚拟地形数据中除包含高度图以及地形纹理图外,还可能包括法线贴图等其他特征信息,本实施例对此不进行限定。
本申请实施例中,根据可视虚拟地块在不同目标细节层次下的虚拟地形数据,将虚拟地形信息中用于描述可视虚拟地块位置等信息的描述数据存放于GPU(GraphicsProcessing Unit,显示核心)的缓存区中,可视虚拟地块对应的纹理数据存放于GPU纹理数据数组中,计算机设备响应于虚拟地形绘制指令后,每一帧对虚拟地形数据进行维护,可以实现仅使用一个绘制API(Application Programming Interface,程序间接口)命令即可完成整个地形的绘制,有效减小中断,降低CPU在地形绘制中的参与程度,提高硬件资源的利用率。
在一种可能的实施方式中,在确定可视虚拟地块的目标细节层次之后,计算机设备记录相邻可视虚拟地块的对应的目标细节层次。
由于可视虚拟地块以及不同细节层次对应的子虚拟地块采用的地形网格一致,则在相邻可视虚拟地块对应的目标细节层次不同的情况下,则相邻可视虚拟地块对应的地形网格的顶点之间没有相互对应,则生成的虚拟地形中会存在接缝,因此需要对地形网格进行调整,从而避免不同可视虚拟地块之间存在接缝的问题。
可选的,在相邻可视虚拟地块对应的目标细节层次不同的情况下,基于不同可视虚拟地块的目标细节层次调整不同细节层次的子虚拟地块的地形网格的顶点,其中,调整后的相邻可视虚拟地块对应的地形网格的顶点位置相匹配,以修补相邻可视虚拟地块之间的缝隙。
可选的,在相邻可视虚拟地块对应的目标细节层次不同的情况下,将更高细节层次的子虚拟地块的地形网格边上的顶点移动至低细节层次的子虚拟地块的地形网格的顶点处。
可选的,在相邻可视虚拟地块对应的目标细节层次不同的情况下,将在调整地形网格之前,首先将高细节层次的子虚拟地块的地形网格确定为基础网格,由于高细节层次的地形网格中的顶点更多,因此,在调整地形网格顶点的过程中可以先确定低细节的地形网格上与基础网格上每个顶点对应的顶点。随后,计算机设备计算每个低细节层次的地形网格顶点在相邻基础网格顶点之间的插值权重。最后再利用插值权重根据基础网格上相邻顶点的位置,在低细节层次的地形网格上进行顶点位置的插值,例如,采用线性插值的方法可以按照权重对基础网格上相邻顶点位置进行加权平均。
本申请实施例中,在相邻可视虚拟地块对应的目标细节层次不同的情况下,通过调整地形网格的顶点以修补相邻可视虚拟地块之间的缝隙,使虚拟地块之间虚拟地形过渡更加自然。
在一些实施例中,采用物理光照着色技术或者全局光照等技术模拟物体表面散射光从而使地形绘制效果达到接近自然的真实感。
在基于目标细节层次进行地形绘制的过程中,根据地形表面相对于虚拟摄像机的角度以及距离来计算地形表面的颜色,而为了保证着色的真实感,可以采用基于物理建模的着色算法。
具体的,在确定地形表面颜色的过程中,首先,计算虚拟地形中每个采样点的法线向量,法线向量表示地形表面在该采样点的方向,可以使用高度图或者相邻采样点的高度差等方式计算法线向量。随后,计算机设备基于光源的位置和强度,以及采样点的法线向量,计算每个采样点对应的光照强度。此外,在光照着色过程中,虚拟地形的材质也会影响地形表面的颜色,可以根据不同虚拟地形的不同材质的材质属性调整虚拟地形表面的颜色和光照反射。并且,为了使虚拟地形更加逼真,光照着色还能够产生阴影效果,可以采用阴影渲染技术计算地形表面的阴影。最后,计算机设备通过虚拟地形的着色器进行光照的强度以及材质着色、阴影渲染等操作,从而实现虚拟地形的绘制。
虚拟摄像机在拍摄虚拟地形的过程中,从地形表面反射的光亮取决于观察角度,并且不同材质的表面的光反射能力不同,从而计算机设备可以基于双向反射分布函数、反射方程以及渲染方程在虚拟地形绘制过程中对虚拟地形进行着色,从而可以使绘制的地形达到更真实的效果。
可选的,在进行物理光照着色的过程中,首先可以从光照位置发射光线,并对光线进行观察,由于不同的材质的地形表面对光的反射能力不同,则计算机设备在观察到光线与地形表面物体相撞之后,计算表面的法线方向、反射率以及折射率等材质属性,并根据光线传播方向以及地形表面的材质属性,确定光线的传播情况,从而确定双向反射分布函数,双向反射分布函数即为辐射率以及辐照度之间的比例,双向反射分布函数用于描述不同方向上的入射光在地形表面上反射光线的分布情况。随后,基于菲涅尔方程确定光线反射过程中漫反射以及镜面反射的比例,根据反射方程确定着色点的颜色,最后根据渲染方程对虚拟地块的虚拟地形进行着色。
本申请实施例中,采用物理光照着色技术进行地形绘制,能够使绘制出的虚拟地形具有更加真实的效果,并且结合高精度的全球地形数据,能够绘制出趋近于真实全球地形的虚拟地形,地形绘制效果更强。
在另一种可能的实施方式中,计算机设备支持在绘制虚拟地形的过程中对虚拟地形进行自定义,即可以通过更改不同可视虚拟地块的虚拟地形数据,从而实现在指定虚拟地块绘制自定义的建筑。例如,在飞行模拟器应用中,可能需要在指定的位置上绘制虚拟机场等建筑,因此,可以在指定的地块绘制虚拟机场,随后调整相邻虚拟地块的地形网格,以修补虚拟机场与周围地块中虚拟地形之间的缝隙。
在另一种可能的实施方式中,计算机设备支持在绘制虚拟过程中对指定位置执行挖洞处理。在采用全球高精度地形数据进行地形绘制的过程中,可能有部分地区不适合进行虚拟地形的绘制,且计算机设备基于全球高度精度地形数据中的高度图进行地形绘制。则在部分可视虚拟地块的高度图中的部分高度数据可以设置为指定数值,则计算机设备在检测到高度图中包含该指定数值的情况下,对于该区域的地块不进行绘制,从而实现对虚拟地形的挖洞。
通过本申请实施例所提供的方案,能够实现对虚拟地形的挖洞,能够在基于真实全球地形数据绘制虚拟地形的过程中,保障部分地区的隐私性,还可以为用户提供自定义虚拟地形的功能,通过本申请实施例提供的虚拟地形绘制方案,有利于提升自定义虚拟地形与已有的全球虚拟地形进行融合。
图9是本申请一个示例性实施例提供的虚拟地形的绘制装置的结构框图,如图9所示,该装置包括如下结构。
常驻加载模块901,用于响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,所述虚拟地块支持至少两种细节层次,且所述第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度;层次确定模块902,用于基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次;动态加载模块903,用于在所述内存中不存在所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至内存;地形绘制模块904,用于基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制。
可选的,所述动态加载模块903,用于确定所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的加载内存需求;在所述加载内存需求与已动态加载的虚拟地形数据占用的内存空间之和达到动态加载阈值的情况下,从所述内存中卸载目标虚拟地形数据,所述目标虚拟地形数据为已动态加载的虚拟地形数据;将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至所述内存;在所述加载内存需求与已动态加载的虚拟地形数据占用的所述内存空间之和未达到所述动态加载阈值的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至所述内存。
可选的,所述内存中存在内存队列用于存储动态加载的虚拟地形数据,且最近加载的虚拟地形数据位于所述内存队列的头部;所述动态加载模块903,还用于将位于所述内存队列尾部的虚拟地形数据确定为所述目标虚拟地形数据。
可选地,所述层次确定模块902,用于根据不同可视虚拟地块在成像平面的投影面积以及像素阈值,确定基准投影距离,其中,在所述可视虚拟地块与所述虚拟摄像机之间的距离小于所述基准投影距离的情况下,所述可视虚拟地块在所述成像平面的所述投影面积大于所述像素阈值;基于所述可视范围内各个所述可视虚拟地块对应的所述投影距离,以及所述投影距离与所述基准投影距离之间的比值关系,确定不同所述可视虚拟地块的所述目标细节层次。
可选的,所述可视虚拟地块的不同细节层次分别对应的四叉树结构的不同层级,所述四叉树结构包括m个层级,所述第一细节层次对应所述四叉树结构的第一层级;所述层次确定模块902,用于在所述可视虚拟地块对应的所述投影距离大于或等于所述基准投影距离的情况下,确定所述可视虚拟地块的所述目标细节层次为所述四叉树结构的第一层级所对应的细节层次;在所述可视虚拟地块对应的所述投影距离与所述基准投影距离之间的比值小于1/[2^(n-1)]所述基准投影距离,且大于或等于1/(2^n)所述基准投影距离的情况下,确定所述可视虚拟地块的所述目标细节层次为所述四叉树结构的第n+1层级所对应的细节层次,其中,n大于或等于1,且n小于或等于m,在n等于1的情况下所述可视虚拟地块与所述虚拟摄像机之间的所述投影距离等于所述基准投影距离,并且所述可视虚拟地块对应所述第一细节层次;在所述可视虚拟地块对应的所述投影距离小于1/[2^(m-1)]所述基准投影距离的情况下,确定所述可视虚拟地块的所述目标细节层次为所述四叉树结构的第m层级对应的细节层次。
可选的,所述可视虚拟地块包括子虚拟地块,在所述可视虚拟地块的所述目标细节层次不同的情况下,包含的所述子虚拟地块的尺寸不同,所述可视虚拟地块在所述目标细节层次下的虚拟地形数据与所述可视虚拟地块在所述目标细节层次下所包含的所述子虚拟地块的虚拟地形数据相匹配。
可选的,所述地形绘制模块904,用于在所述可视虚拟地块的所述目标细节层次是所述第一细节层次的情况下,基于所述可视虚拟地块在所述第一细节层次下的虚拟地形数据进行第一区域的虚拟地形绘制;在所述可视虚拟地块的所述目标细节层次不是所述第一细节层次的情况下,基于所述可视虚拟地块在所述目标细节层次下包含的所述子虚拟地块的虚拟地形数据进行第二区域的虚拟地形绘制,所述第一区域以及所述第二区域构成所述可视范围。
可选的,所述可视虚拟地块与所述子虚拟地块对应的地形网格相同。
所述地形绘制模块904,用于基于所述第一细节层次下的虚拟地形数据,调整所述地形网格的绘制位置以及调整所述地形网格的尺寸,其中,调整后的所述地形网格覆盖于所述可视虚拟地块的表面;将所述第一细节层次下的虚拟地形数据中包含的地形纹理图以及高度图作用于所述可视虚拟地块对应的所述地形网格,进行所述第一区域的虚拟地形绘制;基于所述目标细节层次下所述可视虚拟地块包含的所述子虚拟地块的虚拟地形数据,调整所述地形网格的绘制位置以及调整所述地形网格的尺寸,其中,调整后的所述地形网格覆盖于所述子虚拟地块的表面;将所述子虚拟地块的虚拟地形数据中包含的所述地形纹理图以及所述高度图作用于所述子虚拟地块对应的所述地形网格,进行所述第二区域的虚拟地形绘制。
可选的,所述装置还包括:地形网格调整模块,用于记录相邻所述可视虚拟地块的对应的所述目标细节层次;在相邻所述可视虚拟地块对应的所述目标细节层次不同的情况下,基于不同所述可视虚拟地块的所述目标细节层次调整不同细节层次的子虚拟地块的地形网格的顶点,其中,调整后的相邻所述可视虚拟地块对应的所述地形网格的顶点位置相匹配,以修补相邻所述可视虚拟地块之间的缝隙。
综上所述,本申请实施例中,在进行虚拟地形加载的过程中,将虚拟地形中全部虚拟地块在细节程度最低的第一细节层次下的虚拟地形数据常驻加载至内存,并在确定可视范围内各个可视虚拟地块的目标细节层次之后,将各个可视虚拟地块的目标细节层次下的虚拟地形数据动态加载至内存。将虚拟地块中第一细节层次的虚拟地形数据常驻加载以及动态加载可视虚拟地块的目标细节层次下的虚拟地形数据,采用这种异步动态加载的方式加载不同地块在不同细节层次下的虚拟地形数据,有利于在虚拟地形加载过程中,基于虚拟摄像机的方位,动态的调整所生成的虚拟地形的精细程度,更加符合真实情况下人眼视物的规律。并且采用异步动态加载的虚拟地形数据的方式,相较于提前加载固定路线上的虚拟地形信息并确定地形网格,智能化程度更高,地形加载方案使用场景更加广泛。
需要说明的是:上述实施例提供的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本申请一个示例性实施例提供的计算机设备的结构示意图,计算机设备可实现为上述实施例中的终端或服务器。具体来讲:所述计算机设备1000包括中央处理单元(Central Processing Unit,CPU)1001、包括随机存取存储器1002和只读存储器1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
在一些实施例中,所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括随机存取记忆体(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、闪存或其他固态存储其技术,只读光盘(Compact Disc Read-Only Memory,CD-ROM)、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1001执行,一个或多个程序包含用于实现上述方法的指令,中央处理单元1001执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在所述系统总线1005上的网络接口单元1011接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由计算机设备所执行的步骤。
本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述任一实施例所述的虚拟地形的绘制方法。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面提供的虚拟地形的绘制方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述任一方法实施例所述的虚拟地形的绘制方法。
可选地,该计算机可读存储介质可以包括:ROM、RAM、固态硬盘(Solid StateDrives,SSD)或光盘等。其中,RAM可以包括电阻式随机存取记忆体(Resistance RandomAccess Memory,ReRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
且本申请在收集用户的相关数据之前以及在收集用户的相关数据的过程中,都可以显示提示界面、弹窗或输出语音提示信息,该提示界面、弹窗或语音提示信息用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。且本文中提及的“第一”、“第二”等用于区别类似对象,而并不用于限定特定的顺序或先后次序。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的可选的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种虚拟地形的绘制方法,其特征在于,所述方法包括:
响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,所述虚拟地块支持至少两种细节层次,且所述第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度;
基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次;
在所述内存中不存在所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的情况下,确定所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的加载内存需求;
在所述加载内存需求与已动态加载的虚拟地形数据占用的内存空间之和达到动态加载阈值的情况下,从所述内存中卸载目标虚拟地形数据,所述目标虚拟地形数据为已动态加载的虚拟地形数据;将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至所述内存;
在所述加载内存需求与已动态加载的虚拟地形数据占用的所述内存空间之和未达到所述动态加载阈值的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至所述内存;
基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制。
2.根据权利要求1所述的方法,其特征在于,所述内存中存在内存队列用于存储动态加载的虚拟地形数据,且最近加载的虚拟地形数据位于所述内存队列的头部;
所述从所述内存中卸载目标虚拟地形数据之前,所述方法还包括:
将位于所述内存队列尾部的虚拟地形数据确定为所述目标虚拟地形数据。
3.根据权利要求1所述的方法,其特征在于,所述基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次,包括:
根据所述虚拟摄像机方位,确定所述可视范围内各个所述可视虚拟地块与所述虚拟摄像机之间的投影距离;
基于各个所述可视虚拟地块对应的所述投影距离,确定所述可视范围内各个所述可视虚拟地块的所述目标细节层次,所述目标细节层次所表征的细节程度与所述投影距离呈负相关关系。
4.根据权利要求3所述的方法,其特征在于,所述基于各个所述可视虚拟地块对应的所述投影距离,确定所述可视范围内各个所述可视虚拟地块的所述目标细节层次,包括:
根据不同可视虚拟地块在成像平面的投影面积以及像素阈值,确定基准投影距离,其中,在所述可视虚拟地块与所述虚拟摄像机之间的距离小于所述基准投影距离的情况下,所述可视虚拟地块在所述成像平面的所述投影面积大于所述像素阈值;
基于所述可视范围内各个所述可视虚拟地块对应的所述投影距离,以及所述投影距离与所述基准投影距离之间的比值关系,确定不同所述可视虚拟地块的所述目标细节层次。
5.根据权利要求4所述的方法,其特征在于,所述可视虚拟地块的不同细节层次分别对应的四叉树结构的不同层级,所述四叉树结构包括m个层级,所述第一细节层次对应所述四叉树结构的第一层级;
所述基于所述可视范围内各个所述可视虚拟地块对应的所述投影距离,以及所述投影距离与所述基准投影距离之间的比值关系,确定不同所述可视虚拟地块的所述目标细节层次,包括:
在所述可视虚拟地块对应的所述投影距离大于或等于所述基准投影距离的情况下,确定所述可视虚拟地块的所述目标细节层次为所述四叉树结构的第一层级所对应的细节层次;
在所述可视虚拟地块对应的所述投影距离与所述基准投影距离之间的比值小于1/[2^(n-1)]所述基准投影距离,且大于或等于1/(2^n)所述基准投影距离的情况下,确定所述可视虚拟地块的所述目标细节层次为所述四叉树结构的第n+1层级所对应的细节层次,其中,n大于或等于1,且n小于或等于m,在n等于1的情况下所述可视虚拟地块与所述虚拟摄像机之间的所述投影距离等于所述基准投影距离,并且所述可视虚拟地块对应所述第一细节层次;
在所述可视虚拟地块对应的所述投影距离小于1/[2^(m -1)]所述基准投影距离的情况下,确定所述可视虚拟地块的所述目标细节层次为所述四叉树结构的第m层级对应的细节层次。
6.根据权利要求1所述的方法,其特征在于,
所述可视虚拟地块包括子虚拟地块,在所述可视虚拟地块的所述目标细节层次不同的情况下,包含的所述子虚拟地块的尺寸不同,所述可视虚拟地块在所述目标细节层次下的虚拟地形数据与所述可视虚拟地块在所述目标细节层次下所包含的所述子虚拟地块的虚拟地形数据相匹配。
7.根据权利要求6所述的方法,其特征在于,所述基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制,包括:
在所述可视虚拟地块的所述目标细节层次是所述第一细节层次的情况下,基于所述可视虚拟地块在所述第一细节层次下的虚拟地形数据进行第一区域的虚拟地形绘制;
在所述可视虚拟地块的所述目标细节层次不是所述第一细节层次的情况下,基于所述可视虚拟地块在所述目标细节层次下包含的所述子虚拟地块的虚拟地形数据进行第二区域的虚拟地形绘制,所述第一区域以及所述第二区域构成所述可视范围。
8.根据权利要求7所述的方法,其特征在于,所述可视虚拟地块与所述子虚拟地块对应的地形网格相同;
所述基于所述可视虚拟地块在所述第一细节层次下的虚拟地形数据进行第一区域的虚拟地形绘制,包括:
基于所述第一细节层次下的虚拟地形数据,调整所述地形网格的绘制位置以及调整所述地形网格的尺寸,其中,调整后的所述地形网格覆盖于所述可视虚拟地块的表面;
将所述第一细节层次下的虚拟地形数据中包含的地形纹理图以及高度图作用于所述可视虚拟地块对应的所述地形网格,进行所述第一区域的虚拟地形绘制;
所述在所述可视虚拟地块的所述目标细节层次不是所述第一细节层次的情况下,基于所述可视虚拟地块在所述目标细节层次下包含的所述子虚拟地块的虚拟地形数据进行第二区域的虚拟地形绘制,包括:
基于所述目标细节层次下所述可视虚拟地块包含的所述子虚拟地块的虚拟地形数据,调整所述地形网格的绘制位置以及调整所述地形网格的尺寸,其中,调整后的所述地形网格覆盖于所述子虚拟地块的表面;
将所述子虚拟地块的虚拟地形数据中包含的所述地形纹理图以及所述高度图作用于所述子虚拟地块对应的所述地形网格,进行所述第二区域的虚拟地形绘制。
9.根据权利要求1所述的方法,其特征在于,确定可视范围内各个可视虚拟地块的目标细节层次之后,所述方法还包括:
记录相邻所述可视虚拟地块的对应的所述目标细节层次;
在相邻所述可视虚拟地块对应的所述目标细节层次不同的情况下,基于不同所述可视虚拟地块的所述目标细节层次调整不同细节层次的子虚拟地块的地形网格的顶点,其中,调整后的相邻所述可视虚拟地块对应的所述地形网格的顶点位置相匹配,以修补相邻所述可视虚拟地块之间的缝隙。
10.一种虚拟地形的绘制装置,其特征在于,所述装置包括:
常驻加载模块,用于响应于虚拟地形绘制指令,虚拟地形中虚拟地块在第一细节层次下的虚拟地形数据常驻加载至内存,所述虚拟地块支持至少两种细节层次,且所述第一细节层次所表征的细节程度低于其它细节层次所表征的细节程度;
层次确定模块,用于基于虚拟摄像机方位,确定可视范围内各个可视虚拟地块的目标细节层次;
动态加载模块,还用于在所述内存中不存在所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的情况下,确定所述可视虚拟地块在所述目标细节层次下的虚拟地形数据的加载内存需求;
所述动态加载模块,还用于在所述加载内存需求与已动态加载的虚拟地形数据占用的内存空间之和达到动态加载阈值的情况下,从所述内存中卸载目标虚拟地形数据,所述目标虚拟地形数据为已动态加载的虚拟地形数据;将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至所述内存;
所述动态加载模块,还用于在所述加载内存需求与已动态加载的虚拟地形数据占用的所述内存空间之和未达到所述动态加载阈值的情况下,将所述可视虚拟地块在所述目标细节层次下的虚拟地形数据动态加载至所述内存;
地形绘制模块,用于基于所述内存中各个所述可视虚拟地块在所述目标细节层次下的虚拟地形数据进行虚拟地形绘制。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至9任一所述的虚拟地形的绘制方法。
12.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至9任一所述的虚拟地形的绘制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311102281.7A CN116824082B (zh) | 2023-08-30 | 2023-08-30 | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311102281.7A CN116824082B (zh) | 2023-08-30 | 2023-08-30 | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116824082A CN116824082A (zh) | 2023-09-29 |
CN116824082B true CN116824082B (zh) | 2024-02-23 |
Family
ID=88117005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311102281.7A Active CN116824082B (zh) | 2023-08-30 | 2023-08-30 | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116824082B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949693A (zh) * | 2019-04-17 | 2019-06-28 | 珠海金山网络游戏科技有限公司 | 一种地图绘制方法、装置、计算设备及存储介质 |
CN111127637A (zh) * | 2019-12-26 | 2020-05-08 | 四川航天神坤科技有限公司 | 一种三维模型的数据处理方法、装置及电子设备 |
WO2023273117A1 (zh) * | 2021-06-30 | 2023-01-05 | 完美世界(北京)软件科技发展有限公司 | 地形的渲染方法和装置、计算机设备和存储介质 |
CN116059631A (zh) * | 2021-11-03 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 对象渲染方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7305396B2 (en) * | 2002-12-31 | 2007-12-04 | Robert Bosch Gmbh | Hierarchical system and method for on-demand loading of data in a navigation system |
-
2023
- 2023-08-30 CN CN202311102281.7A patent/CN116824082B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109949693A (zh) * | 2019-04-17 | 2019-06-28 | 珠海金山网络游戏科技有限公司 | 一种地图绘制方法、装置、计算设备及存储介质 |
CN111127637A (zh) * | 2019-12-26 | 2020-05-08 | 四川航天神坤科技有限公司 | 一种三维模型的数据处理方法、装置及电子设备 |
WO2023273117A1 (zh) * | 2021-06-30 | 2023-01-05 | 完美世界(北京)软件科技发展有限公司 | 地形的渲染方法和装置、计算机设备和存储介质 |
CN116059631A (zh) * | 2021-11-03 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 对象渲染方法、装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于Unity3D的大规模倾斜摄影模型加载策略;汪光跃等;《计算机应用》;第39卷(第S2期);第194-198页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116824082A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8243073B2 (en) | Tree insertion depth adjustment based on view frustum and distance culling | |
US8350846B2 (en) | Updating ray traced acceleration data structures between frames based on changing perspective | |
CN111369681A (zh) | 三维模型的重构方法、装置、设备及存储介质 | |
KR100738500B1 (ko) | 영상 기반 돌출 변위 매핑 방법과, 이를 이용한 이중 변위매핑 방법 | |
US20150187130A1 (en) | Automatic Generation of 2.5D Extruded Polygons from Full 3D Models | |
CN115830208B (zh) | 全局光照渲染方法、装置、计算机设备和存储介质 | |
WO2014158928A2 (en) | Mapping augmented reality experience to various environments | |
CN112370784B (zh) | 虚拟场景显示方法、装置、设备以及存储介质 | |
CN108805971B (zh) | 一种环境光遮蔽方法 | |
CN112184873B (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
US20240005592A1 (en) | Image rendering method and apparatus, device, and storage medium | |
CN111788608A (zh) | 用于建模光反射的混合射线跟踪方法 | |
US20240203030A1 (en) | 3d model rendering method and apparatus, electronic device, and storage medium | |
CN117333637B (zh) | 三维场景的建模及渲染方法、装置及设备 | |
US20200184707A1 (en) | Data processing systems | |
CN114004842A (zh) | “分形视距”纹理压缩与彩色多边形纹理集成的三维模型可视化方法 | |
CN116030176A (zh) | 基于簇划分的三维模型渲染方法、装置、设备及介质 | |
WO2024212849A1 (zh) | 全视角深度信息的构建方法、装置、设备及存储介质 | |
CN116664422A (zh) | 图像高光处理方法、装置、电子设备及可读存储介质 | |
CN117456076A (zh) | 一种材质贴图生成方法及相关设备 | |
US20230326129A1 (en) | Method and apparatus for storing visibility data of three-dimensional model, device, and storage medium | |
CN116824082B (zh) | 虚拟地形的绘制方法、装置、设备、存储介质及程序产品 | |
CN116958457A (zh) | 一种基于OSGEarth的战争迷雾效果绘制方法 | |
KR102056985B1 (ko) | 가상 현실 인터랙션 방법 및 그 장치 | |
CN117876572B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40094509 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |