浅析虚拟现实应用中的并行渲染技术

上传人:pu****.1 文档编号:565034656 上传时间:2023-12-16 格式:DOC 页数:9 大小:24.50KB
返回 下载 相关 举报
浅析虚拟现实应用中的并行渲染技术_第1页
第1页 / 共9页
浅析虚拟现实应用中的并行渲染技术_第2页
第2页 / 共9页
浅析虚拟现实应用中的并行渲染技术_第3页
第3页 / 共9页
浅析虚拟现实应用中的并行渲染技术_第4页
第4页 / 共9页
浅析虚拟现实应用中的并行渲染技术_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《浅析虚拟现实应用中的并行渲染技术》由会员分享,可在线阅读,更多相关《浅析虚拟现实应用中的并行渲染技术(9页珍藏版)》请在金锄头文库上搜索。

1、浅析虚拟现实应用中的并行渲染技术论文关健词:虚拟现实并行渲染负载平衡归属判断论文摘要:虚拟现实应用要求图形系统具备实时渲染复杂、精细场景的才能。基于p机群的并行渲染系统具有性价比高、扩展性好的特点,合适虚拟现实应用。该文针对虚拟现实应用设汁并实现了一个保存形式的srtfirst并行实时渲染系统,对影响渲染性能的关键因素进展研究,给出详细实现步骤、试验验证数据和结论。应用说明,该方法可以实现系统的高效并行计算及虚拟现实应用中的复杂场景实时处理。1概述虚拟现实技术已广泛应用于车辆仿真、建筑预排、计算机辅助设计以及科学可视化等领域。随着图形图像硬件和软件的开展,人们对应用的交互性和现实感提出了越来越

2、高的要求:在满足实时性(每秒30帧)和低延迟的同时,需要构造更加逼真、精细的三维复杂场景,其数据规模日益膨胀,有时还需要满足多通道输出等特殊的应用要求。基于p机群的并行渲染技术以其性价比高、兼容性好、扩展灵敏等特点,成为虚拟现实实时显示研究的新方向。随着p系统上图形卡渲染才能的进步和千兆网络的出现,建立在高速网络连接的p工作站集群上的并行渲染系统具有良好的性价比和更好的可扩展性,得到越来越广泛的应用。图形计算任务的描绘非常简单:给定一个环境下所有物体的数学模型,系统计算每个模型对于给定可视面上每个像素的作用,这就是图形流水线。sutherland,sprull和shurnaher于1974年提

3、出从数据分配(srting)角度对并行渲染进展研究。根据从对象空间到屏幕空间转换过程中的渲染任务发生时间点,文献【1】将并行渲染方法分为3类:srtfirstsrtiddle和srtlast,该理论成为并行图形渲染和分布图形渲染研究的里程碑。srtfirst方式在图形流水线的开场阶段就将图元分配到各渲染节点;srtiddle在几何变换与光栅化之间重新分布图元;srtlast那么在流水线的最后重新分布像素。srtiddle和srtlast方式都在一定程度上符合图形流水线的自然形态,因此,合适硬件实现,如sgi的realityengine和infinitereality是srtiddle系统,hp

4、与un合作的pixelfl是典型的srt、last系统j。srtfirst方式能充分利用已有的渲染资源,相对其他2种方式通信量较小,因此合适软件实现,构建基于机群的分布式并行渲染系统。浙江大学adg国家重点实验室开发的anygl是一个srtfirst和srtlast混合的支持大规模分布的并行渲染系统。2系统构造本文设计了一个基于p机群的保存形式srtfirst并行渲染系统。该系统的各个节点均配有高端普通图形显示卡,采用千兆以太网交换机进展互连,期望以较低的本钱到达大型专有系统的性能,并且具有更强的灵敏性和可扩展性。其根本工作形式为“归属判断一渲染一同步显示。这种设计能充分利用帧问相似性,减少网

5、络开销。与另2种方式相比,srtfirst最大的特点是对图形流水线介入较浅。图1为系统硬件构造,系统由一个用户效劳节点和一个图形计算机子系统组成。后者包含很多处理节点,这些节点实时处理图像。(1)用户效劳节点:负责渲染节点之间的协调,接收用户输入,传送命令,执行负载平衡任务。(2)渲染节点:拥有全部场景数据。根据视点的改变和负载平衡计算结果自适应地判断面片归属,根据统一位姿指令执行渲染任务,提取图像像素数据并发送给图像效劳节点。(3)图像效劳节点:接收渲染节点输入像素数据,合成像素数据,输出图像信息到投影设备。系统在原始数据输入后及顶点变换前对计算任务进展分配。其工作形式如下:stepl用户效

6、劳节点执行负载平衡计算。step2根据负载平衡结果,渲染节点确定图元归属。step3渲染节点执行渲染效劳,提取像素数据并发送。step4图像处理节点接收像素数据,执行图像拼合。step5输出到投影设备并显示。负载平衡是srtfirst架构面对的最大问题。在实际应用中,图元的屏幕划分是高度可变的,为了到达很好的负载平衡效果,必须深化研究渲染节点的屏幕分配策略。另外,图元的跨屏幕分布带来的重复渲染也会导致渲染效率的降低。为了便于讨论,以一台应用主机和一个图形计算子系统为例。后者由几个渲染节点及一个图像处理节点组成,渲染节点实时渲染图像,图像处理节点负责显示。显示模型数据库开场即被分配到所有渲染节点

7、,因此,为保存形式。3关键技术31系统并行性多边形渲染是一种“近似易并行的计算,其特点是合适并行,但需要计算任务的分布和搜集计算结果,并用某种方式加以组合。对多边形渲染算法引入并行的方法有2种:功能并行和数据并行。311数据并行并行渲染应用要求在图形流水线的几何转换和光栅化阶段都进展并行化。对于srtfirst,一旦确定了图元归属,渲染节点只要计算它负责的那局部屏幕的最终图像,节点之间几乎没有干预,现有的多种并行渲染加速算法都能得到应用因此,系统具有很好的扩展性。数据并行方式将数据剖分成多个独立的数据流(datastreas),在一些一样的处理单元上同时对这些数据流进展处理。这种方式的并行效果

8、不受渲染流水线级数的限制,但受制于一样的处理单元的数目和系统内部的通信带宽。由于多边形渲染算法数据问的相关性很弱,因此数据并行方式有较大的潜力。312功能并行渲染节点内流程主要分为图形渲染、数据通信和同步等待3个功能阶段。其中,图形渲染和数据通信耗时较多,也最有可能成为系统的瓶颈;系统同步等待本身花费不大,主要与节点的渲染和通信直接相关。为了有效地进步系统效率,在渲染节点主要实现图形渲染和数据通信的同步。32负载平衡技术对srtfirst并行渲染系统而言,渲染任务分布策略一般基于屏幕的任务划分,负载平衡问题的研究焦点是屏幕的划分和屏幕分配的算法。根据屏幕划分是否固定,这些算法主要分为静态的和适

9、应性的。对于静态算法,图形应用的有效性并没有得到保证;目前适应性负载平衡算法主要有:rble算法,edianut算法,hitan自顶向下分解算法,adh算法l。j。这些算法都是基于图元数据分析的,将任务的负载用屏幕区域内的几何图元分布特性来度量。上述适应性算法的缺点是节点需要遍历图元,遍历的过程中还需要同步,且算法本身耗时,这需要较大的时间开销,导致效率降低和延迟增加。此外,采用图元数据作为衡量负载的标准虽然可以准确地衡量负载,但在实际应用中,由于渲染节点计算才能的差异,或者即使计算才能一样而节点本身状态不同,都会导致渲染一样数量几何图元的时间不同,因此这些算法并不能很好地解决负载平衡问题。下

10、面结合基于图元数据分析算法的屏幕划分精细网格思想提出一种基于网格划分的时间衡量负载算法。该算法以渲染时间直接衡量负载,利用仿真应用的帧问连续性,结合节点历史渲染时间数据,同时兼顾节点本身处理图元数据才能,建立渲染时间到屏幕区域负载权重的映射,计算屏幕区域负载权重表。以该屏幕区域负载权重表为根据进展任务分配。图2显示了2种算法的不同工作形式。基于几何数据分析算法的共同形式可表示成图2(a),负载平衡控制模块输入几何数据和当前帧的几何变换矩阵(通常从客户端获得),运算出新的屏幕剖分方式,作为重新分配渲染任务的根据。基于时间分析的算法如图2(b)所示,不考虑几何数据,实时捕捉渲染节点渲染一帧的时间,

11、结合前一帧的剖分方式,快速计算出新的剖分方式,控制下一帧的渲染。由于防止了庞大的几何数据计算,因此这种算法花费很小,测试结果证明其非常实用和有效。另外,从图2可以看出,由于增加了反应回路控制,因此有利于快速到达平衡。负载平衡的根本目的是缩短各渲染节点渲染时间并使彼此尽可能接近,因此,以渲染时问衡量负载的平衡算法比基于几何数据分析的负载平衡算法更加接近问题的本质。负载平衡模块运行在系统客户端的流程如下:(1)用户效劳节点发送统一位姿信息和屏幕划分方案到渲染节点,启动第k帧渲染。(2)渲染节点完成渲染,输出像素数据到图像效劳节点。(3)渲染节点记录自身渲染时间,发送给负载平衡节点。(4)负载平衡节

12、点汇总渲染时问,判断负载平衡条件,负载平衡系数(最重载最轻载)是否超过限定值(根据试验确定):未超过(说明负载平衡),采用屏幕划分方案;否那么看作负载不平衡,根据各节点渲染时间计算屏幕区域负载权值表,并确定屏幕划分方案。(5)图像效劳节点汇总像素数据,拼接输出。算法要点:(1)屏幕划分为大小一致的精细网格(图3),每个网格赋初始权值1(网格负载权重总值等于网格数),以网格作为屏幕分配的单元。(2)以渲染时间作为衡量渲染节点负载的指标,并作为计算区域负载权重表的根据。(3)负载平衡模块根据区域负载权重表进展负载平衡计算,确定屏幕划分方案。屏幕以与edianut一样的层次方法沿着单元边界被划分。单

13、元总计表允许通过二分查找操作决定划分的位置。或者,该算法可以通过选择适宜的划分比率来允许使用非2的整数次幂的处理器数,而不是每次等份划分,见图3。(4)各渲染节点根据屏幕划分方案执行渲染任务,记录本帧渲染时间并反应给负载平衡模块作为负载平衡计算的根据。这借鉴了反应控制的思想。(5)在负载平衡计算过程中以网格负载权重总值对网格负载权值进展归一化计算的根据。33图元归属判断和模型预处理图形系统把大量图元组织在图元集中,采用各种优化措施进步图元处理速度。在并行渲染系统中,流水线是以图元集为单元根据屏幕位置进展裁减的,假如图元集包含图元过多,会带来重复渲染的问题。如图4所示,分配方案已定,每个子屏幕分

14、配给一个渲染节点。由于该模型只有一个图元集,虽然屏幕区域2,4和7并未完全包含模型,因此它们仍然要对整个模型进展渲染计算。在实际的并行渲染应用中,重复渲染会导致严重的效率损失。为理解决这类问题,本文对模型进展预分割,将含有大量面片的图元集分割为含有较少面片的多个图元集,以减少图元集横跨多个屏幕的概率,从而减少渲染节点重复渲染的面片数量,充分发挥屏幕裁减功能的效用。模型预处理流程为:输入渲染模型文件构造树和边界条件图元最大面片数,输出分割后的模型树构造,子节点大小均匀。工作流程有如下4步:(1)遍历自定义的构造树,对每个叶子节点进展判断,假如满足条件(如面片数大于某一值),根据该叶子节点的包围盒

15、进展空间八叉分割。(2)假如子空间不为空,那么新生成一个叶子节点,挂在当前节点下,当前节点改为枝干节点。(3)对新生成的叶子节点继续进展分割,直到条件不再满足(如面片数小于某一值)。(4)保存结果模型文件。实验证明,模型预分割方法能很好地解决模型图元集包含过多面片数带来的重复渲染问题。4试验结果与分析原型系统利用千兆交换机连接5个p节点。p配置adathln64x2dualre4000+2,11ghz,2gb内存,nvidiagefre7900gs图形加速卡,千兆网卡。41通信才能测试本测试是在2个节点之间进展的,测试了单次发送数据量从100byte50。byte时的传输速度。经测试,传输才能最高约为900bs。考虑应用中采用1027x768的分辨率,每帧接收1024x768x3=2359296byt数据,网络应用大概为83,传输才能约为740bs,单次传输约需26s。42并行性分析系统形式:1个显示节点,2个渲染节点;模型面片总数400万。这里取1000帧数据的统计平均值进展分析。读帧缓存时问即渲染时间,发送的数据都是像素数据。采用时间测量函数准确度到达了微秒级。功能并行后效率进步了35左右提升较明显。从表1和表2可以看出,2种渲染方式花

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号