Commit Graph

898 Commits (a214b0833f368d665f25d296385966bbc13a796b)

Author SHA1 Message Date
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
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
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 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 e01b488075
Remove dead code. 2021-10-26 22:06:10 +02: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
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
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
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 bc0a2762df
Merge branch 'master' into master 2021-09-09 09:16:50 +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
kovacsv b39f38b73c Add export property for assimp json exporter to write compressed json (without whitespaces). 2021-08-27 18:17:27 +02:00
Kim Kulling eabfc05bbb
Handle empty keys 2021-08-27 10:41:25 +02:00
kovacsv 0590a39159 Fix M3D import crash and memory leak.
The same default material pointer was assigned to all the materials in the scene, so poor destructor tried to free the same pointer multiple times.
2021-08-24 07:26:20 +02:00
kovacsv 468aa50aed mingw build fix 2021-08-19 13:50:26 +02:00
Kim Kulling f3903e34a4
Merge branch 'master' into master 2021-08-18 07:32:16 +02:00
Kim Kulling a486a698e8
Merge branch 'master' into clang13 2021-08-16 21:35:59 +02:00
Kim Kulling a850f312ac
Merge branch 'master' into ms-maxvollmer/crash_fixes_08_2021 2021-08-16 21:00:07 +02:00
Kim Kulling 27231c3f52
Merge branch 'master' into bound 2021-08-16 20:48:17 +02:00
Max Vollmer (Microsoft Havok) c1e830cf3b The GLTF2 specs aren't very specific about the restrictions of the number of keyframes in sampler input and output. It seems logical that they should be the same, but there is an official sample model from Khronos where output has more keyframes. I thus assume that the GLTF2 standard allows more keyframes in output, but not in input. Fixed the check accordingly. 2021-08-13 17:46:10 +01:00
Max Vollmer (Microsoft Havok) de2f5cf021 Crash fixes 2021-08-13 16:26:42 +01:00
Kim Kulling 4b1ff645e3 closes https://github.com/assimp/assimp/issues/3398: Add support for embedded textures 2021-08-12 21:13:07 +02:00
Mykhailo Smoliakov 26defda671
Merge branch 'master' into master 2021-08-12 08:20:59 +03:00
Robert Ubiñas 69c152d7c1 Add missing diagnostic push 2021-08-11 18:57:21 -04:00
Mykhailo Smoliakov c3fcbfd2c1 Fix issue of incorrect reading of PBR properties such as base and emissive color in FBX 2021-08-11 08:54:34 +03:00
Kim Kulling a16cd95b16
Merge branch 'master' into fix-indent 2021-08-10 21:39:13 +02:00
Kim Kulling a55518f6fc
Merge branch 'master' into no-empty-string-literals 2021-08-10 20:41:40 +02:00
Kim Kulling 89eadb934f
Merge branch 'master' into trim-trailing-whitespace 2021-08-09 21:24:22 +02:00
Kim Kulling 0aa36ee550
Merge branch 'master' into master 2021-08-07 12:06:23 +02:00
krishty f8fe3d1341
Merge branch 'master' into fix-indent 2021-08-06 09:40:34 +02:00
krishty 00b22d1397
Merge branch 'master' into no-empty-string-literals 2021-08-06 09:40:31 +02:00
krishty 6cb54d1c95
Merge branch 'master' into trim-trailing-whitespace 2021-08-06 09:40:03 +02:00
Hill Ma 8d6d6b48c3 Obj: make a predicate more robust.
Since we might encounter invalid input it is a good idea to check the actual
size of the array.
2021-08-02 12:04:15 -07:00
krishty 1ee2be8c5c
Merge branch 'master' into trim-trailing-whitespace 2021-07-31 18:01:48 +02:00
Kim Kulling 00a2cd20f9
Merge branch 'master' into remove-dead-code 2021-07-31 17:00:58 +02:00
Krishty bb53961fa9 more range-based for
f6b4370f6a and 7c822f23bd introduced raw loops on data types with heavy nesting; range-based for suits better here
2021-07-29 14:57:25 +02:00
Krishty 42a7611f85 style fix: indentation 2021-07-29 14:39:22 +02:00
Krishty 4991f728c8 style fix – initializing and assigning empty std::string properly
for details, see #3764
2021-07-29 14:23:52 +02: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
Krishty 738c31c3ea removed useless code
Found while reviewing #3880
2021-07-28 16:48:53 +02:00
xiaohunqupo d065513e27
Merge branch 'master' into master 2021-07-28 17:02:28 +08:00
Kim Kulling f87550fdbc
Fix Issue3760
- Convert left-handed coordinate system to right-handed coordinate system
- Rescale model by 0.01
- closes https://github.com/assimp/assimp/issues/3760
2021-07-28 10:39:39 +02:00
xiaohunqupo 8ee2c721d9
StepExporter support polygon mesh
StepExporter support polygon mesh
2021-07-28 16:32:27 +08:00
Kim Kulling aeae2cf242
Update M3DWrapper.h 2021-07-26 14:44:26 +02:00
Kim Kulling e8e720d584
Update M3DWrapper.h 2021-07-26 13:41:54 +02:00
Kim Kulling 291c0a4faa
Fix build failure
- Fix the failure
- Put inlined stuff out of declaration
- Add some docu
2021-07-26 13:13:21 +02:00
Kim Kulling df2e7208fb
Fix fuzzer issue in m3d-importer
- closes https://github.com/assimp/assimp/issues/3974
- Check for nullptr before dereferencing name in m3d-data-instance.
2021-07-26 11:56:26 +02:00
Kim Kulling b7f88f3063 closes https://github.com/assimp/assimp/issues/3957: checkj for empty positions. 2021-07-26 10:51:16 +02:00
Kim Kulling 4e28a3072f
Merge branch 'master' into gltf_fixes 2021-07-23 20:37:25 +02:00
Kim Kulling e07af07311
Merge branch 'master' into double 2021-07-22 10:07:40 +02:00
Kim Kulling d0885af634
Merge branch 'master' into gltf_export_id_issue_3978 2021-07-21 13:47:47 +02:00
Adrian Perez 30d342534a Fix issues encountered during integration atempt 2021-07-16 14:29:28 -07:00
Kim Kulling 5171aa52d1
Remove dead code 2021-07-16 11:47:38 +02:00
Hill Ma aa883eda19 FBX: fix double precision build. 2021-07-15 11:54:55 -07:00
RichardTea 632b2db97c Ensure glTFv2 scene name is unique
Use the provided scene name if extant
Fixes issue #3978
2021-07-14 13:39:41 +01:00
RichardTea 0c6c238956
Merge branch 'master' into collada_makehuman_issue_3984 2021-07-14 11:33:43 +01:00
Kim Kulling 9c207cd865
Merge branch 'master' into rbsheth_fix_hunter 2021-07-13 20:45:22 +02:00
RichardTea bff1d012bd Read matrix and input (shared) correctly
<matrix> may have leading and trailing whitespace
<input/> set attribute is unsigned. It is also optional, default 0
2021-07-13 16:50:09 +01:00
RichardTea 206b2436d4 Apply clangformat 2021-07-13 16:47:31 +01:00
Kim Kulling 15bbab2d9e
Merge branch 'master' into PLY_RN_LINE 2021-07-12 10:53:00 +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
Promit Roy 90c115cb3f
Merge branch 'master' into promit/gltf-extras 2021-07-02 00:38:00 -04:00
Kim Kulling 240eb36980
Merge branch 'master' into master 2021-07-01 19:23:52 +02:00
arkeon 3cbd31900c Manage /R/N lines ends correctly on binary files, tested with solidworks PLY export 2021-07-01 17:23:21 +02:00
Kim Kulling 01930101c7
Merge branch 'master' into master 2021-06-29 20:45:09 +02:00
Kim Kulling 59ab791a47
Merge branch 'master' into clang-tidy-perf-fixes 2021-06-29 20:24:23 +02:00
Promit Roy 7c822f23bd Added support for custom properties ("extras") in glTF2 2021-06-27 00:53:40 -04:00
Jerome St-Louis e3d54860ec
Merge branch 'master' into master 2021-06-25 18:50:33 -04:00
Pankaj003 72075f984e
Merge branch 'master' into master 2021-06-25 19:48:12 +05:30
Jerome St-Louis 0e41efb050 glTF2: Improved support for AI_MATKEY_OPACITY
- Exporter: Writing opacity to pbrMetallicRoughness.baseColorFactor[3] even when alphaMode is set
- Importer: Setting AI_MATKEY_OPACITY from pbrMetallicRoughness.baseColorFactor[3]
2021-06-24 13:27:29 -04:00
Aaron Gokaslan f435ce8c2c
Merge branch 'master' into clang-tidy-perf-fixes 2021-06-24 11:54:56 -04:00
Kim Kulling b38b65ff49
Add const 2021-06-24 17:03:00 +02:00
Kim Kulling 012ce30577
Merge branch 'master' into zero 2021-06-24 17:00:43 +02:00
Kim Kulling d18d838812
Fix formatting 2021-06-24 16:18:11 +02:00
Aaron Gokaslan 8e3a159141
Merge branch 'master' into clang-tidy-perf-fixes 2021-06-23 10:10:28 -04:00
Pankaj Tyagi 6170c49155 Fixed:
1. FBX import is unable to read the texture UV rotation angle.
2. FBX export is unable to write the texture UV rotation angle.
2021-06-23 16:49:09 +05:30
Evangel63 e736538df3
Merge branch 'master' into master 2021-06-23 13:45:23 +10:00