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
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
a45878c41a
Fix possible overrun
...
- closes https://github.com/assimp/assimp/issues/3425
2021-08-27 14:04:00 +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