poseidon 发表于 2015-12-24 23:51:33

关于VirtualPlanetBuilder生成地形中地形和贴图不匹配的问题分析

本帖最后由 poseidon 于 2015-12-31 15:26 编辑

最近在使用VirtualPlanetBuilder来生成地形,方法如下:
      1. 准备相关的材料,有.tif格式的地形文件,以及和地形文件相匹配的.tif格式的纹理贴图
      2. 使用命令生成地形文件,osgdem --xx 10 --yy 10 -t 002.tif --xx 10 --yy 10 -d nansan.tif -l 6 -v 0.1 -o nansan01.ive (--no-mip-mapping)
但是结果并不令人满意,如图所示
恕本人眼拙,看到图片我以为是地形数据和贴图之间差了90度,以造成这样的结果。然后把沿逆时针旋转了90度后,贴图和地形数据还是不匹配,然后又想了各种的原因都不对。最后看到本论坛里面有一个帖子问到类似的问题,就怀疑是不是地形和数据差了180度?就试着将加载地形数据时的 --yy 后面的10改为负值 -10,命令改为:osgdem --xx 10 --yy 10 -t 002.tif --xx 10 --yy -10 -d nansan.tif -l 6 -v 0.1 -o nansan01.ive (--no-mip-mapping)。结果显示为



从这张图就可以看到,地形数据和贴图是比较吻合的,但是这样也不行,两者不能重叠在一起啊。其实通过这两张图的对比,可以看到第一张图对应的状态,地形数据和贴图呈上下颠倒的状态,即地形数据的左上角对应了贴图的左下角,地形数据的右上角对应了贴图的右下角。这样的话,可以这样解决,在ps中将贴图进行“垂直翻转”,然后用翻转后的贴图和地形数据重新生成。(注意:这样做是有问题的,下面要讲到)结果如下:


结果显示,地形数据和贴图匹配的相当的好,三维立体显示效果也很逼真。
但是这里还是有一个问题,虽然说三维立体显示地形和纹理匹配的很好,但是生成的地形与实际的并不一致,即本来应该在右上角的,在生成的地形中却跑到了坐下角了。这个问题也很好解决,纹理贴图不做处理,而是对地形文件进行“垂直翻转”的处理,这样跟原始的贴图恰好匹配。也和实际的地形匹配。

在这里记录一下自己所犯的错误以及自己的心得,希望对大家有所借鉴。

Capricorn-1123 发表于 2015-12-28 18:57:31

楼主您好,请教您个问题,看您的图片,您在贴图的时候没有产生“osgdem已停止工作的错误”,我的命令是osgdem.exe --xx 10 --yy 10 -t 1.tif --xx 10 --yy -10 -d a.tif -l 6 -v 0.1 -o model.ive (--no-mip-mapping),加最后按句话和不加都会导致osgdem已停止工作,只要不加-t贴图的那句osgdem.exe -d a.tif -l 6 -v 0.1 -o model.ive (--no-mip-mapping) 就没有问题,这个事情困扰很长时间了,还没得到解决,可否请您帮个忙?

poseidon 发表于 2015-12-31 09:24:17

恩,按照道理来说应该没什么问题的,检查一下之前的编译是否有问题

poseidon 发表于 2015-12-31 09:26:42

还有一个问题需要说明,如果要求生成的地形具有较高的匹配度,需要尽可能使得地图文件和纹理贴图大小相等,这里说的大小是指像素
页: [1]
查看完整版本: 关于VirtualPlanetBuilder生成地形中地形和贴图不匹配的问题分析