Линии не отображаются в osgEarth & Qt
Я пытаюсь использовать osgEarth в приложении Qt (5.12) в Windows, и у меня возникают некоторые проблемы с отображением строк - например, они просто не отображаются.
Следуя некоторым инструкциям по сборке osg, osgQt и osgEarth здесь, в Stack Overflow, мне удалось собрать все для сборки и запуска.
Если я запускаю osgearth_windows с файлом annotation.earth, он работает нормально, и я вижу несколько фигур с границами и несколько линий на земном шаре.
Если я запускаю с моим приложением osgQt, я вижу формы и метки, но нет границ на формах или отдельных линиях.
Мне любопытно, сталкивался ли кто-нибудь с этим ранее, и если есть какие-то настройки, которые я должен сделать с Qt, это решит эту проблему.
Точно так же, если я попробую некоторые из встроенных примеров программ osgEarth, таких как osgearth_features.exe, я увижу глобус и желтые границы вокруг каждой страны. Если я следую приведенному там коду (то, как он создает карту, затем загружает базовую карту, затем FeatureSoureLayer и т. Д.), Я вижу глобус и метки в своем приложении Qt, но все еще без строк.
Опять же, у меня также был еще один вопрос о переполнении стека (Как добавить функции osgEarth во время выполнения?) И я попытался решить проблему добавления PolygonSymbol на карту. Я могу видеть зеленый треугольник, но не вижу границы на нем.
Любая помощь будет принята с благодарностью!
1 ответ
Убедитесь, что вы звоните это:
#include <osgEarth/GLUtils>
...
GLUtils::setGlobalDefaults(camera->getOrCreateStateSet());
куда camera
это камера на главном экране или другой узел в верхней части графа сцены.
Для шейдера, который отображает линии, необходимо инициализировать некоторые стандартные значения по умолчанию. Этот код делает это.