这是基于Qt+OSG的项目,可支持在局域网内多机器上同步进行操作地球(目前仅支持鼠标对球面的点击和缩放操作),可在球面上绘制点、线、面(可调整线宽),选择节点可对绘制的图形进行删除、撤销等操作,另外可在球面上展示特效(下雪,下雨,火焰等等),可在球表面上播放视频,可连接网络上的数据在球面展示。本项目已经开源,有兴趣的童鞋可对本项目提出建议或提交修改**(bug,优化等),看到了我会第一时间进行反馈。😊 (目前仅支持Windows系统)
开发环境: 💻Windows10+VS2017+Qt5.12.3 🌏OpenSceneGraph-3.6.5+OSGEarth-2.10+CMake-3.22.1 编译参考教程链接已经放在文末尾,过程可能还有细微的不同,有问题可在评论区讨论。 注意:VS编译前后的版本一定要保持一致,不然可能出现各种莫名奇妙的问题
- 将OSGEarth嵌入到Qt的MainWindow当中,创建停靠窗口,在停靠窗口当中进行做绝大多数的功能,在底下的状态栏中以展示球面的经纬度坐标。
- 在进行同步时所用的思路是:在球面上进行鼠标操作时,实际上,点击(缩放)并不能第一时间到达球体,而是通过一个中转的服务器程序到达,服务器程序功能目前非常简单,只负责接收和广播,这时,如不考虑丢包的情况,到达每个球体的操作的时序都是一致的。
- 在使用网络数据时,为了防止没网的时候出现界面卡顿的情况使用了多线程加载。
https://blog.csdn.net/qq_39618959/article/details/129606109
osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0) OSG源码编译 OSG教程::基于VS2013的64位OSGEarth编译 osg、osgearth教程VS2017_aspiretop的博客-程序员资料 再次提醒:最后使用的VS版本一定要和编译出来的库版本保持一致