osgEarth和Qt中未显示行

时间:2019-04-25 17:14:42

标签: qt openscenegraph osgearth

我正在尝试在Windows上的Qt(5.12)应用程序中使用osgEarth,但在显示行时遇到了一些麻烦-例如,它们根本没有显示。

按照一些有关在Stack Overflow上构建osg,osgQt和osgEarth的说明,我设法使所有内容得以构建和运行。

如果运行带有批注.earth文件的osgearth_windows,它运行良好,并且我看到一些带有边框的形状和地球上的几条线。

如果使用osgQt应用程序运行,我会看到形状和标签,但是形状或单独的线条上没有边框。

我很好奇,是否有人以前曾经历过这种情况,如果我应该对Qt进行一些设置以解决此问题。

类似地,如果我尝试一些内置的osgEarth示例程序,例如osgearth_features.exe,我会看到每个国家周围的地球和黄色边界。如果我遵循其中的代码(它创建地图,然后加载底图,然后加载FeatureSoureLayer的方式等),则可以看到地球和Qt应用程序中的标签,但仍然没有行。

同样,我在另一个堆栈溢出问题(如何在运行时添加osgEarth功能?)上也遇到了另一个问题,并尝试了向地图添加PolygonSymbol的解决方案。我可以看到绿色三角形,但看不到其边框。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

确保您正在拨打此电话:

ubsan

#include <osgEarth/GLUtils> ... GLUtils::setGlobalDefaults(camera->getOrCreateStateSet()); 是主视图中的摄影机,还是场景图顶部的另一个节点。

渲染线条的着色器需要初始化一些默认的统一值。这段代码可以做到这一点。