大地形3D电子沙盘系统的设计与实现.pdf
电子科技大学硕士学位论文大地形3D电子沙盘系统的设计与实现姓名:黄波申请学位级别:硕士专业:检测技术与自动化装置指导教师:李小文;许文波20090501摘要摘要电子沙盘(Electronic Sand Table)又叫数字沙盘(Di.gital Sand Table)、虚拟沙盘(Virtual Sand Table),集遥感、地理信息系统、虚拟现实等技术于一体,随着制作技术的进步,电子沙盘广泛应用于军事、房地产、航空航天、教育、娱乐、工程施工、城市规划等行业。电子沙盘制作要点是:将地形格网叠加上纹理模拟出真实的地形地貌,然后结合用建模工具制作出的建筑、道路等的模型形成虚拟3D场景,编程实现如地形的分析、漫游、标注等交互功能,同时还要能够模拟出真实情况下的自然环境。本文在总结前人的理论和实践的基础上,首先对电子沙盘以及大地形仿真关键技术做了相关的介绍,分析了大地形电子沙盘系统具体的需求,对系统的整体架构和各项功能做了详细的设计,其次综合运用ERDAS、Global Mapper和Photoshop CS等软件对地形和纹理数据进行预处理,再借助CTS(Creator TerrainStudio)、VegaPrime系列软件生成电子沙盘3D场景,最后在Microsoft Visual Studio开发环境下对已生成的场景编程实现了系统的各项功能。本文对CTS的虚拟纹理技术、大地形数据的组织、地形纹理的映射技术、细节层次渐变效果(LoD)、大地形碰撞检测技术以及在VegaPrime实时环境下的大地形调度技术做了深入的研究,同时给出了一条如何将原始遥感影像处理为CTS能够接受的地形纹理数据的技术路线。关键词:电子沙盘,Vega Prime,CTS,大地形,虚拟纹理AbstractAbstractElectronic sand table is also called di酉tal sand table or virtual sand table.Electronic sand table is the combo of remote sensing(RS),geographic informationsystems(GIS),virtual reality(VR)and other technologies.With the computertechnology‘S progress,electronic sand table is widely used in the military,real estate,space flight,education,entertainment,construction,urban planning and other industries.11he main points of the production of electronic sand table are“firstly,COVer the terrain鲥d with the texture to simulate the real topography;secondly,use the models of thebuildings,roads,residential area and the terrain to generate a virtual three—dimensionalscene;thirdly,actualize other special functions such as“terrain analysis,roaming,labeling and real situation ofthe natural environment’S simulating is also needed。At the base of the summarize of predecessors’theory and practice,this articleintroduced the key technologies of electronic sand table and large area terrainsimulation.Then made needs analysis of electronic sand table system and designed theoverall framework and the functions of this system.Next,used ERDAS,Global Mapperand Photoshop CS to process the raw data of the terrain and texture,used the series ofMultiGen-Paradigrn software to generate three-dimensional scenes of electronic sandtable.Finally,actualize all functions of this system under Microsoft Visual Studiodevelopment environment.Tllis article also did a deeply research in the key technologysuch as“Virtual Texture,LADBM in CTS,Virtual Texture’S mapping,Level of Detail(LOD),collision detecting on large area terrain,LADBM in VegaPrime and got atechnique route about how to process the raw remote sensing data to the formate thatCTS accept.Key Words:Electronic Sand Table,Vega Prime,CTS,Large Area Terrain,Virtual TextureⅡ独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。虢一吼叫年…舀关于论文使用授权的说明本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后应遵守此规定)签名:蕴童一 导师签名:.醐:_第一章绪论1.1课题研究背景及意义第一章绪论沙盘是对某个区域的缩小的模拟再现,古代的军事指挥者们就常在战场的实体沙盘上进行推演模拟作战,进入信息时代过后,出现了基于计算机图形图像技术的电子沙盘。电子沙盘是以传统沙盘堆制理论为依据,以地形数据库数据为基础,结合现代计算机图形图像技术生成逼真的3D地形,并为用户提供了一个基于地形的实时、可交互的虚拟操作环境,突破了实体沙盘占地面积大、携带不方便、表现内容单调且难以更新等缺点,应用越来越广泛。与实体沙盘和平面地图比起来,电子沙盘有不可比拟的优势[1】:地形信息准确国家标准地形图建立数字地面模型,可以准确的按比例还原地貌形态;地物表示详细卫星遥感影象做为地表贴面,反映和实地一样的地表形态,河流、植被、民地等信息一目了然;地物表现直观遥感影象的色彩,经过合理的波段组合和时相选取,可以模拟实地景观,达到身临其境的效果;修改、更新方便可以很方便的在电子沙盘上面添加、删除地物模型;浏览方便在3D电子沙盘中进行任意缩放和漫游、可以模拟飞行,对目标进行全方位的观察分析;地形信息检索查询任意地点的地理坐标和海拔高度;地形分析和量算可以在地形上面进行距离、面积、体积的量算,还可以进行通视、剖面、淹没等分析;电子科技大学硕士学位论文模拟可以在任意位置模拟火场、爆炸等,并进行路线选择和规划;将地面设施立体化对房屋等基础设施进行建模,以3D方式展现;属性查询可以直接在3D电子沙盘上查询各种信息;集成GPS系统实现直接在3D电子沙盘上跟踪和调度。本文是在参与国家重点基础研究发展规划项目:陆表生态环境要素主被动遥感协同反演理论与方法的情况下,计划利用获得的课题试验区(甘肃张掖地区)的激光雷达数据和CCD数据制作试验区的电子沙盘以利于更好的组织大规模的遥感试验。由于试验数据的组织和分发延迟的原因,本文利用TM和SRTM3数据进行了前期的技术路线验证,对于激光雷达和CCD数据而言,电子沙盘的系统的功能开发是没有差别的,不同在于数据的精度、大小、预处理方法以及最终的效果不一样。1.2电子沙盘研究现状因为其实用性、直观性和概括性,电子沙盘的应用及其广泛。在城市建设方面,华中科技大学的任波等利用Vega仿真引擎结合VC++6.0编程实现了佛山市城市规划电子沙盘系统【2】,该系统除了实现一般虚拟仿真系统的功能外,主要实现了对多源城市规划数据的融合以及真实场景下城市规划的置换,并且最终实现多屏幕投影输出;中国科学院地理科学与资源研究所王黎明等应用ArcGIS的内置定制环境VBA对ArcGIS应用程序进行客户化【31,设计并实现重庆市区域规划电子沙盘系统,在该系统中通过对基础地理数据、数字正射影像数据、社会经济统计数据、各种专题规划数据以及一些目标模型数据等进行3D可视化实现实体沙盘的导航缩放等基本功能。在土地利用规划方面,南京大学赵勇等人研究的面向土地利用规划的电子沙盘技术【4】就是以提高土地利用规划中的科学性、实用性等,丰富土地利用规划成果的目的而提出的。面向土地利用规划的电子沙盘的实现采用的平台是基于PC机的Visual C++6.0与OpenGL开发环境。用此环境开发的电子沙盘技术要解决的问题2第一章绪论是地形起伏的真实模拟,以及在此基础上地表要索的精确匹配。实时渲染速度达到34帧/秒。在公共安全方面,江苏省消防总队的腾绍江等开发了一套用于消防灭火救援的电子沙盘系统[51。该系统采用3D图像处理技术,在指挥中心实时展示重特大火灾演变情况,在发生火灾时,指挥人员根据火灾现场传回的信息,利用电子沙盘系统,使力量的分布与火灾现场真实情况一样,指挥中心的指挥人员可以根据电子沙盘中的显示情况,灵活地选择进攻路线并时刻调整力量的分配和部署,以期达到理想情况,并采用无线电通信与现场指挥员互通信息,使组织过程和灭火过程达到科学规范化。此外,该电子沙盘还可以用于日常训练,能对整个推演过程进行录像和回放。在工程施工方面,武汉大学水资源与水电工程国家重点实验室的尹习双等做出了在水利水电工程施工动态仿真的研究【6】,基于虚拟现实技术,采用高效的图形渲染引擎,进行物理系统的模拟,展现出具有真实感的可实时交互的电子沙盘系统,在该系统中的实体具有真实空间中的属性,在实现整个工程区域3D显示的情况下,能够进行施工总平面布置。为水利水电工程的设计、管理提供了一种全新的环境,为决策者提供更科学、直观的依据。在城市供水管网管理方面,哈尔滨工业大学市政环境工程学院的常魁等建立了城市供水管网运行仿真系统171,在3D场景中模拟城市供水管网运行情况。基于虚拟现实的城市供水管网仿真系统充分发挥了虚拟现实的想象性、沉浸性、交互性三大特点,将庞大复杂的供水管网数字信息变为直观的、以图形图像形式表示的、随时间和空间变化的仿真过程。系统基于Creator、Vega和VC++MFC开发,克服了传统地理信息系统的局限性,具有较高的准确性和可靠性。在军事模拟训练方面,有西北工业大学航海学院的赵伟等作出的舰炮射击模拟训练方面的研究【81,模拟舰炮射击的训练克服了实弹射击的组织实施复杂、花费多、危险性大、易受天气海况等条件影响的缺点。该训练系统利用Vega结合Creator进行开发,建立了桌面式的仿真沙盘系统,为火炮操作人员进行射击训练提供了一个小型的模拟平台,也可以进行半实物训练模拟或者利用头盔显示器实现沉浸性的扩展;同时,西北工业大学航海学院还有协同作战【91、弹舰电子对抗【101等类似系统开发的研究。经济领域系统仿真技术应用国家工程研究中心(北京仿真中心系统仿真研究室)研制的南水北调电子沙盘系统【Il】是南水北调工程仿真系统的重要组成部分,它利用真实的数据直观的体现了南水北调工程的中、东线全貌及重点地区,并在3电子科技大学硕士学位论文此基础上开发了一些便用功能,不仅可以使观察者深入认识南水北调工程,也可以为决策者进行决策提供参考。此外,电子沙盘还有在通信网络、油库管理、防汛指挥、城市仿真、水库管理和高速公路管理【mr7】等等方面的应用。在电子沙盘开发工具方面,Vega Prime的应用最为广泛,其他比较流行的包括有:Skyline系列、OSG(Open Scene Graph)、Delta3D以及ArcGIS、ERDAS等。Skyline软件是利用航空影像、卫星数据、数字高程模型和其它的2D或3D信息源,包括数据集等创建的一个交互式环境。它能够允许用户快速地融合数据、更新数据库,并且有效地支持大型数据库和实时信息流通讯技术,此系统还能够快速和实时地展现给用户3D地理空间影像。Skyline是独立于硬件之外、多平台、多功能的一套软件系统【18】。目前Skyline多用于建立3D景观的应用,比如数字校园09]、3D城市【20】[21】等。OSG是一个开放源码、跨平台的图形开发包,它为诸如飞行器仿真、游戏、虚拟现实、科学计算可视化这样的高性能图形应用程序开发而设计。它基于场景图的概念,提供了一个在OpenGL之上的面向对象的框架,从而把开发者从实现和优化底层图形的调用中解脱出来,并为图形应用程序的快速开发提供很多附加的实用工具。它完全是由标准C++和OpenGL写的,充分利用STL和设计模式,发挥开源开发模型的优势来提供一个免费的开发库。城市仿真、飞行仿真、地形仿真、汽车驾驶模拟等方面都有OSG的应用【22埘】。Delta3D是一款由美国海军研究学院(Naval Postgraduate Sch001)开发的全功能游戏与仿真引擎,得到美国军方巨大的支持与丰厚的投资。该引擎应用领域极为广泛,如开发在培训、教育、娱乐行业和科学计算可视化领域等方面建模与仿真的软件。Delta3D可以用在游戏与模拟仿真或其他图象处理软件上,它的标准化设计把一些知名开源软件和引擎如Open Scene Graph(OSG),OpenDynamics Engine(ODE),CharacterAnimation Library(CAL3D),还有Op翎AI,融为一体。Delta3D通过对这些底层模块进行隐藏封装,整合在一起从而形成了一个使用更加方便的高级API函数库,使得开发者在必要的时候能够使用底层函数进行二次开发。Delta3D目前在国内的应用还比较少,有文献可查的仅见中国人民武装警察部队学院的袁狄平等利用Delta3D进行消防灭火救援模拟训练的开发【25】。ArcGIS和ERDAS都分别提供了3D场景显示的模块,功能比较少,仅仅有漫游和有限的标注,在场景的调度上的缺陷使得在实时漫游时效果不理想,而且没有提供二次开发的接口。与以上的Skyline、OSG、Delta3D比较起来,Vega Prime4第一章绪论是最具有适应性和可扩展性的商业软件,它在提供高级仿真功能的同时还具有简单易用的优点,使用户能快速准确地开发出合乎要求的视景仿真应用程序。Vega Prime是最受用户欢迎的开发工具,在虚拟现实中国社区上进行的一项调查显示,目前在国内做视景仿真(或者虚拟现实)一半以上(57.5%)使用的都是Vega Prime(包括Vega)系列【26】。同时,CTS和Vega Pdme的完美结合使得开发大地形的仿真应用更快速方便。1.3本文研究的主要内容本文主要工作是大地形3D电子沙盘系统的设计与实现,主要内容如下:1)大面积3D地形的生成,包括地形数据的获取、预处理、裁剪、格式变换以及地形格网的生成;2)地形纹理的生成,包括纹理数据的获取、拼接、裁剪、格式变换、颜色调整和虚拟纹理的生成;3)大地形虚拟3D场景的建立,包括地形LOD显示、纹理正确映射、视点移动时地形的分块调度;4)电子沙盘系统功能的设计与实现,功能模块及子功能如下:视图控制:平移、旋转、放大、缩小;标注:旗帜标注、文字标注;漫游:手动漫游、鼠标输入漫游、随机漫游;运动模式:Walk、Drive、Game、UFO、Spin、Fly、Warp;地形分析:两点间通视分析、两点间方向分析、两点间剖面信息;投影模式:透视模式、正射模式;环境设置:太阳/月亮、云层、风、雨、雪、雾、时间设置;实用功能:截图、保存为视频、加载模型、两点间距离测量、俯视通道、普通漫游模式;观察者坐标显示(经纬度坐标和世界坐标)。第二章电子沙盘仿真建模及实n,l-驱动技术2 1一般实体建模工具:MultiGen Creator2 1 1 MultiGen Creator介绍MultiGen Creator系列软件是MultiGen—Paradigm公司专门针对可视化仿真行业应用特点推出的实时可视化3D建模软件系统,提供了分别运行于高端SGI工作站和低端PC平台的不同版本,可以最大限度地满足不矧的成用需求。MultiGen提供了强大的多边形建模、矢量建模阻及大面积地形精确生成等功能,配合多种专业可选模块及插件,用户能够高效地生成实时3D模型数据库,并与后续的实时仿真软件紧密结合。这出特点使得MulfiGen系列软件在视景仿真、模拟训练、城『仃仿真、大地形仿真、交互式游戏及丁程应用、科学可视化等实时可视化仿真领域都有广泛的应用唧㈣。如图2-1是Creator工作界面㈣。幽2-1 Creator建模工作界面第二章电子沙盘仿真模型及实时驱动技术MultiGen可视化建模软件包将OpenFlight格式模型数据库的层级视图无缝地与建模环境集成在一起,使得用户可以在创建虚拟3D模型的同时关注模型数据库的结构与状态,可以实时地对模型进行观察、检查和修改。用户还可以直接对模型数据库进行操作,通过简单的移动和调整就可以达到优化OpenFlight模型数据库的目的。MultiGen采用了模块化的开发和销售模式,用户可以根据实际需要选用合适的模块进行工作:主要模块包括基本建模环境模块(CreatorPro)、地形建模模块(TerrainPro)、标准道路建模模块(RoadTools)等。1)基本建模模块主要功能包括:强大的多边形建模功能:强大的矢量化建模功能;强大的模型数据库控制功能;强大的纹理映射和贴图功能;支持多种格式的3D模型格式转换;支持大面积地形的精确生成;支持多细节层次(LoD)建模;支持多自由度(DoF)建模;支持光点系统模拟;支持序列动画模拟;2)地形建模模块主要功能包括:支持多种地形生成算法;支持多种数字地形高程模型数据;支持数字特征分析数据;强大的批处理地形生成功能;强大的整体纹理映射功能;提供高级地形表面生成工具。3)标准道路建模模块主要功能包括: 自动多层次细节模型生成; 自动路面纹理贴图;支持自定义道路横断面;支持自定义道路中线及分道线;7电子科技大学硕士学位论文提供预定义的公路交通标志、路灯等模型;支持模拟驾驶预览效梨28埘1。2.1.2 OpenFlight格式介绍OpenFlight是MultiGen.Paradigm公司开发的一种场景描述数据库规范(SceneDescription Database Specification),是逻辑化的有层次的视景描述数据库,用来通知图像生成器何时以及如何渲染实时3D场景,非常精确可靠。开放的连接及简易交互式的操作与细节等级、多边形筛选、逻辑筛选、绘制优先级、二进制分离面等先进的实时功能一起使得它成为最受欢迎的实时3D图像格式,也成了实时3D视景仿真领域的事实上的工业标准【33】。OpenFlight格式模型数据库可以完整描述一个3D虚拟场景中包括各种行为和声音在内的所有信息。所以,通常使用OpenFlight格式来创建包括各种建筑、地形和地物标志在内的各种仿真模型,在实时仿真应用中使用OpenFlight格式的模型数据库,可以在获得极高渲染效率的同时保证实时交互的灵活性。从模型数据库的存储结构上看,OpenFlight格式是一种树状的层次化结构。采用这种结构主要是基于两点考虑:一是这种结构可以方便的将模型按照几何特性进行有效的组织,并将其转化为能够方便的进行编辑和移动的节点的形式;二是这种树状结构非常适合实时系统进行各种遍历操作[29-331。OpenFlight模型数据库中最基本的、最常用的节点类型是组节点、体节点、面节点和点节点四种,在层级视图中,组、体、面节点都位于默认的根节点的下方。此外除了上述基本节点,还有可以营造特殊效果的几类特征节点:LOD、DOF、光源、声音、转换、BSP、Clip、Text、光点等。2.2大地形建模工具:Creator(Terrain Pro)与CTS2.2.1 Creator(Terrain Pro)MultiGen Creator的Terrain Pro模块是一种快速创建大面积地形、地貌数据库的工具,用Project统一管理各种资源(地形数据、纹理、文化特征等)。可以使地形精度接近真实世界,并带有高逼真度3D文化特征及纹理特征,能处理的地形数8第二章电子沙盘仿真模型及实时驱动技术据格式为DED(Digital Elevation Data),描述了地理位置(经、纬度)和海拔高度。Terrain Pro具有批处理操作、创建细节层次模型(LOD)、多种算法选择、设置轮廓特性等独特的优点。作为Creator的一个增强选项,Terrain Pro具有以下特性:11)批处理操作批处理操作的特点为:文化特征多重LOD生成的分批控制,地形多重LOD生成的分批控制,用于实时页面的分片地形生成,截取组的自动生成,地理信息及整体纹理映射的分批控制,用户定义规则及如何映射,纹理、颜色、材质的指定和自动映射,感兴趣区的重新处理。2)高级地形生成工具提供多种地形三角化方式:Polymesh、Delaunay、TCT(Terrain CultureTriangulation,地形文化特征三角化)、CAT(Continuous Adaptive Terrain,连续适应性地形)。3)大地形纹理贴图对大地形而言,手工纹理贴图是不实际的。Terrain Pro提供了以前所未有的速度,生成照片般的大地数据库。将大地的经纬参数赋予纹理,并自动完成纹理贴图。其特点:用于图像数据合成的Mosaic工具;图像的地理特征编码及自动贴图;SGI裁剪分片纹理;用于准确图像/地形数据库映射的映射图像变形;自动MipMap(多解析度图像表达)生成。4)3D文化特征的自动生成用于生成高度逼真的、准确的3D文化特征,以满足地面仿真的需求,而无需费时的手工建模,3D文化特征的自动生成特点是:路口及桥的自动检测与生成;源数据误差的自动检测;沿着山坡流动的河流、与地面相平的湖泊及道路;通过线性数据对湖、森林及其他平面特征的分割;文化特征的3D减化;多重LOD的自动生成;与文化特征关联的光点(如机场灯光)的定义与自动生成;建筑及城区特征的定义及自动生成【34--391。2.2.2 CTS(Creator Terrain Studio)如今,越来越多的视景仿真和训练需要结合特定地区的高精度航卫片(在重要区域经常要求高于1米分辨率),同时还要配合几乎同精度的数字高程地图,以及有成千上万的文化特征(如树木、建筑、道路、植被、水体等等)分布其中;9IU于科拄人学Ⅲ1 7l。学位论立要求覆盖的地域范围也越来越广,经常超过100Kin X 100Km,数据量常以GB柬衡量。CreatorTen ain Studio(CTS)就是专为上述要求们量身订做的,是MPI公司最为先进的大面积地形生成工具,它提供地形牛成四个最为主要的功能:11地面模型三角化:21地面影像牛成(和3D地形结合);31 3D文化特征投射及验证:4)特定运行环境文件发布。州时,CTS提供一套强大的工作过程及数据管理工具,辅助用户高效创建精确的、高可靠性的大面积地形数据库,在更)丑的时叫内完成开发要求。如图2—2是CTS主界面‘“。Bar Exl:№rg VIew vⅪw vkw Ⅵ州幽2-2 CTS主界面CTS主要特性㈨{“1:≯数据管理和可扩展性CTN专门用来创建大面积地理环境数据库。这些数掘库需要大量的原始数掘,如卫星照片,而且经常是多种不同分辨率的。CTS用网格型数据集(Gridded第二章电子沙盘仿真模型及实时驱动技术Datasets)来管理这些数据,将这些数据分层并网格分块,形成层次网格结构。每个分块代表一个特定分辨率的小块区域,且能将每个分块存成单独的数据文件,或者将多个分块放在一个文件中。工作流程管理CTS将复杂的地形数据库创建工作分为一系Nd,的、可灵活管理的步骤,组成一套完整的工作流程。而且,提供多种向导工具(如ImageWizard/TerrainWizard/Culture Wizard)自动生成工作流程。用户还可以自定义修改已经生成的工作流程来满足自己的特定要求。状态管理CTS用状态图(Statemaps)控制和跟踪每一块数据的的处理状态,允许用户精确地控制每一个分块的处理。每一种处理有四种状态图来描述输出数据集的不同方面,分别为:Design Map(设计图)——定义数据集中的哪些分块需要处理;Selection Map(选择图)——决定在某一处理过程中有哪些分块需要处理;Progress Map(进度图卜—罐艮踪有哪些分块已经成功处理结束;Error Map(错误图)——跟踪有哪些分块处理有问题。原型设计和迭代处理地形数据库创建经常需要多次测试,以达到最好的场景真实感和最佳的性能。CTS通过前述的Statemap(状态图),能够控制处理所需要的分块,这使得在进行正式处理(经常需要花费几小时甚至几天)之前可以在小范围进行原型测试,确保生成的地形数据库满足项目要求并验证整个工作流程的合理性。在生成测试数据库后,如果发觉工作流程中某一个步骤设置不合理,可以修改后再从这个步骤开始进行后续处理,而不需要从头开始。MetaFlight格式及3D预览MetaFlight基于XML,是MPI公司创建的一种数据描述格式,它描述多种数据集(地形、纹理、文化特征等)的组织结构,极大地提高了CTS地形数据库在VegaPrime等运行程序中分页载入的效率和运行性能。CTS内置基于Vega Prime的3D预览器,使得用户在不同的数据库制作阶段来预览视觉效果,在早期进行质量检查。CTS提供了3D视景仿真数据库制作的四大主要功能:地形模型生成、纹理生成、制图要素映射以及检查和发布工具。和Creator的地形建模模块Terrain Pro相比,CTS在大地形数据处理方面更加专业【4l】:电子科技大学硕士学位论文CTS支持的数据格式更加广泛(见表2.1中与Creator的对比),降低了源数据获取的难度;用工作流管理任务,通过CTS提供的工具集对工作流进行操作,提高了任务管理的直观性和实时性;用格网堆栈管理数据,便于数据简化和优化显示。表2.1 CTS与Creator Terrain Pro支持的数据格式对比Creator Terrain Pro CTSGeoTiff/Tiff,SGI系列、Ti行、GIF、JPEG/JFIF、 GIF、JPEG/JFIF、支持的纹理数据格式 PCX、SGI系列、 JPEG2000、BMP/DIB、JPEG2000、DDS等 ClipTexture、ERDASImagine、PPM等DEM,DED、DTED(1evel0,1)、GTOP030、USGM支持的高程数据格式 DED、USGM DEMSDTS、BTL、BIP、ESRIASCII/Binary Grid等DFD、DFAD DFD、DFAD、ESRI支持的矢量数据格式ShapeFileCTS使用简单而精确的向导、进程和工作流,提供一个顺序构建环境,在这个过程中,用户能够在任何尺寸和细节重复生成或者复制虚拟地形、纹理和文化特征数据。CTS从创建到发布数据库一般有五步【421,概括如下:1)转换并载入数据到数据栈;2)创建工作流按照顺序来处理数据;3.)运行工作流来处理数据4)观看并检验加载数据在IG(Image Generator,图形生成器)或者在视图窗体中;5)以MetaFlight数据库发稚数据,以方便在Vega Prime中调用。目前CTS的最高版本是CTS2.2,本文基于2.0版本。12第二章电子沙盘仿真模型及实时驱动技术2.2.3 MetaFlight格式介绍OpenFlight文件格式在组织一般的几何模型和层次结构以及物体和地形的所有图形方面的属性上是非常有效的,OpenFlight用一种外部引用(ExternalReferencing)的方式将所以文件连接起来组成一个大的数据库。但是,当有成千上万个地形瓦片和对象实例需要引用来组成地形的时候,用OpenFlight来引用所有文件就变得不那么现实了。2001年,MultiGen—Paradigm开发了MetaFlight文件格式作为这方面的弥补,增强了OpenFlight[431。MetaFlight不包含任何数据,像OpenFlight一样,它是对那些组成数据库的数据的描述。MetaFlight是用ExtensibleMarkup Language(XML)语言描述的,用任何文本编辑器就能打开。MetaFlight数据模型能描述所有类型的数据,不只局限于OpenFlight文件。在CTS内部就是用MetaFlight描述各种数据集的。CTS在POD(Persistent ObjectDatabase,CTS的工程文件)中存储各种MetaFlight对象,当数据库或者数据库的一部分被发布(PubliShed)时,一个MetaFlight XML文档被生成来描述需要发布的那些数据。在LynX Prime中就能够配置这些被MetaFlight XML描述的数据了。如图2.3是上述过程的总结【431。CreatorT卵rain Studio④POD:Metal=l ight①CTS在一个POD中管理MetaFlight②CTS发布MetaFlight描述数据集③Vega Prime读取MetaFlight,加载文件图2-3 MetaFlight在CTS和Vega Prime中的连接作用MetaFlight定义了自己的数据模型描述数据库以及数据库的细节、组成,包括13电子科技大学硕士学位论文了Dataset、Grid Dataset、GridStack、Coverage、GridStructure、FileName Pattern、Grid Level等重要对象,对于地形和纹理数据集来说,上述对象是必不可少的。目前MetaFlight有3个版本,分别是MetaFlightl.1、MetaFlightl.2、MetaFlightl.3,CTS2.0支持所有的三个版本的MetaFlight,MetaFlight与Vega Prime的版本对应关系是:MetaFlightl.1对应Vega Prime 1.2、MetaFlightl.2对应VegaPrime 2.0、MetaFlightl.3对应Vega Prime 2.1。2.3实时仿真驱动技术:Vega Prime引擎2.3.1 Vega Prime简要介绍Vega Prime(以下简称vP)是美国MultiGen—Paradigm公司以自己开发的场景图管理系统VSG(Vega Scene Graph)为核心开发出来的一套虚拟现实实时仿真渲染引擎系统,VSG是对OpenGL的封装,但也留了余地支持DirectX,所以在VP实际应用中可以用OpengGL底层函数自己绘制一些特殊的场景以达到更好的仿真效果。实际上VP是MultiGen—Paradigm公司的3D仿真引擎Vega的后续产品,与VP不同,Vega是基于SGI公司的Performer场景图管理系统开发的。Performer只能支持OpenGL,C接口的API也略显老套;而VSG是用C抖开发融入了很多现代C++的特性和技术,如设计模式和泛型。所以虽然从功能上讲VP现在的几个版本比起Vega3.7没有革命性的改进,但是VegaPrime提供了与Vega不同的全新的软件环境,拥有更多的特定功能模块,它使视景仿真应用程序的开发具有更好的适应性和扩展性。另外vP一个很大的优势在于Plug In架构,几乎比较好的实时3D方面的软件,都很容易地作为一个模块和VP集成在一起,并且几乎都有这样的模块,这样开发一个比较好的应用都不会费很大力气。例如动态地形,物理引擎等等,都是其他软件所没有的。[441[451表2-2描述了Vega Prime和Vega的区别。表2-2 VegaPrime和Vega的区别Category Vega Vega PrimeAPI C C++,STL CompliantScene Graph Performer VSGProcess/‰adMulti——Process Based Multi一11_lread Based14第二章电子沙盘仿真模型及实时驱动技术Supported Platforms Windows Windows,Linux,SolarisKernel Somewhat Extensible Very ExtensibleModule Interface Through C Function Calls Through Derivation ofModule ClassType Safety Minimum MaximumCoordinateSystem Support Limited CompleteCategory Vega Vega PrimeLicense Server One Server Serves One One Server Serves AnPlatform PlatformsADF/ACF File Special File Format XML formatLynX /LynX Prime Different Interface for Same Interface for A11Interface Different P1atform PlatformsVP开发了不同的功能模块,在不同的层次上进行了抽象,它的每个应用程序由多个模块组合而成,都是由VSG提供底层支持。VSG分为三部分:vsgu(Utility Library)vsgr(Rendering Library)vsgs(Scene Graph Library)在内核中,Vega Prime使用vsgs,vsgs使用vsgr,它们都使用vsgu。VP以VSG作为场景图管理系统,它不仅包括VSG提供的所有功能,还具有帧频率控制,内存分配,内存泄露跟踪和基于帧的纹理调用等特性。Vega Prime基于线程工作,相比于Vega的基于进程的工作模式,执行效率要高,因为每个进程都要开销内存单元,而线程划分的基本执行单位比进程小,线程之间共享内存单元,通过共享内存空间交换信息。目前VP最高版本是VP2.2,本文基于VP2.0.1。2.3.2 LynX Prime简单的说,LynX Prime就是Vega Prime的图形开发界面。任何一个可视化仿真的应用程序,都需要很多相关的参数设置,对于开发者而言,不同的应用都有一套相似的参数设置来定义仿真过程,这些参数对每个应用都是必要的。比如我们对现实的呈现是通过将模型加入场景(Scene)来实现的,此外还需要