3.2.2多分辨率多层次细节模型
LODt~(1evel ofdetail),根据场景对象在虚拟环境中的默写特殊值 ,区分该对象被显示的细致程度,是其基本思想。可以采用基于距离的LOD,根据虚拟物体到观察者的距离,决定物体的细致程度。当虚拟物体距离观察者越来越远时,它的一些表现细节将消失.因此减少远距离物体的外观细节不仅不会影响整个场景的表现效果,还可以节省大量的计算资源。可以设定相应的阈值来标识距离的远近。有些资料也根据这个原理用来优化三角形的数量,比如一个圆,如果不是在近处看,用六边形就可以代替,如果再远甚至可以用一个方形代替。网格的运用单个多边形有自己一套属性和顶点,可以把许多属性相同的多边形整合成网格,如道路,小山等不同类的地形,网格使多边形共享共同的属性和顶点,在实时运行时系统处理网格效能更高,可以大大提高运行性能和显示效果。
X3D中的 GeoLOD[6]节点体现了上述思想 。图 5显示的是视点距离物体 的距离在由远及近变化时 ,观察到的一个房屋的示意图。部分伪代码如下
3.2.3复用技术
X3D的复用技术主要是包括两个方面:一个是文件外部的复用.一个是文件内部的复用。文件外部的复用主要是采用按层级集成进行渲染绘制。基本思想就是采用“分而治之”的思路,即把整个大的场景分成若干个小的场景进行渲染,再按照层次结构进行组织,自底层向上的进行渲染封装,自顶层向下的进行调用,X3D提供的 Inline节点体现了上述思想,允许在文件内部引用已经制作好的外部 x3d文件。文件内部的复用主要是在文件的内部可以预先定义一些节点 (比如 DEF节点),然后在文件中直接可以加以引用,而不需要重新定义(比如 USE节点)。X3D还允许自定义新的节点,可以在已经定义好的节点基础上进行扩展然后封装成新的节点 (比如 PROTO原型节点 ),都可 以直接加以引用,减少了代码的编写工作量。
3.2.4文件压缩
X3D二进制格式 (x3db文件 )支持加密和压缩 。开发中的 Compressed Binary encoding(压缩 二进制编码 )为 X3D提供一个安全的加密和高压缩比(比 VRML采用的 gzip格式更高的压缩比)的环境。X3D允许采用浏览器支持 的多种编码模式进行混合编码,解析时只需要按照特定浏览器需要进行解析即可.
4结束语
本文介绍了近年来虚拟现实的发展情况,分析了 X3D的系统结构,提出了场景建模和优化的具体方法。通过实验,可以发现:所制作出的场景文件体积较小(基本的模型建立都在lk),适合网络传输与下载;建模 和交互都 比较容易(支持节点比较多),特别是对于Java语言的支持,能够很好的应用于跨平台的系统中;与 XML语言的结合,能够保证所建系统 的鲁棒性。
参考文献:
[1]Kotz D,Gray R S.Mobile Agent and the Future of the Internet[J].ACM Operating System Review,1999,33(3):7-13.
[2]张金钊,张金锐,张金镝.X3D虚拟现实设计[M].北京 :电子工业 出版社,2007.
[3]王志强,蔡平.基于X3D的虚拟环境建模的应用研究[J].福建电脑,2008(11):109.
[4]刘广涛,吴升.基于X3D的场景交互技术在虚拟生物博物馆中的应 用[J].系统仿真学报,2008,20(S1):348—351.
[5]Clark J H.Hierarchical Geometric Models for Visible Surface Algorithms[J].Communication of the ACM(S0001-0782),1976,19(10):547-554.
[6]IS0,IEC FDIS 19775-1.2OO4,Extensible 3D(X3D)一Part l:Architecture and base components[S].
[7]WEB3D Consortium.Why Use X3D over VRML2.07 Here Are 10 Compelling Reasons[EB/OL].http://www.web3d.org/x3d/x3d—vs~vrm1htm1.
