研究地形渲染中——经过一番辛勤努力实现了QuadTree

  从发上一篇文章搞出地形程序框架之后,就一直在看《Focus On 3D Terrain》的四叉树部分,感觉这个办法最经典最可靠,当然,顺应我的低智商,也最容易实现:D于是努力了两天,把QuadTree地形渲染给实现了,虽然时间不长,收获和启发还是不少。

  和那些CLOD,Geomipmap,ROAM相比,QuadTree的实现确实是比较简单了,对一个完整的网格进行四叉分割,选那些需要细化的地块继续分割,直到细节效果达到要求为止,最后画出来,大概的描述就是这样。具体实现还是有不少要注意的地方,数据和参数太多了,一不小心就错的很离谱。最后的实现是自己参考了很多资料独立完成的,感觉有不少细节都可以改进。有以下几点:

  1.看了《Focus On 3D Terrain》,作者是从整个地块开始分割的,判断摄像机所在的地块,然后用顶点距摄像机的水平距离和高度作为参数,整出了一个复杂的公式,作为判断是否分割一个地块的依据,我感觉这样计算实在麻烦了,把这个判断改为视距判断,直接计算地块中点到摄像机的距离,判断是否达到某个精度等级。这样的好处是地块细节的变化只和观察距离相关,比如视点在高空观察时(比如飞行或俯视的战略游戏),所有突起的山顶都会有高一些的细节,而不是只有摄像机下方区域有高细节。

  2.补洞。正好工作比较空闲,花了一天时间研究了各种填补裂缝的方法,期间除了这本经典著作,还看了叶志军的《Visual C++/DirectX9 3D游戏开发导引》(我学D3D的入门书),上了GameRes论坛,找到了程东哲牛人写的一篇《地形制作全攻略》

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值