Web3D技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Web3D技术

网络三维技术的出现最早可追溯到VRML。VRML(Virtual Reality Modeling L anguage)即虚拟现实建模语言。VRML开始于20世纪90年代初期。

1994年3月在日内瓦召开的第一届WWW大会上,首次正式提出了VRML这个名字。1994年10月在芝加哥召开的第二届WWW大会上公布了规范的VRML1.0草案。

1996年8月在新奥尔良召开的优秀3D图形技术会议-Siggraph'96上公布通过了规范的VRML2.0第一版。它在VRML1.0的基础上进行了很大的补充和完善。它是以SGI公司的动态境界Moving Worlds提案为基础的。

1997年12月VRML作为国际标准正式发布,1998年1月正式获得国际标准化组织ISO批准简称VRML97。VRML97只是在VRML2.0基础进行上进行了少量的修正。

VRML规范支持纹理映射、全景背景、雾、视频、音频、对象运动、和碰撞检测--一切用于建立虚拟世界的所具有的东西。但是VRML并没有得到预期的推广运用,不过这不是VRML的错,要知道当时14.4k 的modems是普遍的。VRML是几乎没有得到压缩的脚本代码,加上庞大的纹理贴图等数据,要在当时的互连网上传输简直是场噩梦。

1998年。VRML组织把自己改名为Web3D组织,同时制订了一个新的标准,E xtensible 3D (X3D),到了2000年春天,Web3D组织完成了VRML到X3D的转换。X3D整合正在发展的XML、JAVA、流技术等先进技术,包括了更强大、更高效的3 D计算能力、渲染质量和传输速度。

在此期间,一场Web3D格式的竞争正在进行着。Adobe Atmosphere创建网络虚拟三维环境的专业开发解决方案、还有Macromedia Director 8.5 Shockwave St udio

最近一些厂商瞄准了一个市场,就是从二维图像生成三维物体。一般都是通过拍摄一个物体的多个方向,再由特殊的软件转化为3D网格。象viewpoint、realVIZ、mmersion。

尽管出现了如此之多的解决方案,难道让我们每个人都跳上了Web3D的列车了吗?一些困难和障碍仍然存在。

首先是没有统一的标准。每种方案都使用不同的格式和方法。Flash能够在今天大行其道是因为它是唯一的,JAVA在各平台得到运用也因他是唯一的。没有标准,3D在Web上的实现过程还将继续挣扎。另外插件的问题也是一个困绕。几乎每个厂商开发的标准都需要自己插件的支持,这些插件从几百K到几兆不等,在带宽不理想的条件下必然限制了一部分人的使用热情。不妨让我们浏览一下这些在web3d中划地自治的诸侯们:

Java3D和GL4Java(OpenGl For Java)

JAVA3D可用在三维动画、三维游戏、机械CAD等领域。

可以用来编写三维形体,但和VRML不同,JAVA3D没有基本形体,不过我们可以利用JAVA3D所带的UTILITY生成一些基本形体如立方体、球、圆锥等,我们也可以直接调用一些软件如ALIAS、LIGHTWARE、3DS MAX生成的形体,也可以直接调用VRML2.0生成的形体。

可以和VRML一样,使形体带有颜色、贴图。

可以产生形体的运动、变化,动态地改变观测点的位置及视角。

可以具有交互作用,如点击形体时会使程序发出一个信号从而产生一定的变化。

可以充分利用JAVA语言的强大功能,编写出复杂的三维应用程序。

JAVA3D具有VRML所没有的形体碰撞检查功能。

作为一个高级的三维图形编程API,JAVA3D给我们带来了极大的方便,它包含了VRML2.0所提供的所有功能。

这里有一段国内资深3d程序员的评论:

GL4Java、VRML、JAVA3D的比较

由于OPENGL的跨平台特性,许多人利用OPENGL编写三维应用程序,不过对于一个非计算专业的人员来说,利用OPENGL编写出复杂的三维应用程序是比较困难的,且不说C/C++语言和java的掌握需要花费大量时间精力,当我们需要处理复杂问题的时候,我们不得不自己完成大量非常繁琐的工作。当然,对于编程高手来说,OPENGL是他们发挥才能的非常好的工具。

VRML2.0(VRML97)自1997年12月正式成为国际标准之后,在网络上得到了广泛的应用,编写VRML程序非常方法(VRML语言可以说比BASIC、JAVAs cript

等语言还要简单),同时可以编写三维动画片、三维游戏、用于计算机辅助教学,因而其应用前景非常广阔尤其适合在中国推广应用。不过由于VRML语言功能目前还不是很强(如目前没有形体之间的碰撞检查功能),与JAVA语言等其它高级语言的连接较难掌握,因而失去了一些计算机高手的宠爱。但我们认为,我们可以让大学里的文理科学生利用VRML编写多媒体应用程序,让学生很快地对编写程序感兴趣,从而使国内的计算机水平得到提高。DIRECT3D是Microsoft公司推出的三维图形编程A PI,它主要应用于三维游戏的编程,目前相关的学习资料难于获得,由于它一般需要VC等编程工具进行编程,需要编程人员具有较高的C++等高级语言的编程功底,因而难以普及。

JAVA3D是建立在JAVA2(JAVA1.2)基础之上的,JAVA语言的简单性使JAVA 3D的推广有了可能。OPENGL和JAVA3D之间的比较可以看成汇编语言与C语言之间的比较,一个是低级的,一个是高级的(也许这样比较不太恰当)。JAVA3D给我们编写三维应用程序提供了一个非常完善的API,它可以帮助我们:生成简单或复杂的形体(也可以直接调用现有的三维形体)

使形体具有颜色、透明效果、贴图。

可以在三维环境中生成灯光、移动灯光。

可以具有行为(Behavior)的处理判断能力(键盘、鼠标、定时等)

可以生成雾、背景、声音等。

可以使形体变形、移动、生成三维动画。

可以编写非常复杂的应用程序,用于各种领域如VR。

Fluid3D

由于Fluid3D并不是一个Web编写工具,因此它着眼于强化3D制作平台的性能。直到最近才公诸于世的Fluid3D插件填补了市场的一个空白,尽管到目前为止它的应用范围还相当有限。它的主要功能是可以用来传输高度压缩的3D图像,而这种图像的下载通常是相当麻烦和耗时的。它的运用有助于使Web的3D技术更实用和切合实际,使之对桌面用户而言更有乐趣。

Superscape(VRT)

Superscape VRT是Superscape公司基于Direct3D开发的一个虚拟现实环境编程平台。它最重要的特点是引入了面向对象技术,结合当前流行的可视化编程界面,另外,它还具有很好的扩展性。用户通过VRT可以创建真正的交互式的3D世界,并通过浏览器在本地或Internet上进行浏览。

Vecta3D

它是3DS MAX的一款插件,可生成输出FLASH的文件与Adobe Illustrator的AI文件。

Viewpoint(Metastream)

Viewpoint Experience Technology (简称VET)的前身是由metacreation和I ntel开发的metastream技术。提到metacreation,相信不少人曾对这家有传奇色彩的公司感兴趣过,他出品的软件虽算不上什么大手笔,却个个功能极具特色,像有名的Bry ce、Poser、KPT滤镜等。奇怪的是为了全面发展metastream技术,matacreation 卖光了他所有的产品,并把自己名字改为Metastream。

在2000年夏,Metastream购买了Viewpoint公司并继承了Viewpoint的名字。Viewpoint data lab是一家专业提供各种三维数字模型出售的厂商,Metastream收购Viewpoint的目的是利用Viewpoint的三维模型库和客户群来推广发展metastrea m技术。

在mts2.0(metastream)时代metastream的技术优势就已经表现出来。它生成的文件格式非常小,三维多边形网格结构具有scaleable(可伸缩)和Steaming(流传输)特性,使得它非常适合于在网络上的传输。你可以在三维数据下载的过程中看到一个由低精度的粗糙模型逐步转化为完整的高精度模型过程。

VET(也即mts3.0)继承metastream以上特点,并实现了许多新的功能和突破,想当年Viewpoint被PC-Magzine评为"Top100计算机产品",可谓风光一时。在结构上它分为两个部分,一个是储存三维数据和贴图数据的mts文件,一个是对场景参数和交互进行描述的基于XML的mtx文件。它具有一个纯软件的高质量实时渲染引擎,渲染效果接近真实而不需要任何的硬件加速设备。VET可以和用户发生交互操作,通过鼠标或浏览器事件引发一段动画或是一个状态的改变,从而动态地演示一个交互

相关文档
最新文档