我正在尝试在Windows上的Qt(5.12)应用程序中使用osgEarth,但在显示行时遇到了一些麻烦-例如,它们根本没有显示。
按照一些有关在Stack Overflow上构建osg,osgQt和osgEarth的说明,我设法使所有内容得以构建和运行。
如果运行带有批注.earth文件的osgearth_windows,它运行良好,并且我看到一些带有边框的形状和地球上的几条线。
如果使用osgQt应用程序运行,我会看到形状和标签,但是形状或单独的线条上没有边框。
我很好奇,是否有人以前曾经历过这种情况,如果我应该对Qt进行一些设置以解决此问题。
类似地,如果我尝试一些内置的osgEarth示例程序,例如osgearth_features.exe,我会看到每个国家周围的地球和黄色边界。如果我遵循其中的代码(它创建地图,然后加载底图,然后加载FeatureSoureLayer的方式等),则可以看到地球和Qt应用程序中的标签,但仍然没有行。
同样,我在另一个堆栈溢出问题(如何在运行时添加osgEarth功能?)上也遇到了另一个问题,并尝试了向地图添加PolygonSymbol的解决方案。我可以看到绿色三角形,但看不到其边框。
任何帮助将不胜感激!
答案 0 :(得分:1)
确保您正在拨打此电话:
ubsan
#include <osgEarth/GLUtils>
...
GLUtils::setGlobalDefaults(camera->getOrCreateStateSet());
是主视图中的摄影机,还是场景图顶部的另一个节点。
渲染线条的着色器需要初始化一些默认的统一值。这段代码可以做到这一点。