基于BillBoard的云绘制

Edit on Github

终于把云画出来了,只是初步结果,静态的,简陋了点。还有很多工作要做,如细节调整(如加噪声)、穿云过渡、加速(如远处的云用Imposter)风的模拟、随时间的变化、光源影响、阴影(比较麻烦)。参照的是 RandomChaoVolumetric Clouds , 因为是 C# 说的,临时花一晚上学习了C#,直接从XNA 自带的 Tutorial 开始学,并按着做了个小游戏。有C++ 基础学习起来很快(其实只是看代码根本不用学,直接可以看,不清楚的地方F1就好了),同时也体会到 C++ 真难学啊!用 Ogre 改写算法倒是比较快(因为算法简单啦),花了一天多。主要的时间都是在调试了,尤其是写 Shader 时,HLSL 编译器有自动优化一些没用的 uniform 参数,如果你定义了这个的 uniform 参数,程序就直接 crash 了,相当无语 :( ,我想这是很多 Shader 新手都会遇到的问题,BT 的是错误很难发现。如果有时间就再试试其它考虑到物理模型的实现。