summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2023-11-01 16:48:36 +0000
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-11-15 08:14:03 +0000
commit154a1a92c6b994d0f232c129b118aee87f512994 (patch)
tree05c6e48ecf84f2607a40b63d9d6438951a502821
parent288524fc3d883a189d8a9e502312ba2ccb54a01a (diff)
Update Assimp to v5.3.1
Change-Id: I8049e1c38247f62f1153741c906bae7811f9735c Pick-to: 6.5 6.2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Lemire <paul.lemire@kdab.com> (cherry picked from commit 4ae1de64317863aa3128bb6aabfc5a1187194117) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/3rdparty/assimp/assimp.cmake21
-rw-r--r--src/3rdparty/assimp/config.h27
-rw-r--r--src/3rdparty/assimp/qt_attribution.json4
-rw-r--r--src/3rdparty/assimp/revision.h4
m---------src/3rdparty/assimp/src0
-rw-r--r--src/plugins/sceneparsers/assimp/CMakeLists.txt1
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 773b0bf2e..1edc3cad7 100644
--- a/src/plugins/sceneparsers/assimp/CMakeLists.txt
+++ b/src/plugins/sceneparsers/assimp/CMakeLists.txt
@@ -25,6 +25,7 @@ qt_internal_add_plugin(AssimpSceneImportPlugin
Qt::Core
Qt::CorePrivate
Qt::Gui
+ NO_UNITY_BUILD
)
#### Keys ignored in scope 1:.:.:assimp.pro:<TRUE>: