虚拟现实技术——VRML语言
虚拟现实技术——VRML语言
VRML发展的简史 VRML最初出现在1994年的瑞士日内瓦的W3会议上,Tim Berners-Lee也就是Web的奠基人,对Mark Pesce的编程工作产生了浓厚的兴趣并邀请他给出名为Cyberspace的论文。这篇论文解释了一个名为Labyrinth的VRML浏览器原型,这是Mark和Tony Parisi在1994年1月完成的一个程序。冲动来源于William Gibson的一部名为Neuromancer的小说。因为是第一次在Web上呈现出三维的界面,所以在W3会议上Labyrinth受到了特别的关注。 VRML是这样一个缩写词,它的英文全称是Virtual Reality Modeling Language。在最初的时候,M代表Markup,后来为了和HTML相区别,在W3会议之后的几个月内就把名称改为了Modeling了。 Mark的那篇论文获得了巨大的成功,所以就举办了名为www-vrml的mailing list以进行更为深入的讨论。Mark的身份是这个mailing list的协调员。 这个邮件列表代表了VRML在学术上的发展。Gavin Bell,SGI公司的一名编程人员,在VRML团体中享有很高的声誉,采用Open Inventor作为VRML文件的官方格式。一些人觉得应该为这项新技术创建一个全新的格式,而另一部分人包括Mark本人则认为如果VRML文件格式符合现存的所有图象文件格式,那么它必将获得巨大的成功。理想的结构应该是创建一个和HTML相类似而又符合专业三维设计师的需求。最终Open Inventor被采纳了,Gavin Bell在VRML1.0标准的制订过程中做了大量的文档工作。 在OI被大众所接受之后,它被调整到我们现在所见到的VRML1.0格式。很明显VRML是作为一个独立语言出现的,而不仅仅是作为一个HTML的扩展而出现的。VRML对于网络的要求比HTML更加严格并且在使用时要求更多数量的服务器。VRML1.0标准中给出了超链接锚点(WWWAnchor)平行于HTML中的HREF,另一个语言上的特征是LOD(细节节点),它依据物体在场景中的位置和浏览器的渲染性能来为物体分配正确的浏览数据。 VRML1.0和它的后继者不太一样,它是完全面向ASCII字符集的,被限制在处理127个字符的能力上。这个限制对于处理非罗马语言的字符就会产生问题。VRML1.0标准不能处理avatar也是一个很大的失误。 1994年的11月第二界WWW会议召开,在这次会议上提出了VRML1.0标准。在这次会议之后,Parisi建立了自己的公司Intervista并创建了第一个VRML浏览器WorldView。SGI公司也在1995年的四月给出了它的第一个Web浏览器WebSpace。在当年的夏天Netscape、NEC、DEC和Spyglass宣布对VRML进行支持。同年的八月,VAG(VRML工程组)成立。95年的十月,VAG成员决定把工作重心放在引导方向,VRML2.0由此产生。 VRML和Java团体的第一次会晤是在1996年的第三次的W3会议上。目前最新的标准是1997年制订的VRML97。在VRML的整个发展历程中,出现了几个变种的标准:VRML+和VRML1.1。VRML+是IBM对VRML的一种扩展标准,出现在1995年的八月。IBM公司准备以这项技术对VRML服务提供大范围的支持。VRML+准备在场景中提供一个象avatar一样的数字演员并提供象VRML2.0一样功能的交互支持。 VRML的基本工作原理及其基本特性 统分结合模式:VRML的访问方式基于C/S模式,其中服务器提供VRML文件,客户通过网络下载希望访问的文件,并通过本地平台的浏览器(Viewer)对该文件描述的VR世界进行访问;即VRML文件包含了VR世界的逻辑结构信息,浏览器根据这些信息实现许多VR功能。这种由服务器提供统一的描述信息,客户机各自建立VR世界的访问方式被称为统分结合模式,也是VRML的基本概念。由于浏览器是本地平台提供的,从而实现了VR的平台无关性。 基于ASCII码的低带宽可行性:VRML像HTML一样,用ASCII文本格式来描述世界和链接,保证在各种平台上通用,同时也降低了数据量,从而在低带宽的网络上也可以实现。 实时3D着色引擎:传统的VR中使用的实时3D着色引擎在VRML中得到了更好的体现。这一特性把VR的建模与实时访问更明确的隔离开来,也是VR不同于三维建模和动画的地方。后者预先着色,因而不能提供交互性。VRML提供了6+1个自由度,即三个方向的移动和旋转,以及和其他3D空间的超链接(Anchor)。 可扩充性:VRML作为一种标准,不可能满足所有应用的需要。有的应用希望交互性更强,有的希望画面质量更高,有的希望VR世界更复杂。这些要求往往是相互制约的,同时又受到用户平台硬件性能的制约,因而VRML是可扩充的,即可以根据需要定义自己的对象及其属性,并通过Java语言等方式使浏览器可以解释这种对象及其行为。 >>相关产品 |