惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
雷峰网
雷峰网
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
M
MIT News - Artificial intelligence
WordPress大学
WordPress大学
MongoDB | Blog
MongoDB | Blog
V
V2EX
博客园 - 【当耐特】
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
B
Blog
V
Visual Studio Blog
D
DataBreaches.Net
C
Check Point Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
F
Fortinet All Blogs

博客园 - 任程

运动捕捉数据的行为分割 主元分析(PCA)在计算机图形学中的应用 本博客代码公布(本文会不断更新) 机器人逆动力学(Robot Inverse Dynamics) 刚体动力学(Rigid Body Dynamics) Flock of Birds——总结使用过的虚拟现实设备之二(A Brief Summary of Several VR Devices) 多通道软件同步——代码设计 多通道的同步问题 《自己实现EarthSculptor的Splatting地形》的源代码 Interesting story about DI-Guy OST试验版 透视校正插值(Perspective-Correct Interpolation) Ogre中在SceneNode节点旁显示二维字的代码 Perlin噪声 虚拟现实现状——设备篇(译:State of VR-Devices) 多线程中Sleep函数的调用 用WiiRemote进行头部跟踪(Head Tracking for Desktop VR Displays using the WiiRemote) 分析碰撞检测库Opcode 用NVPerfHUD来分析3D程序
利用billboard实现云的仿真
任程 · 2008-03-25 · via 博客园 - 任程

仿照微软模拟飞行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程序作为参考。