3d图形开发--地形描制与lod

地形绘制比较简单,各种3d引擎实现基本相似,

引入一个高度图,用颜色深浅来表示高度。

依次扫描,根据高度,生成相应的三角形,最终形成地形



鬼怪引擎,将地形场景作为八叉树场影管理的子类进行派生。


采用的是性价比较高的GeoMipMap算法,

即把地形分成相同的块,称为tile。

根据每个tile距离观察者的距离,来决定该块的解析度。


边界处理,由于相邻块可能出现解析度不一,引起地形撕裂,在解析度不同的地方。

边缘部的三角形需要特殊处理


鬼怪还进行了更进一步的优化,会根据相邻的四个tile的解析度,

生成一个map


由于生成tile时,鬼怪采用的是顶点索引方式,如果在map里找到相应的项,

则顶点索引无需要再次生成,直接传给opengl即可,这样极大的提高生成lod的速度


仿真程序截图:(笔者尚未处理边解析度不同的边缘地带,所以地形中会出现撕裂的现象)


从每个块的"北"面边缘,针对解析度不同,进行处理后




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值