diff options
author | Mike Krus <mike.krus@kdab.com> | 2023-11-01 16:48:36 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2023-11-15 06:28:41 +0000 |
commit | 4ae1de64317863aa3128bb6aabfc5a1187194117 (patch) | |
tree | d3c734ebe207eab08abf8fdf9827499708288b4f | |
parent | 6a82d3b8ea8484e29b3fd5909b76f4ada4e4e9bd (diff) |
Update Assimp to v5.3.1
Change-Id: I8049e1c38247f62f1153741c906bae7811f9735c
Pick-to: 6.6 6.5 6.2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/3rdparty/assimp/assimp.cmake | 21 | ||||
-rw-r--r-- | src/3rdparty/assimp/config.h | 27 | ||||
-rw-r--r-- | src/3rdparty/assimp/qt_attribution.json | 4 | ||||
-rw-r--r-- | src/3rdparty/assimp/revision.h | 4 | ||||
m--------- | src/3rdparty/assimp/src | 0 | ||||
-rw-r--r-- | src/plugins/sceneparsers/assimp/CMakeLists.txt | 1 |
6 files changed, 51 insertions, 6 deletions
diff --git a/src/3rdparty/assimp/assimp.cmake b/src/3rdparty/assimp/assimp.cmake index affd2ef06..30c77d55e 100644 --- a/src/3rdparty/assimp/assimp.cmake +++ b/src/3rdparty/assimp/assimp.cmake @@ -22,11 +22,13 @@ function(qt3d_extend_target_for_assimp target) ${assimpDir}/src/code/AssetLib/Collada/ColladaLoader.cpp ${assimpDir}/src/code/AssetLib/Collada/ColladaLoader.h ${assimpDir}/src/code/AssetLib/Collada/ColladaParser.cpp ${assimpDir}/src/code/AssetLib/Collada/ColladaParser.h ${assimpDir}/src/code/Common/Assimp.cpp - ${assimpDir}/src/code/Common/AssertHandler.cpp ${assimpDir}/src/code/Common/AssertHandler.h + ${assimpDir}/src/code/Common/AssertHandler.cpp ${assimpDir}/src/include/assimp/AssertHandler.h + ${assimpDir}/src/code/Common/Base64.cpp ${assimpDir}/src/include/assimp/Base64.hpp ${assimpDir}/src/code/Common/BaseImporter.cpp ${assimpDir}/src/code/Common/BaseProcess.cpp ${assimpDir}/src/code/Common/BaseProcess.h ${assimpDir}/src/code/Common/Bitmap.cpp ${assimpDir}/src/code/Common/CreateAnimMesh.cpp + ${assimpDir}/src/code/Common/Compression.cpp ${assimpDir}/src/code/Common/Compression.h ${assimpDir}/src/code/Common/DefaultIOStream.cpp ${assimpDir}/src/code/Common/DefaultIOSystem.cpp ${assimpDir}/src/code/Common/DefaultLogger.cpp @@ -36,6 +38,7 @@ function(qt3d_extend_target_for_assimp target) ${assimpDir}/src/code/Common/IFF.h ${assimpDir}/src/code/Common/Importer.cpp ${assimpDir}/src/code/Common/Importer.h ${assimpDir}/src/code/Common/ImporterRegistry.cpp + ${assimpDir}/src/code/Common/IOSystem.cpp ${assimpDir}/src/code/Common/PolyTools.h ${assimpDir}/src/code/Common/PostStepRegistry.cpp ${assimpDir}/src/code/Common/RemoveComments.cpp @@ -74,6 +77,7 @@ function(qt3d_extend_target_for_assimp target) ${assimpDir}/src/code/AssetLib/FBX/FBXTokenizer.cpp ${assimpDir}/src/code/AssetLib/FBX/FBXTokenizer.h ${assimpDir}/src/code/AssetLib/FBX/FBXUtil.cpp ${assimpDir}/src/code/AssetLib/FBX/FBXUtil.h ${assimpDir}/src/code/Material/MaterialSystem.cpp ${assimpDir}/src/code/Material/MaterialSystem.h + ${assimpDir}/src/code/Geometry/GeometryUtils.cpp ${assimpDir}/src/code/Geometry/GeometryUtils.h ${assimpDir}/src/code/AssetLib/Obj/ObjFileData.h ${assimpDir}/src/code/AssetLib/Obj/ObjFileImporter.cpp ${assimpDir}/src/code/AssetLib/Obj/ObjFileImporter.h ${assimpDir}/src/code/AssetLib/Obj/ObjFileMtlImporter.cpp ${assimpDir}/src/code/AssetLib/Obj/ObjFileMtlImporter.h @@ -117,7 +121,6 @@ function(qt3d_extend_target_for_assimp target) ${assimpDir}/src/code/AssetLib/glTF2/glTF2Asset.h ${assimpDir}/src/code/AssetLib/glTF2/glTF2Asset.inl ${assimpDir}/src/code/AssetLib/glTF2/glTF2AssetWriter.h ${assimpDir}/src/code/AssetLib/glTF2/glTF2AssetWriter.inl ${assimpDir}/src/code/AssetLib/glTF2/glTF2Importer.cpp ${assimpDir}/src/code/AssetLib/glTF2/glTF2Importer.h - ${assimpDir}/src/contrib/pugixml/contrib/foreach.hpp ${assimpDir}/src/contrib/pugixml/src/pugixml.hpp ${assimpDir}/src/contrib/poly2tri/poly2tri/common/shapes.cc ${assimpDir}/src/contrib/poly2tri/poly2tri/common/shapes.h ${assimpDir}/src/contrib/poly2tri/poly2tri/common/utils.h @@ -139,7 +142,6 @@ function(qt3d_extend_target_for_assimp target) ${assimpDir}/src/include/assimp/DefaultIOStream.h ${assimpDir}/src/include/assimp/DefaultIOSystem.h ${assimpDir}/src/include/assimp/DefaultLogger.hpp - ${assimpDir}/src/include/assimp/Defines.h ${assimpDir}/src/include/assimp/Exceptional.h ${assimpDir}/src/include/assimp/Exporter.hpp ${assimpDir}/src/include/assimp/GenericProperty.h @@ -221,6 +223,7 @@ function(qt3d_extend_target_for_assimp target) ASSIMP_BUILD_NO_EXPORT ASSIMP_BUILD_NO_HMP_IMPORTER ASSIMP_BUILD_NO_IFC_IMPORTER + ASSIMP_BUILD_NO_IQM_IMPORTER ASSIMP_BUILD_NO_IRRMESH_IMPORTER ASSIMP_BUILD_NO_IRR_IMPORTER ASSIMP_BUILD_NO_LIMITBONEWEIGHTS_PROCESS @@ -305,6 +308,11 @@ function(qt3d_extend_target_for_assimp target) Qt::ZlibPrivate ) + qt_internal_extend_target(${target} CONDITION (EMSCRIPTEN OR ANDROID) AND NOT QT_FEATURE_qt3d_system_assimp + DEFINES + USE_FILE32API + ) + # special case begin qt_internal_extend_target(${target} CONDITION ICC AND NOT QT_FEATURE_qt3d_system_assimp AND (NOT CMAKE_CROSSCOMPILING OR NOT host_build) COMPILE_OPTIONS @@ -344,6 +352,13 @@ function(qt3d_extend_target_for_assimp target) /bigobj ) + qt_internal_extend_target(${target} CONDITION GCC AND (NOT QT_FEATURE_qt3d_system_assimp) AND (host_build OR NOT QT_FEATURE_qt3d_system_assimp) + SOURCES + ../../../3rdparty/assimp/src/code/Common/ZipArchiveIOSystem.cpp + COMPILE_OPTIONS + "-Wno-cast-function-type" + ) + # Silence warnings in 3rdparty code if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") set_source_files_properties(${assimpDir}/src/code/AssetLib/Collada/ColladaParser.cpp PROPERTIES COMPILE_FLAGS "-Wno-strict-aliasing") diff --git a/src/3rdparty/assimp/config.h b/src/3rdparty/assimp/config.h index b9a4281e7..0a02a8c08 100644 --- a/src/3rdparty/assimp/config.h +++ b/src/3rdparty/assimp/config.h @@ -558,6 +558,15 @@ enum aiComponent // Various stuff to fine-tune the behaviour of specific importer plugins. // ########################################################################### +// --------------------------------------------------------------------------- +/** @brief Importers which parse JSON may use this to obtain a pointer to a + * rapidjson::IRemoteSchemaDocumentProvider. + * + * The default value is nullptr + * Property type: void* + */ +#define AI_CONFIG_IMPORT_SCHEMA_DOCUMENT_PROVIDER \ + "IMPORT_SCHEMA_DOCUMENT_PROVIDER" // --------------------------------------------------------------------------- /** @brief Set whether the fbx importer will merge all geometry layers present @@ -694,6 +703,15 @@ enum aiComponent "AI_CONFIG_FBX_CONVERT_TO_M" // --------------------------------------------------------------------------- +/** @brief Will enable the skeleton struct to store bone data. + * + * This will decouple the bone coupling to the mesh. This feature is + * experimental. + */ +#define AI_CONFIG_FBX_USE_SKELETON_BONE_CONTAINER \ + "AI_CONFIG_FBX_USE_SKELETON_BONE_CONTAINER" + +// --------------------------------------------------------------------------- /** @brief Set the vertex animation keyframe to be imported * * ASSIMP does not support vertex keyframes (only bone animation is supported). @@ -1050,6 +1068,15 @@ enum aiComponent #define AI_CONFIG_IMPORT_COLLADA_IGNORE_UP_DIRECTION "IMPORT_COLLADA_IGNORE_UP_DIRECTION" // --------------------------------------------------------------------------- +/** @brief Specifies whether the Collada loader will ignore the provided unit size. + * + * If this property is set to true, the unit size provided in the file header will + * be ignored and the file will be loaded without scaling the assets. + * Property type: Bool. Default value: false. + */ +#define AI_CONFIG_IMPORT_COLLADA_IGNORE_UNIT_SIZE "IMPORT_COLLADA_IGNORE_UNIT_SIZE" + +// --------------------------------------------------------------------------- /** @brief Specifies whether the Collada loader should use Collada names. * * If this property is set to true, the Collada names will be used as the node and diff --git a/src/3rdparty/assimp/qt_attribution.json b/src/3rdparty/assimp/qt_attribution.json index b5dfc1667..658e18077 100644 --- a/src/3rdparty/assimp/qt_attribution.json +++ b/src/3rdparty/assimp/qt_attribution.json @@ -6,7 +6,9 @@ "QtUsage": "Used for importing assets for use with Qt Quick 3D", "Homepage": "http://www.assimp.org/", - "Version": "5.0.1", + "Version": "5.3.1", + "DownloadLocation": "https://github.com/assimp/assimp/releases/tag/v5.3.1", + "License": "BSD 3-clause \"New\" or \"Revised\" Licensee", "LicenseId": "BSD-3-Clause", "LicenseFile": "LICENSE", diff --git a/src/3rdparty/assimp/revision.h b/src/3rdparty/assimp/revision.h index 3b9653281..2d7b89937 100644 --- a/src/3rdparty/assimp/revision.h +++ b/src/3rdparty/assimp/revision.h @@ -1,11 +1,11 @@ #ifndef ASSIMP_REVISION_H_INC #define ASSIMP_REVISION_H_INC -#define GitVersion 0x5a38cd0a +#define GitVersion 0xc60a259f #define GitBranch "HEAD" #define VER_MAJOR 5 -#define VER_MINOR 0 +#define VER_MINOR 3 #define VER_PATCH 1 #define VER_BUILD 0 diff --git a/src/3rdparty/assimp/src b/src/3rdparty/assimp/src -Subproject 5a38cd0a03015ceabbd5bc6efb0730dde1ef74e +Subproject c60a259fd35f09b8896b2920d48c436145914aa diff --git a/src/plugins/sceneparsers/assimp/CMakeLists.txt b/src/plugins/sceneparsers/assimp/CMakeLists.txt index 6d9d44c20..f9a6a9fb2 100644 --- a/src/plugins/sceneparsers/assimp/CMakeLists.txt +++ b/src/plugins/sceneparsers/assimp/CMakeLists.txt @@ -27,6 +27,7 @@ qt_internal_add_plugin(AssimpSceneImportPlugin Qt::Core Qt::CorePrivate Qt::Gui + NO_UNITY_BUILD ) #### Keys ignored in scope 1:.:.:assimp.pro:<TRUE>: |