Commit Graph

406 Commits (e86f1acb9b11e317fe81124cbd38972da04f98d7)

Author SHA1 Message Date
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
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
Kim Kulling d4527d4e87
Merge branch 'master' into master 2022-03-05 14:00:32 +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 9335cc30ab INtroduce compression class to encapsulate compression via zlib 2022-02-06 20:42:58 +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 17d5633a5b Add missing SImpleExtensionCheck 2022-01-19 21:42:14 +01:00
Kim Kulling efd1d36aa9
Merge branch 'master' into krishty-new-file-detection 2022-01-18 22:17:50 +01:00
Kim Kulling 6e50b04ae0
Merge branch 'master' into IQM 2022-01-17 18:33:37 +01:00
Ben Sewell 65f2353105 IFC Reading: Fix opening reading. 2022-01-17 15:49:11 +00: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
Viktor Kovacs c71f4bc95a
Merge branch 'master' into common_base64 2022-01-11 18:46:08 +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
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
kovacsv bbe12240ca Move Base64 encode/decode functionality to the common folder. 2022-01-02 19:47:43 +01:00
Kim Kulling d44641398f Add console progresshandler 2021-12-26 11:16:02 +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
Garux 46f618a6ef add Inter-Quake Model (IQM) Importer 2021-12-18 15:34:58 +03:00
Kim Kulling efdaf603b0
Merge branch 'master' into so-unloading 2021-12-16 14:52:58 +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
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
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 9f28ef4c25
Merge branch 'master' into Artenuvielle-x3d_pugi_migration_artenuvielle 2021-11-10 20:43:39 +01:00
Kim Kulling 30143e9626
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-11-09 10:53:58 +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
Kim Kulling 8c0b869998
Merge branch 'master' into MalcolmTyrrell/jsonSchemaSupport 2021-10-28 13:38:41 +02: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
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 36c937cc19
Merge branch 'master' into debian-fixes 2021-10-18 09:07:47 +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 3b8126d26a Fix spelling mistake 2021-10-08 08:48:01 +02:00
Malcolm Tyrrell a283a255a5 Allow schema checking of glTF2 file. 2021-10-07 10:01:32 +01: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
Kim Kulling 880a2f25bb
Merge branch 'master' into remove-useless-code 2021-09-14 23:33:34 +02:00
Kim Kulling 18531e3677 Next iteration for c++11 features. 2021-09-13 22:38:20 +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
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
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
Kim Kulling a45878c41a
Fix possible overrun
- closes https://github.com/assimp/assimp/issues/3425
2021-08-27 14:04:00 +02:00
Kim Kulling 61ba320a04
Merge branch 'master' into master 2021-08-24 20:53:04 +02:00
Robert Ubiñas 58cae73401 Disable diagnostic for LogStream comparator 2021-08-11 19:32:26 -04:00
bearbit 408b5053a4 update LWO importer(available lwo3) 2021-08-03 20:18:14 +03:00
Krishty 758116b083 removed trailing spaces and tabs from source and text
This commit ignores the “contrib” folder in order to prevent merge conflicts in dependencies, should these be updated via git.
2021-07-29 13:28:51 +02:00
Rahul Sheth 1b37b74f9e Hunter fixes for stb_image 2021-07-07 17:01:19 -04:00
Rahul Sheth 0a5e49252d Merge remote-tracking branch 'origin/master' into HEAD 2021-07-07 16:35:29 -04:00
RichardTea 4a66ec25d0 Standardise Clearcoat, Sheen and Transmission
Also cleanup glTFv2 defaults, don't import/export if disabled
2021-06-14 15:11:41 +01:00
Kim Kulling d33cf1dc0c
Merge branch 'master' into x3d_pugi_migration 2021-06-06 16:06:08 +02:00
Scott Baldric 444fc9c373 Increasing length of mDataLength if rewriting the texture index increases magnitutde of index. 2021-06-04 16:32:46 -05:00
Kim Kulling a716f741d8
fix the include 2021-06-03 23:35:12 +02:00
Kim Kulling e0d1a36523
Merge branch 'master' into stb-image-updated 2021-06-03 23:07:38 +02:00
Carsten Rudolph 0905252833
Merge branch 'master' into master 2021-05-27 09:45:17 +02:00
Kim Kulling aa8d746dc3
Merge branch 'master' into patch-1 2021-05-27 08:35:29 +02:00
Kim Kulling 29e5f5fed1
Merge branch 'master' into master 2021-05-26 13:18:04 +02:00
Malcolm Tyrrell 084dc73b91 Fast path for unformatted calls. 2021-05-17 11:27:21 +01:00
Malcolm Tyrrell fd5d1211f9 Recover comment which got dropped 2021-05-17 10:33:00 +01:00
Malcolm Tyrrell 6e4b9d267b Remove TODO. Typo fix. 2021-05-17 10:29:06 +01:00
Malcolm Tyrrell 4ec01cfdcd Improve use of logging 2021-05-13 12:05:31 +01:00
Malcolm Tyrrell 5cd3bdd5c2 No need to distinguish formatting log functions. 2021-05-13 10:25:27 +01:00
Malcolm Tyrrell 78145f1425 log verboseDebug 2021-05-13 10:08:59 +01:00
Malcolm Tyrrell 89584c167a Log debug 2021-05-13 09:56:42 +01:00
Malcolm Tyrrell ca698c3e49 Log error 2021-05-13 09:36:42 +01:00
Malcolm Tyrrell 58bc4bcb63 log info 2021-05-12 12:55:21 +01:00
Malcolm Tyrrell 813d0aecdd Adjust warn 2021-05-12 12:43:24 +01:00
Carsten Rudolph a54cd432cd
Merge branch 'master' into master 2021-05-11 07:58:05 +02:00
Kim Kulling 433620350e
Merge branch 'master' into stb-image-updated 2021-05-10 11:30:45 +02:00
Jason C 859b32c045
[Logger] Log a notification instead of silently dropping long log messages.
Logs a notification instead of silently dropping long log messages, which can complicate debugging.

This way, if you don't see a message you expect to see, you'll immediately know why.

The *correct* approach would be to eliminate length filtering here entirely and use `snprintf` appropriately (also there's a tiny -- probably negligible -- performance hit here in calling `strlen` regardless of whether or not the verbosity level matches). Failing that, the second best option is to copy and truncate messages here. However, for now, this should be OK.
2021-05-07 22:32:32 -04:00
Jason C 7b404788a6
Merge branch 'master' into jc3-cctype-fixes 2021-05-07 14:48:01 -04:00
Carsten Rudolph 8ff52c0f89 Pass base name from export properties to the IO system. 2021-05-07 17:31:30 +02:00
Kim Kulling 350f2ea1d3 Fix build and merged master. 2021-05-06 21:36:25 +02:00
Kim Kulling 52228a93f8 Fix X3DGeohelper. 2021-05-06 21:07:38 +02:00
Jason C c08ad2e5c2
Merge branch 'master' into jc3-cctype-fixes 2021-05-05 19:04:47 -04:00
Krishty 816da9b677 merge and update all copies of stb_image.h 2021-05-05 23:15:41 +02:00
Kim Kulling 992f10e7bf
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-05 21:54:31 +02:00
Kim Kulling 6dcbd0d566
Merge branch 'master' into new-file-detection 2021-05-05 09:37:52 +02:00
Krishty ae93f53b51 fixed signature-based detection on unknown extensions 2021-05-05 00:57:43 +02:00
Krishty b79b84d34e Merge branch 'master' into new-file-detection 2021-05-05 00:09:42 +02:00
Jason C 2925592c64 [assimp] Make sure ctype calls use unsigned char.
Cast to unsigned char as required by C++ (see C++ **[cctype.cyn]** -> ISO C99 section 7.4, [see also](https://en.cppreference.com/w/cpp/string/byte/isspace)).

Addresses https://github.com/assimp/assimp/issues/3867 and then some.
2021-05-04 17:31:13 -04:00
Kim Kulling 875acc5166
Merge branch 'master' into patch-4 2021-05-04 20:59:06 +02:00
Kim Kulling 9c44c0ab2b
Merge branch 'master' into remove-useless-scaling-prototype 2021-05-04 13:02:00 +02:00
Kim Kulling 39522178aa
Merge branch 'master' into fix-scale-msg 2021-05-04 08:13:12 +02:00
Kim Kulling 7843b24e03
Merge branch 'master' into SceneCombiner_Memory_Leaks 2021-05-01 09:16:06 +02:00
Jason C 07257f4c66
Merge branch 'master' into patch-4 2021-04-30 22:23:23 -04:00
Kim Kulling 0b92abe9b4
Merge branch 'master' into empty-string-style 2021-04-30 00:54:57 +02:00
Scott Baldric f523b1e0d7
Merge branch 'master' into SceneCombiner_Memory_Leaks 2021-04-29 08:52:51 -05:00
Jason C 975de81ab6
Merge branch 'master' into patch-4 2021-04-28 22:23:17 -04:00
Jason C cf498c979a
ASSIMP_ENABLE_DEV_IMPORTERS env var to control registration of wip importers; applied to X3D
- GetImporterInstanceList reads ASSIMP_ENABLE_DEV_IMPORTERS env var. Development importers are enabled if the env var is set and is not equal to the literal string "0".
- X3D importer will not be registered unless ASSIMP_ENABLE_DEV_IMPORTERS is set; addresses #3647.

TODO: If this change is incorporated, it should be documented.
NOTE: Effective git branch structure is a better solution. This is an alternate for #3825.
2021-04-28 11:16:49 -04:00
Kim Kulling 6abdd0cd3e
Fix crash when reading 0 bytes
- This is a valid option so crash shall not happen
2021-04-28 16:38:22 +02:00
Krishty e6a47d93c2 removed dead code from 0d29203e24 2021-04-24 13:29:15 +02:00
Krishty afe947d5db fixed malformatted message 2021-04-24 12:38:31 +02:00
Krishty b00de10eb3 Simplified importer search and fixed a few bugs
The search for a matching importer had a few issues, see #3791. There were two different mechanisms to determine whether an importer accepts a specific file extension:
1. `aiImporterDesc::mFileExtensions`, which was forwarded to the UI via `BaseImporter::GetExtensionList()`.
2. `BaseImporter::CanRead()` when called with `checkSig == false`, which determines whether to actually use that importer.
Both were redundant and got out of sync repeatedly. I removed 2. completely and replaced it with 1., thereby syncing UI/import and shortening all `BaseImporter::CanRead()` implementations.

Further bugfixes:
- fixed glTF2 importer throwing exceptions when checking whether it can load a file
- removed `BaseImporter::SimpleExtensionCheck()` because it is no longer used and had a bug with case sensitivity

Since the `checkSig` parameter in `BaseImporter::CanRead()` is now useless, it can be removed completely. I’m not sure if this would break ABI compatiblity, so I’ll submit it with a later pull request.
2021-04-24 00:17:50 +02:00
Scott Baldric aae3788247 Fix: Removing double delete of texture items.
Textures were being double deleted after a merge scene because the
texture array wasn't being properly deleted at the end of merging.
Furthermore, the texture array was being sized to the number of
materials instead of the number of textures.
2021-04-22 08:49:47 -05:00
Krishty 3fead344ad updated version string (if anyone cares) 2021-04-19 07:37:12 +02:00
Krishty f761dc72f4 style fix - initializing and assigning empty std::string properly
std::string s(""); s = ""; calls the copy constructor, which in turn calls strlen(), … assigning a default-constructed string generates fewer instructions and is therefore preferred.

With C++11 uniform initialization, you’d simply write s = { } instead.
2021-04-16 23:43:56 +02:00
Kim Kulling da0543972b Fix parsing for AMF-Files. 2021-04-03 10:25:03 +02:00
Kim Kulling 6c89631581 closes https://github.com/assimp/assimp/issues/3678: ensure lowercase 2021-03-09 21:08:28 +01:00
Kim Kulling 9e8dbd0ca5 Update copyrights to 2021. 2021-02-28 12:17:54 +01:00
Ville Voutilainen 6ebae5e67c GCC 11 build fixes 2021-01-24 11:04:46 +02:00
Kim Kulling 11a17ebfe6
Merge branch 'master' into tdb/pbrt3_exporter 2021-01-20 20:03:30 +01:00
Kim Kulling f8dd3a9aa6
Update DefaultIOSystem.cpp 2021-01-20 08:05:43 +01:00
Kim Kulling ed3e745752
Update DefaultIOSystem.cpp 2021-01-19 21:58:04 +01:00
Kim Kulling f05a57560b
Remove buggy method. 2021-01-19 21:27:50 +01:00
Kim Kulling 5b325af79f
Fix typo. 2021-01-19 21:19:42 +01:00
Kim Kulling 5a6498af92
Fix nullptr access 2021-01-19 21:14:38 +01:00
Matt Pharr 8f5148f108
Merge branch 'master' into tdb/pbrt3_exporter 2021-01-18 17:15:40 -08:00
Dan Church 0bc5cf9fd3
Fix build failure on Linux 2021-01-18 16:17:28 -06:00
Kim Kulling f24c042925
Fix typo 2021-01-18 20:28:38 +01:00
Kim Kulling 0803e5e6f3
Fix nullptr dereference in scenepreprocessor 2021-01-18 20:25:33 +01:00
Matt Pharr 1042845414 Merge branch 'master' of https://github.com/assimp/assimp into tdb/pbrt3_exporter 2021-01-11 19:57:10 -08:00
Matt Pharr 71cfd8e0cf Merge branch 'master' into tdb/pbrt3_exporter 2021-01-11 19:54:11 -08:00
Matt Pharr 938537c884 Checkpoint improvements to pbrt exporter 2021-01-08 16:57:22 -08:00
Jean-Louis effe52368c No need to allocate a full size buffer for small files 2020-12-24 12:18:07 +01:00
Jean-Louis 895137c7d7 Fix unzip max buffer length error 2020-12-24 11:39:59 +01:00
Jean-Louis 54be7ac582 Update unzip contrib 2020-12-24 01:53:40 +01:00
Kim Kulling b4b011e764
Merge branch 'master' into master 2020-12-22 11:11:45 +01:00
wasd845 4e9176d2cd
_dest may be destructed twice if _dest is not null in MergeScenes() 2020-12-14 19:16:29 +08:00
Biswapriyo Nath e2af015a57 Common: Fix GCC error invalid conversion in MINGW. 2020-12-11 21:43:09 +05:30
Kim Kulling c7aeb882e6
Update ScenePreprocessor.cpp 2020-12-03 17:28:51 +01:00