虚拟现实技术主讲:杨文晖第三章虚拟现实的计算机技术◇课前索引◇第一节虚拟现实的计算机体系结构◇第二节虚拟现实的软件系统◇第三节虚拟现实的网络和通讯◇章节小结◇课后习题〖课前思考〗1.哪些计算机用于VR?2.常用工具软件的特点。3.分布式仿真中的网络和通讯的特点。〖学习目标〗1.了解不同类型VR用计算机的组成及特点。2.了解工具软件的要求和功能,了解分布式仿真。3.了解网络和通讯的硬件,软件和分布式仿真。〖学习指南〗1.注意VR用计算机提高速度的措施。2.注意工具软件的功能及对比。3.注意分布式仿真中的网络和通讯的主要问题。〖难重点〗1.注意帧频和延迟的要求。2.注意不同类型VR用计算机的组成结构。3.注意VR用计算机的并行处理技术构。4.注意工具软件的要求。5.注意工具软件的功能。6.注意常用工具软件的对比。7.注意各类网络结构的对比。8.注意软件质量的要求和保证措施。9.注意分布式仿真的特点。1虚拟现实的计算机体系结构虚拟现实的计算机体系结构1.虚拟现实对计算机系统的要求2.基于PC的虚拟现实机器的组成结构3.基于工作站的虚拟现实机器组成结构4.高度并行的虚拟现实机器组成结构虚拟现实对计算机系统的要求问题一:前面我们讲解了很多虚拟现实技术的指标,例如:位姿、视觉、听觉、力觉触觉显示等,是否都是在现有手段范围内,对计算机系统实施必要要的要求呢?只包括了视觉显示对计算机系统的要求。原因是:1.位姿传感器的数据处理,一般不在主计算机上进行,而是由专用的电子设备完成。2.听觉显示,力觉触觉显示,研究工作和实际应用还较少,对其计算要求的认识还较少。听觉显示和力觉触觉显示的计算,往往由专用计算机完成。3.所以,当前的虚拟现实计算机,主要完成视觉显示的计算任务。问题二:视觉显示对计算机系统的要求有哪些?–1.帧频和延迟时间的要求–2.计算能力和场景复杂性视觉显示对计算机系统的要求---帧频和延迟时间VR要求高帧频和快速响应,这是由于其内在的交互性质决定的。两个概念:帧频来自动态图像技术。在动图像显示中,每一帧实际上是静止照片。如果新照片快速接替旧照片,就产生连续运动的幻觉修改率是在屏幕上的显示改变的速率。为符合基本的动图像技术,理想的修改率是每秒20帧(新图像)。对计算机硬件,帧频有几个含义。它们大致分类为图形的帧频计算的帧频数据存取的帧频哪种帧频是最重要的?为了维持在VR中的临场和沉浸感,图形帧频是关键。原因:1.这些帧频可能是独立的,图像场景可能变化,而没有来自用户视点运动的计算和数据存取。这时,图形的帧频大于计算的帧频和数据存取的帧频。经验表明,图形帧频率应尽可能高,低于每秒10帧的帧频严重降低临场的幻觉。2.如果图形显示依靠计算和数据存取,则计算和数据存取帧频必须为8到10帧/秒,维持用户看到时间演化的幻觉。什么情况下,希望VR具备快速响应?如果应用允许交互控制,就要求快速响应。长响应时间(滞后时间,延迟时间)最直接的影响是什么?严重降低用户性能。响应时间的通常恒量值是多少?多于几毫秒的延迟会影响用户性能,而多于0.1秒的延迟有严重影响。例举一个响应时间影响用户性能的例子延迟时间是如何计算的?从用户的动作开始(如用户转动头部),经过位姿传感器感知用户位姿,把位姿信号传送给计算机,计算机计算新的显示场景把新的场景传送给视觉显示设备,直到视觉显示设备显示出新的场景为止。影响延迟的因素这些延迟在计算机系统中来自很多因素:1.如数据存取时间2.计算时间3.绘制时间4.输入设备数据处理时间。类似帧频的情况,延迟的来源分成:数据存取计算图形显示。问题:系统有高帧频,延迟就相对会小,正确与否?虽然延迟与帧频有关,但它们不同。系统可能有高帧频,但有较大的延迟时间,显示的图像和提供的计算结果是几帧以前的。帧频和延迟的最低要求由什么决定?要求的帧频和延迟一般取决于环境特性。只有慢速运动物体,较静的环境,可以用帧频每秒8至10,和0.1秒延迟。如果环境中有高速运动的物体,则要求高帧频(60Hz)和短延迟。所有情况下,若帧频低于每秒8帧,则失去三维环境的生动感,若延迟大于0.1秒,则很难操作环境。因此,帧频必须大于8到10帧/秒,总延迟必须小于0.1秒。视觉显示对计算机系统的要求---计算能力和场景复杂性为什么说虚拟现实仿真的计算问题,是一种时间受限的计算这是因为显示的帧频必须大于8到10帧/秒。于是,在0.1秒内,必须完成一次场景的计算。用什么能够表示计算能力?如果一个显示的场景中有10,000个三角形(或多边形),这个数量就反映了场景复杂性。这样,在每秒进行的10次计算中,就应该计算100,000个三角形(或多边形)。这表示了计算能力。计算能力和场景复杂性的折衷问题若要求更加逼真的仿真效果,就要增加场景复杂性。显示的场景中有更多的三角形(或多边形),显示的效果就更逼真。这就要求更强的计算能力,每秒计算更多的三角形(或多边形)。反之,如果只能使用能力有限的指定的计算机,则限定了计算能力,也就限定了场景复杂性。每个场景,只能用较少的三角形(或多边形),产生较粗糙的显示。下图表示,波音747-400飞机的两种复杂性不同的三维模型。(a)中的模型有520个顶点,406个多边形。(b)中的模型有7694个顶点,7556个多边形。效果图说明了明显的逼真度差别。下图表示,人体骨骼的两种复杂性不同的三维模型。(a)中的模型有8979个多边形。(b)中的模型有131275个多边形。效果图说明了明显的逼真度差别。问题:对于VR计算机,主要的技术指标就是其计算能力,用什么恒量计算能力?每秒计算的三角形(或多边形)的数目。讨论计算能力时应该注意的问题是否加纹理,是否反走样,采用哪一种明暗模型,都会影响到计算能力。加入这些复杂的功能,就会增加计算复杂性,从而减少每秒计算的三角形(或多边形)的数目。计算机生成图像时的走样现象通常存在三种走样现象中的两种:1.锯齿形边2.图形细节或纹理绘制失真3.第三种现象出现在显示非常微小对象的场合。什么是反走样?在光栅图形显示器上绘制非水平且非垂直的直线或多边形边界时,或多或少会呈现锯齿状或台阶状外观。原因?这是因为直线、多边形、色彩边界等是连续的,而光栅则是由离散的点组成,在光栅显示设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,就叫走样(aliasing)。而用于减少或消除这种效果的技术,就称为反走样(antialiasing)。反走样的方法:基本上反走样方法可分为两类。第一类是提高分辨率即增加采样点(提高采样频率)。然而,CRT光栅扫描设备显示非常精细光栅的能力是有限的,因此人们通常是在较高分辨率上对光栅进行计算,然后采用某种平均算法(滤除高频分量)得到较低分辨率的象素的属性,并显示在分辨率较低的显示器上。这种方法称为超采样或后置滤波。另一类反走样是把像素作为一个有限区域,对区域采样来调整像素的亮度,以光顺边界来减小锯齿现象。这种方法等价于图像的前置滤波。关于明暗模型光照模型可用于任何表面上任一可见点。通过计算该点处的表面法线方向及应用光照模型即可确定此点的光照明暗程度。当我们处理多边形集合或多面体时,如果整个表面都这样依次计算每点的光照明暗度,所需的耗费就太大了。因此,需要采取一些有效的方法对整个表面的明暗度进行处理。对多边形和多边形网格的基本明暗处理方法有三种:1.常数明暗处理法2.Gourand明暗处理算法:3.Phong明暗处理算法1.常数明暗处理法2.Gourand明暗处理算法:3.Phong明暗处理算法•三种算法的具体内容?对计算机系统的要求图形学和计算机硬件的进展对全真实的VR是关键因素。由于广泛的兴趣和有不同性能要求的大量应用,所以需要在几个层次继续进行硬件开发,由高档多模式工作站到低档的只有适当三维视觉能力的个人工作站。将来的高档VE系统有几个硬件要求。具有高计算要求的计算机结构。这些机器必须有1.很大的物理存储2.多个高性能向量处理机3.高带宽(500Mbytes/s)4.低延迟(0.03s)5.巨型存储设备6.和对各种输入输出设备的高速接口。物理建模和可视化计算将是计算需求的推动力。基于PC的虚拟现实机器的组成结构让一般公众接受虚拟现实的最佳途径?Grimsdale[1992]指出,让一般公众接受虚拟现实将通过“发展”,而不是“革命”。发展意味着升级现有的计算基础,产生虚拟现实要求的新功能。利用PC平台的优点是价格低最初的PC平台的虚拟现实机器:在1992年推出了低级的基于486的虚拟现实机器它有头部跟踪器、HMD、3-D声音、图形加速器和手柄,价格少于20000美元。1994年,低级的基于PC的系统价格约3300美元(跟踪球200美元,Cyberscope200美元,软件工具盒900美元,486-PC2000美元)。图形硬件图形硬件指的是什么?是那些使图形绘制加速的硬件设备。图形硬件涉及到哪些?1.图形流水线2.图形卡的AGP和PCI3.图形加速器4.Add-ons图形流水线图形流水线的作用:包括把三维物体由其自身坐标系变换到用于显示的二维屏幕空间所需要的计算器。这个过程涉及到的步骤第一步是把物体由其自身坐标系变换到描述整个场景的世界坐标系。第二步是剔除在场景中不必显示的物体,减少计算量,这是计算过程优化。第三步是在模型中引入颜色和明暗等性质。第四步,场景再作另一个变换到屏幕空间。最后光栅化为象素,并且显示。在这个过程中,计算是在多个区域内进行。很多计算在CPU进行,但是多数矩阵运算是在图形加速器中进行。图形卡的AGP和PCI图形卡的AGP和PCI是总线。数据总线会影响到图形卡的性能。PCI是标准的计算机内部总线。总线把计算机的插入卡(网络卡,图形卡等)连接到CPU。PCI总线的传输速度是有限制的。插入的卡越多,每个卡得到的传输速度越小,图形卡与CPU只能以较小的带宽通讯。AGP是专用总线,它只能连接一个卡(图形卡)。它的通过量全部用于图形卡。他还允许直接把纹理传送到图形卡,不必通过系统存储器。可以想象,这将大大增加系统性能。图形加速器图形加速器是图形计算的另一个重要部分。这是图形卡上的处理器,它完成所有繁重的计算。这些繁重计算主要包括:加纹理反走样计算密集的函数例如:NVidia推出芯片,完成光照及其变换。它取代CPU的工作,大大加速显示过程,允许实时的照明和明暗变化。3Dfx制造了图形卡的Voodoo和Banshee芯片。它也利用自己的T-缓冲技术,把实时明暗加在其Voodoo芯片上。ActionMedia图形加速器有SPEA“Fire”图形加速器Stride图形加速器Add-onsAdd-ons适用于只有2D加速器,但没有3D加速器的计算机。它提供用于显示3D物体的计算,极大地改进性能。3Dfx是add-ons的主要制造商。它的Voodoo就是一种初等的add-ons。它还为其图形卡开发了API(称为Glide)。Glide提供了软件微层次,使开发者免于直接处理硬件寄存器和存储器。这减少了调试时间,加快了开发过程。它基本上是OpenGLAPI的缩减版本,类似于OpenGL。GlideUtilityLibrary提供Glide的更高层次的实现。关于3D显示卡3dfxVoodoo3-3500它使用8片HY5.5ns,提供128bit带宽,显存和芯片内核速率在183MHz,多边形处理能力是800万/秒,像素填充率是366万/秒。他拥有3dfx独有的3DAPI:GLIDE,拥有简洁的代码和较高的效率,针对GLIDE优化的游戏效果比一般针对D3D优化的游戏效果更出色,所以他是最好的3D游戏卡。价格1500元。耕宇TNT2Ultra+它使用2×32的SEC-GC显存。其核心频率和显存频率分别为175MHz和200MHz。多边形处理能力是800万/秒,像素填充率是350万/秒。快是它的最大特点。价格1650元。帝盟StealthIIIS5