Импорт объектов в Qt3D не работает, но нет сообщения об ошибке - PullRequest
0 голосов
/ 08 октября 2018

У меня есть приложение Qt3D, которое импортирует форматы файлов STL:

m_sceneLoaderEntity = new Qt3DCore::QEntity();
m_sceneLoaderEntity->setObjectName("New imported entity");

Qt3DRender::QSceneLoader *sceneLoader = new Qt3DRender::QSceneLoader(m_sceneLoaderEntity);

sceneLoader->setSource(fileUrl); // fileUrl is input

m_sceneLoaderEntity->addComponent(sceneLoader);

Мое приложение собирается и работает без проблем с Qt 5.9.0, 5.9.1, 5.9.2, 5.9.3 и 5.9+0,4.Пока все хорошо.

Мое приложение прекрасно работает с Qt 5.9.5, 5.9.6 и Qt 5.11.0, но при запуске не может импортировать файлы STL и НЕ выдает никаких сообщений об ошибках!Кто-нибудь может дать мне подсказку?


Я понимаю, что Qt3D использует assimp для импорта файлов STL.Я попытался заменить динамическую библиотеку Qimp 5.11.0 assimp, т.е. libassimpsceneimport.so, библиотекой Qt 5.9.4, но она не сработала:

m3g1dd@linux:~/Qt5.11.0/5.11.0/gcc_64/plugins/sceneparsers> ls -lhrtci
total 17M
1613482572 -rwxrwxr-x 1 m3g1dd m3g1dd 172K Jun 10 08:41 libgltfsceneimport.so
1613482571 -rwxrwxr-x 1 m3g1dd m3g1dd 226K Jun 10 08:41 libgltfsceneexport.so
1613596422 -rwxr-xr-x 1 m3g1dd m3g1dd 6.8M Oct  8 10:00 libassimpsceneimport.so.Qt5.9.4
1613482570 -rwxrwxr-x 1 m3g1dd m3g1dd 9.8M Oct  8 10:00 libassimpsceneimport.so

1 Ответ

0 голосов
/ 08 октября 2018

Я скачал и установил Qt 5.11.2 , и мой код импорта STL работает нормально, как показано ниже.Но в импортированном STL цвета Ambient, Diffuse и Specular установлены по умолчанию на белый, что, как мне кажется, связано с проблемой assimp library , упомянутой на этих:

https://bugreports.qt.io/browse/QTBUG-69385

https://github.com/assimp/assimp/issues/2059

Imported STL

...