CN115187720A - 一种基于数字地形分析优化地形渲染的方法 - Google Patents
一种基于数字地形分析优化地形渲染的方法 Download PDFInfo
- Publication number
- CN115187720A CN115187720A CN202210666516.4A CN202210666516A CN115187720A CN 115187720 A CN115187720 A CN 115187720A CN 202210666516 A CN202210666516 A CN 202210666516A CN 115187720 A CN115187720 A CN 115187720A
- Authority
- CN
- China
- Prior art keywords
- terrain
- node
- roughness
- cell
- measured
- 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/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于数字地形分析优化地形渲染的方法,属于摄影测量学技术领域,包括:将地形划分为规则的正方形补丁;将视点可能达到的空间区域划分为若干规则长方体空间区域Cell;对每个Cell计算潜在可见补丁集合;计算地形粗糙度;对于每个Cell计算潜在可见集图像金字塔和地形粗糙度金字塔;四叉树结点更新;进行渲染。与现有技术对比,本发明提出了一个基于视点位置的遮挡剔除方法去避免实时渲染过程中不可见的三角面片,并且可以根据地形粗糙度灵活的调节地形LOD效果,从而动态降低三角形片元数量,从而提升地形的实时渲染效果并且提升渲染帧率。
Description
技术领域
本发明公开了一种基于数字地形分析优化地形渲染的方法,属于摄影测量学技术领域。
背景技术
三维地形渲染是地理信息系统中一个重要的研究课题,他在地理信息系统、虚拟仿真、游戏等中有着广泛的应用。近年来,随着对高精度地形实时渲染真实度要求的提高,地形渲染方法面临挑战。现有的方法主要分为基于规则格网的地形渲染和基于不规则三角网的地形渲染。不规则三角网由于数据结构相对复杂,应用此方法的地形渲染技术较少。采用具有曲面细分功能显示卡进行地形渲染是当前流行的地形渲染方法,UE4,Unity等商业游戏引擎都采用了该方法。这种方法将四个顶点的坐标组成的补丁传送给GPU,该四边形补丁在GPU中进一步细分成三角形,并且采样高度图来位移这些新生成的顶点。在大规模实时渲染中,现有的方法没有考虑到地形粗糙度与地形自遮挡,影响了地形LOD效果,产生了不必要的地形渲染,占用了过多CPU与GPU之间的传输带宽,影响了实时地形渲染的帧率。
发明内容
本发明提出了一种基于数字地形分析优化地形渲染的方法,解决现有技术中,大规模实时渲染没有考虑到地形粗糙度与地形自遮挡,影响了地形LOD效果的问题。
一种基于数字地形分析优化地形渲染的方法,包括:
S1、将地形划分为规则的正方形补丁;
S2、将视点可能达到的空间区域划分为若干规则长方体空间区域Cell;
S3、对每个Cell计算潜在可见补丁集合;
S4、计算地形粗糙度;
S5、对于每个Cell计算潜在可见集图像金字塔和地形粗糙度金字塔;
S6、四叉树结点更新;
S7、进行渲染。
优选地,S3包括:
S3.1、选取待判断的补丁Patchab,在其上均匀选取m个待测点,m为常数;
S3.2、在Cell中选取测试视点,所述测试视点的位置根据待测点与Cell的位置关系确定;
如果待测点高程大于等于长方体单元上平面,则选取距离待测点最近的一条或者两条边作为测试视点,如果待测点高程小于长方体单元上平面,则选取距离待测点最远的一条或者两条边作为测试视点;
S3.3、将S3.2中选定的边的两端作为视点,和Patchab中的所有待测点作数字地形分析中的两点通视分析判断;
若其中有一个结果为可见,则判定该Patchab相对于该Cell为可见,若所有结果都不可见,则取两待测点的中点与待判断Patchab中所有待测点作通视分析判断,迭代S3.3不断选取两待测点的中点作为新的待测点,直到所取Cell中的待测点数量达到16,则判定该Patchab相对于该Cell为不可见,否则判定该Cell为可见;
S3.4、计算Cell的潜在可见性集合,对一个Cell而言,对所有Patchab做上述操作,逐一判断可见性,以png格式存储在硬盘上,使用像元值0表示可见,像元值255表示不可见。
优选地,S5包括:
S3.1、原始的潜在可见集图像为Level n,上一级图像的边长为下一层图像边长的一半,上一级图像像元的灰度值为下一级对应4个图像像元灰度值做逻辑或运算的结果,逐级计算出每个层级Level的潜在可见集图像;
l表示该节点所在的LOD层级level,i和j分别表示该节点在X轴与Z轴上的序号;
S3.2、对于初始地形粗糙度图,向上逐级计算地形粗糙度图,其上一级的粗糙度图像的边长为下一级的一半,上一级图像的像元的灰度值为下一级对应4个图像像元灰度值的平均值。
优选地,S6包括:
S6.2、检验四叉树结点是否在视锥体内,如果不是,则剔除四叉树结点,如果是,则进行S6.3;
S6.3、检验四叉树结点是否进行遮挡剔除,读取存储在潜在可见集中存储的可见性信息,如果像元值为0则可见,则进行S6.4,如果值为255则不可见,剔除对应的四叉树结点;
优选地,S6.4中,调节参数为常数,影响地形精细度,C1越大则地形细分程度越低,地形粗糙,C1越小则地形细分程度越大,地形更加精细,C2决定了粗糙度因子在决定四叉树细分时的权重,C2越大,则粗糙度R决定是否分裂的权重就越小,C2越小,则粗糙度R决定是否分裂的权重就越大,地形四叉树受到粗糙度影响更大。
优选地,S6.4中,如果评估值ratio大于等于1,则该节点不需要进行分裂,被送入渲染管线。
与现有技术对比,本发明的有益效果是:提出了一个基于视点位置的遮挡剔除方法去避免实时渲染过程中不可见的三角面片,并且可以根据地形粗糙度灵活的调节地形LOD效果,从而动态降低三角形片元数量,从而提升地形的实时渲染效果并且提升渲染帧率。
附图说明
图1为本发明实施例中测试边的布设图;
图2为选取图1中的测试边的示意图;
图3为本发明实施例中可见性图像示意图;
图4为本发明实施例中四叉树示意图;
图5为本发明实施例中潜在可见集金字塔示意图;
图6为本发明实施例中粗糙度图像金字塔示意图;
图7为本发明实施例中四叉树节点更新示意图。
具体实施方式
下面结合具体实施例对本发明的具体实施方式做进一步说明:
一种基于数字地形分析优化地形渲染的方法,包括:
S3、对每个Cell计算潜在可见补丁集合;
S4、计算地形粗糙度,对某一栅格DEM图像,计算每一个栅格单元的粗糙度:Croughness表示该栅格的粗糙度值,Cslope表示该栅格所代表的坡度,算结果归一化为0-255像素值,保存为png格式,使用Arcgis栅格计算器计算。
S5、对于每个Cell计算四叉树(如图4)、潜在可见集图像金字塔(如图5)和地形粗糙度金字塔(如图6);
S6、四叉树结点更新,如图7;
S7、进行渲染,没有四叉树节点需要细分进一步分裂,则送入渲染管线进行渲染,渲染发生在GPU中,其包括4个流程,顶点着色器、曲面控制着色器、曲面评估着色器、片元着色器;
S7.1、顶点着色器接收从CPU发送来的四叉树结点坐标,计算纹理坐标,并且送入下一个阶段,曲面控制着色器。
S7.2、曲面控制着色器接收从顶点着色器传递的顶点,并计算四条边的屏幕空间长度。计算粗糙度值,其按照所传入的Patch所在粗糙度图中的位置采样粗糙度图的灰度值,得到粗糙度值。检验传入坐标的Z轴坐标值是否为0,如果是,则外曲面细分参数计算公式如下:
glTessLevelOuter=C×Span÷Span_min
glTessLevelOuter为外部曲面细分参数,C为调节参数,Span为当前Patch的边长,Span_min为最小Patch所对应的边长。
S7.3、计算曲面内部细分参数,其计算公式如下:
gl_TessLevelInner[0]=C3×width1×roughnessValue+C4
gl_TessLevelInner[1]=C3×width1×roughnessValue+C4
gl_TessLevelInner[0]和gl_TessLevelInner[1]为两个内部曲面细分参数,C3和C4为调节参数。C3和C4越大,细分程度越高,地形越精细,C3和C4越小,细分程度越低,地形越粗糙。
S3包括:
S3.1、选取待判断的补丁Patchab,在其上均匀选取7×7个待测点,如图1所示;
S3.2、在Cell中选取测试视点,所述测试视点的位置根据待测点与Cell的位置关系确定;
如果待测点高程大于等于长方体单元上平面,则选取距离待测点最近的一条或者两条边作为测试视点,如果待测点高程小于长方体单元上平面,则选取距离待测点最远的一条或者两条边作为测试视点。
如图2,测试点可能位于该Cell的8个方位,分为8个区域:Region0、Region1、Region2、Region3、Region4、Region5、Region6、Region7。Edge0、Edge0、Edge0、Edge0表示该长方体单元区域上表面的四个边。
S3.3、将S3.2中选定的边的两端作为视点,和Patchab中的所有待测点作数字地形分析中的两点通视分析判断;
若其中有一个结果为可见,则判定该Patchab相对于该Cell为可见,若所有结果都不可见,则取两待测点的中点与待判断Patchab中所有待测点作通视分析判断,迭代S3.3不断选取两待测点的中点作为新的待测点,直到所取Cell中的待测点数量达到16,则判定该Patchab相对于该Cell为不可见,否则判定该Cell为可见;
S3.4、计算Cell的潜在可见性集合,对一个Cell而言,对所有Patchab做上述操作,逐一判断可见性,以png格式存储在硬盘上,使用像元值0表示可见,像元值255表示不可见,如图3为一个Cell的可见性图像。
S5包括:
S3.1、原始的潜在可见集图像为Level n,上一级图像的边长为下一层图像边长的一半,上一级图像像元的灰度值为下一级对应4个图像像元灰度值做逻辑或运算的结果,逐级计算出每个层级Level的潜在可见集图像;
S3.2、对于初始地形粗糙度图,向上逐级计算地形粗糙度图,其上一级的粗糙度图像的边长为下一级的一半,上一级图像的像元的灰度值为下一级对应4个图像像元灰度值的平均值。
S6包括:
S6.2、检验四叉树结点是否在视锥体内,如果不是,则剔除四叉树结点,如果是,则进行S6.3;预先对四叉树中的每一节点计算出该节点地形的最大高程值,根据每个节点的最大高程值分别构造一个包围盒,该包围盒的长和宽为该节点所表示地形块的边长,该包围盒的高度为节点最大高程值。在视锥体剔除阶段如果该包围盒在视锥体外面就剔除该节点,如果与视锥体相交或是在视锥体内则保留该节点。
S6.3、检验四叉树结点是否进行遮挡剔除,读取存储在潜在可见集中存储的可见性信息,如果像元值为0则可见,则进行S6.4,如果值为255则不可见,剔除对应的四叉树结点;在渲染之前的准备阶段,所有的PVPS图像会被读入内存中,以二维数组的形式存在。在地形四叉树每次更新产生新的子节点后都会根据视点位置读取对应场景可见单元的可见性信息(即布尔值)判断该子节点的可见性并对其进行遮挡剔除。该遮挡剔除是对四叉树每一层级进行的分层剔除,如果父节点被剔除,则其所有子节点都会被剔除。
S6.4、检验根节点是否分裂,分裂由节点评价公式决定,节点评价公式阈值为: Span表示该节点所表示的地形块的边长,R表示该节点所表示的地形粗糙度值,ratio为评估值,C1、C2为调节参数。粗糙度值被归一化为0-255,更大的粗糙度值使得一个四叉树节点更易分裂,在实际使用中该值可以被乘以系数以调节粗糙度对地形的影响,具体实施中,该系数为1。在四叉树地形构建与更新时,对每一节点计算其评价函数值,当该函数值小于1则该节点分裂,否则该节点作为最终节点,进入待渲染的节点列表。C1越小则三角形图元越多,地形细节越丰富,同时也消耗更多计算机资源。C2用来保证低粗糙度的地形块也至少拥有相当的细节层次。两个其他参数相同的节点,面积较大的地形块相比面积更小的地形块需要更多三角形图元以渲染细节,因此边长在节点评价函数中成为考量节点是否分裂的因素,边长较大的大地形块更易分裂。
S6.4中,调节参数为常数,影响地形精细度,C1越大则地形细分程度越低,地形粗糙,C1越小则地形细分程度越大,地形更加精细,C2决定了粗糙度因子在决定四叉树细分时的权重,C2越大,则粗糙度R决定是否分裂的权重就越小,C2越小,则粗糙度R决定是否分裂的权重就越大,地形四叉树受到粗糙度影响更大。
S6.4中,如果评估值ratio大于等于1,则该节点不需要进行分裂,被送入渲染管线。
在将一个四叉树节点送入渲染管线前,需要确定其邻接边的LOD层级信息,该信息可以直接从邻接关系数组中读取并通过控制点的坐标传入着色器。由于所有的Patch图元的4个角点(控制点)的Y轴坐标均为相同坐标(上文中设置为0)。本实施案例利用每个Patch顶点的Y轴坐标来传递邻接关系信息。每个Patch图元的4个角点坐标被修改为下式:
其中和表示节点在X轴和Z轴上的坐标;Span表示该节点的边长;Level_left、Level_top、Level_right和Level_bottom分别表示左、上、右下四个方向邻接节点的LOD层级。
每一节点的Y轴坐标都是其LOD level值与四个方向的邻接节点LOD level相减的结果,4个角点坐标分别对应四个方向的边。倘若某一节点相邻接节点的LOD层级与该节点一致,则其Y轴坐标为0,否则不为0。
本发明提供的渲染方法充分利用了数字地形分析预计算地形粗糙度与地形可见性信息,在传统方法的基础上可以剔除遮挡地形片元,提升渲染帧率。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (7)
1.一种基于数字地形分析优化地形渲染的方法,其特征在于,包括:
S1、将地形划分为规则的正方形补丁;
S2、将视点可能达到的空间区域划分为若干规则长方体空间区域Cell;
S3、对每个Cell计算潜在可见补丁集合;
S4、计算地形粗糙度;
S5、对于每个Cell计算潜在可见集图像金字塔和地形粗糙度金字塔;
S6、四叉树结点更新;
S7、进行渲染。
2.如权利要求1所述的一种基于数字地形分析优化地形渲染的方法,其特征在于,S3包括:
S3.1、选取待判断的补丁Patchab,在其上均匀选取m个待测点,m为常数;
S3.2、在Cell中选取测试视点,所述测试视点的位置根据待测点与Cell的位置关系确定;
如果待测点高程大于等于长方体单元上平面,则选取距离待测点最近的一条或者两条边作为测试视点,如果待测点高程小于长方体单元上平面,则选取距离待测点最远的一条或者两条边作为测试视点;
S3.3、将S3.2中选定的边的两端作为视点,和Patchab中的所有待测点作数字地形分析中的两点通视分析判断;
若其中有一个结果为可见,则判定该Patchab相对于该Cell为可见,若所有结果都不可见,则取两待测点的中点与待判断Patchab中所有待测点作通视分析判断,迭代S3.3不断选取两待测点的中点作为新的待测点,直到所取Cell中的待测点数量达到16,则判定该Patchab相对于该Cell为不可见,否则判定该Cell为可见;
S3.4、计算Cell的潜在可见性集合,对一个Cell而言,对所有Patchab做上述操作,逐一判断可见性,以png格式存储在硬盘上,使用像元值0表示可见,像元值255表示不可见。
6.如权利要求5所述的一种基于数字地形分析优化地形渲染的方法,其特征在于,S6.4中,调节参数为常数,影响地形精细度,C1越大则地形细分程度越低,地形粗糙,C1越小则地形细分程度越大,地形更加精细,C2决定了粗糙度因子在决定四叉树细分时的权重,C2越大,则粗糙度R决定是否分裂的权重就越小,C2越小,则粗糙度R决定是否分裂的权重就越大,地形四叉树受到粗糙度影响更大。
7.如权利要求6所述的一种基于数字地形分析优化地形渲染的方法,其特征在于,S6.4中,如果评估值ratio大于等于1,则该节点不需要进行分裂,被送入渲染管线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210666516.4A CN115187720A (zh) | 2022-06-13 | 2022-06-13 | 一种基于数字地形分析优化地形渲染的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210666516.4A CN115187720A (zh) | 2022-06-13 | 2022-06-13 | 一种基于数字地形分析优化地形渲染的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115187720A true CN115187720A (zh) | 2022-10-14 |
Family
ID=83513109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210666516.4A Pending CN115187720A (zh) | 2022-06-13 | 2022-06-13 | 一种基于数字地形分析优化地形渲染的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115187720A (zh) |
-
2022
- 2022-06-13 CN CN202210666516.4A patent/CN115187720A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7940279B2 (en) | System and method for rendering of texel imagery | |
US8462159B2 (en) | Subdividing geometry images in graphics hardware | |
CN111563948B (zh) | 基于gpu进行资源动态处理和缓存的虚拟地形渲染方法 | |
CN113256782B (zh) | 三维模型的生成方法、装置、存储介质、电子设备 | |
CN111581776A (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN110378992A (zh) | 面向大场景模型web端动态渲染LOD处理方法 | |
CN112785673A (zh) | 一种基于WebGL批量三维模型数据的渲染方法 | |
CN114065320A (zh) | 一种基于lod的cad图形轻量化的渲染方法 | |
Ji et al. | Dynamic lod on gpu | |
CN111028349B (zh) | 一种适用于海量三维实景数据快速可视化的层级构建方法 | |
CN115953541B (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
CN117152333A (zh) | 一种基于卫星影像实景三维模型的建筑物侧面纹理构建方法 | |
CN112102486A (zh) | 一种基于合并根节点的倾斜摄影数据lod重建方法 | |
CN115187720A (zh) | 一种基于数字地形分析优化地形渲染的方法 | |
CN110930509A (zh) | 线性四元树多层模型驱动的dem即时可视化方法 | |
CN114332411A (zh) | 一种三维图形实时网格的生成方法 | |
CN114494623A (zh) | 基于lod的地形渲染方法及装置 | |
WO2017172842A1 (en) | System and method for rendering points without gaps | |
CN111729303B (zh) | 一种大地图烘焙切割方法及恢复方法 | |
CN114155346B (zh) | 用于地形匹配的数据处理方法和装置 | |
CN117372246B (zh) | 一种基于滤波算法的倾斜摄影三维模型局部压平方法 | |
CN111506680B (zh) | 地形数据生成、渲染方法及装置、介质、服务器、终端 | |
Hoppe et al. | Adaptive meshing and detail-reduction of 3D-point clouds from laser scans | |
CN116704146A (zh) | 一种基于游戏渲染引擎的三维电子地图动态加载方法 | |
CN118015197A (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 |