Линии не отображаются в osgEarth & Qt - PullRequest
1 голос
/ 25 апреля 2019

Я пытаюсь использовать 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 Ответ

2 голосов
/ 25 апреля 2019

Убедитесь, что вы звоните по этому номеру:

#include <osgEarth/GLUtils>
...
GLUtils::setGlobalDefaults(camera->getOrCreateStateSet());

Где camera - камера на главном экране или другой узел в верхней части графа сцены.

Шейдердля рендеринга строк необходимо инициализировать некоторые стандартные значения.Этот код делает это.

...