ArenAK的博客

3D图形、虚拟现实 / 3D Computer Graphics,Virtual Reality

   :: 首页 ::  :: 联系 :: 订阅 订阅 :: 管理 ::
  21 随笔 :: 0 文章 :: 44 评论 :: 0 Trackbacks

仿照微软模拟飞行2004,利用Billboard实现的云。这里是一小段俺们的飞机在空中的视频。

利用gmax建模,然后写个插件将其导出为xml格式,再将其读入到程序中。

利用gmax建立billborad集而不是3ds max,是因为微软FS2004提供了gmax的工具。

微软这个工具导出的格式只能用在FS2004中,要想在自己的程序中利用这个Billboard集,需要自己写插件程序导出;另一种折中办法是将其导出为通用的obj文件,但后一种方法的缺陷是导出信息很少(只包括顶点信息、索引信息、UV坐标信息),无法为你专门导出Billboard的位置、大小、Shader属性信息。

为了防止穿云过程中跨过一个Billboard时产生的云块突变现象,在Billborad的顶点程序中根据顶点离视点的远近来调整透明alpha值,使得穿出云层时Billboard慢慢消失。

这个实现比起FS2004还差一些,还需要加入云彩24小时随太阳光照颜色的变化和云顶部底部光线的差异;另外目前的云只在16km*16km范围内,下一步还要利用Impostor将远处的云实时渲染到纹理中,来扩展云彩的范围。

Ps: 感谢宋给我提供了Virtools中的Shader程序作为参考。

--ArenAK--
Tag标签: Ogre,ArenAK,Cloud,gmax,
posted on 2008-03-25 21:57 ArenAK 阅读(355) 评论(1)  编辑 收藏 所属分类: Graphics

评论

#1楼  2008-03-26 10:24 lili_c [未注册用户]
学习了~~
  回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-03-25 22:10 编辑过