|
按照论坛上相关资源改写了一个maps..earth文件,文件中的Test.ive是利用vpb生成的一个地形文件,采用了高斯投影坐标系,故.earth的type项设为projected,.earth文件如下:
<map name="tkm" type="projected">
<heightfield name="terrain-dem" driver="vpb">
<url> C:\Test.ive </url>
</heightfield>
</map>
采用win32下的vs2005写如下代码(参考zhufu0208代码):
int _tmain(int argc, _TCHAR* argv[])
{
int num =1;
char* path = "D:/maps.earth";
osg::ArgumentParser arguments(&num,&path);
osgViewer::Viewer viewer(arguments);
osg::ref_ptr<osg::Node> Test_node = osgDB::readNodeFile(D:/maps.earth);
viewer.setSceneData(Test_node.get());
viewer.realize();
std::cout<<path<<std::endl;
viewer.run();
return 0;
}
编译通过。调试显示Test_node指针非空,可是整个场景中并没有读入的ive地形文件。将.earth中的C:\Test.ive替换成C:\cow.osg也是同样无法显示出奶牛,不过Test_node指针仍然非空。所有的osgEarth的库已经放入环境变量了。
请教高手这是怎么回事呢,是否.earth中的坐标系设置有错呢?谢谢 |
|