三维网页的开发环境
2009.02
本文将介绍四种网页开发的环境——c/c++、java、javascrip以及flash。
三维软件和普通的软件相比,对计算机系统的要求较高。能够运行普通程序的软硬件环境未必能运行三维软件。也正是三维软件,更准确的说是三维游戏,推动着硬件快速升级。在众多编程语言中c/c++无疑是效率比较高的高级语言。所以开发对性能要求较高的三维软件当首选c/c++。
但是考虑到网络环境,需要ActiveX技术加以辅助。一般地,开发过程可以先在Windows桌面环境下进行。这样开发和调试都比较容易。等发行软件时,可以把窗口程序移植成ActiveX控件,嵌入网页。
c/c++环效率高,而且技术比较成熟。包括Direct3D和OpenGL,都对c/c++有比较好的,甚至是完美的支持。
但是c/c++开发三维网页有一大缺点,就是用户第一次加载页面的时候,必须安装ActiveX控件。这将严重影响浏览器的稳定性。而且ActiveX控件可移植性也有问题。
考虑到解决移植性的问题,Java可以作为一个比较好的选择。Java是典型的跨平台语言,这也是java语言的一大亮点。Java虽然是解释执行的语言,但是执行速度也比较快。更为重要的是Java对图形的操作可以精细到每一个像素。这个特点对三维开发很重要。因为三维软件绘图时调用最多的是设置每个象素颜色的函数,而不是普通的诸如画线画矩形画圆一类的函数,更不会调用绘制图象的函数。在java最为鼎盛的时期,浏览器对java的支持很好。但是目前来说,含有java的网页越来越少,可能是java变得越来越不安全吧。
目前浏览器普遍支持java script。用java script开发三维网页也是可以的。但是java script的网页有比较大的限制。首先java script绘图时无法精确到点。这是java script对三维支持的最大障碍。而且这个一障碍在未来一段比较长的时间内可能无法克服。所以,用java script做的三维图形,仅仅是一些线框(详情参考vml)。其次,java script的运行速度较慢。最后java scritp做为一种脚本语言不太适合描述复杂的逻辑。
最后谈谈flash。flash本质上一个ActiveX控件,这一点毋庸置疑。但是flash普及率极高,普通的浏览器基本上都可以加载flash。所以安全性这里可以暂时不用考虑的。flash支持基本的图形函数调用,可以画线框模型。较新版本的flash,已经可以对像素进行操作了。既然flash的的英文名称叫做“快速”,flash的运行速度还是比普通浏览器的javascript快一些的。但是如果做solid的模型,flash的速度还是比较慢。如果不想放弃这个选项的话,就要对代码进行加速优化。
以上便是本文所要介绍的四种三维网页开发环境。笔者在介绍这些开发环境的时候,尽量客观的评价各种方法。没有一味的突出一种方法的优点而忽略其缺点。
最后,本文只是比较各种网页开发环境,并没有深入介绍具体的开发细节。更多内容请关注绿睿科技的其他文章。