Commit Graph

4704 Commits (2108e08c900a624ae9a0a858860e7932635ee9a9)

Author SHA1 Message Date
Max Vollmer 3f75ef68ae Assimp guarantees in its docs that mRootNode is never NULL.
glTF2Importer::ImportNodes therefore must always create a root node, or throw an exception.

A GLTF2 file is invalid without a scene, so the importer should throw in that case. For GLTF2 files with a scene without nodes, it should create an empty root node.
2020-03-11 15:47:05 +00:00
Max Vollmer 1bc7c710d6 Added a check to detect and prevent recursive references in GLTF2 files 2020-03-11 09:54:24 +00:00
Max Vollmer 84e060a816 Change: ExtractData throws exception instead of returning false if data is invalid.
Explanation: The return value of ExtractData is never checked anywhere in code. However if it returns false, outData remains uninitialized. All code using ExtractData assumes outData is initialized and proceeds to using it. I haven't encountered a real-life case where this goes wrong - but the simple fact that it can go wrong is a red flag. Instead of relying on every bit of code checking the return value and handling this properly, I think it makes much more sense to have ExtractData throw an exception. It obviously is an exceptional situation, and throwing makes sure that no code that doesn't explicitly handle such a scenario continues running and potentially causing harm.
2020-03-11 09:40:42 +00:00
kimkulling 69551e81ed Merge branch 'enable_vs_warning_all' of https://github.com/assimp/assimp into enable_vs_warning_all 2020-03-11 10:15:25 +01:00
kkulling f8757322be fix warnings 2020-03-11 09:43:55 +01:00
Kim Kulling 7e7555a91b fix compiler warnings in tools and test- 2020-03-11 00:43:44 +01:00
Kim Kulling 02e5698a38 fix linker issues. 2020-03-09 22:49:32 +01:00
kimkulling f3b6b78d4d small refactorings. 2020-03-09 10:55:32 +01:00
Kim Kulling e8d2b84017 clean all warnings for vs-2019 2020-03-08 21:24:01 +01:00
Sebastian Matusik 8b9abc58e7 ifdef the exporters as specifying harsher linker flags than what's in default CMake causes linking issues. 2020-03-04 17:15:09 -08:00
Yingying Wang bb62249f0c fix gltf2 exporter memory crash 2020-03-04 14:52:26 -08:00
Kim Kulling 0b227219b7
Merge branch 'master' into gltf2_broken_bones_count 2020-03-03 11:33:56 +01:00
Kim Kulling 920535165d next fixed warnings 2020-03-01 13:15:45 +01:00
Sebastian Matusik 710dbba52d Trimmed trailing whitespaces 2020-02-28 19:19:10 -08:00
Sebastian Matusik 496fcd35c1 Trimmed trailing whitespaces 2020-02-28 19:17:53 -08:00
Sebastian Matusik 5f35d62d61 Fix for #3037 cause glTF2Importer creating bunch of bones with 0 for vertex with index 0 2020-02-28 18:43:47 -08:00
Sebastian Matusik 22311883ce Fix for #3037 [FATAL] SplitByBoneCountProcess::SplitMesh goes into infinite loop 2020-02-28 18:42:22 -08:00
Adrian Iusca 919ae489fc
Merge branch 'master' into master 2020-02-25 23:32:31 +02:00
Paul Arden ae50c4ebdf Add support for orthographic camera information and use in glTF2 importer. Fixes #3030. 2020-02-25 14:45:00 +11:00
Paul Arden fb5b01958a Fix to read orthographic camera data. Manual merge for this branch. Fixes #3028 2020-02-25 11:03:07 +11:00
Kim Kulling e4b2fd246d
Merge branch 'master' into remove-else-endif-constructs-cmake-files 2020-02-24 20:08:17 +01:00
Adrian Iusca 28f4b95ff5
Merge branch 'master' into master 2020-02-24 21:05:51 +02:00
Marc-Antoine Lortie edfaaed56f Removed uneeded expression in else() and endif() constructs.
The following changes were tested against building with a master copy.

For a more detailed report, please read the followings below:

The flags that were checked were the ones checked by default + the following:

ASSIMP_BUILD_ASSIMP_VIEW
ASSIMP_BUILD_SAMPLES

The list of compilable projects in Visual Studio were the following:

- assimp
- assimp_cmd
- assimp_simpleogl
- assimp_simpletextureddirectx11
- assimp_simpletexturedogl
- assimp_viewer
- INSTALL
- IrrXML
- uninstall
- unit
- UpdateAssimpLibsDebugSymbolsAndDLLs
- ZERO_CHECK
- zlib
- zlibstatic

The solution that was generated with the new changes comprised the same number of projects as the one from the master, unmodified. All projects except UpdateAssimpLibsDebugSymbolsAndDLLs were built without any error. All tests were run.

UpdateAssimpLibsDebugSymbolsAndDLLs could not be built because of the reasons explained in issue #3004.
2020-02-23 07:09:35 -05:00
iamAdrianIusca f28b087d16 small improvements in the CMakeLists.txt file
If ASSIMP_NO_EXPORT is not defined:
- don't add the macro for the exporters
- don't include the files for all the exporter
- don't display any messages about what exporters are enabled or not
2020-02-21 20:17:38 +02:00
Kim Kulling 3f5136b7b2
Merge branch 'master' into master 2020-02-19 21:52:57 +01:00
iamAdrianIusca 4de0237167 small fix 2020-02-18 21:55:35 +02:00
iamAdrianIusca a5524ffcd9 more changes 2020-02-18 19:02:14 +02:00
iamAdrianIusca ad52c5c5f6 .clear in destructor is redundant 2020-02-18 18:56:09 +02:00
iamAdrianIusca bf85fc1386 small changes 2020-02-18 18:50:48 +02:00
iamAdrianIusca 016c0a8665 small changes 2020-02-18 18:42:59 +02:00
iamAdrianIusca d0922230a9 fixed the = default on the destructor 2020-02-18 18:24:52 +02:00
iamAdrianIusca a65bac27e9 fixed the make_unique 2020-02-18 18:01:53 +02:00
Kim Kulling 6e13381bdb next warnings. 2020-02-18 14:41:19 +01:00
Kim Kulling 22118dff1d Merge branch 'master' into enable_vs_warning_all 2020-02-16 15:37:48 +01:00
Kim Kulling c2bfbdacf4 fix more warnings. 2020-02-16 15:37:20 +01:00
Kim Kulling ec3a5620d0
Update AssxmlExporter.cpp
Fix the build.
2020-02-16 15:04:18 +01:00
Kim Kulling ada4f51d5b
Merge branch 'master' into kimkulling_dev 2020-02-16 13:10:41 +01:00
iamAdrianIusca 024b5e60bc Merge remote-tracking branch 'origin/master' 2020-02-15 23:29:26 +02:00
iamAdrianIusca 5c99d6a864 very small changes
- FIND_PACKAGE(DirectX) is already used in the samples and assimp tool cmake files - so is not needed in the main cmake fil
- other small changes
2020-02-15 23:29:04 +02:00
Kim Kulling 00a104efde
Merge branch 'master' into master 2020-02-14 20:58:13 +01:00
Kim Kulling bdd5e52176
Merge branch 'master' into search-invalid-textures-missing-texture-types 2020-02-14 18:04:30 +01:00
Kim Kulling 1473c6616b
Merge branch 'master' into master 2020-02-14 12:56:14 +01:00
Adrian Iusca d662b25b17
Merge branch 'master' into master 2020-02-14 13:40:15 +02:00
Inho Lee d04df3e7c5 A bug when importing multiple gltf files
meshOffsets are not cleared when importing multiple gltf files
2020-02-14 08:41:55 +01:00
Kim Kulling 523e6c9f73
Merge branch 'master' into gltf-camera-pos 2020-02-14 08:21:54 +01:00
Hui.Du b62bd38c71 Fix: GLTF animation works on RTS not matrix; fix matrix related bug. 2020-02-14 02:11:12 +00:00
Adrian Iusca 56a71f22e1
Merge branch 'master' into master 2020-02-14 01:04:46 +02:00
iamAdrianIusca 25feb77982 more minor changes 2020-02-13 00:38:56 +02:00
iamAdrianIusca 6f1870681b reduced the scope of iStep variable 2020-02-13 00:27:30 +02:00
iamAdrianIusca 24cdb1f221 revert small change 2020-02-13 00:21:04 +02:00
Adrian Iusca 6f53e8b43b
Merge branch 'master' into master 2020-02-13 00:14:20 +02:00
iamAdrianIusca fc4dd6455a minor code improvements for the obj code
- make use of range for loops
- make use of empty() method for the std::vector
- removed unnecessary std::string initialization
- use ' ' instead of " " for the find methods (should be "faster")
- simplified some function
- make use of emplace_back instead of push_back (should be "faster")
- other small changes
2020-02-13 00:10:07 +02:00
Kim Kulling f5af791633
Merge branch 'master' into FBXMeshGeometry_checksizes_fix 2020-02-12 17:58:00 +01:00
Kim Kulling 47fc3f2627
Update M3DImporter.cpp
Fix a memoryleak.
2020-02-12 14:54:00 +01:00
Kim Kulling 1c13c793f0
Merge branch 'master' into master 2020-02-11 22:00:22 +01:00
Marc-Antoine Lortie 50334086cf Added missing texture types when searching for invalid textures. 2020-02-11 11:42:13 -05:00
Kim Kulling 58990d4e3f
Update FBXParser.cpp
add missing brackets.
2020-02-10 23:59:52 +01:00
Kim Kulling 5e979d72c9
Merge branch 'master' into FBXParser_check_inputlength_fix 2020-02-10 23:59:13 +01:00
Kim Kulling 471f9b23c9
Merge branch 'master' into master 2020-02-10 21:37:01 +01:00
Kim Kulling 8fd053315c
Update ArmaturePopulate.cpp
- Introduce tabs width of 4.
- Add missing brackets
- Use c++ comment blocks
2020-02-09 11:14:42 +01:00
Kim Kulling 407c550240
Merge branch 'master' into master 2020-02-09 11:05:35 +01:00
Kim Kulling af9705e3d1
Merge branch 'master' into FBXParser_check_inputlength_fix 2020-02-07 11:52:00 +01:00
Tomas Mariancik acf57bdb13
Merge branch 'master' into master 2020-02-06 22:58:19 +01:00
Marc-Antoine Lortie 8c09cd2ef3 Fixed TextureTypeToString defined multiple times.
- Moved TextureTypeToString to it's own file.
- Added new file to CMakeLists.txt.
- Added 6 missing values in TextureTypeToString.
- Added 6 missing aiTextureType enum values in assimp_cmd/Info.cpp.
2020-02-06 13:19:01 -05:00
Kim Kulling b33272b1c8
Merge branch 'master' into hl1-mdl-remove-texture-256-clamping-2 2020-02-06 14:39:09 +01:00
Frooxius 29603128f4 Fixed invalid armature node population when there's mesh on a node with the same name as the bone 2020-02-06 10:28:38 +01:00
Luke Lau 18c01a023c Use the translation matrix in gltf2 cameras for aiCamera.mPosition 2020-02-05 21:24:54 +00:00
Max Vollmer 8af0229e0d In "ByVertice" case tempData.size() needs to be mapping_offsets.size(), not vertex_count 2020-02-05 14:40:35 +00:00
Kim Kulling f00256d185
Merge branch 'master' into rename-writedumb-to-writedump 2020-02-05 13:58:09 +01:00
Max Vollmer (Microsoft Havok) eb1d25631b
Merge branch 'master' into FBXMeshGeometry_checksizes_fix 2020-02-05 11:12:57 +00:00
Max Vollmer ec024085ab Merge branch 'FBXMeshGeometry_checksizes_fix' of https://github.com/ms-maxvollmer/assimp into FBXMeshGeometry_checksizes_fix 2020-02-05 11:08:00 +00:00
Max Vollmer cb55e2658d Removed unnecessary checks that may result in false positives rejecting valid models 2020-02-05 11:07:39 +00:00
Kim Kulling ad286a8ab1
Merge branch 'master' into fix_clang_warnings 2020-02-03 19:07:02 +01:00
Kim Kulling 8e009c3d0c
Update MDLLoader.cpp
fix a tab.
2020-02-03 19:06:36 +01:00
Kim Kulling 2d5c28ac46
Merge branch 'master' into scene-combiner-memory-leak 2020-02-02 20:43:52 +01:00
Kim Kulling 99175e3eaf
Merge branch 'master' into master 2020-02-01 19:26:52 +01:00
Kim Kulling 4862d11807
Merge branch 'master' into FBXMeshGeometry_checksizes_fix 2020-02-01 13:25:32 +01:00
Marc-Antoine Lortie d6567e606e Fixed wrong changes applied during merge. 2020-01-31 18:14:26 -05:00
Marc-Antoine Lortie 3386e9ea58
Merge branch 'master' into hl1-mdl-remove-texture-256-clamping-2 2020-01-31 16:55:45 -05:00
Marc-Antoine Lortie ede860173e Fixed mValues allocated twice.
mValues is already allocated in aiMetadata::Alloc().
2020-01-31 16:43:20 -05:00
Kim Kulling 9a971ffeac
Merge branch 'master' into master 2020-01-31 19:12:02 +01:00
Kim Kulling 0269000884
Update glTF2Exporter.cpp
Replacing tabs by spaces.
2020-01-31 19:11:36 +01:00
Kim Kulling 187b74355b
Update glTFImporter.cpp
Replace tabs by spaces.
2020-01-31 19:08:04 +01:00
Kim Kulling 0af44fb3e8
Update glTFExporter.cpp
Replacing tabs by spaces.
2020-01-31 19:06:56 +01:00
Zoltan Baldaszti ca614a7419
Merge branch 'master' into master 2020-01-31 14:29:39 +01:00
bzt e434c63c31 Fixed what kimkulling broke 2020-01-31 14:20:23 +01:00
Hanif Bin Ariffin bbe6f7f213 Fixed a bunch of clang warnings
1. Fix misleading indentation warnings.
2. Fix creating a temporary const copy when iterating over a map (thanks to range analysis warnings)
3. Fix creating a copy when iterating over a range without reference qualifier (also thanks to range analysis warnings)
2020-01-30 18:42:30 -05:00
Marc-Antoine Lortie 2c1c1d846e Renamed WriteDumb.cpp to WriteDump.cpp
This includes as well changes to places referencing WriteDumb.cpp.
2020-01-30 16:40:34 -05:00
Kim Kulling 53c394179c
Merge branch 'master' into refactor-assxml-and-xml-dump-writer 2020-01-30 16:33:24 +01:00
Max Vollmer (Microsoft Havok) dc01f99fed
Merge branch 'master' into FBXMeshGeometry_checksizes_fix 2020-01-30 09:20:14 +00:00
Max Vollmer (Microsoft Havok) feeb875453
Merge branch 'master' into FBXParser_check_inputlength_fix 2020-01-30 09:20:08 +00:00
Kim Kulling a2ef0b5bd5
Update M3DImporter.cpp
Fix some review finding:
- Add missing brackets to make code more readable
- fix scope of variables
2020-01-30 10:00:43 +01:00
Kim Kulling 605336832f
Update M3DImporter.cpp
Add missing brackets
2020-01-30 09:47:39 +01:00
Kim Kulling 0273ffc367
Merge branch 'master' into master 2020-01-30 09:46:41 +01:00
Zoltan Baldaszti cb623f8b74
Merge branch 'master' into master 2020-01-29 22:24:48 +01:00
bzt 398a8f757e Additional checks on invalid input 2020-01-29 22:08:34 +01:00
Marc-Antoine Lortie ff168d7bc0 Refactored Assxml exporter and dump xml writer.
- Moved AssxmlExporter serialization code in a new file AssxmlFileWriter.cpp/h
- Added new files to CMakeLists.txt
- Replaced string format specifiers %i by %u to match argument type.
- Made a few changes in WriteDumb.cpp to call the new DumpSceneToAssxml function.
2020-01-29 13:44:51 -05:00
Max Vollmer 9e46fca9a9 Added missing checks for tempData and uvIndices sizes in all cases 2020-01-29 15:06:48 +00:00
Max Vollmer 0d672efa90 Check input token length before copy 2020-01-29 15:04:26 +00:00
Kim Kulling 6c95ee145c
Merge branch 'master' into kimkulling-patch-1 2020-01-29 14:37:32 +01:00
Loïc 194d31002d Import/export of embedded texture names for the glTF/glTF2 format 2020-01-29 14:04:41 +01:00
Kim Kulling e40df80d0e
Merge branch 'master' into master 2020-01-29 10:57:06 +01:00
Marc-Antoine Lortie 81bc7825d1 Potentially fixed strncpy warning by Coverity. 2020-01-28 14:02:09 -05:00
Marc-Antoine Lortie 5f30d4c0f8 Added missing cmd writting. 2020-01-28 12:30:09 -05:00
Marc-Antoine Lortie 20388d6a4f Refactored Assbin exporter and assimp_cmd binary serialization functions.
- Renamed AssimpExport to AssimpFileWriter.
- Moved AssimpFileWriter to it's own file.
- Added a try catch in WriteBinaryDump to fix a case with memory leak.
- Replaced calls to WriteBinaryDump with AssimpFileWriter.
- Added new AssimpFileWriter files to CMakeLists.txt.
2020-01-28 09:55:05 -05:00
Kim Kulling 27449f17ca
Merge branch 'master' into master 2020-01-28 14:13:29 +01:00
Marc-Antoine Lortie 21e4632b99
Merge branch 'master' into hl1-mdl-remove-texture-256-clamping-2 2020-01-27 18:01:24 -05:00
Marc-Antoine Lortie 16d71908d7
Merge branch 'master' into hl1-mdl-fix-texture-format 2020-01-27 18:01:03 -05:00
RichardTea 4337c07e4b Remove explicit setting of macos install_name
Use CMake default behaviour for libassimp

Fixes #2961
2020-01-27 17:08:56 +00:00
Marc-Antoine Lortie 5d5a4faf47
Merge branch 'master' into hl1-mdl-remove-texture-256-clamping-2 2020-01-25 13:35:14 -05:00
Marc-Antoine Lortie 5ab67f6491
Merge branch 'master' into hl1-mdl-fix-texture-format 2020-01-25 13:34:59 -05:00
Marc-Antoine Lortie 48bb2978af Added support to load HL1 MDL external texture files directly. 2020-01-24 13:14:37 -05:00
Marc-Antoine Lortie e093066a2c
Merge branch 'master' into hl1-mdl-remove-texture-256-clamping-2 2020-01-24 07:22:59 -05:00
Marc-Antoine Lortie b9ae88f200
Merge branch 'master' into hl1-mdl-fix-texture-format 2020-01-24 07:20:03 -05:00
Kim Kulling 57c735cdca
Merge branch 'master' into master 2020-01-24 11:30:59 +01:00
Marc-Antoine Lortie 770c822621 Updated places to achFormatHint referencing array size. 2020-01-23 15:26:49 -05:00
Kim Kulling e569831253
Update HL1MDLLoader.cpp
Fix possible x64 issue.
2020-01-23 16:20:34 +01:00
Kim Kulling b74b96fca4
Merge branch 'master' into hl1-mdl-deletion-temp-nodes 2020-01-23 15:17:19 +01:00
Kim Kulling 5b09758f15
Update HL1MDLLoader.cpp
Fix compiler warning
2020-01-23 15:04:07 +01:00
Kim Kulling 259d670f54
Merge branch 'master' into hl1-mdl-fix-texture-format 2020-01-23 11:14:05 +01:00
Kim Kulling 092883cf19
Merge branch 'master' into update-copyright-end-date 2020-01-22 18:03:43 +01:00
Marc-Antoine Lortie 2081b71838
Merge branch 'master' into hl1-mdl-remove-texture-256-clamping-2 2020-01-22 10:52:51 -05:00
Marc-Antoine Lortie 11d98e7cf6
Merge branch 'master' into hl1-mdl-fix-texture-format 2020-01-22 10:47:34 -05:00
Marc-Antoine Lortie 3e8a33aae3 Fixed wrong texture format used in HL1 MDL loader. 2020-01-22 10:02:38 -05:00
Marc-Antoine Lortie ff8a924ffb [HL1 MDL] Removed downscale for textures with dimensions greater than 256. 2020-01-22 09:09:39 -05:00
Loïc 2ebafe0693 Fix version revision formatting in glTF metadata 2020-01-22 12:40:57 +01:00
Turo Lamminen 1edb52c0de ScenePreprocessor: Assert some properties about animation channels 2020-01-22 12:22:52 +02:00
Turo Lamminen aee292e367 Whitespace 2020-01-22 12:22:52 +02:00
Turo Lamminen 288a638a83 X: Only create animation key arrays if there are some keys 2020-01-22 12:22:52 +02:00
Kim Kulling 3cf7d955f3
Update HL1MDLLoader.cpp
Fix compiler warning
2020-01-22 10:06:40 +01:00
Kim Kulling 6a5ab0381d
Update HL1MDLLoader.cpp
Add missing const
2020-01-22 09:46:37 +01:00
Kim Kulling e27b54f504
Update HL1MDLLoader.cpp
Fix review findings.
2020-01-21 19:39:29 +01:00
Marc-Antoine Lortie caf9e31181
Merge branch 'master' into hl1-mdl-deletion-temp-nodes 2020-01-21 11:57:49 -05:00
Marc-Antoine Lortie 4e7e47bd43 Updated copyright dates.
Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, assimp team".

Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, ASSIMP Development Team".

Changed copyright end year to 2020 in LICENCE.rtf.

Changed copyright end year in CMakeFiles.txt files and any other places referencing Assimp with a copyright start and end year.
2020-01-20 08:53:12 -05:00
Kim Kulling b7e51a38ef
Update HL1MDLLoader.cpp
Minor findings.
2020-01-19 20:16:13 +01:00
Marc-Antoine Lortie 9deb8fb786 Fixed child nodes not deleted if the importer failed to add them to the scene root node. 2020-01-19 12:48:45 -05:00
Kim Kulling 41e594f7b1
Merge branch 'master' into master 2020-01-19 12:46:07 +01:00
Marc-Antoine Lortie b74562f8a0 Fixed delete operator. 2020-01-18 15:16:03 -05:00
Marc-Antoine Lortie 247667233d Fixed memory leak in MDLLoader.cpp
If one of the MDL importer implementations throw an exception, the memory allocated at mBuffer may never be freed. This fix should prevent further memory leaks.
2020-01-18 14:58:19 -05:00
Kim Kulling c4d98ced49
Merge branch 'master' into kimkulling_dev 2020-01-18 14:05:51 +01:00
Matthias Moulin cc40963e1a
Removed name of unreferenced local variable in catch block 2020-01-17 16:07:50 +01:00
Marc-Antoine Lortie 6970e70dbb [MDL] Updated header to use when checking file size. (Redone)
This is needed since it's possible to have an MDL sequence group file that has a size less than the Quake 1 MDL header.
2020-01-17 08:27:52 -05:00
Kim Kulling bdbe111abd
Merge branch 'master' into master 2020-01-17 08:17:45 +01:00
Kim Kulling 40d882af4f fix irrreader leak. 2020-01-16 20:25:47 +01:00
Matthias Moulin 986c18501a
Suppressed MSVC++ warning C4267
'=': conversion from 'size_t' to 'ai_uint32', possible loss of data
2020-01-16 18:31:44 +01:00
Matthias Moulin bdc10aa336
Suppressed MSVC++ warning C4267
'=': conversion from 'size_t' to 'ai_uint32', possible loss of data
2020-01-16 18:30:11 +01:00
Matthias Moulin 784a05651b
Suppressed MSVC++ warning C4267
'=': conversion from 'size_t' to 'ai_uint32', possible loss of data
2020-01-16 18:29:30 +01:00
Matthias Moulin 633a37512f
Suppressed MSVC++ warning C4267
'=': conversion from 'size_t' to 'ai_uint32', possible loss of data
2020-01-16 18:28:45 +01:00
Matthias Moulin 91ecad5da8
Suppressed MSVC++ warning C4267
'=': conversion from 'size_t' to 'ai_uint32', possible loss of data
2020-01-16 18:28:04 +01:00
Matthias Moulin 3ab21c926c
Suppressed MSVC++ warning C4267
'=': conversion from 'size_t' to 'ai_uint32', possible loss of data
2020-01-16 18:27:00 +01:00