为OSG添加一个数字球(非OSGEarth方式)

本文介绍如何在OpenSceneGraph (OSG) 中添加一个模拟地球的数字球。通过在OSG中创建一个球体,设置地球半径,应用全球影像纹理,并添加经纬度坐标系统,实现了类似OSGEarth的功能。尽管OSG没有内置的地球操作器,但使用TerrainManipulator作为替代,并提到可能需要自定义操作器以达到OSGEarth的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

    // 精细度设置
    osg::TessellationHints* hints = <
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值