Commit Graph

1442 Commits (718c517dcda922b8e0c836d26876a159264cac04)

Author SHA1 Message Date
Alejandro González 790aad4b62
Add macOS support to C4D importer (#5516)
The latest Cineware SDK explicitly asserts macOS support in its
documentation, but Assimp's C4D importer only works with Windows MSVC
targets. Let's improve its portability by refactoring importer code to
not depend on MSVC-only data types and quirks, and add support for linking
against the universal macOS static libraries provided in the Cineware
SDK.

Note that the C4D importer still cannot support Linux platforms because
Maxon does not provide the necessary precompiled Cineware libraries for
that platform. Windows MinGW targets are also out of the question as the
MinGW toolchain uses compiled libraries in a different format.

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-07 00:25:46 +02:00
RoboSchmied 52c2b6896a
Fix 16 typos (#5518)
Signed-off-by: RoboSchmied <github@roboschmie.de>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-06 21:26:32 +02:00
Julian Knodt 39ce0c0456
Respect merge identical vertices in ObjExporter (#5521)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-04-02 18:31:19 +02:00
Kristjan Skutta feb861f17b
Fix duplicate degrees to radians conversion in fbx importer. (#5427)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-03-22 00:01:57 +01:00
Kim Kulling fcb1444b84
Add correction of fbx model rotation (#5494) 2024-03-17 17:46:28 +01:00
Laura Hermanns 727774f181
Fix compilation for MSVC14. (#5490)
- std::min/max were not defined in StackAllocator.inl; Also added explicit template arguments to break macro expansion if Windows.h is included prior and NOMINMAX macro is not present.
- Made static_assert statements compatible with C++11 in ProcessHelper.cpp.
- Removed unused string_view include in ObjFileParser.cpp.
2024-03-11 09:09:23 +01:00
sSsA01 f95050e7aa
Append a setting "AI_CONFIG_EXPORT_FBX_TRANSPARENCY_FACTOR_REFER_TO_OPACITY". (#5450)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-27 20:26:13 +01:00
Kim Kulling 01231d0e60
Add 2024 to copyright infos (#5475) 2024-02-23 22:30:05 +01:00
Kim Kulling 4d6dd80257
Add correct double zero check (#5471)
* Add correct double zero check

* Use std::fpclassify
2024-02-22 13:58:25 +01:00
Adam Mizerski 4b9f46dbda
ColladaParser: check values length (#5462)
* ColladaParser: check values length

fixes: #4286

* Refactor calculation of size for data

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-15 13:07:00 +01:00
fvbj 2d98f6a880
Fix identity matrix check (#5445)
* Fix identity matrix check

Adds an extra epsilon value to check the matrix4x4 identity. The method is also used to export to GLTF/GLTF2 format to check node transformation matrices. The epsilon value can be set using AI_CONFIG_CHECK_IDENTITY_MATRIX_EPSILON with the default value set to 10e-3f for backward compatibility of legacy code.

* Fix type of float values in the unit test

* Update matrix4x4.inl

Fix typo

* Update matrix4x4.inl

Remove dead code.

* Add isIdentity-Test

* Update AssimpAPITest_aiMatrix4x4.cpp

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-06 21:24:41 +01:00
Julian Knodt c877a15140
`Blendshape`->`Geometry` in FBX Export (#5419)
When loading a mesh exported from assimp into Blender, it warns that it has an incorrect class.
While debugging, I traced it back to this being `Blendshape` where `Geometry` was expected. This
is likely because this node describes a `Geometry`, which is used as a blendshape. I'm not sure
if any other DCC tools or places to import it expect `Blendshape` instead (i.e. was this code
ever tested?), but it fixes its use in Blender.

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-05 16:55:00 +01:00
Florian Born f59a5fab1a
More GLTF loading hardening (#5415)
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 21:23:31 +01:00
Galen Xiao b7b6601a75
feat:1.add 3mf vertex color read 2.fix 3mf read texture bug (#5361)
* feat:1.add 3mf vertex color read 2.fix 3mf read texture bug

* fix checks failed

* Trigger CI

---------

Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 20:23:07 +01:00
Steve M 005399a671
Fix X importer breakage introduced in commit f844c33 (#5372)
* Update XFileImporter.cpp

Comment out boneIdx conditional which caused massive breakage

* Update XFileImporter.cpp

Fix typo

* Update XFileImporter.cpp

Dummy whitespace change to attempt to re-trigger failing CI tests

---------

Co-authored-by: Steve M <praktique-tellypresence@yahoo.com>
Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>
2024-02-04 10:38:07 +01:00
Kim Kulling 3476c79801
Static code analysis fixes (#5447)
* Static code analysis fixes

- Fix warning in LOW

* Fix possible out of bound access.

* Add default to class declaration
2024-01-31 09:30:54 +01:00
Kim Kulling c08e3b4abb
Add bounds checks to the parsing utilities. (#5421)
* Add bounds checks to the parsing utilities.

* Fix merge conflicts in ACLoader.

* Fix loaders

* Fix unittest of AC-Loader.

* Remove dead code.

* Md5Parser fixes

* Fix md5-parsing

* Fix Merge conflict

* Fix merge conflicts.

* Md5: Fix warning: missing return statement.
2024-01-30 14:32:41 +01:00
Kim Kulling a8d30f7e91 Update DXFLoader.cpp
revert it
2024-01-27 12:14:35 +01:00
Kim Kulling c6fe03f7a5 Update DXFLoader.cpp
- Use constexpr instead of const.
2024-01-27 12:14:35 +01:00
seanth 8cde65bfe8 Updated AIC table
The previous table was in an incorrect order, leading to index references in DXF producing the wrong colours when converted.

Also added other entries to bring the total number of ACI colours up  to the number that can be used in DXF files
2024-01-27 12:14:35 +01:00
seanth 240fa97fed Update DXFLoader.cpp
Changed order of operations for insert positioning and scaling. Need to position the inserts before scaling it, otherwise the position ends up up being position*scale
2024-01-27 12:14:35 +01:00
seanth 727001b0ca Update DXFLoader.cpp
Edited out line suspected to be causing changes in position when changes in scale are made to inserted BLOCKS
2024-01-27 12:14:35 +01:00
julianknodt bdc08dd4a9 Encode full weight as double 2024-01-27 10:10:28 +01:00
Robert Reif 81c20a5c61 Improve acc file loading
Add warning and support for tolerating a common problem where objects have wrong kid count.
Add support for empty texture layers.
2024-01-09 21:13:13 +01:00
Andre Schulz 9d71a275c3 X3D: Don't convert IndexedLineSet polylines with > 2 indices to triangles/polygons
Currently, when the coordIndex attribute of an IndexedLineSet contains a
polyline with > 2 indices, X3DGeoHelper::coordIdx_str2faces_arr() will
incorrectly determine the primitive type to be aiPrimitiveType_TRIANGLE or
aiPrimitiveType_POLYGON instead of aiPrimitiveType_LINE.

To fix this, this commit adds functions to explicitly handle an IndexedLineSet.

Fixes #3101
2024-01-09 20:55:51 +01:00
copycd b571501559 @ error
Cause a TypeError when arg is UNSET
2024-01-06 20:57:41 +01:00
tangxin 9776d47cca fix: KHR_materials_pbrSpecularGlossiness/diffuseFactor convert to pbrMetallicRoughness/baseColorFactor 2024-01-05 21:49:21 +01:00
Kim Kulling 5d5496f1ad Update MDLMaterialLoader.cpp 2023-12-22 13:23:08 +01:00
Kim Kulling 69dae9599a Fix integer overflow
- closes https://github.com/assimp/assimp/issues/4930
2023-12-22 13:23:08 +01:00
Kim Kulling 9dddef9b9d Update D3MFImporter.cpp 2023-12-22 10:49:54 +01:00
Kim Kulling b9576e6992 Update D3MFImporter.cpp 2023-12-22 10:49:54 +01:00
Kim Kulling 274f64cbf1 Check validity of archive without parsing
- closes https://github.com/assimp/assimp/issues/5392
2023-12-22 10:49:54 +01:00
Kim Kulling 7b54b0f406 Fix leak
- closes https://github.com/assimp/assimp/issues/5390
2023-12-21 21:18:38 +01:00
Alexander Wagner e86f1acb9b - fixed q3bsp issue 2023-12-20 20:55:04 +01:00
Alexey Medvedev 762ad8e9b7 glTF KHR_materials_specular fixes 2023-12-11 11:09:18 +01:00
Alexey Medvedev dc399f7343 glTF KHR_materials_specular fixes 2023-12-11 11:09:18 +01:00
Alexey Medvedev a72289b327 glTF KHR_materials_specular fixes 2023-12-11 11:09:18 +01:00
Stephen Gold 213d73ebc6 correct grammar/typographic errors in comments (8 files) 2023-12-04 23:58:54 +01:00
Futuremappermydud a0b3df6dbd Fix target names not being imported on some gLTF2 models 2023-12-04 21:11:55 +01:00
Stephen Gold 769e82ce5e FBXMeshGeometry: solve issue #5116 using patch provided by darktjm 2023-12-04 20:57:10 +01:00
Maksim Kostin d311fa95c6 Fix double free in Video::~Video() 2023-12-01 11:14:22 +01:00
Maksim Kostin f701d702e4 Fix buffer overflow in FBX::Util::DecodeBase64() 2023-11-29 11:12:39 +01:00
IOhannes m zmölnig 6f715edfa0 Drop disabled zlib.h inclusion stubs 2023-11-29 09:53:03 +01:00
IOhannes m zmölnig bfdd154d14 Always include "zlib.h" (rather than .../contrib/zlib/zlib.h)
The path to the vendored zlib is set by the build-system,
so there's no need to add additional preprocessor magic
2023-11-29 09:53:03 +01:00
IOhannes m zmölnig 6f70e220e4 always include "utf8.h" (instead of contrib/.../utf8.h) 2023-11-29 09:53:03 +01:00
Kim Kulling 85f64c9131 Use correct time scaling 2023-11-28 21:10:18 +01:00
Kim Kulling 01f2549abe Fix the build 2023-11-28 20:49:10 +01:00
Kim Kulling 384db8686e Update FBXConverter.cpp
- Temporary fix bind pose storage in offset matrix
- Will close https://github.com/assimp/assimp/issues/5132
2023-11-28 20:49:10 +01:00
Kim Kulling 77a8f019e3 Fix: Check if index for mesh access is out of range 2023-11-22 10:14:26 +01:00
Alexandre Avenel e4e2c63e0c Fix heap-buffer overflow in PLY parser 2023-11-20 08:43:17 +01:00