JS版3D引擎

思路大概是这样: 矩阵变换,投影,消隐,渲染(只是由光线与平面的夹角来确定平面的亮度).最后分别通过FLASH,CANVAS(FF),VML(IE)显示出来.
矩阵变换和投影的算法已经算是不错了,消隐和渲染暂时还没找到很简便的算法,毕竟在数学上,很难描述"被挡住"这一概念.
我这里做了个立方体,"投机取巧"的实现了消隐和渲染.

我在几种浏览器上试了一下效果:
Firefox, flash很卡,canvas还行;
Google chrome,flash有点卡(没FF严重),canvas还好;
Safari, flash和canvas都不卡(apple的东西就是牛一些啊);
IE6, VML可以显示,不过有点问题(VML不是W3C标准,好像要被微软抛弃了),flash没显示,可能是由于没有定义与flash最新的通信方式(我用的是ExternalInterface.addCallback);
IE7, 都有显示,flash也不卡,还是VML有点问题;
IE8, flash正常,VML没了(,难道IE要跟标准接轨了!硬要显示也行,把DOCTYPE声明去掉即可,不过页面会很难看);

附上源代码,直接打开HTML可能会弹出Flash安全警告,这是由于FLASH向JS注册了回调函数,用于flash与JS通信,通过webserver访问无此问题

对消隐和渲染有好点子的朋友,欢迎交流...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值