Regarding assimp, it is not in qt3d_build_dir/plugins/sceneparsers, only gltf is there. I see in the sceneparsers\assimp source code that it seems to use zlib, so perhaps this is the problem. I will recompile things with zlib library included.
The ability to now choose opengl/vulkan/metal/directx backend is impressive work. Regarding using OpenGL/RHI backend, does this mean that QtQuick always uses RHI and that consequently Qt3D code inside a Scene3D(which is QtQuick) will also be limited to RHI type OpenGL? If that is the case, it will be hard to port Qt5 applications using advanced Qt3D/OpenGL over to Qt6. ons. 17. feb. 2021 kl. 12:27 skrev Paul Lemire <[email protected]>: > > On 2/17/21 11:15 AM, Daniel Patel wrote: > > Actually all errors except the missing assimpl plugin problem went away > when also setting environment variable QSG_RHI_BACKEND to opengl > So the only open question now is how to get the assimp to work. > > Do you have a sceneparsers/libassimpgsceenimport in your > qt3d_build_dir/plugins/sceneparsers? Was that sceneparsers folder copied to > qt_install_dir/plugins/? > > And a new question is: why does it matter what QSG_RHI_BACKEND is set to > when I already specified that qt3d should use opengl directly and not use > opengl through RHI (which has limited functionality) > > QSG_RHI_BACKEND does 2 things: > > 1) It tells Qt 3D when using the RHI rendering backend which underlying > API it should target (only useful when QT3D_RENDERER=rhi which is the > default). > > 2) It also tells QtQuick (which now uses RHI) which backend it should work. > > So what could have happened is that on an example using both QtQuick and > Qt3D, you had QT3D_RENDERER=opengl so Qt 3D was using OpenGL but QtQuick > was using RHI and defaulted to a different rendering backend than OpenGL. > > > > ons. 17. feb. 2021 kl. 10:59 skrev Daniel Patel <[email protected] > >: > >> Thank you Mike for telling how to send in parameters correctly. For the >> qt-configure-module.bat the syntax "-DFEATURE_qt3d_simd_avx2=ON" worked but >> I didn't need to set it. The other syntax "-- -qt3d-simd=avx2" worked for >> the qt6 configure script and I was able to tell it where zlib was by using >> "configure -prefix C:\Qt\Qt-6.1 -debug-and-release -- >> -DZLIB_LIBRARY=C:/Users/danie/vcpkg/installed/x64-windows/lib/zlib.lib -- >> -DZLIB_INCLUDE_DIR=C:/Users/danie/vcpkg/installed/x64-windows/include" >> I will try to use this for including zlib so that perhaps the "zlib.h not >> found" error goes away when compiling qt3d6.0.1 (qt3d-everywhere-src-6.0.1) >> >> Currently I was able to compile qt3d6.0.0 (qt3d-everywhere-src-6.0.0), >> but I had to first compile qt6, then add the qt3d folder and then compile >> qt3d. If the qt3d folder is present when qt6 starts compiling, it tries to >> compile qt3d folder as well, but fails. >> Another thing is that when compiling qt6 with --paralell keyword, >> sometimes I got an internal compiler error. But then I would just issue the >> compile command again and it continued. >> >> After compilation, I copied the dlls over to the install folder according >> to Pauls advice. >> I tried out the qt3d examples (after setting environment variable >> QT3D_RENDERER to opengl). Most worked, but a few didn't: >> -multiviewport example gave error "Found no suitable importer plugin for >> QUrl("qrc:/Gear_scene.dae")" >> I also actually had this error when compiling qt5.15.2. It seems like >> assimp is not made automatically anymore. >> Is it because "Checking for Assimp", and "System Assimp" returns no as >> shown below? >> ------ >> Checking for Assimp... no >> Checking for Autodesk FBX... no >> Qt 3D: >> Assimp ................................. yes >> System Assimp .......................... no >> ----- >> >> -compute-particles and some other examples gave this error: ASSERT: >> "QOpenGLContext::currentContext()" in file >> C:\qtsrc\qt61\qt5\qt3d-everywhere-src-6.0.0\src\quick3d\imports\scene3d\scene3drenderer.cpp, >> line 271 >> >> >> tir. 16. feb. 2021 kl. 15:17 skrev Mike Krus <[email protected]>: >> >>> Hi >>> >>> Assuming qt-configure-module.bat invokes qmake, the right way of passing >>> the configure options is β-- -qt3d-simd=avx2β >>> If itβs invokes cmake, then try -DFEATURE_qt3d_simd_avx2=ON >>> >>> Mike >>> >>> β >>> Mike Krus | [email protected] | Senior Software Engineer & Teamlead >>> KDAB (UK) Ltd., a KDAB Group company >>> Tel: UK Office +44 1625 809908 Mobile +44 7833 491941 >>> KDAB - The Qt Experts, C++, OpenGL Experts >>> >>> >>> > On 16 Feb 2021, at 13:31, Daniel Patel <[email protected]> >>> wrote: >>> > >>> > Using a space didn't work either. I will try to use cmake though. >>> > The reason I wanted to use avx2 was to try to get rid of the >>> compilation error: Project ERROR: Could not find feature qt3d-simd-avx2 >>> > >>> > >>> > tir. 16. feb. 2021 kl. 14:22 skrev Paul Lemire <[email protected]>: >>> > >>> > >>> > On 2/16/21 1:33 PM, Daniel Patel wrote: >>> >> Thanks a lot for the reply Paul, it was useful as always. >>> >> Copying the files made the qt3d examples work! >>> >> I realized that the compile error showed up because qt6 itself was >>> only compiled in debug mode. >>> >> With the appropriate flag to the configure script, qt6 now compiles >>> both in debug and in release. >>> >> >>> >> However, now when compiling qt3d I ran into the error : "Could not >>> find feature qt3d-simd-avx2" (I already configured and compiled qt6 with >>> -avx2 flag) >>> >> I am just not able to tell/configure qt3d to use avx2 instead of >>> sse2. Currently "qmake .." returns: >>> >> Use SSE2 instructions .................. yes >>> >> >>> >> Use AVX2 instructions .................. no >>> >> >>> >> After running configure for the qt6 build I got this text as output: >>> >> "To configure and build other Qt modules, you can use the following >>> convenience script: >>> >> C:/Qt/Qt-6.1/bin/qt-configure-module.bat" >>> >> So i did a "c:\Qt\Qt-6.1\bin\qt-configure-module.bat >>> qt3d-everywhere-src-6.0.0 --qt3d-simd=avx2" but that failed with >>> "Unknown command line option '--qt3d-simd=avx2'" (I also tried >>> -avx2-qt3d-simd and -qt3d-simd-avx2) >>> >> Anyone knows how to set configure flags for qt3d before compiling it? >>> > >>> > What about -qt3d-simd avx2 (just a space)? That's what I use when >>> compiling on linux with qmake. For Qt 6, I've switched to cmake though, >>> option to use is -DFEATURE_qt3d_simd_avx2=ON on the cmake command line. >>> > >>> > That being said, the avx2 option for Qt 3D essentially only yields >>> better performance when we multiply matrices internally. The sse2 option is >>> not much slower, a lot faster than relying on QMatrix4x4 (though this might >>> have changed in Qt6, haven't checked). >>> > >>> > >>> > >>> >> >>> >> On a side note I also was not able to get qt6 configure script to >>> detect zlib libraries even though I set appropriate environment variables >>> and sent in paths using both -D option as well as -I and -L option. >>> >> >>> >> man. 15. feb. 2021 kl. 11:47 skrev Paul Lemire <[email protected] >>> >: >>> >> I can't really help about the compile issues. But I should be able to >>> help regarding the plugin error. >>> >> >>> >> You likely need to copy a few more things from the qt3d build dir to >>> your Qt install dir: >>> >> >>> >> qt3d_build_dir/qml/Qt3D into Qt_Install_Dir/qml/ >>> >> >>> >> qt3d_build_dir/qml/QtQuick/* into Qt_Install_Dir/qml/QtQuick/ >>> >> >>> >> qt3d_build_dir/plugins/* into Qt_Install_Dir/plugins/ >>> >> >>> >> (the plugins dir contains a renderers folder which contains the Qt3D >>> render plugins) >>> >> >>> >> I hope that helps, >>> >> >>> >> Paul >>> >> >>> >> On 2/15/21 11:03 AM, Daniel Patel wrote: >>> >>> I have compiled qt6.1 from source which works and now I am trying to >>> compile qt3d also from source by downloading from >>> https://download.qt.io/official_releases/additional_libraries/qt3d/6.0/6.0.0/ >>> and following the qmake instructions from: >>> https://www.kdab.com/getting-your-3d-ready-for-qt-6/ >>> >>> >>> >>> I first tried to download and compile qt3d-everywhere-src-6.0.1 but >>> got an error about missing zlib.h. Instead of trying to fix this I quickly >>> instead tried with qt3d-everywhere-src-6.0.0 and this compiled fine. >>> >>> However it only compiled debug dlls and not release dlls. I tried to >>> do nmake all and nmake release but the latter gave the error "NMAKE : fatal >>> error U1073: don't know how to make >>> 'C:\qtsrc\qt61\qt5\qtbase\lib\Qt6Gui.lib'" >>> >>> >>> >>> I then decided to try out the debug build. First I noticed that the >>> qt3d dlls didnt seem to have been copied over to the correct folder when I >>> did nmake install. So I copied them over manually and then started >>> basicshapes-cpp.exe, but this showed the runtime error: Unable to find >>> renderer plugin for opengl. >>> >>> Any hints for what to do? >>> >>> >>> >>> Best >>> >>> Daniel >>> >>> >>> >>> >>> >>> _______________________________________________ >>> >>> Interest mailing list >>> >>> >>> >>> [email protected] >>> >>> https://lists.qt-project.org/listinfo/interest >>> >> -- >>> >> Paul Lemire | >>> >> [email protected] >>> >> | Senior Software Engineer >>> >> KDAB (France) S.A.S., a KDAB Group company >>> >> Tel: France +33 (0)4 90 84 08 53, >>> >> http://www.kdab.fr >>> >> >>> >> KDAB - The Qt, C++ and OpenGL Experts >>> >> >>> > -- >>> > Paul Lemire | >>> > [email protected] >>> > | Senior Software Engineer >>> > KDAB (France) S.A.S., a KDAB Group company >>> > Tel: France +33 (0)4 90 84 08 53, >>> > http://www.kdab.fr >>> > >>> > KDAB - The Qt, C++ and OpenGL Experts >>> > >>> > _______________________________________________ >>> > Interest mailing list >>> > [email protected] >>> > https://lists.qt-project.org/listinfo/interest >>> >>> -- > Paul Lemire | [email protected] | Senior Software Engineer > KDAB (France) S.A.S., a KDAB Group company > Tel: France +33 (0)4 90 84 08 53, http://www.kdab.fr > KDAB - The Qt, C++ and OpenGL Experts > >
_______________________________________________ Interest mailing list [email protected] https://lists.qt-project.org/listinfo/interest
