(计算机应用技术专业论文)基于集群的大规模场景的交互并行绘制.pdf_第1页
(计算机应用技术专业论文)基于集群的大规模场景的交互并行绘制.pdf_第2页
(计算机应用技术专业论文)基于集群的大规模场景的交互并行绘制.pdf_第3页
(计算机应用技术专业论文)基于集群的大规模场景的交互并行绘制.pdf_第4页
(计算机应用技术专业论文)基于集群的大规模场景的交互并行绘制.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)基于集群的大规模场景的交互并行绘制.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学硕l 二学位论文 摘要 摘要 大规模场景可视化在计算机辅助设计、模拟训练、沉浸式场景漫游等领域是 一个关键性问题。如何利用集群将大规模场景实时绘制从单机扩展到多机,使用 并行绘制进行高分辨率、大面积显示是本文的研究重点。 本文针对大规模静态场景和大规模动态场景这两种不同的需求提出了两种 不同的系统体系结构,并且给出了两种不同的实现:v m p d r e n d e r 和t y r 删r 。 首先,本文对基于集群的并行绘制系统作了一个总体介绍,主要是集群的硬 件系统,包括集群的硬件构成和整个大屏幕拼接系统的组成。然后介绍了常用的 交互工具以及怎样在大规模场景的漫游和交互中发挥作用。 v m p d r e n d e r 使用了m a s t e r - s l a v e 的体系结构。在s l a v e 节点上保留了大规 模场景绘制系统的所有功能,m a s t e r 节点仅负责同步所有的绘制节点。怎样进行 协同工作是v m p d r e n d e r 实现时的关键问题。本文通过研究并行绘制中常用的栅 栏同步技术,并提出了改进的方法来解决大规模场景并行绘制中的同步问题,并 提出了同步协议来满足一般并行绘制中的同步问题。最后验证了v m p d r e n d e r 节 点数增加时,性能损失并不明显,并且具有和单机版相近的绘制效率。 t y r m m r 的体系结构是基于c ll e n t s e r v e r 模式的变形。主要的功能都集中到 了c l l e n t 节点,s e r v e r 节点只负责本地的绘制以及绘制数据的管理。c l l e n t 节 点在每一帧判断当前的绘制集,并渐进地将绘制数据发送到相应的s e r v e r 节点。 这种实现有效地支持了在线简化功能,从而满足了动态场景的绘制需求( 如虚拟 装配功能) 。本文就t y r v l r 中几个主要子模块的实现进行了详细地分析,包括绘 制数据的序列化、适合j :图形数据传输的网络传输模块和c a c h e 子系统。最后给 出了系统的运行结果,验证了t y r m m r 能对大规模场景ti ,的物体进行实时编辑, 并且通过对系统性能的测试,发现当t y r l 哪l r 从单机扩展到网络版本时有性能损 失,但随着绘制节点数u 的增加,性能损失并不明显,因此具有良好的扩展性。 关键词:集群,并行绘制,大规模场景,交互 浙江人学硕上学位论文a b s t r a c t a b s t r a c t v i s u a l i z a t i o no fl a r g ed a t a s e t si sa ni m p o r t a n tp r o b l e mw i t haw i d er a n g eo f a p p l i c a t i o n s ,i n c l u d i n gc o m p u t e r - a i d e dd e s i g n ,v i r t u a lt r a i n i n g ,i m m e r s i v ev i r t u a l e n v i r o n m e n ta n ds oo n h o wt ot a k ea d v a n t a g eo ft h ec l u s t e rt oe x p a n dl a r g e - s c a l e s c e n er e n d e r i n gf r o ms i n g l em a c h i n et om u l t i m a c h i n e ,u s i n gp a r a l l e lr e n d e r i n gf o r h i g h r e s o l u t i o na n dl a r g e - s i z ed i s p l a yi st h ek e yp r o b l e mo ft h i sp a p e r t h i s p a p e rp r e s e n tt w od i f f e r e n ta p p l i c a t i o n s ,v m p d r e n d e ra n dt y r m m r , a c c o r d i n gt os t a t i cs c e n ea n dd y n a m i cs c e n e f i r s t ,w ei n t r o d u c e dt h eh a r d w a r es y s t e mo ft h ec l u s t e r , i n c l u d i n gt h ed e t a i l e d h a r d w a r ei n f o r m a t i o no ft h ec l u s t e ra n dt h ec o n s t r u c t i o no ft h es y s t e m a f t e rt h a tw e i n t r o d u c e dt h ei n t e r a c t i v et o o la n dp r e s e n th o wt ou s et h e m i i lv m p d r e n d e rw h i c hi sb a s e do nm a s t e r - s l a v em o d e ,t h es l a v ec o n s i s t so fa l l f u c t i o n so fl a r g e s c a l es c e n er e n d e r i n gs y s t e m ,t h em a s t e ri sr e s p o n s i b l ef o rt h e s y n c h r o n i z a t i o no fa l ls l a v en o d e si ne a c hf r a m e s oi nt h er e a l i z a t i o no fv m p d r e n d e r , t h es y n c h r o n i z a t i o ni st h ek e yp r o b l e m w ef i r s tp r e s e n tt h e “b a r r i e rs y n c h r o n i z a t i o n , t h e np r o p o s e da ni m p r o v e dm e t h o df o rt h es y n c h r o n i z a t i o np r o b l e mi nt h ep a r a l l e l r e n d e r i n g a f t e rt h a t ,w ep r e s e n tt h ep r o t o c o lf o rt h es y n c h r o n i z a t i o np a r t i nt h ee n d , w eg a v et h er e s u l to ft h ee x p e r i m e n tw h i c hs h o w e dt h a tv m p d r e n d e rh a se x c e l l e n t e x t e n s i b i l i t y , a n di t sp e r f o r m a n c ei sn e a d ya sw e l la st h es t a n d - a l o n ev e r s i o n ,t h a ti s , t h ec o s to fs y n c h r o n i z a t i o nc a nb en e g l i g i b l e i nt y r m m rw h i c hi sb a s e do nt h ei m p r o v e dv e r s i o no fc l i e n t s e r v e rm o d e ,t h e c l i e n tc o n s i s t so fm o s to ff u n c t i o n s ,w h i l et h es e r v e ri so n l yr e s p o n s i b l ef o r t h e r e n d e r i n ga n dt h em a n a g e m e n to fl o c a ld a t a s e t s i ne a c hf r a m e ,t h ec l i e n td e t e r m i n e dt h e r e n d e r i n gs e t ,t h e ns e n dt h ed a t at ot h es e r v e rw h i c hn e e d st h i sd a t a t h i sk i n do f s t r u c t u r ei sd e s i g n e df o rr e a l t i m es i m p l i f i c a t i o n ,s ot y r m m rc a ns u p p o r tt h er e n d e r i n g o fd y n a m i cs c e n e w ep r e s e n ts o m em a i ns u b m o d u l e ,i n c l u d i n gt h es e r i a l i z a t i o no ft h e d a t a s e t s ,t h en e t w o r km o d u l ed e s i g n e df o rg r a p h i c ss y s t e m a n dt h ec a c h es y s t e mi n t h es e r v e rn o d e f i n a l l y ,t h ee x p e r i m e n t sv e r i f i e dt h a tt h eo b j e c ti nt h el a r g e s c a l es c e n e 浙江大学硕上学位论文 a b s t r a c t c a nm o v ei nr e a l t i m e t h r o u g ht h et e s to ft h es y s t e mp e r f o r m a n c e ,w ep r o v e dt h a tt h e s y s t e mh a sc o n s i d e r a b l es c a l a b i l i t y t h o u g ht h em u l t i m a c h i n eh a sl o w e rp e r f o r m a n c e t h a nt h es t a n d l o n ev e r s i o n ,l o s so fp e r f o r m a n c ei sn o to b v i o u sw i t ht h ei n c r e a s ei nt h e n u m b e ro fs e r v e rn o d e s c l u s t e r , p a r a l l e l ,l a r g e - s c a l es c e n er e n d e r i n g ,i n t e r a c t i v e i l l 浙汀大学硕i :学位论文 图目录 图目录 图1 1 :s o r t f i r s t ,s o r t m i d d l e 和s o r t 1 a s t 一2 图1 2 :负载不均衡导致总处理时间增加3 图1 3 :基于集群的两种模型4 图1 4 :立即模式和保留模式5 图1 5 :、i r e g l 系统结构6 图1 6 :a u r a 的两种不同模式7 图1 7 :i w a l k 的系统结构8 图1 8 :一个s p v n 典型应用的组成9 图2 1 :立体投影系统1 2 图2 2 :模拟飞行操纵杆1 3 图2 3 :驱车制动操纵杆1 4 图2 4 :5 d td a t ag l o v e5 数据手套示意图1 5 图2 5 :5 d td a t ag l o v e5 能识别的1 6 种手势。1 6 图2 6 :f l o c ko f b i r d s 主要的两个传感器1 7 图2 7 :使用语音漫游的状态机1 8 图2 8 :v m p d r e n d e r 系统模型1 9 图2 9 :v m p d r e n d e r 的系统组成2 0 图2 1 0 :t y r m m r 系统模型2 1 图2 1 1 :c l i e n t 系统结构2 1 图2 1 2 :绘制端系统结构2 3 图2 13 :c l i e n t 端与s e r v e r 端的交互过程2 4 图3 1 :帧同步3 1 图3 2 :系统通信流程3 3 图3 3 :语音漫游效果图3 4 图3 4 :s l a v e 节点增加时帧率和网络通讯量的变化情况3 5 图3 5 :轮船驾驶模拟系统截图3 6 图4 1 :s t a t e s e t 结构组成4 0 图4 2 :基于引用的序列化过程4 2 图4 3 :c a c h e 文件的结构组成4 3 图4 4 :使用子属性查找表杏找子属性在外存中的位置信息4 3 图4 5 :三通道的子视域锥信息的例子4 5 图4 6 :摄像机的参数表示4 6 图4 7 :主动器体系结构的 办作过程4 9 图4 8 :网络模块结构图5 0 图4 9 :主线程中网络f 0 输模块所占的开销比例5 1 图4 1 0 :缓存系统的数捌结构。5 3 浙汀人学硕 :学位论文 图目录 图4 1 1 :时钟策略的一个例子5 5 图4 1 2 :延迟的检查策略带来的性能上的提升5 6 图4 1 3 :绘制数据缓存系统的索引结构5 7 图4 1 4 :生产者消费者方式5 8 图4 1 5 :场景编辑序列图6 0 图4 1 6 :漫游序列图6 1 图4 1 7 :t y r m m r 帧率变化情况6 2 i v 浙江大学硕i :学位论文 表目录 表目录 表2 1 :集群的详细配置1 1 v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得逝姿盘堂或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意。 学位论文作者签名竹、,伫 签字日期为8 年6 月p 日 学位论文版权使用授权书 本学位论文作者完全了解逝望盘堂有权保留并向国家有关部门或机构 送交本论文的复印件和磁盘,允许论文被查阅和借阅。本人授权逝江盘鲎可 以将学位论文的全部或部分内容编入有关数据库进行检索和传播,可以采用影 印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 签字日期:必富年 僵伫 6 月p 日 导师签名: 签字同期: 浙江大学硕i :学位论文 第1 章绪论 1 1 背景 第1 章绪论 自从虚拟现实技术诞生以来,它已经在军事模拟、城市规划地理信息系统、 医学生物等领域中显示出巨大的经济、军事和社会效益,与网络、多媒体并称为 2 1 世纪最具应用前景的三大技术。 虚拟现实( v i r t u a lr e a l i t y ) ,是一种可以创建和体验虚拟世界的计算机系 统,它利用计算机技术生成一个逼真的、具有视、听、触等多种感知的虚拟环境, 用户通过使用各种交互设备,同虚拟环境中的实体相互作用,使之产生身临其境 感觉的交互式视景仿真和信息交流,是一种先进的数字化人机接口技术。 虚拟现实绘制是虚拟现实技术的重要组成部分之一,也为虚拟现实技术的快 速发展起了巨大的需求牵引作用。虚拟环境实时绘制技术已经被广泛地运用在游 戏、电影、工程仿真、军事仿真等方面。 近几年来,随着计算机的计算能力和存储能力的飞速发展,基于大规模场景 的实时绘制成为了可能。如何能够快速、准确的表现海量数据已经成为虚拟现实 中一个很重要的研究领域。使用并行绘制技术将场景多屏显示是进行高分辨率和 大尺寸显示的常用解决方案,本文将结合并行绘制技术和大规模场景的实时绘制 技术,使用集群实现大规模场景的高分辨率和大尺寸显示,并使用直观的输入输 出设备如驾驶控制台、数据手套等与其进行实时交互,从而获得等同真实世界的 体验。 1 2 并行绘制方式的介绍 基于集群绘制的大多数研究都将重点放在怎样将几何图元分发到绘制节点。 m o l n a r l l l 等人根据按照几f 1 j 图元归属判断的时机,将并行图形绘制系统分为以下 三类( 如图1 1 所示,其中g 代表几何处理,r 代表光栅化) : 浙汀人! 学硕i :学位论文第1 章绪论 s o r t f i r s t 4s o r t m i d d l e 啊s o r t 1 a s t 几巾嗽型菇据 几何棋型披据 亚j i s o r t - i r 暑t 显示 s o z t :- m t d d 3 e 图1 1 :s o r t - f i r s t ,s o r t m i d d l e 和s o r t 1 a s t 显示 s o r t ;- 1 a t 几何处理 光瑚化 组合 s o r t - f i r s t 的几何图元归属判断在绘制流水线的几何处理之前。在s o r t f i r s t 体 系结构的并行图形绘制系统中,显示屏幕被划分为多个区域并分配给不同的绘制 服务器,每个绘制服务器负责绘制自己区域中的图元。所以在绘制每一帧之前首 先根据几何图元在显示屏幕上的投影来确认图元由哪个绘制服务器进行绘制,然 后只将图元发送给相应的绘制服务器。由于每一帧都需要向绘制服务器发送其所 需要的几何图元,所以s o r t f i r s t 算法需要很高的带宽。但是如果利用在绘制的时 候帧与帧之间的相似性可以减少网络传输量。负载均衡是s o r t f i r s t 体系结构中的 关键。在并行系统中,性能是由负载最重的节点所决定的,如图1 2 所示。s a m a n t a t 2 】 等人通过对屏幕进行动态地划分改善了负载均衡问题。当绘制节点增加时,会导 致s o r t f i r s t 算法性能下降。每个在子屏幕交界处的物体,负责相邻子屏幕的两个 绘制节点都要将该物体绘制一遍。当绘制节点数目增加时,整个屏幕被分成更小 的块,导致绘制物体处于边界处的概率增加。s a m a n t a 3 】等人使用了一种s o r t f i r s t 和s o r t 1 a s t 结合的方法解决了这个问题。 2 浙江大学硕i :学位论文第l 章绪论 丽广书 负i t 均衡 书 时问 盘曩不均衡 图1 2 :负载不均衡导致总处理时间增加 s o r t m i d d l e 的几何图元归属判断在绘制流水线的几何处理之后,但在光栅化 处理之前。在s o r t m i d d l e 并行绘制系统中,首先只将每个几何图元分配到一个几 何处理器上进行几何处理。当这个图元被转化为屏幕坐标时,然后将几何处理后 的图元分配到光栅化处理器。与s o r t - f i r s t 相似,显示屏幕被划分为多个区域并分 配给不同的绘制服务器,但不同的是,每个处理器只负责处于自己子屏幕区域内 图元的光栅化。由于这种方法需要将光栅化处理器从绘制流水线中分离才能使图 元重定向成为可能,所以这种方法只能在特殊的硬件上才能实现,例如s g i 的 i n f m i t e r e a l i t y 系统【4 1 。 s o r t 1 a s t 的几何图元归属判断在绘制流水线的光栅化处理之后。在s o r t 1 a s t 并行绘制系统中,直接分配几何图元到绘制服务器,每个绘制服务器负责整个显 示屏幕人小图像的绘制,然后再根据它们的深度信息进行全屏幕深度合成得到最 终的显示图像。 随着低端p c 图形卡的处理能力的提高和网络技术的发展,建立在以高速网 络连接的p c 或工作站集群上的并行绘制系统以其诱人的性价比和良好的可扩展 性成为了研究热点【5 】。在集群式的并行绘制系统中,使用s o r t f i r s t 算法将几何模 型数据分布到各个集群节点,屏幕被分成几个子屏幕,每个集群节点负责其一个 子屏幕进行绘制。 浙江大学硕上学位论文 第1 章绪论 1 3 基于集群的并行绘制系统的介绍 由于基于集群的并行绘制系统一般采用s o r t f i r s t 方式来实现,它们主要的不 同在于数据分布和集群节点的功能上的不同。c h e n e 6 胴等人首先发现了这个问题, 并且给出了分析。他们将基于集群的并行绘制系统分成两种类型( 如图1 3 所示) : 圆c l i e n t 一囤图t 圈幽v 。2 图1 3 :基于集群的两种模型 4c l i e n t - s e r v e r 4m a s t e r - s l a v e 在c l i e n t - s e r v e r 类型的系统中,集群节点分成两种类型:c l i e n t 节点和s e r v e r 节点。应用程序只需复制到c l i e n t 节点,用户与c l i e n t 节点进行交互。c l i e n t 节点 负责产生几何绘制信息并传输到s e r v e r 节点,如图1 3 所示,然后s e r v e r 节点根 据自己的子视域锥进行绘制并保持每一帧都同步。在c l i e n t s e r v e r 模型中,根据 图形数据的放置不同还可以分为立即模式和保留模式( 如图1 4 所示) 。在立即模 式c l ,图形数据被保存在c l i e n t 节点上,每一帧c l i e n t 节点上的应用程序都将数据 发送到s e r v e r 节点的绘制系统,后者进行绘制计算,然后就将数据丢弃。立即模 式每一帧的图形数据都要通过网络来传输,这样就造成了很大的通信负担。保留 模式则可以避免这种情况,在保留模式的图形系统中,当c l i e n t 节点的应用程序 4 浙汀人学硕一i :学位论文第l 章绪论 定义了图形数据之后,数据就保留在s e r v e r 节点的图形系统中,如图1 4 所示。 相比立即模式的图形并行绘制方式,保留模式的图形并行体系有明显的优势,通 常网络通信的速度要比总线速度低几个数量级,巨大的网络通信量对系统的整体 性能影响很大。如果采用保留模式这种并行绘制方式,在s e r v e r 节点保存绘制数 据,则可以避免大量的网络开销,从而提高系统运行速度。 l 兰! ! ! 兰兰竺兰l 乞五i _ _ _ _ _ _ - 一 函翅型酴 图1 4 :立即模式和保留模式 在m a s t e r - s l a v e 模式的系统中,绘制节点不仅包括绘制功能,还包括应用功能。 每个s l a v e 节点本地都有一份应用。s l a v e 节点可以独立的运行绘制程序,m a s t e r 节点的功能是确保所有的s l a v e 节点上的应用保持一致,且保证所有的s l a v e 节点 绘制同步。m a s t e r 节点一般负责所有与用户相关的交互信息( i o ) ,并保证所有 的s l a v e 节点保持时空状态一致。每一个s l a v e 节点通过视域锥的调整得到正确的 视锥体来绘制一个相应的子视域锥。m a s t e r - s l a v e 方法只占用最少的网络带宽。用 户的交互信息和其它状态的变化是少量的并且可以简单地通过网络传输。这种模 式必须将所有影响程序运行结果的因素当作控制端的输入。像时间、随机数的产 生、系统调用或者所有影响系统运行结果的因素都要通过网络传输并且保持s l a v e 节点l u 的一致性。这种情况就会影响系统开发的自由度。但m a s t e r - s l a v e 模式的 系统开发是最简单的,开发者可以像开发单机版一样,其余网络的操作只需交给 气 浙江大学硕士学位论文 第l 章绪论 已有的m a s t e r - s l a v e 并行系统处理就行了。 下面我们将介绍一下基于这两种类型的现有系统。 1 3 1w i r e g l 斯坦福大学的w i r e g l t 8 】即是一个立即模式的并行绘制系统,是第一个基于 s o r t - f i r s t 体系结构并且独立于硬件平台的图形集群绘制系统( 如图1 5 所示) 。 图1 5 :w i 陀g l 系统结构 w i r e g l 系统节点分为两类:c l i e n t 节点和s e r v e r 节点。c l i e n t 节点即应用程序 节点,专门负责截获o p e n g l 命令并将这些命令打包发送到s e r v e r 节点;s e r v e r 节点负责o p e n g l 数据包的解码和绘制。最终图像通过数字视频接口( d i g i t a l v i d e oi n t e r f a c e ) 发送到一个数字视频合成硬件l i g h t i n g 2 ,它负责将合成最终的 图像并将最终图像发送到显示设备( 如投影仪) 。 w i r e g l 解决了并行图形系统中一个关键问题:分布图形绘制系统的状态跟 踪。并实现了基于软件的虚拟图形上下文切换,对并行绘制的其他关键技术都提 出了解决方案,为后续系统的深入研究打下了基础。 但立即模式的局限性导致、i r e g l 具有很差的扩展性,w i r c g l 最多只能支持 3 2 个节点,而且无法利用帧与帧之间的连贯性,只能支持简单场景。 浙江大学硕i :学位论文第l 章绪论 1 3 2a u r a a u r a 1 0 】是针对科学计算而开发的多平台分屏显示系统,它有两种模式:a u r a ( b r o a d c a s t ) 和a u r a ( m u l t i p l ec o p i e s ) 。其中a u r a ( b r o a d c a s t ) 是基于c l i e n t s e r v e r 模式开发的,a u r a ( m u l t i p l ec o p i e s ) 是基于m a s t e r - s l a v e 模式开发的( 如图1 6 所示) 。 a u r a ( b r o a d c a s t ) 是基于c l i e n t s e r v e r 模式开发的。如图1 6 右边所示,应用 ( a p p l i c a t i o n ) 只在c l i e n t 节点上运行。在这种情况下每个绘制节点不用自己产生 图形命令,而是通过c l i e n t 节点产生图形命令,然后广播到所有的s e r v e r 节点。 图i 6 :a u r a 的两种不同模式 每个s e r v e r 节点自己维护一个子视域锥,s e r v e r 节点之间通过c l i e n t 节点进行同步。 a u r a ( b r o a d c a s t ) 节点之间通信并不是真正意义上的b r o a d c a s t ,而是使用了点对 点的通信来模拟,这样可以将数据只发送到需要的s e r v e r 节点,减少了节点之间 的通信量。 a u r a ( m u l t i p l ec o p i e s ) 是基于m a s t e r - s e r v e r 模式开发的。如图1 6 左边所示, 应用( a p p l i c a t i o n ) 在所有的节点上运行,并在所有的s e r v e r 节点上保留了数据。 c l i e n t 节点仅负责所有s e r v e r 节点的同步,包括绘制同步和系统状态同步。为了保 证系统状态的同步,在用户每次与系统交互时,c l i e n t 节点都要将交互事件广播 到所有的s e r v e r 节点。 a u r a 系统主要将工作放在b r o a d c a s t 版本和m u l t i p l ec o p i e s 版本的性能分析, 浙江大学硕l :学位论文第l 章绪论 最终得出结论:a u r a ( m u l t i p l ec o p i e s ) 具有网络带宽占用率低,可伸缩性强的 优点;而a u r a ( b r o a d c a s t ) 具有高度的灵活性,在帧与帧之间具有很强的关联性 时,可以比基于立即模式的w i r e g l 系统速度更快。 但a u r a 系统的局限性也是显而易见的。( 1 ) 给出了两个不同版本之间的比较, 但没有深入讨论两者具体的适用范围。( 2 ) 只支持简单场景,不能支持复杂场景。 1 3 3p a r a l l e li w a i k i w a l k t 】是针对大规模场景而开发的可视化系统,使用了o u t o f - c o r e 技术来处 理大场景的调度。i w a l k 是基于c l i e n t s e r v e r 模式的变形( 如图1 7 所示) 。与传统 的s e r v e r 节点的职责不同,i w a l k 的s e r v e r 节点保存有整个场景的空间结构信息, 在每一帧c l i e n t 节点根据用户的交互结果将摄像机参数发送到s e r v e r 节点,s e l l , e r 节点根据摄像机参数利用p l p t 2 算法进行可视集判断,如果绘制数据不在本地, 则通过网络从文件服务器上下载。 图1 7 :i w a l k 的系统结构 i w a l k 在处理大场景( 特别是整个场景容量远远大于内存容量时) 具有良好 的性能。但i w a l k 也有一定的局限性:( 1 ) 当节点数量增多时,i w a l k 中的文件 浙江人学硕l :学位论文第1 章绪论 服务器将会成为瓶颈。( 2 ) 没有考虑到动态场景。 1 3 4s p v n s p v n 1 3 】( s c a l a b l ep a r a l l e lv i s u a ln e t w o r k i n g ) 是专门为大规模场景的实时绘 制而设计的一个应用框架。s p v n 集成了实时绘制中常见的加速机制,主要包括: 空间数据结构、l o d 、可视化裁决、o u t o f - c o r e 和预取技术。在并行结构上s p v n 使用了s o r t f i r s t 和s o r t 1 a s t 结合的方式,图1 8 中表示的是一个s p v n 典型应用 的组成。控制端( c o n t r o l l e r ) 负责与用户的交互,然后应用服务器( a p p l i c a t i o n ) 负责产生相应区域的图像,如果数据不在本地,则通过m p i 1 4 】从数据服务器 ( d a t a b a s em a n a g e r ) 读取场景数据。应用服务器之间的任务划分使用了负载均 图1 8 :一个s p v n 典型应用的组成 衡策吲。5 】,最后产生的图像通过深度合成( d e p t h o r d e rc o m p o s i t i n g ) 或二分交换 合成算法( b i n a r y s w a pc o m p o s i t i n g ) 1 1 6 进行最后的图像合成。 s p v n 集成了当前大多数实时绘制中成熟的加速机制,在并行绘制方面又使 用了一系列的加速策略,使用在大规模场景的实时绘制方面有着优秀的性能。但 s p v n 作为一个应用框架存在以下两点不足:( 1 ) 用户使用s p v n 进行开发时只 能使朋其内部的模块,而不能方便地替换成自己的模块,这样降低了开发的灵活 性。( 2 ) s p v n 内部没有集成人规模场景的编辑功能,即巧i 支持火规模动态场景。 浙江人学硕i 学位论文第l 章绪论 1 4 本文研究目标和组织结构 为了支持大规模场景的大屏幕显示,我们分别针对大规模动态场景和大规模 静态场景,使用我们自主开发的绘制引擎t s e ,分别设计并实现了v m p d r e n d e r 和 t y r m m r 这两种应用。在设计时主要考虑以下几个因素: 1 ,支持大规模场景绘制:使用现有的绘制引擎和现有的加速机制,快速地 将大规模绘制从单机扩展到多机,实现大屏幕绘制。 2 开发的灵活性:实现绘制模块与并行模块的低耦合,可以方便地将绘制 模块替换成自己需要的绘制模块。 3 支持大规模动态场景:t y r 删r 是专门为大规模动态场景设计的。 本文将按照以下的组织结构介绍这两个应用: 第二章着重介绍了整个集群系统的搭建,包括集群硬件的选择和整个集群系 统的构建。然后介绍了在大屏幕拼接系统中常用的交互工具以及怎样在场景交互 中发挥作用。最后介绍了v m p d r e n d e r 和t y r 删r 的系统结构。 第三章着重介绍了v m p d r e n d e r 的具体实现。主要分析了v m p d r e n d e r 中的加 速机制以及这些加速机制在并行绘制中的适用性。然后着重介绍了v m p d r e n d e r 中的同步模块。最后给出了v m p d r e n d e r 的性能分析。 第四章着重介绍了t y r e v i r 的具体实现。主要介绍了场景数据的序列化算法 和网络传输模块。然后介绍了s e r v e r 端的c a c h e 模块。在最后,本文给出了实 验结果和性能分析。 在第五章中我们对上面这两种实现做了总结,并指出了待解决的问题。 o 浙汀人学硕t 学位论文第2 章基于集群的并行体系框架 第2 章基于集群的并行体系框架 我们的系统是一个基于p c 集群的并行绘制框架。采用了s o r t f i r s t 并行绘制体 系。在不同的应用中,分别使用了两种不同的并行方式。本章依次介绍系统的硬 件环境、常用的交互工具。然后分别介绍了v m p d r e n d e r 和t y r m m r 的系统结 构。 2 1 系统硬件环境 集群系统分为两类:高可用性集群和高性能集群。高可用性集群的主要功能 是提供不间断服务,而高性能集群通过集成多台机器来处理复杂的计算问题。我 们的并行图形系统采用了高性能集群来实现大规模场景的并行绘制。由于我们的 系统主要用于大规模场景的多屏绘制,所以我们的集群必须配备高性能的3 d 图形 卡;为了实现分布式并行图形绘制中的大规模场景数据的实时传输以及实时的交 互,必须为任意两个节点之间提供高速的网络通讯。在我们的系统中,p c 节点之 间通过干兆网络连接,可以提供1 g b s 的互联速度。在表2 1 中列出了详细的配置。 表2 1 :集群的详细配置 c p ui n t e lp e n t i u md2 8 g h z 内存 d d r 25 3 3 删z2 g 主板 a s u sp 5 n d 2 - s l i 显卡n v i d i ag e f o r c e7 9 5 0g t 硬盘w d cw d 8 0 0 j d 一6 0 l s a 5 网卡i n t e l ( r ) p r 0 1 0 0 0m tn e t w o r kc o n n e c ti o n 交换机 d l i n kd g s 1 0 2 4 d 投影系统是一个三通道的立体投影系统( 如图2 1 所示) ,一共由两纽投影仪 浙江人学硕f :学位沦文 第2 章基于集群的并行体系框架 组成,每组有三台投影仪,使用偏正片达到立体投影的效果。能利用水平拼接方 式进行3 0 7 2 7 6 8 的大屏幕立体显示。 图2 1 :立体投影系统 2 2 常用的交互工具介绍 在虚拟现实中,交互工具作为与系统互动的媒介,在大规模场景的漫游和场 景编辑中起到了十分重要的作用。下面我们将介绍一些常用的交互工具以及它们 怎样在与大规模场景的交互中发挥作用。 2 2 1 键盘和鼠标 键盘和鼠标作为p c 机上最常见的i o 输入设备,在简单的场景交互中发挥着 巨大的作用。可以通过设定键盘。 ,的几个键作为方向键,控制摄像机的参数:移 动方向和转动方向。可以使用鼠标进行选择物体,实现平移和旋转,从而进行场 景的编辑。 2 2 2j o y sti c k j o y s t i c k ( 操纵杆) 在模拟驾驶领域( 特别是p c 游戏) 是一种十分常见的交 互工具。j o y s t i c k 中最常见的是模拟飞行操纵杆和驱车制动操纵杆。 浙江大学硕十学位论文第2 章基于集群的并行体系框架 模拟飞行操纵杆主要用于模拟飞行驾驶,即在大场景漫游时,可以假设用户 在飞机上俯瞰场景。图2 2 中是一个普通的模拟飞行操纵杆,主要由模拟轴 ( a x e s ) 、按钮( b u t t o n s ) 和苦力帽( h a t ) 组成。模拟轴一共有两个轴向,每 个轴向根据模拟轴转动时方位分别由两个- 3 2 ,7 6 8 3 2 ,7 6 8 的整数来表示。 按钮和苦力帽分别由两个状态组成:按下和释放。可以使用模拟轴两个轴向的数 值分别表示前进的速度以及转动的角速度。还可以使用模拟轴与按钮或苦力帽的 组合形成特殊的操作,如将一个按钮按下配合模拟轴向前转动来表示飞机的下降 操作。 图2 2 :模拟飞行操纵杆 驱车制动操纵杆主要用于模拟汽车驾驶,在大场景漫游时,可以假设用户驾 驶汽车在场景中运动。图2 3 是一个驱车制动操纵杆的模拟器示意图。其中,通 过s t e e r i n gw h e e l 获得方向盘控制信息( 转向区间为1 2 0 度1 2 0 度) ,通过b r a k e 获得制动器踏板信息( 值域为0 0 1 0 ) ,通过s t i c ks h i f t e r 切换汽车档位,向前 为提高汽车档位,向后为降低汽车档位。通过b u t t o n 可以实现对汽车的特殊控制。 通过a c c e l e r a t o r 获得油门信息( 值域为0 0 1 0 ) 。 浙江人学硕i 二学位论文第2 章基于集群的并行体系框架 图2 3 :驱车制动操纵杆 2 2 3 数据手套 虚拟手在虚拟装配、远程手术、机器人控制及手语识别等很多领域作为一种 自然、高效的人机交互方式而被广泛地应用。数据手套是一种虚拟现实系统的交 互设备,通过数据手套上的传感器系统,可以将操作者的动作变成传感信号输入 到计算机,计算机读取并分析传感器的信号,以便控制虚拟手做出不同的手势或 抓取、移动和释放物体,完成与虚拟环境的交互。 2 2 3 1 数据手套的组成 以5 d td a t ag l o v e5 的数据手套为例,如图2 4 所示。该数据手套配备有7 个 传感器,其中a e 为每根手指弯曲度传感器,f 为倾斜角度传感器,g 为旋转角度 传感器。7 个传感器通过扁平电缆线和交互盒相连,交互盒通过r s 一2 3 2 接口连至 计算机串行口,用于驱动虚拟手按照操作者的动作进行运动。 浙汀人学硕士学位论文第2 章基于集群的并行体系框架 图2 4 :5 d td a t ag l o v e5 数据手套示意图 2 2 3 2 数据手套的标定系统 为了保证输出数据的精度,在使用数据手套之前需要对数据手套进行校准。 5 d td a t ag l o v e5 数据手套有两种校准方式:自动校准和软件校准。 自动校准:是驱动器自动提供传感器输出的一种连续线性的校准方法。在每 次更新数据的时候,传感器会自动将读出的数据信息与上次设置的边界值( 最大 值和最小值) 进行比较,如果超出了上次设定的边界范围,则刷新最大值和最小 值。这样在交互系统刚开始运行时,首先手部不断地进行连续快速的弯曲运动, 从而不断地更新当前边界值,这样让传感器自动地更新边界值,从而完成了校准 二作。 软件校准:在不同的操作者操作时,实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论