Commit Graph

6206 Commits (d04dd1af9b3846f60a2e5598d09ced9a7b699703)

Author SHA1 Message Date
xiaohunqupo cc515746f7 Fix v140 compile errror 2022-03-31 14:58:31 +08:00
Danny许 8e075ce713
Update ObjFileParser.cpp 2022-03-31 14:53:33 +08:00
Danny许 18c4ebaa13
Fix compile in VC140 2022-03-31 14:28:35 +08:00
Filip Lundgren 4175198d04
Detect Roughness factor exported by Blender
Matches the logic used by Blender's own FBX exporter / importer.
2022-03-26 22:33:10 +01:00
Jan Krassnigg 537c46a42a Prevent nullptr access to normals-array in bitangent computation 2022-03-23 15:45:09 +01:00
Promit Roy 5ec7e57b99
Merge branch 'assimp:master' into master 2022-03-17 15:00:09 -04:00
Promit Roy 68d33a6e13 Added support for more bone weights in GLTF2
The GLTF2 importer doesn't actually read beyond the first four bone weights (first attribute). This patch expands the parser to store as many bone weights as are available in the file.
2022-03-17 14:55:26 -04:00
Promit Roy 765b38cf04 Update glTF2Asset.inl
Fixing mistakes in attribute names for GLTF. This causes attribute index to not be parsed out correctly (e.g. JOINTS_1) and fails the scene load.
2022-03-16 16:49:45 -04:00
Kim Kulling c2b05acaa6
Fix stack-overflow in MDLLoader
- Use correct len to copy filename.
- Closes https://github.com/assimp/assimp/issues/4447
2022-03-16 13:59:21 +01:00
Kim Kulling 552f3a308d
Fix nullptr dereferencing
- Check if we have any texture coordinates before calculating them
- closes https://github.com/assimp/assimp/issues/4445
2022-03-16 10:08:20 +01:00
Kim Kulling d594e6eea4
Merge branch 'master' into obj-pbr-explicit 2022-03-15 14:30:24 +01:00
Kim Kulling 0904490150
Merge branch 'master' into issue_4349 2022-03-15 14:11:57 +01:00
Kim Kulling b1dc8cfe56
Merge branch 'master' into master 2022-03-15 11:58:45 +01:00
Kim Kulling 68f3386c7b
Merge branch 'master' into metallic-roughness-split 2022-03-15 08:38:38 +01:00
Kim Kulling 72888c49f6
Merge branch 'master' into parse_obj_anisotropy 2022-03-15 08:13:35 +01:00
jaefunk 4457d9300a
Merge branch 'master' into issue_4349 2022-03-14 15:41:20 +09:00
Sergio Acereda 729ab8ae33 Trying to fix reorder error 2022-03-12 08:15:11 +01:00
Sergio Acereda 26bb601d8f Fix includes 2022-03-12 08:03:27 +01:00
Sergio Acereda 51e248909f Avoid setting metallic/roughness/sheen/clearcoat properties when they are not found on mtl file. 2022-03-11 22:29:59 +01:00
jaefunk e02d51ec24 add ifndef guard for resolve to fails to compile 2022-03-11 10:51:13 +09:00
Kim Kulling 47f004517f
Add missing cast. 2022-03-10 10:33:29 +01:00
Jonas Karlsson c14eccefaf Fix 'i >= 0' always true bug
If 'disk_filename' does not contain a dot (.) then 'i' would overflow.
Making 'i' an int makes sure the for loop works as intended.
2022-03-09 23:05:47 +01:00
Terence Russell efe92e9ec1
Merge branch 'assimp:master' into master 2022-03-09 10:15:41 -07:00
kimkulling 26598dc6bd Forget to save file. 2022-03-09 11:00:05 +01:00
kimkulling 76e10b96fc Fix missing members and do some small refactorings. 2022-03-09 10:51:37 +01:00
Terence Russell b35879989c Added missing ObjMaterial.h to CMakeLists 2022-03-08 20:00:22 -07:00
Kim Kulling ba379c20e1
Merge branch 'master' into fix/obj_with_bspline_crash 2022-03-06 17:39:57 +01:00
Kim Kulling 80a8807c47 Fix compiler warnings 2022-03-05 20:37:34 +01:00
Kim Kulling d4527d4e87
Merge branch 'master' into master 2022-03-05 14:00:32 +01:00
Sergio Acereda cfe84b9260 Use generic METALNESS and DIFFUSE_ROUGHNESS texture types 2022-03-03 16:18:25 +01:00
Sergio Acereda 52008ec989 Apply clang-format 2022-03-03 15:42:23 +01:00
youkeyao 9b227fc262 Fix getting anisotropy in obj 2022-03-03 01:01:34 +08:00
Jaroslav Pribyl 62930076af
Merge branch 'master' into fix/obj_with_bspline_crash 2022-02-26 04:03:59 +01:00
sola c73ff82fc4 FBXConvert::ConvertMeshMultiMaterial: allocate memory using variable count_vertices 2022-02-25 19:58:44 +08:00
Kim Kulling 72da1e6d7b
Merge branch 'master' into master 2022-02-23 21:20:39 +01:00
Kim Kulling 6f31254ae1 Ensure dictionary for LazyDics is created before adding content to it 2022-02-23 20:57:15 +01:00
Terence Russell 4ddacdb5df Expose the original OBJ illum model as a material property. 2022-02-22 17:55:41 -07:00
Kim Kulling 466b34cf53
Merge branch 'master' into kimkulling/fix_ordering_of_gltf2_issue4407 2022-02-22 21:09:11 +01:00
Kim Kulling aa04ee89f1 Fix init order to fix build 2022-02-22 21:07:42 +01:00
Kim Kulling a6808b868c Small code cleanup 2022-02-22 21:07:23 +01:00
Jaroslav Přibyl 480d6fee2a cleanup 2022-02-22 01:46:47 +01:00
Jaroslav Přibyl 62c9347985 fixed obj parsing with cstype 2022-02-22 01:32:41 +01:00
Kim Kulling 52b106bf7e
Merge branch 'master' into master 2022-02-20 19:04:32 +01:00
youkeyao ad766cb738 update the calculation and orthogonalization for bitangent 2022-02-20 17:15:11 +08:00
Terence Russell 17123ed4a1 Add support for bump -bm (bump/normal multiplier) 2022-02-17 22:10:46 -07:00
Jean-Christophe Fillion-Robin 33a48c6ca6
cmake: Fix assimp target install rule fully specifying component
This commit ensures generated install rules for the assimp target are
all consistently associated with components named after LIBASSIMP_COMPONENT
or LIBASSIMP-DEV_COMPONENT CMake variables.

It streamlines the packaging of specific components of assimp in client
projects leveraging the CPACK_INSTALL_CMAKE_PROJECTS variable.

Failing to do so leads to "/path/to/assimp-build/code/cmake_install.cmake"
file having install rules associated with a component called "Unspecified".

See https://cmake.org/cmake/help/v3.10/command/install.html#installing-targets
and https://cmake.org/cmake/help/v3.22/module/CPack.html#variable:CPACK_INSTALL_CMAKE_PROJECTS
2022-02-17 05:47:34 -05:00
Kim Kulling 9bf5d01469 Fix invalid initialization of constexpr. 2022-02-16 21:22:35 +01:00
Kim Kulling 9e23d771bc Fix invalid initialization of constexpr. 2022-02-16 21:19:17 +01:00
Kim Kulling 76a7614c4b Adapt ai_epsilon to code 2022-02-16 20:07:27 +01:00
Kim Kulling 067c5d9ec4 Refactoring: add usage of ai_epsilon to fbx. 2022-02-16 00:17:26 +01:00
Kim Kulling 5d8e5fd130
Update XFileParser.cpp
Fix typo
2022-02-15 16:10:33 +01:00
Kim Kulling 7c13b16d30 Add missing flush modes supported by zlib 2022-02-14 20:51:06 +01:00
Kim Kulling 416f823866 Merge branch 'kimkulling/introduce_compression' of https://github.com/assimp/assimp into kimkulling/introduce_compression 2022-02-14 20:25:27 +01:00
Kim Kulling c718500c55 Fix last review findings and finish windows bits 2022-02-14 20:25:18 +01:00
Kim Kulling 9a585d7b3c
Merge branch 'master' into kimkulling/introduce_compression 2022-02-13 19:58:22 +01:00
Kim Kulling 52b6c4f7c0 Fix broken importer and add some review findings2 2022-02-13 18:44:22 +01:00
Kim Kulling 3e09d462fa Fix compression for fbx 2022-02-12 09:25:45 +01:00
Kim Kulling 23b43d1825 Fix X-Importer decompress algorithm 2022-02-08 21:43:14 +01:00
Kim Kulling 27bcddfb1a Migrate more importers to compression class 2022-02-08 20:43:47 +01:00
Tomas Maly acf73659d8 fix missing include for size_t 2022-02-08 00:08:46 +01:00
Kim Kulling ce61ea56a5
Merge branch 'master' into kimkulling/introduce_compression 2022-02-07 10:02:51 +01:00
Kim Kulling 9a15ca1007
LWO: validate enum value before parsing it
- Check for valid enum values
- closes https://github.com/assimp/assimp/issues/4236
2022-02-07 09:08:23 +01:00
Kim Kulling eb5a7938e0 Remove dead code 2022-02-06 21:16:04 +01:00
Kim Kulling 9335cc30ab INtroduce compression class to encapsulate compression via zlib 2022-02-06 20:42:58 +01:00
Kim Kulling f217bd4b5f
Update HMPLoader.cpp 2022-01-26 19:42:09 +01:00
Kim Kulling 305d1f45aa
Add some constants and fix compile 2022-01-26 19:36:38 +01:00
Kim Kulling 50b00d33b5
HMP: Fix override during copying position data
- Fix override
- closes https://github.com/assimp/assimp/issues/4235
2022-01-26 19:22:52 +01:00
Kim Kulling 06fffb4f83 ASE: Fix warning unreachable code 2022-01-24 20:05:25 +01:00
Kim Kulling 91737f1cc9
Fix copyright: last year 2022-01-23 21:18:31 +01:00
Ben Sewell 3e6fc3a64b Merge remote-tracking branch 'origin/master' into bensewell-fixifcopening4343 2022-01-20 09:43:45 +00:00
Kim Kulling c1968823ad
ASE: Fix material parsing
- Fuzzer error found when material access get's an out-of-bound access.
- Break parsing when material index gets out of range.
- closes https://github.com/assimp/assimp/issues/4232
2022-01-20 10:25:52 +01:00
Kim Kulling cbc4459dda Fix compile error: missing var 2022-01-19 22:03:11 +01:00
Kim Kulling 43763f53d6 Fix compile error: missing var 2022-01-19 22:00:53 +01:00
Kim Kulling 15b08f643a Fix warning: unused variable 2022-01-19 21:55:24 +01:00
Kim Kulling 17d5633a5b Add missing SImpleExtensionCheck 2022-01-19 21:42:14 +01:00
Kim Kulling 4cb76e6a18
Update UnrealLoader.cpp 2022-01-18 22:29:55 +01:00
Kim Kulling 12b01dd575
Update SMDLoader.cpp 2022-01-18 22:28:54 +01:00
Kim Kulling 7b24437f06
Update SIBImporter.cpp 2022-01-18 22:27:19 +01:00
Kim Kulling ec63fe74ee
Update RawLoader.cpp 2022-01-18 22:26:16 +01:00
Kim Kulling 088658b359
Update Q3BSPFileImporter.cpp 2022-01-18 22:25:43 +01:00
Kim Kulling b4dee9220d
Update Q3BSPFileImporter.cpp 2022-01-18 22:25:22 +01:00
Kim Kulling ffc13f18ba
NFF: reenable canRead 2022-01-18 22:24:11 +01:00
Kim Kulling 331cb5ac72
Update M3DImporter.cpp 2022-01-18 22:23:01 +01:00
Kim Kulling c3b91dd766
C4D. Fix merge conflicts 2022-01-18 22:21:58 +01:00
Kim Kulling ea5996307a
Update B3DImporter.cpp 2022-01-18 22:20:37 +01:00
Kim Kulling efd1d36aa9
Merge branch 'master' into krishty-new-file-detection 2022-01-18 22:17:50 +01:00
Kim Kulling 959af1ac4d
Revert change 2022-01-18 21:37:49 +01:00
Kim Kulling 7350baea93
Revert change 2022-01-18 21:36:55 +01:00
Kim Kulling cf47411742
Revert change 2022-01-18 21:36:02 +01:00
Kim Kulling 1e80630d5d
Revert change. 2022-01-18 21:35:09 +01:00
Kim Kulling 037732c429
Revert change 2022-01-18 21:34:18 +01:00
Kim Kulling cff213d4dd
Revert change 2022-01-18 21:33:05 +01:00
Kim Kulling 9d0006fecb
Revert change 2022-01-18 21:32:06 +01:00
Kim Kulling 5af79cac1d Fix unittests + small refactorings 2022-01-18 21:23:43 +01:00
Jeremy Sigrist 59f28e168e
Merge branch 'master' into jere9309/read_collada_materials 2022-01-18 09:55:33 -08:00
Kim Kulling 6e50b04ae0
Merge branch 'master' into IQM 2022-01-17 18:33:37 +01:00
Kim Kulling f16e4fadc7
Merge branch 'master' into patch-1 2022-01-17 18:18:16 +01:00
Ben Sewell 415b0e19d9 Changes for gcc compatibility 2022-01-17 16:39:50 +00:00
Ben Sewell 65f2353105 IFC Reading: Fix opening reading. 2022-01-17 15:49:11 +00:00
Kim Kulling cbde086bfb Merge branch 'krishty-new-file-detection' of https://github.com/assimp/assimp into krishty-new-file-detection 2022-01-16 20:58:07 +01:00
Kim Kulling acd70b35a0 Fix merge issues 2022-01-16 20:57:56 +01:00
Kim Kulling 6ad7505376
Merge branch 'master' into krishty-new-file-detection 2022-01-16 20:43:57 +01:00
Kim Kulling 05746acb07 Merge branch 'new-file-detection' of https://github.com/krishty/assimp into krishty-new-file-detection 2022-01-16 20:41:24 +01:00
Viktor Kovacs c8ab39dd04
Merge branch 'master' into common_base64 2022-01-15 23:42:56 +01:00
Kim Kulling d3e24196c0
Merge branch 'master' into so-unloading 2022-01-13 20:19:23 +01:00
Jeremy Sigrist 5aac72791d
Merge branch 'master' into jere9309/read_collada_materials 2022-01-12 10:12:58 -08:00
Jeremy Sigrist e671d087e1 Collada: Read all instance_material child nodes 2022-01-12 09:52:12 -08:00
Viktor Kovacs c71f4bc95a
Merge branch 'master' into common_base64 2022-01-11 18:46:08 +01:00
tanolino f8abb015de
Merge branch 'master' into patch-1 2022-01-11 09:55:19 +01:00
Kim Kulling d68224f2ed
Merge branch 'master' into patch-1 2022-01-10 23:45:03 +01:00
Kim Kulling f63b10bf45 OpenGEX: Fix usage of texture specular token 2022-01-10 21:22:44 +01:00
Viktor Kovacs 6b9732721a
Merge branch 'assimp:master' into common_base64 2022-01-10 21:15:31 +01:00
Kim Kulling 50c7301a38 Update copyrights 2022-01-10 21:13:43 +01:00
Ben Wolsieffer 629c8850ec Fix imported target include directory
Fix the imported target include directory when the headers are not installed in '${CMAKE_INSTALL_PREFIX}/include'.
2022-01-09 20:59:14 -05:00
Kim Kulling 8cb5ab69b0
Merge branch 'master' into fix-bone-fit-check 2022-01-08 11:35:59 +01:00
Kim Kulling 776130534b
Fix nullptr-dereferencing
- Fix a possible nullptr-exception.
2022-01-06 22:35:32 +01:00
Alex Rebert b14b34d2b8
LWSLoader: Fix out of bounds iterator access
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38947
Fix #4222
2022-01-05 15:43:16 -05:00
Alex Rebert 310c81aaa2
Add support for spanned archives
Without it, assimp would crash on some inputs by jumping to a NULL
opendisk function. This commit adds an opendisk implementation, which
required adding a filename member to ZipFile.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38873
Fix #4229
2022-01-05 15:43:10 -05:00
Alex Rebert 34d8fba100
Fix stack overflow in ZipArchiveIOSystem::MapArchive
The function allocates a filename buffer of 256, and copies the filename
extracted from the zip file into it. However, a filename might be larger
than 256 characters, in which case the function would write out of bounds.

This commit skips any file whose name is larger than 256 to avoid the
overflow.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38870
Fix #4228
2022-01-05 10:01:46 -05:00
tanolino 089fc7311a
GCC might have an issue with value type Errors 2022-01-05 10:34:27 +01:00
tanolino 04d2d13172
Locale independent meter scale
`XmlParser::getRealAttribute(...)` will call `strtod` (or `wcstod`) which are both locale dependent. So on a German locale system a scale of 0.01 meter will be parsed to 0. In order to avoid that I use the `fast_atoreal_move<ai_real>()` method.
2022-01-05 10:10:38 +01:00
Colin Reeder 87e9dbac40
Fix bone fitted check in gltf2 exporter 2022-01-03 16:32:34 -07:00
kovacsv 125acf9ec8 Merge remote-tracking branch 'origin/master' into common_base64 2022-01-02 19:47:57 +01:00
kovacsv bbe12240ca Move Base64 encode/decode functionality to the common folder. 2022-01-02 19:47:43 +01:00
Kim Kulling ab19cff328
Merge branch 'master' into pbr-obj 2021-12-31 08:33:30 +01:00
Kim Kulling a86ab45161
Merge branch 'master' into ps-devel-fix-namespace-001 2021-12-31 08:20:24 +01:00
Peter Seiderer a099fe7cd3 BlenderScene: use explicit namespace instead of using namespace
Fixes (using g++ Sourcery CodeBench Lite 2014.05-29 - 4.8.3 20140320):

  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:101:33: error: specialization of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' in different namespace [-fpermissive]
           const FileDatabase &db) const {
                                   ^
 In file included from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.h:49:0,
                   from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:47:
  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderDNA.h:266:10: error:   from definition of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' [-fpermissive]
       void Convert(T &dest, const FileDatabase &db) const;
            ^
  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:121:33: error: specialization of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' in different namespace [-fpermissive]
           const FileDatabase &db) const {
                                   ^
  In file included from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.h:49:0,
                   from .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderScene.cpp:47:
  .../build/assimp-5.1.4/code/AssetLib/Blender/BlenderDNA.h:266:10: error:   from definition of 'template<class T> void Assimp::Blender::Structure::Convert(T&, const Assimp::Blender::FileDatabase&) const' [-fpermissive]
       void Convert(T &dest, const FileDatabase &db) const;
            ^

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
2021-12-30 18:01:54 +01:00
Kim Kulling 0a5bd792de
Merge branch 'master' into fix-fbx-metalness-import 2021-12-29 19:08:16 +01:00
Jérôme Leclercq 81fc50f612 CMake: Replace CMAKE_COMPILER_IS_MINGW by MINGW
See https://discourse.cmake.org/t/cmake-compiler-is-mingw-removed/4539 and https://cmake.org/cmake/help/latest/variable/MINGW.html
2021-12-28 15:58:37 +01:00
Vyacheslav Vanin 2da06dd41a
Merge branch 'master' into fix-fbx-metalness-import 2021-12-26 17:31:33 +03:00
Kim Kulling d44641398f Add console progresshandler 2021-12-26 11:16:02 +01:00
Garux d11d2fc60d fix Inter-Quake Model (IQM) Importer MSVC warnings 2021-12-24 18:36:25 +03:00
Kim Kulling db2500c393
MDL: Do not try to copy empty embedded texture
- When an embedded texture is empty, skip it instead of trying to copy it. This must fail.
- closes https://github.com/assimp/assimp/issues/4238
- Found from the Google fuzzer.
2021-12-23 12:28:43 +01:00
Kim Kulling 635153b3a4
LWS-Import: Avoid access to empty string token
- Fix invalid access to string pointer when string token is empty
- closes https://github.com/assimp/assimp/issues/4222
2021-12-22 21:08:28 +01:00
Kim Kulling 2c66d4d3a2
Optimize the check 2021-12-22 20:43:44 +01:00
Kim Kulling 215f4e1f4d
Fix typo 2021-12-22 20:02:29 +01:00
Kim Kulling 2eb86d75b8
Make sure no overflow can happen
- During UTF32 LE with BOM make sure that the byteswap operation will have enough space when iterating through the text buffer, which shall get encoded.
- closes https://github.com/assimp/assimp/issues/4230
2021-12-22 19:45:19 +01:00
Rene Sepulveda 19371af6e6 Support PBR properties/maps in Obj importer 2021-12-20 13:43:46 -05:00
Kim Kulling cab7b330ee
Merge branch 'master' into so-unloading 2021-12-20 17:58:18 +01:00
Garux 46f618a6ef add Inter-Quake Model (IQM) Importer 2021-12-18 15:34:58 +03:00
sssaoi d7bf8d6e07 Fix compile error when ASSIMP_BUILD_NO_X3D_IMPORTER is define. 2021-12-18 14:50:22 +09:00
Vyacheslav Vanin 53968550e4
Merge branch 'master' into fix-fbx-metalness-import 2021-12-17 12:08:55 +03:00
Kim Kulling 3e97329fa1
Merge branch 'master' into cmake_no_known_features_error_fix 2021-12-16 20:27:58 +01:00
Kim Kulling efdaf603b0
Merge branch 'master' into so-unloading 2021-12-16 14:52:58 +01:00
Vyacheslav.Vanin 1afe7e6255 fix fbx import metalness
Can't import metalness textures in fbx importer
2021-12-16 12:09:06 +03:00
Kim Kulling 26dc168449
Merge branch 'master' into bugfix/import-crashes 2021-12-15 07:54:48 +01:00
rumgot 92aef9236f Fixed cmake error: No known features for C compiler when using the assimp library from another project. 2021-12-14 23:54:36 +03:00
Kim Kulling 003942aafe
Merge branch 'master' into copyscene_fix 2021-12-13 21:19:08 +01:00
Viktor Kovacs d619f7015a
Merge branch 'master' into copyscene_fix 2021-12-13 20:08:45 +01:00
Kim Kulling cb657e4c13 Use correct XmlParser-methods and add some missing casts 2021-12-13 18:06:23 +01:00
Kim Kulling 54e60b031e
Merge branch 'master' into master 2021-12-12 21:12:37 +01:00
Viktor Kovacs 4959924dab
Merge branch 'master' into copyscene_fix 2021-12-10 20:10:25 +01:00
Kim Kulling 33c6762272
Update HMPLoader.cpp
- Fix possible division by zero
- closes https://github.com/assimp/assimp/issues/4235
2021-12-10 14:32:45 +01:00
Kim Kulling 68682d75b5
Fix nullptr dereferencing from std::shared_ptr
- Finding from fuzzer
- closes https://github.com/assimp/assimp/issues/4237
2021-12-10 08:39:21 +01:00
Inho Lee c2297e9199 Revert "FBXConverter : Fix timescales of FBX animations"
The previous patch was made by misunderstanding about mTime.
It is not real time value, but time ticks.

This reverts commit b8bf1eac04.
2021-12-09 10:57:39 +01:00
Viktor Kovacs d2c8cb755e
Merge branch 'master' into copyscene_fix 2021-12-08 14:29:31 +01:00
Kim Kulling e51feac2c5
Update PolyTools.h 2021-12-07 21:19:01 +01:00
Kim Kulling 1e4861f86e
Fix division by zero in PointInTriangle2D
- closes https://github.com/assimp/assimp/issues/4240
2021-12-07 20:45:21 +01:00
kovacsv 2be6bac4b0 Bug: Export crashes when any of the meshes contains texture coordinate names #4243 2021-12-07 20:42:43 +01:00
IOhannes m zmölnig 9a7ee0ac14 Throw a DeadlyImportError rather than an assertion if all materials are redundant and thus removed
Closes: https://github.com/assimp/assimp/issues/4224
Closes: https://github.com/assimp/assimp/issues/4225
2021-12-07 12:35:15 +01:00
IOhannes m zmölnig 6e090c88b8 fix index variable for surfaces
Closes: https://github.com/assimp/assimp/issues/4209
2021-12-07 12:13:31 +01:00
Kim Kulling 5b4829155c
Merge branch 'master' into so-unloading 2021-12-04 20:28:12 +01:00
IOhannes m zmölnig 0e2ac2a91c X3D: simplistic attempt to avoid crashes due to nullptr access
Related: https://github.com/assimp/assimp/issues/4201

while the crashes go away, i'm not sure whether this is the correct fix.
also, afaict the X3D importer produces wrong results anyhow
2021-12-01 12:21:29 +01:00
IOhannes m zmölnig c8cdf3009e X3D: replace 'here' debugging printout by an assertion.
if mNodeElementCur is NULL, we get a crash anyhow...
2021-12-01 12:19:19 +01:00
IOhannes m zmölnig 23d7811276 X3D: consistent initialization with nullptr 2021-12-01 11:35:06 +01:00
IOhannes m zmölnig 836963428e Fix file-extension check for X3D-files
using the pre-existing and well-tested GetExtension() (which happens
to also normalize the extension), rather than attempting our own
buggy one...

Closes: https://github.com/assimp/assimp/issues/4177
2021-12-01 11:17:42 +01:00
Kim Kulling 834ec20008
Merge branch 'master' into master 2021-11-30 23:44:42 +01:00
Kim Kulling d6f3f292f2
Merge branch 'master' into ms-maxvollmer/crashfixes2 2021-11-30 23:17:59 +01:00
Inho Lee 4a37aa2ef8 Interpolate euler rotations for quaternion animations
FBX uses euler rotation but assimp library's base type is
quaternion. When assimp convert FBX some animation information
can be lost.
This patch interpolates euler-angle rotations and insert
additional keyframes for the FBX format.
2021-11-30 12:49:59 +01:00
Pencil Amazing 095bd67e10 Fix memory leaks in CollectionObject by making ob a weak pointer and removing prev pointer.
Something was cyclic in CollectionObject and we don't traverse backwards anyways
2021-11-26 22:09:06 -04:00
Pencil Amazing e831ecf3c2 Add a separate test case for Blender 276 and update Box.blend to be 293 2021-11-26 22:09:06 -04:00
Pencil Amazing 44fa1ec6a7 Make Blender importer aware of collections, and use them when available. Also add the default startup file for Blender 2.93 2021-11-26 22:09:06 -04:00
Max Vollmer (Microsoft Havok) 0015823bef Reject files with an invalid byteLength value 2021-11-26 13:01:15 +00:00
Max Vollmer (Microsoft Havok) 38382715f7 Ensure we don't access the vector with an out of bounds index 2021-11-26 13:01:00 +00:00
Jan Krassnigg 1a5d66714f Prevent out-of-range memory writes by sparse accessors
This turned up during fuzz testing. Corrupted data would make assimp write to random memory locations, leading to subsequent crashes.
2021-11-25 11:20:26 +01:00
Kim Kulling 690e558b88
Update IOSystem.cpp 2021-11-25 09:32:52 +01:00
Thomas Nicky Thulesen 8b78a63b50 Allow dlclose of so library by avoiding unique symbols. 2021-11-23 20:39:48 +01:00
ruyo 60bfde78eb Fixed an incorrect indeiciesType in the glTF2 sparse accessor. 2021-11-21 23:23:22 +09:00
Kim Kulling 9ebd74bd26
Merge branch 'master' into win_dll_so_version 2021-11-20 14:16:32 +01:00
Kim Kulling 0d857bcf9f
Merge branch 'master' into deprecated_gltfpbr_macros 2021-11-20 12:35:56 +01:00
Ralf Habacker 2ceb18746b Append '-SOVERSION' to DLL base file name for mingw builds to match common style 2021-11-18 08:17:31 +01:00
RichardTea 74b3be194d Read the Value, not the Attribute
Correct some mistakes made when moving to pugixml from IrrXML
Fixes #4179
2021-11-17 17:10:10 +00:00
RichardTea bab8b8dbab apply clangformat 2021-11-17 17:08:19 +00:00
RichardTea c24f99cd0e Redefine deprecated glTF-specific PBR material macros
Intended to support Qt5 QtQuick3D until it is ported to generic PBR
macros.
2021-11-16 11:42:59 +00:00
Jérémie Dumas b0d564467e
Merge branch 'master' into jdumas/ziplib 2021-11-14 08:25:59 -08:00
Jérémie Dumas 78d72bff59 Fix 3MF presence test. 2021-11-14 08:24:27 -08:00
Kim Kulling b1c336799c
Merge branch 'master' into master 2021-11-13 09:16:27 +01:00
Kim Kulling c3ac5569c5
Merge branch 'master' into jdumas/ziplib 2021-11-13 08:46:46 +01:00
freizhang b9937994ca Fix glTF2 skinning bone weight exporting issue 2021-11-13 12:07:29 +08:00
freizhang 6e6807ee6c Verbose processor bone weight count fix 2021-11-13 11:56:15 +08:00
freizhang 1407491a67 glTF2 exporter buffer overrun issue fix. 2021-11-13 11:52:49 +08:00
Jérémie Dumas 57d22e4dbf
Merge branch 'master' into jdumas/ziplib 2021-11-12 10:13:21 -08:00
Kim Kulling 159fadebbf
Update M3DExporter.cpp 2021-11-12 17:53:46 +01:00
Kim Kulling 0beacc3854
Merge branch 'master' into kimkulling-diable_m3m_issue-4126 2021-11-12 16:02:51 +01:00
Kim Kulling f03dcc27c0
Update M3DExporter.h 2021-11-12 15:39:21 +01:00
Kim Kulling e2ccd17494
Fix typo 2021-11-12 11:20:22 +01:00
Kim Kulling 157e032bde
Fix small findings
- Merge anonymous functions into one block.
- Some reformattings
2021-11-12 11:08:19 +01:00
Kim Kulling 37c81e7a28
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-12 10:37:19 +01:00
Kim Kulling c22524351a
Merge branch 'master' into master 2021-11-12 09:56:56 +01:00
Kim Kulling 97b8e41997
Fix formatting 2021-11-12 09:56:45 +01:00
Kim Kulling ece61c6c68
Update M3DWrapper.cpp 2021-11-12 09:17:32 +01:00
Kim Kulling 608bccd9cf
Update M3DWrapper.h 2021-11-12 09:13:48 +01:00
Kim Kulling 13731b37c4
Merge branch 'master' into 3ds_export_4157 2021-11-12 07:06:52 +01:00
Kim Kulling 43b0ef181a
Merge branch 'master' into fix_gltf_warning_4126 2021-11-11 20:30:07 +01:00
Kim Kulling 7120504c46
Merge branch 'master' into fix_aiMesh_abi_4162 2021-11-11 20:02:46 +01:00
Kim Kulling eafb79e7dc Merge branch 'Artenuvielle-x3d_pugi_migration_artenuvielle' of https://github.com/assimp/assimp into Artenuvielle-x3d_pugi_migration_artenuvielle 2021-11-11 19:06:33 +01:00
Kim Kulling 952f0a53c9 Try to fix a leak 2021-11-11 19:06:25 +01:00
Kim Kulling 9f28ef4c25
Merge branch 'master' into Artenuvielle-x3d_pugi_migration_artenuvielle 2021-11-10 20:43:39 +01:00
Kim Kulling a31c979abc Use helloworld as X3D-Testcase 2021-11-10 20:40:05 +01:00
Kim Kulling 8ed18621db Fixes 2021-11-10 20:37:27 +01:00
Kim Kulling 39664d608d
Merge branch 'master' into master 2021-11-10 10:51:18 +01:00
Aaron Gokaslan b8a10e62f9 Remove optimization fence 2021-11-09 13:08:13 -05:00
RichardTea 86a25b62e4 Better aiMesh ABI compatibility with 5.0.1, make smaller
Move new mTextureCoordsNames member to end of struct
Convert to pointer-to-array, saving ~8KB per aiMesh in almost all cases
Add C++ accessor functions for simpler usage
2021-11-09 13:03:06 +00:00
Kim Kulling 30143e9626
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-09 10:53:58 +01:00
RichardTea aaae3e3a10 size_t is 32bit on some platforms
Also assert if size_t is smaller than uint32_t (probably not necessary)
Note: 32bit builds will crash OOM if a really large model is loaded, as cannot allocate that much in total, let alone contiguously.
2021-11-08 15:05:20 +00:00
RichardTea 9433fc526a Apply clangformat 2021-11-08 14:42:21 +00:00
RichardTea 69cafe64b4 Cap glTFv1 & 2 json size to ~4GB
Ensures size_t cannot overflow
Limits the maximum contiguous memory allocation to something plausible.
2021-11-08 14:41:13 +00:00
RichardTea ee19ce6021 3DS Export: Add support for aiShadingMode_PBR_BRDF
Export as Phong.
If no Diffuse texture, export the PBR base color instead,
2021-11-08 11:06:15 +00:00
Jeremie Dumas cedf1819c3 Do not build ziplib when 3MF exporter is disabled. 2021-11-04 01:14:24 -07:00
Kim Kulling 5a3401b69f
Update D3MFOpcPackage.cpp
- Log an error in case of a nullptr-exception in reading out the 3MF-Archive
- closes https://github.com/assimp/assimp/issues/4153
2021-11-02 10:38:38 +01:00
Alex Rebert 145f972d76
Fix out-of-bounds read in RemoveLineComments
Follow up to 6f07e89fdf, which was not sufficient to fix the bug.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24553
2021-10-30 13:43:41 -04:00
Alex Rebert e900617796
Fix out-of-bounds read in FileSystemFilter::Cleanup
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33238
2021-10-29 09:17:40 -04:00
Alex Rebert 6f07e89fdf
Fix out-of-bounds read in RemoveLineComments
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24553
2021-10-28 23:50:16 -04:00
Alex Rebert 107371657b
Fix out-of-bounds read in ReadFirstSkin
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25401
2021-10-28 23:12:54 -04:00
Alex Rebert 1fe9d405f5
Fix out-of-bounds read in MDLImporter
Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24502
2021-10-28 22:38:40 -04:00
Alex Rebert 932dfe0562
Fix overflowing allocations in MDLMaterialLoader
Some allocations might underallocate due to integer overflows. This
commit ensures that we are throwing an exception if the allocation size
does not fit in an unsigned int.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25341
2021-10-28 22:27:19 -04:00
Alex Rebert 30f17aa206
Fix heap out-of-bounds write in _m3d_safestr
While there is a 256 character limit when computing the length of the
newly allocated strength, that limit was missing when copying the
string. This commit adds a new length check in the copy loop, preventing
it from writhing out of bounds.

Fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34416
2021-10-28 21:32:38 -04:00
Kim Kulling 8c0b869998
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-10-28 13:38:41 +02:00
Kim Kulling 5af71feef2
Merge branch 'master' into MalcolmTyrrell/spatialSortImprovements 2021-10-27 17:20:47 +02:00
Kim Kulling e01b488075
Remove dead code. 2021-10-26 22:06:10 +02:00
Malcolm Tyrrell 2239442c64
Merge branch 'master' into MalcolmTyrrell/spatialSortImprovements 2021-10-21 08:55:11 +01:00
Malcolm Tyrrell db0127859a CalculateDistance method 2021-10-21 08:39:44 +01:00
Kim Kulling 791cb195be
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-10-20 21:14:43 +02:00
Kim Kulling f3baab1153
Merge branch 'master' into master 2021-10-20 20:51:43 +02:00
Malcolm Tyrrell c644f9d719 Subtract the centroid 2021-10-20 15:08:08 +01:00
Malcolm Tyrrell 4d10f5d133 Move distance initialization to Finalize. 2021-10-20 12:47:44 +01:00
Malcolm Tyrrell 5b13b97f27 Ensure the usage pattern of SpatialSort. 2021-10-19 14:22:28 +01:00
Kim Kulling cff5035b5f
Merge branch 'master' into master 2021-10-19 09:31:19 +02:00
Kim Kulling 36c937cc19
Merge branch 'master' into debian-fixes 2021-10-18 09:07:47 +02:00
Kim Kulling 0e3d058504 Add some exporter macros. 2021-10-17 15:10:25 +02:00
Kim Kulling a82dc887fc
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-10-14 09:27:07 +02:00
Lassi Helynranta a01a5b4e3a Added missing include 2021-10-09 20:12:29 +03:00
IOhannes m zmölnig 1a9403e787 Fix spelling error in comment in exported Pbrt file
See https://github.com/assimp/assimp/pull/4109#issuecomment-934747675
for a discussion that this is really a comment in the exported file,
and thus the fix should be harmless.
2021-10-08 08:55:02 +02:00
IOhannes m zmölnig 3b8126d26a Fix spelling mistake 2021-10-08 08:48:01 +02:00
Malcolm Tyrrell ceddfe19d8 Add comment with link to schema repo. 2021-10-07 10:01:32 +01:00
Malcolm Tyrrell a283a255a5 Allow schema checking of glTF2 file. 2021-10-07 10:01:32 +01:00
diharaw 0fb66f8437 Replaced AI_MATKEY_IOR with AI_MATKEY_REFRACTI. 2021-10-07 09:39:08 +01:00
diharaw b01d008bc0 Revert "Removed KHR_materials_ior support."
This reverts commit 0738742611.
2021-10-07 09:36:53 +01:00
diharaw 0738742611 Removed KHR_materials_ior support. 2021-10-07 09:30:22 +01:00
Marc 656b0b25d8
Fix warning for array comparison
The code previously compared two float arrays with the != operator. This is deprecated in Visual Studio 2019 and results in a warning that leads to an error when compiling with warnings as errors. Small fix to make the build work.
2021-10-05 19:24:42 +02:00
Davide Pizzolotto ae951fbef9
Fix aiString length in aiProcess_EmbedTextures 2021-10-03 00:41:09 +02:00
Kim Kulling ac6b8988df
Add support for normal maps, the classic way
- get compiant to tinyobjloader and other importers
- closes https://github.com/assimp/assimp/issues/3726
2021-10-01 14:24:40 +02:00
Kim Kulling 1f76b2e6b9
Merge branch 'master' into Q1MDLgroup 2021-10-01 13:36:55 +02:00
diharaw addd541251 Added gltf2 KHR_materials_ior support. 2021-09-30 08:47:53 +01:00
diharaw d3276de47d Added gltf2 KHR_materials_volume write support. 2021-09-30 08:10:02 +01:00
diharaw 200bf8df7a Added gltf2 KHR_materials_volume import support. 2021-09-29 17:05:17 +01:00
Kim Kulling 6cb6a6acdd
Merge branch 'master' into const-tokens 2021-09-24 13:37:57 +02:00
Kim Kulling 95263b2e54
Update ObjTools.h 2021-09-21 11:34:58 +02:00
Kim Kulling fb5b5e9d40
Fix possible nullptr dereferencing in material parsing
* Return 0.0f for empty buffer
* closes https://github.com/assimp/assimp/issues/3442
2021-09-21 11:06:18 +02:00
Hill Ma 79f3368c85
Merge branch 'master' into static 2021-09-17 09:06:16 -07:00
René Martin e92177cb99 changed use and def attribute check for x3d importer to upper case
This is how it is specified in the standard.
2021-09-17 14:24:57 +02:00
Kim Kulling d0f7200196
Update X3DImporter_Geometry3D.cpp 2021-09-16 21:01:44 +02:00
krishty 8c84afaff0
Merge branch 'master' into const-tokens 2021-09-15 23:31:00 +02:00
Artenuvielle 70dfdb8f9d
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-09-15 14:51:38 +02:00
René Martin a8a6aa2bd8 fixed some compiling issues 2021-09-15 14:49:46 +02:00
Kim Kulling 880a2f25bb
Merge branch 'master' into remove-useless-code 2021-09-14 23:33:34 +02:00
Kim Kulling 8a975549a9 Add missing override 2021-09-14 20:49:20 +02:00
Kim Kulling 0fef0e1101 Move duplicate code to glFT common header. 2021-09-14 20:45:36 +02:00
Kim Kulling 18531e3677 Next iteration for c++11 features. 2021-09-13 22:38:20 +02:00
Artenuvielle c7e9c6580a
Merge branch 'master' into x3d_pugi_migration_artenuvielle 2021-09-12 11:45:00 +02:00
René Martin 3f6a371b64 migrated x3d importer to pugixml reader 2021-09-12 11:37:33 +02:00
Krishty 5895c0c22c more const in format detection
BaseImporter::SearchFileHeaderForToken() expected a pointer to a non-const token list. This was probably an oversight, as nobody would realistically expect the function to change the list. Furthermore, it prevented token lists from being compiled to read-only memory, in some cases even causing the compiler to generate thread-safe initialization.

The list is now const and all callers declare their token lists static const, thus compiling them to read-only memory.
2021-09-11 23:23:05 +02:00
Krishty 4cf4e7454f removed useless code
In destructors, zeroing attributes or clearing containers is utterly useless.
2021-09-11 21:51:20 +02:00
Hill Ma 93edbe883f Use Safe Constants Idioms for ObjFileParser::DEFAULT_MATERIAL.
Reference: "A static Class Member" in https://abseil.io/tips/140
2021-09-10 11:56:37 -07:00
Kim Kulling 0dabce2754
Merge branch 'master' into cleanup_public_header 2021-09-09 20:18:01 +02:00
Kim Kulling bc0a2762df
Merge branch 'master' into master 2021-09-09 09:16:50 +02:00
Kim Kulling f47479aba4 Rework format + introdule missing C++11 features 2021-09-08 23:19:10 +02:00
René Martin 3001d88172 Merge branch 'master' into x3d_pugi_migration 2021-09-07 15:04:08 +02:00
Kim Kulling 768024d5a0
Merge branch 'master' into master 2021-09-07 11:39:34 +02:00
Kim Kulling 74e8a6a366
Merge branch 'master' into xgl-fix 2021-09-07 09:03:40 +02:00
Max Vollmer (Microsoft Havok) bf8e36ae28 Fixed typo 2021-09-02 10:07:28 +01:00
Max Vollmer (Microsoft Havok) 72ea80b41f Revert last change (gltf2::Ref type is not a pointer and has a bool() operator) 2021-09-02 10:00:56 +01:00
Kim Kulling d710d0700f
Make nullptr test more explicit. 2021-09-02 10:10:42 +02:00
Max Vollmer (Microsoft Havok) 4c86772091 Added another nullptr safety check 2021-09-02 08:27:03 +01:00
Madrich 9b535d1c15 Fix Double Precision errors/warnings 2021-08-31 12:59:31 +02:00
Kim Kulling 155db25883
Merge branch 'master' into ms-maxvollmer/code_improvements 2021-08-31 08:55:47 +02:00
Doug Roeper 96f0787f51
Fix the -Werror=unused-but-set-parameter warning by removing the skipFirst variable. 2021-08-30 18:15:37 -04:00
Max Vollmer (Microsoft Havok) 51f294c587 Fixes issues our internal compliance and code quality tool found:
* Adds nullptr checks and asserts to protect certain code paths
* Fixes wrong integer type in a printf call
* Adds const to const values
* Prevents integer overflow with explicit casts
2021-08-30 14:59:17 +01:00
Viktor Kovacs 82d8c4e849
Merge branch 'master' into compressed_json 2021-08-30 10:11:03 +02:00
Kim Kulling 38c611a02c
Update ColladaLoader.cpp 2021-08-30 08:33:35 +02:00
Kim Kulling e2c2a60c45 Remove not used attribute 2021-08-29 18:41:07 +02:00
Kim Kulling c9d35b6edc Remove C++14 feature. 2021-08-29 18:35:44 +02:00
Kim Kulling ceafa95610 Remove unused header 2021-08-29 10:36:02 +02:00
kirillsurkov 5ca2cbb7ae Fix MinGW build 2021-08-28 20:04:37 +03:00
Kim Kulling c9b76f5255 Decrease xml-serializer complexity 2021-08-28 14:20:12 +02:00
Kim Kulling df739f00dd
Merge branch 'master' into issue_3398 2021-08-28 13:56:50 +02:00
Kim Kulling 69051bbc2c Add missing docu 2021-08-28 13:46:41 +02:00
Kim Kulling a7bc858698
Fix review finding. 2021-08-28 13:36:57 +02:00
Kim Kulling 3e090b21f5 Fix setup of embedded texture loading 2021-08-28 13:33:25 +02:00
Viktor Kovacs b9b62d106c
Merge branch 'master' into compressed_json 2021-08-27 18:18:28 +02:00