1、计算机与现代化JISUANJI YU XIANDAIHUA2023年第11期总第339期文章编号:1006-2475(2023)11-0082-07收稿日期:2023-04-11;修回日期:2023-05-09基金项目:中国电子科技集团公司第十五研究所国防预研项目(GFZX03010105280203)作者简介:张春晖(1998),男,吉林四平人,硕士研究生,研究方向:数据可视化与人机交互,E-mail:;聂芸(1973),女,研究员级高级工程师,硕士,研究方向:虚拟现实与增强现实;王国伟(1990),男,工程师,硕士,研究方向:虚拟现实与增强现实。0引言随着航天和遥感技术的飞速发展,包括高分
2、辨率空间对地观测和卫星定位系统在内的各种空间系统的应用,人类生活与空间的联系日益密切。继陆地、海洋和天空之后,太空已经成为又一新的人类领域。随着在轨物体数量的不断增加,未来发生空间碰撞的风险也将增加。因此,对目标位置进行实时仿真,对于掌握当前的空间态势是非常必要的。目标的实时仿真是一个巨大的挑战,不仅因为目标数量庞大,而且因为时间维度的存在,目标的位置每时每刻都在变化,本身的计算量也非常大1-2。在复杂的三维场景中,模拟出高真实感的三维效果是计算机图形学领域的一个难题3-4。目前,国内对空间目标的模拟研究更多集中于星链模拟、特定或少量空间目标的仿真模拟,计算量相对较小,实时性不高。文献 5 利
3、用八叉树对目标进行组织管理,基于Cesium平台,并利用二级缓存渲染机制提高实时性,实现了多分辨率场景的创建,但该方法实现起来较为复杂。文献 6 利用GPU高精度浮点和并行运算的能力,设计并实现了一种快速的星图模拟方法。文献 7 对海量地理场景数据的组织与调度进行研究,在数据组织方面,采用数据分层、分块构建索引的预处理方式,在场景绘制前先进行数据的多分辨率模型构建;在提高场景真实感方面,采用多级纹理映射的方法,减少常驻内存的纹理数据量。文献 8 构建四叉树结构的LOD模型,处理的是均匀分布的地形地块资源,与空天场景环境资源不同,无法空天三维仿真中空间目标实时渲染算法张春晖,聂芸,王国伟(中国电
4、子科技集团公司第十五研究所,北京 100083)摘要:近年来,随着载人航天研究的进一步加深,空天任务的复杂性和可靠性要求也日益提高。对海量目标的位置实时解算和场景渲染是空间目标实时渲染的重难点。利用层次细节模型(LOD)在动态渲染中的优势,本文提出一种海量的空间目标实时渲染方法,该算法侧重于把传统的批LOD模型优化成基于R树的LOD模型。在构建基于R树的LOD模型时,会出现索引空间重叠、查询效率低、LOD模型纹理突变等问题。因此,提出基于节点的深度调整策略消除索引空间重叠,采用快速剪枝算法提高查询效率,使用基于Shader的Alpha测试技术实现LOD模型平滑过渡,通过上述3种优化算法的协同处
5、理,优化后的LOD模型在场景渲染时间、空间占有率、帧率等均有所改善。关键词:三维仿真;R树;LOD模型;实时渲染中图分类号:TP391.9文献标志码:ADOI:10.3969/j.issn.1006-2475.2023.11.013Real-time Rendering Algorithm for Spatial Targets in Air-space 3D SimulationZHANG Chun-hui,NIE Yun,WANG Guo-wei(The 15th Research Institute,China Electronics Technology Group Corporati
6、on,Beijing 100083,China)Abstract:In recent years,with the deepening research of manned spaceflight,the complexity and reliability requirements ofspace missions have been increasing.Real-time position calculation of massive targets and scene rendering are the key and difficult points of real-time ren
7、dering of space targets.To take advantage of the hierarchical detail model(LOD)in dynamic rendering,a real-time rendering method for massive space targets is proposed,which focuses on optimizing the traditional batch LODmodel into an R-tree-based LOD model.When constructing the R-tree-based LOD mode
8、l,there are issues such as index spaceoverlap,low query efficiency,and LOD model texture mutation.Therefore,a node-based depth adjustment strategy is proposedto eliminate index space overlap,a fast pruning algorithm is adopted to improve query efficiency,and the shader-based alphatesting technique i
9、s used to achieve smooth transitions between LOD models.Through the collaborative processing of these threeoptimization algorithms,the optimized LOD model has improved in scene rendering time,space occupancy rate,frame rate,andother aspects.Key words:3D simulation;R-tree;LOD model;real-time renderin
10、g2023年第11期直接应用,但有一定的借鉴意义和参考价值。基于此,本文提出一种系统性的空天三维实体实时渲染解决方案:设计基于R树的LOD模型,更好地对目标进行组织管理,提高了数据组织的能力;对基于R树的LOD模型进行优化,提升数据处理能力、场景精度、场景渲染的稳定性和流畅性,减少存储空间。通过上述处理,形成了高质量、低延迟的系统效能,提升空天三维场景的整体渲染效率和表达效果。1空天三维场景实时渲染需求空天三维场景实时渲染在许多方面都具有重要的意义,能够为太空科学研究、太空任务执行、太空科普教育和太空产业发展等方面提供有力的支持。相对于传统三维场景渲染,空天三维的场景实时渲染有以下特征:1)资
11、源种类多,数量大。根据 NASA 资料,近地空间环境中直径大于 10cm的物体约有34000个,在1 cm和10 cm之间的物体约900000个,在1 mm和1 cm之间的物体约1.28亿个,包括现役卫星、废弃卫星和可观测的人造碎片等。到2022年底,全球在轨航天器数量达到7218个,全 球 共 有 在 轨 卫 星 5465 颗。按 太 空 探 索 公 司(SpaceX)的计划,以星链为例,到 2024 年将部署约12000 颗“星链”卫星,到 2027 年将部署约 42000 颗“星链”卫星。上述现役卫星、废弃卫星和可观测的人造碎片等空间实体在各种任务场景中都有表达的必要性。在空天三维仿真中
12、所涉及的场景资源种类多、数量巨大,这使得资源加载和模型渲染与传统的三维场景相比更为复杂。2)实时性要求高。空天态势可视化需求与空天实体仿真息息相关,在涉及关键目标实体的仿真应用时,仿真步长有时要到毫秒级。实时性是仿真系统的基本性能,也是保证仿真结果高可信度的重要前提,仿真软件的实时性性能直接关系到仿真结论的可信性。因此,实时性成为了太空三维仿真中不可或缺的重要因素。对目标位置进行实时仿真,对于掌握当前的空间态势是非常必要的。3)分布特征明显。传统三维场景中资源分布一般比较均匀,相比之下,空天三维中实体分布特征与之不同。具体表现为:在空天三维中,由于超大的空间尺度,使得资源分布不均匀。受轨道摄动
13、力、磁场等方面的影响,各类实体高速运转,资源分布变化迅速,在不同时刻,同一范围内的资源分布或稀疏或稠密,在大范围内,实体运动分布并不集中;为了平衡直观性和准确性之间的关系,对于资源的组织管理变得尤为重要。空天三维场景实时渲染的上述3个特点,在进行仿真时会出现一些问题。空天三维场景通常包含大量的实体,这些实体的数量和细节都会影响渲染效率和质量,需要采用一些优化技术来提高渲染性能;很多实体都在高速移动,包括卫星、碎片等。这会导致实时渲染需要不断更新视点和实体位置,需要采用一些高效的渲染算法和数据结构来提高渲染效率;实体经常会发生多种变化,例如卫星的姿态变化、环境的变化等。这些变化会对渲染效果和实时
14、性产生影响,需要采用一些动态的渲染技术来应对。在进行实时渲染时还需要注意数据的实时更新和传输,避免延迟过大导致渲染不及时或者错位等问题。针对上述问题,目前常用的方法是LOD9技术,这是一种模型管理优化技术,其有效协调了画面的连续性与模型分辨率之间的关系。LOD技术能够提高性能、节省资源、改善渲染效果、支持动态场景,有良好的拓展性,LOD技术是一种较为通用和成熟的技术。而其他的三维场景优化技术,如纹理压缩、顶点缓存等,只能针对特定场景或情况进行优化,而且优化效果有限3,9。由于在空天三维仿真中,有大量实体进行高速运动,依靠传统的LOD技术进行处理时,需频繁地调整物体的细节层次,这就对系统的数据组
15、织、快速计算、渲染效果等方面有更高的要求,即对传统的LOD技术和资源处理方式存在非常迫切的优化需求。在构建LOD模型时,通常会使用空间分割数据结构来组织场景中的对象,例如四叉树、八叉树和R树等。这些数据结构可以有效地管理对象的空间位置和大小,并且可以用于加速场景渲染和碰撞检测等任务。在传统的三维仿真中,由于资源分布均匀,所需要处理的数据相对较少,通常采用四叉树或者是八叉树的方式对目标进行管理组织。由于空天三维场景的资源分布不均匀,且实体高速变化,使用四叉树时,随着空天对象的变化进行插入操作,四叉树的层次结构会不断地加深,将使得四叉树严重不平衡,每次查询的深度将大大增多,从而导致查询效率的急剧下
16、降。使用八叉树时实现某些几何变换会十分复杂,如旋转变换和任意比例系数的比例变换等。只能近似地表示空间实体,转换为表达更精确的边界表示会变得更加困难。本文基于上述需求,提出一种基于 R 树的 LOD模型,R树可以高效地处理不规则形状的对象,适用于存储不同形状的三维对象。在查询时可以快速找到离查询点最近的对象,R树的优势在于能够有效地处理大规模的空间数据,同时还支持动态数据插入和删除。同时,由于空天三维场景的复杂性,对仿真中实时性和准确性的表达要求较高,为了提升系统整体效能,本文对R树的LOD模型进行优化,来更好地解决空天三维场景的实时渲染需求。2基于R树的LOD构建与优化R树作为一种重要的空间数
17、据索引结构,已经成为许多空间数据索引方法的基础。R树的构建思想是采用最小边界矩形(MBR)递归地对数据集空间进行划分,划分规则是按照“面积”进行10。R树的空间结构如图1所示。R树是一种用于空间数据索引的数据结构,它可以在多维空间中快速检索数据。在空天三维中,具有张春晖,等:空天三维仿真中空间目标实时渲染算法83计算机与现代化2023年第11期快速查询、空间分割、空间范围查询和动态更新等优点,因此在航空、卫星、导航和地理信息等领域有广泛应用11-13,其优势体现在以下几个方面:1)快速查询:R树的结构可以快速定位到包含目标数据的叶节点,从而加快数据的查询速度。2)空间分割:R树可以将空间分割成
18、多个矩形区域,这些矩形区域可以代表不同的物体或空间区域。可以通过搜索相应的矩形区域来找到所需的物体或区域,从而提高搜索效率13。3)支持动态更新:R树支持动态更新,可以随着数据的不断添加或删除而进行调整,从而保证数据的查询效率13。构建基于 R树的 LOD模型时也存在一些问题,对模型的优化尤为重要14-16,基于R树的LOD模型优化的关键在于减少索引重叠和裂缝,以及加速查询效率。空天三维场景资源分布并不均匀,在利用R树进行数据组织时,由于R树的结构特性,会产生索引空间重叠的问题,导致查询性能下降。本文通过使用一种基于节点的深度调整策略来解决索引空间重叠问题,当一个节点的子节点数小于阈值时,可以
19、采用节点合并策略;当一个节点的子节点数大于阈值时,可以采用节点分裂策略。同时,为了加速节点查询效率,本文使用快速剪枝算法(Quick Pruning Algorithm),可以减少查询时需要遍历的R树节点数,从而提高查询效率;在进行LOD层次切换时,不同分辨率的LOD模型在过渡处会出现明显的裂缝,本文采用Alpha测试技术提升渲染效果和场景流畅性。2.1构建R树的LOD模型R树中的非叶子节点代表被划分的空间区域,即一个矩形空间区域11;叶子节点则包含对应空间对象的最小边界矩形(MBR)。在构建矩形空间时,通常遵循以下3个一般规则:1)减少矩形之间的重叠。2)使矩形能够包含尽可能多的空间对象。3
20、)矩形之间可以嵌套,即较小的矩形可以包含在一个较大的矩形中。构建R树结构的LOD模型的一般步骤如表1所示。2.2基于R树的LOD模型优化策略2.2.1基于节点的深度调整策略在空天三维中,由于R树节点之间的索引空间是相互独立的,可能会出现节点之间的索引空间重叠,导致某些资源被重复加载或者没有被加载。随着数据量和空间维度的增加13,重叠的程度也会增加。表1构建R树结构LOD模型的步骤步骤数据处理R树构建LOD分层场景渲染原则对于空间场景中的各种物体,首先需要进行数据处理和预处理。这包括将三维模型转换为LOD模型、为每个物体生成纹理和贴图以及计算每个物体的位置和运动轨迹等基于处理好的物体数据,通过递
21、归方式构建R树结构。R树的节点可以根据需要分裂或合并,以优化空间分割效果和查询效率。R树的构建过程需要注意避免节点重叠和死结等问题,这通常需要使用优化算法。例如分裂节点的贪心算法和提高查询效率的剪枝算法等对于每个 R 树节点,通过计算其与相机的距离,决定采用何种 LOD 模型,并将该节点的LOD模型数据储存到该节点中根据相机的位置和方向,从R树的根节点开始向下遍历,找到所有在相机视锥体内的节点,并根据节点所储存的LOD模型数据渲染场景由于空天三维场景的复杂性,场景中实体数量大且分布不均,具体表现为,不同区域实体数量排列或稀疏或稠密17,基于此,需要一种更加灵活的方式来解决此索引空间重叠问题。本
22、文提出一种基于节点的深度调整策略,它是一种自适应的LOD优化策略,用于平衡节点的深度和数量,避免过多的重叠和不必要的计算开销。具体来说,它主要包括节点分裂和节点合并2种策略。节点分裂是指当一个节点中包含的数据对象数量达到一定阈值时,将其分裂成多个子节点,使每个节点中的对象数量不超过设定的最大值。分裂后,将子节点重新插入到R树中,并根据需要继续分裂,直到满足预设的最大深度或最小对象数量。节点合并是指当一个节点中的子节点数量过少时,将其与相邻的兄弟节点合并,以减少节点深度和重叠区域。合并后,将新节点重新插入到R树中,并进行深度调整,以确保所有节点深度和数量的平衡性。具体的基于节点的深度调整流程如下
23、:1)初始化:设定R树的最大深度D和最小对象数量M,以及节点分裂阈值max_n,节点的合并阈值min_n。2)插入新对象:将新对象插入到R树中,根据其所在节点的对象数量判断是否需要进行节点分裂或合并。3)节点分裂:当一个节点中的对象数量达到max_n时,将其分裂成多个子节点,递归进行节点分裂,直到满足最大深度D或最小对象数量M的要求。在节点分裂时,可以根据节点中对象的坐标范围和数量,采用贪心算法选择一个维度进行划分。具体而言,计算每个维度上坐标范围的中位数,然后选择离中位数最远的对象作为划分点,将节点分为 2 个部分,以减少索引重叠。假设节点中对象数量为n,阈值为max_n,节点中对象坐标范围
24、为:minx,maxx,miny,maxy,minz,maxz,则可以计算出每个维度上坐标范围的中位数:图1R树的空间结构图ABCFEDGBCDEFGA842023年第11期 mid_x=(minx+maxx)/2mid_y=(miny+maxy)/2mid_z=(minz+maxz)/2(1)式中,mid_x、mid_y、mid_z分别对应x、y、z维度上的中位数。然后,选择离中位数最远的对象作为划分点。假设选取维度为x,则可以计算出划分点的坐标为:split_x=max(obj.x|obj in node)其中,|表示“满足以下条件的集合”,即选取节点x中坐标最大的对象作为划分点。将节点分
25、为2个部分,一个部分包含所有坐标小于等于的对象,另一个部分包含所有坐标大于的对象。具体而言,可以采用以下公式进行划分:node1=obj|obj in node and obj.x split_xnode2=obj|obj in node and obj.x split_x(2)4)节点合并:当一个节点中的子节点数量少于设定的阈值时,将其与相邻的兄弟节点合并,如果新节点的容量超过了max_n,则对新节点进行递归分裂操作,直到满足容量约束为止。5)更新R树索引:根据节点分裂和合并的结果,将新的节点插入到R树中,更新索引。数量:N=dn深度:D=lognN其中,d为当前节点深度,n为每个节点包含的
26、对象数量。D为R树的深度,N为R树中所有节点的数量。基于节点的深度调整能够根据R树的动态变化自适应调整节点深度和数量,使得R树的索引能够更好地适应不同的数据分布和场景需求,从而提高索引的效率和性能。2.2.2快速剪枝算法在空天三维仿真中,快速剪枝算法能够显著提高查询效率,从而实现更快的渲染速度和更流畅的用户体验。快速剪枝算法在空天三维仿真中有显著优势,原因主要有2点:1)空间数据的稠密性:在空天三维仿真中,大量的空间数据点是分布在局部区域的,这意味着查询时只需要对局部区域进行搜索。快速剪枝算法利用了这一点,先计算每个节点与查询区域的最小距离,再根据距离从小到大排序,优先处理距离最小的节点,避免
27、对整个空间进行搜索,从而显著提高了查询效率。2)大规模数据的处理:在空天三维仿真中,往往需要处理海量的空间数据18,而快速剪枝算法可以快速排除掉不符合查询条件的节点,从而避免了对大量无用数据的处理,降低了处理时间和空间消耗。快速剪枝算法的主要思想是通过计算每个节点与查询区域的最小距离,将节点按照距离从小到大排序,然后优先处理距离最小的节点19-20。这样可以尽可能地剪枝掉与查询区域没有交集的节点,减少需要遍历的节点数,从而提高查询效率。以下是一种在空天三维仿真中的快速剪枝算法:1)对于每个查询区域,计算其与R树中每个节点的最小距离,记为mindist(i),其中i表示第i个节点。2)对所有节点
28、按照最小距离从小到大排序,得到节点的排序数组S。3)依次遍历排序数组 S 中的节点,对于每个节点,先检查其子节点是否需要被处理。如果子节点需要被处理,将子节点加入排序数组S中,保持排序顺序不变。4)如果节点与查询区域不相交,则直接跳过该节点及其子节点;否则,计算节点的所有对象与查询区域的距离,将距离小于查询区域半径的对象加入结果集中,同时将该节点的子节点加入排序数组S中。5)处理完排序数组S中所有节点,返回结果集。其中,计算最小距离的公式为:mindist(i)=dist(Q,MBRi),i为叶结点dist(Q,MBRi)+j=1mmindist(cij),i为非叶结点其中,dist(Q,MB
29、Ri)表示查询区域Q与节点i的最小距离,cij表示节点i的第j个子节点,m表示节点i的子节点数量。如果节点i为叶节点,则j=1mmindist(cij)的值为0。该算法的好处在于,能够快速剪枝掉与查询区域无交集的节点,同时优先处理与查询区域距离最小的节点,大大减少了查询的时间复杂度。快速剪枝算法具有高效剪枝、距离优先处理、适应复杂空间等优势,能够显著提高查询效率,从而实现更快的渲染速度和更流畅的用户体验。2.2.3LOD层次间的平滑过渡在空天三维仿真中,当视点移动时,不同LOD之间的切换会导致模型的形状和纹理出现明显的跳变,从而影响场景的渲染效果和真实感。为了解决这个问题,需要进行对LOD层次
30、间的平滑过渡,使得不同细节级别的模型之间能够平滑地过渡,从而达到更加自然、流畅的渲染效果。同时,一些实体高速运转,导致它们相对于视点的距离快速变化,从而需要频繁进行LOD层次的切换,对LOD层次切换的效率要求更高,故需要一种更加高效的LOD平滑过渡算法。LOD平滑过渡算法可分为几何法和纹理法2类。几何法通过改变模型的几何形状实现平滑过渡,包括细分曲面、曲面拟合和边缘折叠等方法。几何法的优点在于可直接改变模型的几何形状,从而获得更精细的平滑过渡效果,并不会影响纹理质量。但几何法的缺点在于会增加计算和存储开销,使得处理后的模型变得更加复杂。对于高精度模型,几何法的效果可能不如纹理法。纹理法则是通过
31、纹理实现平滑效果,包括纹理混合法和多边形偏移法等。纹理法的优点在于不需要改变模型的几何形状,因此不会增加计算和存储开销,同时可以实现较为简单的平滑过渡效果。但纹理法也存在视觉效果差和性能开销高的问题。在可编程管线的着色器技术普及后,基于 Shader的Alpha 混合和 Alpha 测试技术成为了有效的解决方案21-22。Alpha混合技术通过混合相邻的2个LOD透明度实现平滑过渡。但这种方法需要考虑对象的渲染顺序,且Shader复杂度高、性能消耗大。相比之下,Alpha测试技术不需要考虑渲染顺序,性能消耗相对较小11-12。张春晖,等:空天三维仿真中空间目标实时渲染算法(3)85计算机与现代
32、化2023年第11期在空天三维仿真中,由于场景的广阔性和复杂性,需要处理大量的三维几何数据23和纹理信息,而且往往需要在实时环境下进行渲染。使用基于Shader的Alpha测试技术可以有效地减少纹理文件的大小和数量,提高渲染效率,同时还可以在不需要考虑对象渲染顺序的情况下实现平滑的 LOD 过渡效果。这样可以减少存储和计算成本,提高渲染效率,使得空天三维仿真场景可以更加流畅和真实地呈现。下面是基于Shader的Alpha测试技术实现步骤:首先,在着色器中定义2个相邻的LOD级别,分别称为 LOD1和 LOD2,它们具有相同的几何形状和纹理,但是LOD2拥有更少的细节。接下来,定义一个 alph
33、a 值,表示在 LOD1 和LOD2之间的过渡程度,这个alpha值可以根据距离、视角等参数进行计算。在此示例中,假设alpha值为0到1之间的浮点数,0表示完全显示LOD1,1表示完全显示LOD2。然后,在片元着色器中使用alpha测试来决定是否显示LOD1或LOD2中的颜色值。具体来说,如果当前片元的 alpha 值小于等于 alpha 阈值,则显示LOD1的颜色值,否则显示LOD2的颜色值。这个alpha阈值的值可以根据需要进行调整,以实现不同的平滑效果。总体流程如图2所示。图2Alpha 测试技术Alpha测试技术还可以有效地解决 LOD级别之间的过渡问题,使得场景中不同LOD级别之间
34、的切换更加平滑,同时也可以降低LOD切换时可能出现的不连续性和裂缝现象。在空天三维仿真中,这种技术可以有效地提升场景的视觉效果。2.2.4基于R树的LOD模型优化效能分析对R树的LOD模型进行索引空间重叠消除、剪枝算法、平滑过渡3个方面的优化可以带来以下好处:1)提高渲染效率。索引空间重叠消除和剪枝算法可以减少无用的计算和渲染,从而提高渲染效率。2)减少突跳现象。平滑过渡可以减少不同LOD层级之间形状和纹理的突变,从而减少视觉上的突跳现象。3)提高视觉效果。平滑过渡可以让场景在不同LOD层级之间平滑过渡,从而提高场景的视觉效果。4)减少数据存储。索引空间重叠消除和剪枝算法可以减少需要存储的数据
35、量,从而减少存储空间的使用。5)支持大规模场景。优化后的R树的LOD模型可以支持更大规模的场景渲染,提高了场景仿真的可扩展性。综上所述,对R树的LOD模型进行空间重叠、剪枝算法、平滑过渡3个方面的优化可以在多个方面提升场景渲染的效率和质量,从而提高空天三维仿真的实时性和可视化效果。3实验结果验证3.1实验准备为了验证所提方法的优越性,本文实验的硬件配置为:CPU:Intel(R)Core(TM)i7-4720HQ CPU 2.60GHz;内存:16 GB;显卡:Geforce GTX960M(1 GB内存),基于Windows10平台,显存位宽为64位DDRM。本文实验的软件配置为:软件平台为
36、 Windows10旗舰版64位操作系统,开发引擎为Unity3D引擎,开发工具为 Visual Studio 2019,OpenGL3.2版本,开发语言为C+、C#。数据来源:为了更好地验证本文算法的优势,本文采用真实与模拟相结合的方法进行数据准备。其中实验轨道数据、卫星数据、地球资源数据等一些关键数据均是真实数据,数据来自国家某空天可视化项目,其中一些碎片、废弃卫星等数据是通过C语言的随机函数对开普勒根数进行模拟,最终对所有实体位置进行解算,并实时显示。3.2R树的LOD模型实验分析为了验证基于 R树的 LOD模型存在的优势,本文通过 Unity 开发平台,分别构建不同索引结构的LOD模型
37、。利用模拟生成的数据进行对比实验,完成目标的实时模拟均需要经过位置计算后进行渲染输出,因此实验的统计量包括位置解算耗时和渲染耗时2个部分,具体结果如表2和图3所示。表2R树、四叉树、八叉树用时对比目标数量40008000160003200064000128000方法四叉树八叉树R树四叉树八叉树R树四叉树八叉树R树四叉树八叉树R树四叉树八叉树R树四叉树八叉树R树位置解算耗时/s0.0050.0020.0060.0070.0050.0060.0150.0110.0080.0450.0350.010.1350.1080.0180.50.40.015渲染耗时/s0000.0010.0010.0010.
38、0040.0030.0020.010.0080.0040.0150.0160.0030.0310.0280.004总计时/s0.0050.0020.0060.0080.0060.0070.0190.0140.010.0550.0430.0140.150.1240.0210.5310.4280.019提速比/倍-1.2-3/0.88-1.17/1.91.4/3.933.07/7.145.9/27.9322.53/三维模型屏幕绘制顶点着色器片元着色器坐标转换计算视距根据视距等动态输出2个相邻LOD透明度动态调整alpha阈值显示LOD的颜色值基于Alpha测试的算法862023年第11期对比表2中
39、的实验结果可以发现,在目标数据量不是太大的时候,基于R树模拟的计算速度反而不如利用四叉树和八叉树进行计算的速度,只有当数据量足够大的时候,模拟的速度才有较大提高。分析原因是基于 R 树的 LOD 模型在处理更大数量的空间目标,且空间目标排列并不均匀时,可以更好地进行目标检索和解算,四叉树在查询时需要遍历多个节点,效率较低,而八叉树的构建和维护复杂,需要大量的计算和内存空间。由于计算机处理三维场景时,主要应用CPU和GPU的处理能力24-27,少量的数据必定造成GPU处理资源的浪费,而将数据从内存传递到GPU却消耗了相对多的传输时间。可以预见,在目标数量更大,场景分布更为复杂的情况下,基于R树的
40、LOD模型有显著优势。图3R树、四叉树、八叉树用时对比折线图3.3R树模型优化的实验分析本文在构建 R树的 LOD模型之后,对其进行了进一步优化,主要优化的方向有减少索引空间重叠、提高查询效率和LOD模型平滑过渡。实验设置:使用Unity平台,构建空天三维场景,创建漫游路线,对比优化的基于R树LOD算法和未经优化的 LOD 算法,在同一场景下,相同的漫游路线,得到的性能指标如表3所示。表3R树优化性能比较算法未经优化优化后渲染时间/s8.65.4空间占有率/%3018帧率/fps102143从表3可以看出,经过优化后的算法,在各个方面均有良好性能,渲染时间减少 37.2%,帧率提升40%左右,
41、空间占有率下降40%。其中,剪枝算法和Alpha测试技术可以减少不必要的绘制,从而提高帧率和降低渲染时间;节点的分裂和合并可以提高存储空间的利用率和查询效率,从而降低系统的存储需求和渲染时间。通过改进基于R树的LOD模型,可大幅度提升系统整体效能,实验效果较好。3.4R树模型优化的模拟效果分析为了验证本文算法的优势和效果,令场景中实体进行高速运动,观察场景中的物体运动变化状态,对场景的实时性和准确性进行初步分析。图4展示了系统中不同时刻实体的运行状态。(a)系统运行状态1(b)系统运行状态2图4系统运行状态为了进一步验证算法实时性,本文进行仿真步长设为0.01 s,仿真步数设为1500的测试。
42、对比本文算法和Unity内置算法的时延(实际算法仿真耗时-理想仿真耗时),读取每一步长对应的仿真时间和硬件CPU 中对应的真实时间,得到对比结果如图5所示。图5运行实时性对比根据图5所示,空天三维仿真实时渲染算法的耗时明显低于Unity内置算法,算法的性能较好。并且最大时延为 33 ms,满足仿真系统的毫秒级延迟要求,该算法具有很好的实时性。4结束语本文提出空天三维仿真中空间目标实时渲染算法,通过构建基于R树的LOD模型,更好地适应了空天三维场景的分布特征,提高了数据组织能力和资源加载速度。为了进一步提升系统效能,本文对R树的LOD模型进行优化,提高了场景的渲染速度和整体流4000800016
43、0003200064000128000目标数量/个四叉树八叉树R树0.60.50.40.30.20.10模拟用时/s 100300500700900110013001500仿真步数理想实时仿真耗时Unity内置算法空天三维实时渲染算法时间/s181614121086420张春晖,等:空天三维仿真中空间目标实时渲染算法87计算机与现代化2023年第11期畅性。本文算法还存在待改进的方面:首先,本文算法中基于节点的深度调整策略实现起来较为复杂,需要改进为简单易行的方法。其次,本文算法由于业务背景的特殊性,可移植性有限。参考文献:1 张晔嘉,朱贤平,孙翌晨,等.高效海量空间目标可视化方法 J.指挥信
44、息系统与技术,2020,11(1):55-61.2 施群山,蓝朝桢,梁静,等.空间目标多尺度表达模型及方法 J.系统仿真学报,2016,28(9):2235-2245.3 周巍,史浩山,周欣.H.264 帧间预测快速算法 J.计算机辅助设计与图形学学报,2008,20(6):770-774.4 莫映.真三维地理信息系统中海量数据处理技术的应用研究 D.北京:首都师范大学,2004.5 徐明瑞,肖桂荣.基于Cesium时空三维可视化的数据调度与缓存机制J.科学技术与工程,2021,21(35):14918-14926.6 施群山航天器姿态解算及其半实物仿真技术研究D.郑州:解放军信息工程大学,2
45、0117 杜云虎.三维地理场景加速绘制的数据组织调度与时序多屏同步漫游技术 D.福州:福州大学,2013.8 郭向坤,林浒,刘继申,等.一种CPU-GPU协同计算的三维地形实时渲染算法 J.小型微型计算机系统,2018,39(4):825-829.9 殷智慧,李朝奎,吴柏燕,等.保持视觉特征的LoD模型简化算法研究 J.武汉大学学报(信息科学版),2014(7):772-776.10阎超德,赵学胜.GIS空间索引方法述评 J.地理与地理信息科学,2004,(4):23-26.11刘润涛,郝忠孝.R-树和四叉树的空间索引结构:RQOP_树 J.哈尔滨工业大学学报,2010,42(2):323-3
46、27.12 张芩,王振民.QR-树:一种基于R-树与四叉树的空间索引结构 J.计算机工程与应用,2004(9):100-104.13 龚俊,朱庆,章汉武,等.基于R树索引的三维场景细节层次自适应控制方法 J.测绘学报,2011(4):531-534.14 ZHANG Y N,ZHANG A M,GAO M,et al.Research onthree-dimensional electronic navigation chart hybrid spatial index structure based on quadtree and R-treeJ.ISPRS International Jo
47、urnal of Geo-Information,2022,11(5):319.DOI:10.3390/ijgi11050319.15CHENG H,XIE K,WEN C,et al.Fast visualization of 3Dmassive data based on improved Hilbert R-Tree andstacked LSTM models J.IEEE Access,2021,9:16266-16278.16郭菁,郭薇,胡志勇.大型GIS空间数据库的有效索引结构 QR-树 J.武汉大学学报(信息科学),2003,28(3):306-310.17 吕亮.空间态势图构
48、建及可视化表达技术研究 D.郑州:解放军信息工程大学,2014.18 刘润涛.基于序的空间数据索引及查询算法研究 D.哈尔滨:哈尔滨理工大学,2009.19 郑亮.基于并行处理的空间查询技术研究 D.南京:南京邮电大学,2016.20曹雪峰.基于地理信息网格的矢量数据组织管理和三维可视化技术研究 D.郑州:解放军信息工程大学,2009.21姜展,李梅,孙振明,等.基于着色器的LOD纹理混合与反走样平滑过渡关键技术研究 J.北京大学学报(自然科学版),2022,58(1):113-122.22 ZHAO T H,TANG Y P.3D modeling algorithm of sportsve
49、nues with detail optimized LOD terrain renderingJ.Technical Bulletin,2017,55(9):270-276.23 施群山,吕亮,蓝朝桢,等.用于空间态势表达的海量空间目标可视化 J.图学学报,2014,35(6):828-834.24崔树林,张旭,张树清,等.基于GPU的大规模栅格数据分块并行处理方法 J.计算机技术与发展,2015(3):19-22.25 张浩杰.基于GPU的重建算法加速及三维可视化技术D.太原:中北大学,2021.26孔繁泽,叶东,柳子然,等.卫星轨道递推的GPU集成式并行加速方法 J.哈尔滨工业大学学报,
50、2021,53(6):13-20.27 陈璐瑶,陈思洁,岑宽,等.一种高图像质量的虚拟视点绘制方法及GPU加速 J.小型微型计算机系统,2020,41(10):2212-2218.national Conference on Dependable Systems and Networks(DSN).IEEE,2019:26-38.8ARLAT J,AGUERA M.Fault injection for dependabilityvalidation:A methodology and some applications J.IEEETransactionsonSoftwareEngineer