花时间学习了下DX11下的细分,感觉细分好处还真多,不象以前想的,模型已经够象了还需要什么细分。现在回过头来看看,细分用在下面有极大的优势。
1、大地形。像《鹰击长空》这类使用大地形的游戏,可以充分使用细分来更好地管理地形。可有人会说,增加顶点,会使系统性能下降,的确是这样。但其优势是细分距离摄影机近的。现在引出一个问题,需要程序管理哪些面需要细分,哪些不细分。这样就使细分用在关键的地方,性能下降了些,但真实性和开发的便捷性得到提高。按英伟达的介绍,山脉边缘在经过检测后也细分,这样看起来就更象了(比如分形模拟山脉就很拿手)。
2、某些特殊的模型。只要艺术家提供简单的模型,使用位移贴图就能提供相当精致的模型。
3、下面说说细分哪些,不细分哪些。换句话说,也就是细分的优化。在微软和英伟达的例子中提供了一些算法。如居于位移贴图密度的细分、居于屏幕空间的细分、居于物体距离的细分。同时还可以将在屏幕外的面不细分,背向观察者的面不细分。这样就有点想LOD一样了。所有以上的算法都是提供一个细分因子,就是哪个三角形使用多大的细分因子。
4、先说到这里,待代码完成后再来一篇。