大规模3DGIS场景的多通道渲染算法研究
高技术通讯2010年第2O卷第9期:984,990
doi:10.3772/j.issn.1002—0470.2010.09.019
大规模3DGIS场景的多通道渲染算法研究?
冯磊?宋现锋?石泰来
(中国科学院研究生院资源与环境学院北京100049)
(北京英特图原信息技术有限责任公司北京100195)
摘要为了由多个计算机节点协同完成大规模三维地理信息系统(3DGIS)场景的渲染
和显示,提出了一种基于分布式计算机体系结构的多通道渲染算法(3DGISmulti—channel
rendenngalgorithm,GMCR).三维地理信息系统同其他类似算法相比,该算法作了两项改
进:(1)采用视锥组合计算
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
将大规模三维场景分割为若干子场景并分配给不同计算机
节点处理,可以保证场景拼接处的空间连续性和不变形性;(2)采用消息机制协调计算机节
点的渲染处理与显示步调,以控制子场景的状态同步和显示同步.该算法简单易行,效果突
出,利用多台低端设备实现了大规模3D场景渲染与显示,可以完成
高端设备不能够实现的
超大规模3D场景.以3DGIS城市交通系统演示环境实验为例,验证
了该算法的可行性,结
果表明GMCR方法可以支持多达185个计算机节点进行超大规模
的3DGIS场景渲染.
关键词三维地理信息系统(3DGIS),大规模3D场景,多通道渲染,视锥
组合,同步显示
0引言
三维地理信息系统(3DGIS)将三维可视化渲染
与地理信息系统有机结合,其应用效果和发展潜力
已经得到了广泛肯定.目前,3DGIS主要是通过显
示器或者投影仪来展现场景,显示画面的大小及场
景范围受到诸多限制,单个显示器观察场景已经不
能够满足更高水准的视觉要求,例如数字城市漫游
过程的整体感,沉浸感,360度水平环视,三维空间
球面环视以及场景细节特写(往往高于单机支持的
最高分辨率)等.因此,在3DGIS应用系统中实现更
大的显示画面,更好的图像显示质量以及观察时的
舒适感和临场感,成为了开发3DGIS的新要求.
实现上述效果需要用多个显示设备(显示器或
投影仪)共同显示同一场景内容,以加大显示画面和
场景范围.然而,由于系统管理的区域范围大,空间
对象多,形成大规模三维场景时受低端GIS显示设
备配置的影响,采用单台渲染机器会产生显示帧率
下降,流畅性差等问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,因此,需要采用多台Pc共
同渲染(即多通道渲染技术),各通道渲染不同的场
景分配范围,最后通过多个投影仪将各通道的渲染
结果打到屏幕上形成一个无缝拼接的高质量3DGIS
场景.
多通道视景生成技术主要用于系统仿真学领
域.DeFanti等于1992年首次提出了CAVE系统_1,
此后开发了SealableDisplayWall系统,多通道列车
视景仿真系统,战斗机近距离空战仿真系统等.这
些系统关注运动过程的三维模拟,通常采用高端计
算处理和显示设备来保证系统运行的流畅2l2.在实
际应用中,3DGIS通常是对已建GIS应用系统的高
级扩展,已有应用系统负责空间信息管理和数据处
理
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
,通常运行于多台低档机器组成的机群.
结合3DGIS的运行环境与应用新需求,本文提
出了分布式的3DGIS场景多通道渲染算法(3DGIS
muhi.channelrenderingalgorithm,GMCR),该算法采用
系统仿真学技术使得3DGIS在不对已有硬件升级的
情况下能提供更强大的视觉表现力,从而降低了
GIS应用系统的升级成本.
1系统体系结构
在大规模显示三维场景时,需要提高3DGIS的
视口(ViewPort)分辨率.由于3DGIS显示区域广,
?863计划(2007AA12Z210)和国家科技重大专项(2009ZX05039一oo4)资助项目.
?男,1982年生,博士生;研究方向:3DGIS分布式可视化;E-nrail:typew@163.COIII
?通讯作者,E—mail:xfsong@gucas.ae.cn
(收稿日期:2009—05.22)
—————
984._.——
冯磊等:大规模3DGIS场景的多通道渲染算法研究
空间分辨率大,空间对象多,提高视口分辨率会引起
显示帧率下降问题,需要升级系统硬件配置以保持
系统显示流畅.
本文提出了分布式的3DGIS场景多通道渲染算
法(GMCR),支持提高3DGIS的视口分辨率,却不升
级硬件配置.具体原理如下:GMCR对高分辨率视
口进行分割,将每个子视口分配给一个渲染通道进
行渲染,每个渲染通道由一台低端PC构成.如此,
通过协调多台低端PC同步工作,可以将各通道渲
染结果合成,达到甚至超过单台高端设备的渲染性
能.
本文的GMCR算法需要解决两项关键技术,即
多屏拼接和多通道同步.多屏拼接技术保证拼接场
景的空间连续性,而多通道同步技术则保证多个渲
染通道同时完成同一3DGIS场景的渲染.
3DGIS场景多通道渲染技术的分布式系统的体
系结构包括控制终端,渲染节点和显示终端三部分
(图1).
图1体系结构图
1.1控制终端
控制终端由单台普通PC构成,通过本地网络
与各渲染节点连接.控制终端是GMCR系统中的中
枢环节,通过消息通信来协调各渲染通道的渲染和
显示工作,如绘制场景,显示场景,改变视口等.控
制终端利用后台程序实时计算与统计各渲染通道任
务的执行状况,以保证最短的单帧场景的渲染时问,
达到最快速的各通道同步,提高系统整体的显示帧
率.
控制终端场景画面只对后台操纵者提供一个导
航性质的画面,仅需要渲染少量GIS数据(或简略数
据)甚至不需要渲染,因此,对图形显示卡要求甚低.
控制终端与渲染节点的通信消息分为以下两
种:
?
控制命令:
控制命令是由控制终端向各渲染通道发送的消
息,包括通知各渲染通道设置视口,设置视点位置,
设置视点方向和换帧等.
?
反馈命令:
反馈命令是由各渲染通道向控制终端发送的消
息,包括视口设置已经成功,绘制完毕和换帧完毕
等.
1.2渲染节点
渲染节点由一台低端PC构成,其上安装3DGIS
(如数字城市系统等),作为一个渲染通道.该系统
具有GIS的常规渲染与分析能力,可以渲染本地或
网络加载GIS数据.渲染节点是一个独立的
3DGIS,通过网络接人GMCR系统之后,就成为渲染
节点.
渲染结点以被动模式工作.如果没有控制终端
的命令,则处于空闲状态.如果接收到控制命令则
执行对应任务,并在任务结束后通知控制终端其执
行状况.这种工作方式降低了系统的复杂性,同时
又能高效利用系统资源.
渲染节点需要渲染大量的GIS空间数据与模型
数据,对图形显示卡有一定要求.但是,每个渲染结
点只负责渲染GMCR系统分配的子视口,分辨率较
小,例如2048×768或1024×768甚至更小.渲染节
点以当前普通硬件配置的PC,完全能够胜任上述窗
口大小,显示帧率为30fps以上的三维场景.
1.3显示终端
显示终端是GMCR系统的表现部分.显示终端
与渲染节点一一对应,通过视频输出线,以点对点的
连接方式与渲染结点连接,接收渲染节点传送的图
形信息,并将其显示.显示终端实时显示GMCR系
统绘制的每一帧图像,不会出现丢帧现象.
显示终端一般由一组投影仪和银幕构成,也可
以采用普通的电脑显示器,方式较为灵活,但是前者
的沉浸感更强烈,更符合高强度的感观要求.
显示终端根据屏幕摆放位置的不同,可以分为
平面显示和环形显示两种,具体实现方式,可见下文
叙述
2多屏拼接
每个渲染结点仅负责渲染系统总场景的一部
分,将所有渲染通道的渲染画面拼接才能构成超大
的总体三维场景画面.为了实现多通道渲染结果的
无缝拼接,并保证拼接图像中三维投影空间的正确
?__——
985__——
高技术通讯2010年9月第20卷第9期
性,本文采用多视口拼接技术,根据透视投影原理,
通过设置渲染节点的视口,将各渲染结点的渲染结
果进行拼接.通过正确的拼接之后,GMCR系统中,
不同渲染结点的渲染画面具有相同的几何变形,连
续无缝,构成超大三维场景.
2.1拼接原理
三维渲染需要定义投影空间来生成图像,一般
采用视棱锥透视投影.渲染节点只渲染落在前后裁
剪面内的3D场景部分(图2).针对不同的显示终
端显示方式的不同,多屏拼接需要采用不同的算法.
裁剪面
在屏幕的平面接拼中,如果将两个相邻的视锥
以并排放置的方式简单的拼接,接缝处会出面明显
的几何畸变,如图3(a)所示.GMCR根据渲染结点
数目以及总场景的大小,计算拼接后虚拟视锥的大
小,通过控制终端,向每个渲染结点发送指令,针对
渲染结点的ID,设置视锥的参数和视点位置,保证
预期内容落入视锥内,使多通道渲染节点的视锥能
够无缝拼接,从而形成一个更大的虚拟的视椎,保证
了投影的正确性,如图3(b)所示.
裁剪面裁剪面裁剪面
图2多通道视锥平面拼接示意图
(a)未处理拼接
(b)处理后拼接
图3平面拼接处理
冯磊等:大规模3DGIS场景的多通道渲染算法研究
在环形拼接中,不需要采用虚拟视棱锥,但是需
要将摆放屏幕的弧度与两个视棱锥的摆放角度一
致,如图4所示.在环形拼接中,所有视棱锥都有同
一
坐标的视点位置.但是与平面拼接不同的是,每
个视棱锥都有自己单独的视点位置.GMCR根据渲
染结点数目,针对渲染结点的ID,计算每个视锥的
参数和视点位置,并通过控制终端将计算结果发送
至每个渲染结点,保证预期内容落人视锥内,环境屏
幕能够无缝拼接,保证了投影的正确性,如图4(b)
所示.
图5平面拼接视口设置示意图
通过上述算法,每个渲染结点的渲染视口就成
为GMCR系统平面拼接情况下虚拟视口中相应的子
视口.由于其视棱锥为虚拟视棱锥的一部分,所以
可以做到正确投影和无缝拼接,避免了图像变形.
环形拼接算法,不同于平面拼接,不需要设置虚
拟视棱锥,但是需要保证每个通道视锥大小的一致
性.
对于所有渲染通道,设置统一的裁剪面(Near和
Far),以保证视锥内物体的连续性.
裁剪面Near裁剪面Far
()多通道视锥环形拼接示意图3多通道同步
(b)环形拼接结果
图4环形拼接处理
2.2实现算法
渲染结点通过设置系统的视口(ViewPort)和裁
剪面(Near和Far)实现多屏无缝平面拼接.
虚拟视锥的宽设为ViewPortWidth.假设每个通
道渲染图像的宽度为Width,高度为Height,每个通
道在拼接结果中的位置为Position(0基),通道数目
为Count,每个通道的视口的左,上,右,下部分分别
为ViewLefi,ViewTop,ViewRight,ViewBottom(图5),则
当前渲染结点的视口设置如下:
ViewPortWidth=Count?Width
View/eft=0+Position?Wdth
ViewTop=0
ViewRight=ViewLeft+Width
ViewBottom=Height
在分布式系统中,并行程序能够协同完成同一
任务,有效的同步是系统极其关键的环节l_3j.常见
的分布式系统的同步方法包括乐观算法,保守算法
等,但是不能满足GMCR的实时性,渲染同步,显示
同步的特殊要求.对于同一场景,如果某个渲染通
道渲染结果的显示时刻与其它渲染通道相差过大,
就会造成各通道渲染画面闪烁,甚至导致拼接错
位[6-8~.
本文
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
了一套基于TCP/IP网络协议的消息
同步方法,通过对传统的同步方法的改进,在GMCR
系统中取得了较好的同步效果.
3.1同步原理
GMCR系统的同步分为状态同步和显示同步.
状态同步是指系统中各渲染通道渲染场景处于同一
渲染状态,如同一视点位置,相同视点方向,同样的
系统虚拟时间等.显示同步是指所有渲染通道同,
时刻刷新画面.GMCR通过控制渲染状态同步与显
示同步,保证各渲染通道渲染场景的连续性和视觉
上的流畅性.
本文采用传输控制协议TCP进行消息传输.
TCP是TCP/JP协议栈中的传输层协议,它通过序列
确认以及包重发机制,提供可靠的数据流发送和到
应用程序的虚拟连接服务.控制终端基于TCP/IP
协议,向各渲染通道发送绘制命令保证状态同步,发
送显示命令保证显示同步.每个渲染通道同样基于
---——
987---——
高技术通讯2010年9月第20卷第9期
TCP/IP协议,向控制终端发送反馈消息,以利于控
制终端计算与确定向各通道发送命令的类型和时
间.
3.2实现
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
本文以平面拼接双渲染通道为例,详细叙述
GMCR系统的工作流程.
首先,系统进行初始化设置:
?
控制终端先与各渲染节点建立TCP连接.
?
控制终端根据通道数目与屏幕大小计算虚
拟视锥大小.
?
控制终端发送视口信息给相应渲染通道.
?
各渲染通道接收命令,设置视口,并发送反
馈信息.
初始化结束后进人工作循环:
?
控制终端发送渲染指令至每个渲染通道.
渲染指令发送后,控制终端进入等待状态.渲染指
令包含3D场景信息和视点信息.
?
渲染节点接收到渲染指令后,根据指令,进
入工作状态,渲染相应场景数据.
?
渲染结束,渲染通道向控制终端发送绘制完
成的信息.
?
控制终端将返回信息的通道进行标记,在所
有渲染通道绘制完成之后,立即发送显示指令.
?
渲染通道在接收到显示指令之后立即进行
显示工作.各通道接收到指令的时间相差1,2ms,
相当于500fps的3D画面的换帧时间,人的视觉系统
完全感觉不到,能够保证显示的同步.过程图(以设
置视点为例)如图6所示.
?--——
988._.——
图6同步控制示意图
4实验结果与分析
由于控制终端和渲染节点都需要对GIS数据三
维渲染.为了保证3DGIS更快速有效地处理海量空
间信息数据与各种3D模型数据,本实验采用基于
OpenGL的TY3DGIS软件平台,利用VB.net进行二
次开发l9J.GMCR以plu~n的形式嵌入相关应用系
统,构成GMCR系统的渲染节点.本实验采用”城市
交通模拟系统”作为渲染系统.
实验采用表1的硬件配置,搭建了一个基于PC
机群的城市3DGIS交通演示系统的多通道渲染平
台.实验采用一台笔记本主控,四个渲染通道进行
渲染.每个通道的渲染画面大小为1024×768像
素,单通道渲染能力为70fps,每帧渲染的静态场景
(包括地形,植被,道路,建筑,标志牌,路灯等)最大
三角形数目为5000000个.
表1GMCR系统硬件配置
实验网络环境为100Mbps局域网,控制终端与
渲染节点之间单次通信小于1ms.GMCR系统渲染
场景总大小为4096×768,系统渲染帧数可达60fps.
对比单机渲染,网络通信带来了帧数的少许下降,但
是场景大小却成倍增加而且取得平均60fps的三维
画面效果,能够满足正常视觉浏览.因此,GMCR能
够满足3DGIS更大的显示画面,更好的图像显示质
量以及观察时的舒适感和临场感等新要求.GMCR
系统渲染结果如图7所示.
以上述实验为基础,假设一次单向通信时间为
t,渲染通道总数目为channelcount,每个通道绘制
能力为fpschannel帧每秒,则:
控制终端向渲染结点发送一次命令的时间:
tsend=t?channelcount(1)
由于CMCR系统控制终端,采用异步方式发送
命令,因此tsend远小于上述理论值,实验测试发
现,tsend约为t?charred—count?0.1+t,即
tsnd=t.charme1c01】nt*0.1+t(2)
冯磊等:大规模3DGIS场景的多通道渲染算法研究
图7四通道GMCR系统渲染效果图
由于反馈信息由自通道并发执行,因此有
t,feedback=t(3)
各渲染结点绘制场景同样是并发执行,因此渲
染一帧画面的时间为
t—
render=lO00/fps—
channel(4)
GMCR系统的刷新率则可以表示为
fps—GMCR=1000/(t—send+t—render
+t—
feedback+t—
send)(5)
经实验测试,在百兆的网络连接情况下,每次通
信时间约为0.5ms,每个通道的渲染能力,以表1配
置为准,设fps—
channel=50,fps—
GMCR最小值为
25,经过上式计算,本文提议的分布式多通道渲染技
术可以支持最大渲染通道数(渲染节点)为185,完
全能够满足超大三维场景的需求,同类似系统方案
相比,显着地降低了成本l10,11J.
5结论
本文提出了一种分布式的多通道渲染技术,并
将其应用于3DGIS大规模场景渲染显示,使用低端
Pc设备达到了高端图形设备的显示效果.在GM.
CR验证系统中,以TY3DGIS渲染系统为基础,重点
研究了多屏拼接技术,将多通道渲染组合成为一个
巨大的虚拟视棱锥,实现了基于视口控制的多屏无
缝拼接,无变形拼接.此外,还实现了多通道同步算
法,利用改进的TCP/IP消息控制方法,通过最少的
通信次数达到了多通道渲染过程的状态同步和显示
同步.
当前普通Pc的图形卡,主流配置视频输出端
口为2个,3个或4个的较少,而8个的存在于图形
工作站上,其价格远远高出普通用户预期.如果有
更多投影输出需求,就会需要更高成本的多端口图
形卡.实验表明,GMCR系统能够充分利用网络环
境内计算资源,在百兆网络环境中,可支持通道或者
渲染节点可达185个.如果每个通道的硬件设备都
是实验室中早已购置并投入使用的,那么可以认为,
可以零成本或极低成本搭建本文所述的多通道渲染
系统.此外,一张多视频输出端口图形卡的价格极
其昂贵,其输出端口也无法达到几十或上百个,超大
屏幕渲染无法利用单张图形卡来实现.另外,即使
在仅仅使用两三个视频输出端口的情况下,渲染阶
段前期的大规模的并行GIS数据调度处理,也会给
机器CPU带来更大压力,使CPU成为单机渲染的瓶
颈.
综上所述,GMCR系统以多台低配置机器渲染
超大GIS3D场景,可达到或超过单台高端硬件配置
的Pc或图形工作站所能完成的渲染效果.该方法
的算法简单,效果突出,可移植性高,如果配以高性
能图形工作站,可以进一步提高三维场景显示的分
辨率和刷新帧率.
参考文献
l1JCarolinaC,DanielJS,ThomasAD,eta1.TheCAVE:an—
diovisualexperienceautomaticvirtualenvironment.Commu—
rdeationsoftheACM,vo1.35(6),1992,PP.64—72.DOI:
1O.1l45/129888.129892
l2JJohnR,JamesH.IRISperformer:ahighperformancemulti—
processingtoolkitforreal—time3Dgaphics.ACMNewYork,
NY,USA,1994.381—394
[3]吕品,张金芳.分布式仿真系统的多通道视景生成.系
统仿真,2007,19(6):1291—1295
[4]乔彩丽,戴树岭.多通道显示系统同步技术研究.系统
仿真,2007,19(15):3437—3440
[5]郎兴华,郭阳,林亨I阿J.STL模型的立体显示及其多
屏拼接.系统仿真,2004,16(4):740—744
[6]刘云生,张传富,张童等.分布式仿真系统socket迁移.
系统仿真,2006,l8(2):370.372
[7]侯洪涛,朱一凡,韦庆等.基于Pc集群的多屏无缝拼接
技术研究.计算机仿真,2006,23(11):202—205
[8]钟卫华,陈毛毛,曹双喜等.基于无缝拼接的分布式多
---——
989??—-——
高技术通讯2010年9月第20卷第9期
屏渲染系统.计算机应用,2004,24(6):111-116
[9]冯磊,宋现锋,石泰来.3DGIS中复合地形纹理生成与应
用.地理与地理信息科学,2009,25(2):15.18
l10jJeongB,JagodicR,RenambotL,eta1.Scalablegraphics
architectureforhJgh—resolutiondisplays.In:Proceedingsofthe
IEEEInformationVisualizationWorkshop,Minneapolis,MN,
USA,2005
[1】]TaoNS,StaadtGS,LivingstonOG,eta1.ASurveyof
largehigh—resolutiondisplaytechnologies,techniques,and印一
plications.In:ProceedingsoftheIEEEConferenceonVirtual
Reality,Alexandria,Virginia,USA,2006.223—236
Amulti-channelrenderingalgorithmforlargescale3DGISscenes
FengLei,SongXianfeng,ShiTailai
(CollegeofResourceandEnvironmentalScience,
GraduateUniversityoftheChineseAcademyofSciences,Beijing100049)
(BeijingTuyuanInformationTechnologiesCo.,Ltd,Beijing100195)
Abstract
scale3DGISscenerenderingthroughutilizingn Inordertoimplementlarge—
umerousdisplayterminals,thispaper
presentsanewmulti—channelrenderingalgorithm,theGMCR(3DGISmulti—channelrenderingalgorithm),basedona
distributedcomputationarchitecture.Comparedwithothermulti—channelr
enderingalgorithms,theGMCRhastwoimpor—
rantimprovementsasbelow.Firstly,itusestheperspectiveconecompositionmethodtodecomposealargesceneintoa
fewsub—scenesandallocatethemtodifferentcomputernodesforprocessing,butkeepinggraphiccongruityandshapeun-
deformation.Secondly,itadoptsthemessage.basedcommunicationmethodamongdistributedcomputernodestosyn-
chronouslycoordinatetherenderinganddisplayingofsub-scenes.TheGMCRissimplebutquiteeffective.Itdrivesmul—
tiplelow.costequipmentsandperformshigh—qualitylarge—scale3Dscene
rendering.agoalthatevenahigh.endgraphic
devicemaynotreach.Thedemonstrationofa3Durbantransportationsystemprovesthefeasibilityofthisalgorithm,and
theresultshowsthat,theGMCRcansupportcomputerrenderingnodesupto1
85,whichenablesasuper-scale3Dscene
renderingenoughina3DGIS.
Keywords:3DGIS,large.scale3Dscene,multi—channelrendering,perspectiveconecomposition,synchronous
display
?_?——
990.__——