我试图在Windows上的Qt (5.12)应用程序中使用osgEarth,但我在显示线条时遇到了一些问题--就像在中一样,它们根本没有显示出来。
按照在Stack Overflow上构建osg、osgQt和osgEarth的一些说明,我成功地构建并运行了所有内容。
如果我用annotation.earth文件运行osgearth_windows,它运行得很好,并且我看到一些带边框的形状,以及地球上的几条线。
如果我使用我的osgQt应用程序运行,我会看到形状和标签,但形状上没有边框或单独的线条。
我很好奇有没有人之前经历过这个问题,如果有一些我应该用Qt做的设置来解决这个问题。
类似地,如果我尝试一些构建的osgEarth示例程序,例如osgearth_features.exe,我将看到每个国家周围的地球和黄色边框。如果我遵循其中的代码(它创建地图的方式,然后加载底图,然后加载FeatureSoureLayer,等等),我可以在我的Qt应用程序中看到地球和标签,但仍然没有线。
同样,我还遇到了另一个堆栈溢出问题(如何在运行时添加osgEarth功能?)并尝试了向地图添加PolygonSymbol的解决方案。我可以看到绿色的三角形,但看不到它的边框。
任何帮助都将不胜感激!
发布于 2019-04-26 02:07:59
确保您调用的是:
#include <osgEarth/GLUtils>
...
GLUtils::setGlobalDefaults(camera->getOrCreateStateSet());其中camera是主视图中的摄影机,或场景图顶部的另一个节点。
渲染线的着色器需要初始化一些默认的统一值。这段代码可以做到这一点。
https://stackoverflow.com/questions/55854529
复制相似问题