地形LOD算法,在我个人看来就是一个用内存换显存的做法,一开始就将地图整个切割更一四叉树,资源有多大不必说了,如果你觉得这个对现在n个G的内存空间没关系的话,那就无所谓了,不过我还是不喜欢,而且这个的东西对于无限地图也不是很适用,所以在我们自己开发的游戏当中我一直压着没有加上去.
不过一个同事的做法让我觉得自己似乎已经思想老化了.
说真的,这个同事并不完全了解LOD,什么四叉树切分什么的他是完全没有心思细究的,他的做法很简单,作为一个支持无限地图的引擎,地形都是分成各个独立的块存在的,他的做法就是将经过视觉剔除后保留下来的块,根据每块地形中心到摄象机的距离,分成两种细节度,根据细节度的不一样,直接生成顶点序列,这里节省掉了四叉树生成以及每次的四叉树检测轮询.至于两个不同细节度方块之间的裂缝问题,他是直接将所有块的边沿都采取高细节度的处理方法,连边沿检测都免了.
最后测试出来的结果,地形面节省了差不多一半,这个对于采取多层贴图的引擎(如果不使用HLSL,而是使用DX的融合渲染渲染的话,一层地表就要渲染一次,其实效率不是很高),效果提高还是比较明显的.
看完他的代码之后,我是觉得,有些技术可能并不必要太过深入,有时候有些新人的想法,可能他是以偷懒为出发点,,,,,,,,,,,但是真的很实用,也让人很惊讶,所以有时候听听新人的意见,也可以保一下自己的青春性~~~~
|