在我的上一篇博客OSG嵌入Qt的第二种方式:使用QOpenGLWidget/QGLWidget中,在空旷的世界中只添加了cow,显得空旷,由于最近在做OSGEarth相关的开发,于是想着在OSG中怎么来添加一个数字球呢?
于是,来研究了下。发现,比我想象中的简单很多。
思路是:
- 在OSG中添加一个球,这个用osg::Sphere
实现
- 给新添的球设置一个半径为地球的半径,具体的就是WGS84坐标的参考半径
- 给球添加一个纹理,当然是全球影像了
- 给球添加经纬度坐标系统,可以利用osg::CoordinateSystemNode
实现
- 给球添加操作器,目前的OSG中并没有像OSGEarth那样的earth操作器,只能拿TerrainManipulator来用了。若想要OSGEarth中那样操作器的效果,只能自己写一个了。
下面的代码:
// 精细度设置
osg::TessellationHints* hints = <