Commit Graph

210 Commits (5c7acc968bb02baf51e0e9f6a6232301abd6d21d)

Author SHA1 Message Date
Aaron Gokaslan 94c3abd841 Apply various performance fixes from clang-tidy 2021-06-22 12:27:15 -04:00
Kim Kulling a34b9d1c95
Fix review findings 2021-06-16 11:21:31 +02:00
Hill Ma af748755e1 Fix issue #2873 2021-06-15 13:20:12 -07:00
Kim Kulling d33cf1dc0c
Merge branch 'master' into x3d_pugi_migration 2021-06-06 16:06:08 +02: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 89584c167a Log debug 2021-05-13 09:56:42 +01:00
Malcolm Tyrrell ca698c3e49 Log error 2021-05-13 09:36:42 +01:00
Kim Kulling 25cf5dd487
Merge branch 'master' into mRootNode_mTransformation 2021-05-06 21:40:03 +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
Kim Kulling e120544978
Merge branch 'master' into fixGenNormals 2021-05-06 17:28:37 +02:00
Kim Kulling 0b92abe9b4
Merge branch 'master' into empty-string-style 2021-04-30 00:54:57 +02:00
Garux 3717e66fae consider aiProcess_FlipWindingOrder in aiProcess_GenNormals & aiProcess_GenSmoothNormals 2021-04-29 20:52:06 +03:00
Garux ebf5ef9a4b consider pScene->mRootNode->mTransformation set by some importers while using AI_CONFIG_PP_PTV_ROOT_TRANSFORMATION 2021-04-29 20:43:37 +03:00
Max Vollmer (Microsoft Havok) 44dc08f128 Remove GLTF tag, postprocessing is format independent 2021-04-21 16:20:58 +01:00
Max Vollmer (Microsoft Havok) 746d5cf964 * Throw instead of assert on invalid file input
* Check JSON object type before accessing members
* Ensure samplers input and output references are set before accessing them
2021-04-21 16:17:03 +01: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
Clement JACOB e66232d8c3
Merge branch 'master' into feature/gltf_fb_ngon_encoding 2021-04-07 13:54:31 +02:00
Kim Kulling cdb6a62cdb
Merge branch 'master' into issue_3678 2021-04-03 10:27:07 +02:00
Kim Kulling da0543972b Fix parsing for AMF-Files. 2021-04-03 10:25:03 +02:00
Clement Jacob fc2c12ad6a Fixing encoding when lines and points are encountered 2021-03-30 09:58:28 +02:00
Clement Jacob fc0cf2ea8d NGON encoding triangles only 2021-03-30 09:19:50 +02:00
Clement Jacob 2e90fed527 Refactoring and fixing remaining issues in triangulation process 2021-03-30 09:10:50 +02:00
Clement Jacob 596001c89c Refactoring the extension 2021-03-30 09:10:50 +02:00
Clement Jacob 81019d5e58 Fixing quad encoding 2021-03-30 09:10:50 +02:00
Clement Jacob 6d1a0c6054 Adding quad proper handling 2021-03-30 09:10:50 +02:00
Clement Jacob 8e589221d7 [gltf2-exporter] Adding FB_ngon_encoding support 2021-03-30 09:10:50 +02:00
Kim Kulling f5ed217409
Merge branch 'master' into msvc2019fix 2021-03-12 15:49:41 +01:00
Kim Kulling 6c89631581 closes https://github.com/assimp/assimp/issues/3678: ensure lowercase 2021-03-09 21:08:28 +01:00
Andy Shaw 2576c8c3a6 Compile fix for MSVC 2019
Small is seen as a type with some options so this fixes the errors starting with:

code\PostProcessing\ComputeUVMappingProcess.cpp(125): error C2632: 'int' followed by 'char' is illegal
2021-03-04 08:04:19 +01:00
Kim Kulling c669c8f1eb
Merge branch 'master' into update_copyrights 2021-02-28 12:18:41 +01:00
Kim Kulling 9e8dbd0ca5 Update copyrights to 2021. 2021-02-28 12:17:54 +01:00
Kim Kulling aa6f983920
Remove buggy assert
- Remove assertion test for empty nodestacks when no meshes are in the node. Just return from the function.
- closes https://github.com/assimp/assimp/issues/3664
2021-02-25 14:01:18 +01:00
Bart Sekura 5f50e42535 added missing return 2021-01-23 09:56:35 +09:00
Bart Sekura f8c512acd7 changed morph anim error to warning when validating 2021-01-23 09:52:46 +09:00
Inho Lee 4e5b25cd81 Keep AnimMesh data during the SortByPTypeProcess
A Postprocessing step, SortByPTypeProcess, can rebuild Mesh data,
but it does not handle AnimMesh.
This patch helps to rebuild appropriate AnimMeshes for the Mesh.
2020-12-16 19:19:30 +01:00
Oleg Bogdanov 4d4a3c42f6 Fix for 3489 | Preserve morph targets when splitting by bone count 2020-11-28 10:01:50 -08:00
Malcolm Tyrrell d9b90f714a Fix typo 2020-11-16 11:06:39 +00:00
Kim Kulling 0d5e5790cb
Fix findings. 2020-11-14 12:44:49 +01:00
Malcolm Tyrrell 3deae8760c Optimize FindDegenerates so it doesn't explode 2020-11-02 14:43:35 +00:00
Malcolm Tyrrell b7c789da67 Stop concatenating std::strings. Use formatter. 2020-08-18 17:35:08 +01:00
Kim Kulling b94183376c
Fix possible overflow in new. 2020-08-05 17:56:44 +02:00
Malcolm Tyrrell 51150cb3df Ensure asserts are defined where expected. 2020-07-02 14:53:29 +01:00
Hill Ma 30f09e9fc0 Fix build when ASSIMP_DOUBLE_PRECISION is on.
Tested:
$ cmake -DASSIMP_DOUBLE_PRECISION=1 -DASSIMP_BUILD_MDL_IMPORTER=0 ..; make

The MDL importer is disabled due to the fact that there is some float-only code
in MDL. This also means bin/assimp and bin/unit would not link successfully with
the above build flags.
2020-06-28 17:36:21 -07:00
Kim Kulling ba6af9ff98
Merge branch 'master' into FindInvalidData 2020-06-25 16:41:24 +02:00
Kim Kulling 6205af4efb replace NULL and avoid ai_assert with more than 2 tests. 2020-06-23 21:05:42 +02:00
Ryan Styrczula 5717ea466f FindInvalidDataProcess: Mark removed meshes as "out"
There's a code path where an input scene only has a single mesh.
In this case, if ProcessMesh returns 2, we delete the mesh and move on
with the postprocessing. UpdateMeshReferences is not called and so the
deleted mesh is left dangling in nodes.

In a later step (SplitMesh in my testing), it then tries to deference a
null pointer and we explode.

With `out = true`, we can now hit the DeadlyImportError instead of a
segfault.
2020-06-22 17:24:16 -04:00
Kota Iguchi 6acaaee80f Check invalid vertex id for bone weight 2020-06-20 15:27:28 +09:00
Kim Kulling ecfca1d5c5
Merge branch 'master' into verboseLogging 2020-05-21 18:30:52 +02:00
Ryan Styrczula c4055d04b4 Fix double free caused in FindInvalidDataProcess
In debug builds, there's no issues, but in release, an invalid mesh that
is deleted in FindInvalidDataProcess will be double free'd when the
parent scene is destroyed.
2020-05-19 14:38:10 -04:00
Malcolm Tyrrell 87a7662bee More thinks using VERBOSE_DEBUG 2020-05-18 11:45:00 +01:00
Malcolm Tyrrell 90cdbd9d9a Fix ups 2020-05-15 17:46:50 +01:00
Malcolm Tyrrell e11d78596f Use verbose debug logging in certain places 2020-05-15 17:26:17 +01:00
Kim Kulling 89a865ce19
Merge branch 'master' into master 2020-05-06 22:07:39 +02:00
kkulling 4e16716924 Merge branch 'file-formatting' of https://github.com/aaronfranke/assimp into aaronfranke-file-formatting 2020-05-05 10:17:52 +02:00
Kim Kulling 638df2ceac
Merge branch 'master' into master 2020-04-25 12:07:06 +02:00
Kim Kulling c36b028412
fix type error for template deduction. 2020-04-21 16:39:18 +02:00
Alexey Medvedev 53990ffa42 Check for existed bone 2020-03-31 14:18:51 -07:00
Alexey Medvedev 3ef46b0edd Weights and bones count checks 2020-03-30 16:56:33 -07:00
Alexey Medvedev 5e93b9ea8b Fixed bone splitting with excessive amount of bones with 0 weight 2020-03-30 12:42:32 -07:00
napina bb4bcb442a Merge branch 'master' of https://github.com/assimp/assimp 2020-03-23 10:35:06 +02:00
napina f0243cc7f3 Changed AI_LMW_MAX_WEIGHTS*2 to 8 which is same thing. 2020-03-22 15:58:12 +02:00
napina d5d30c898b Optimized LimitBoneWeightsProcess. Added SmallVector to reduce heap allocations. Simplified algorithm and removed unnecessary copying. 2020-03-22 12:47:42 +02:00
Aaron Franke 1529f9518f
Make file formatting comply with POSIX and Unix standards
UTF-8, LF, no BOM, and newlines at the end of files
2020-03-21 02:34:12 -04:00
Kim Kulling 856ca9f2dd Fix static-code findings, 2020-03-15 12:16:17 +01:00
Kim Kulling 976091a6f6 ix compiler warning for pragma statements. 2020-03-15 11:47:05 +01:00
Kim Kulling 4210318a34
Merge branch 'master' into enable_vs_warning_all 2020-03-15 10:19:49 +01:00
kimkulling f3b6b78d4d small refactorings. 2020-03-09 10:55:32 +01:00
Kim Kulling 920535165d next fixed warnings 2020-03-01 13:15:45 +01:00
iamAdrianIusca a5524ffcd9 more changes 2020-02-18 19:02:14 +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
Marc-Antoine Lortie 50334086cf Added missing texture types when searching for invalid textures. 2020-02-11 11:42:13 -05: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
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
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
Kim Kulling 6c95ee145c
Merge branch 'master' into kimkulling-patch-1 2020-01-29 14:37:32 +01:00
Marc-Antoine Lortie 770c822621 Updated places to achFormatHint referencing array size. 2020-01-23 15:26: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 625357685c
Update EmbedTexturesProcess.cpp
closes https://github.com/assimp/assimp/issues/2874 : fix leaked texture buffer.
2020-01-09 22:04:46 +01:00
RichardTea 9cabeddf4f Odd Negative Scale: PretransformVertices
PretransformVertices postprocessing now reverses face order when transform is mirroring.
Fixes flip to backfacing in models that mirrored some nodes.

(Odd count of negative scale components, negative determinant)
2019-12-09 11:07:13 +00:00
RichardTea 193b02cdac Odd negative scale: OptimizeGraph
OptimizeGraph postprocessing now reverses face order when
node scale is mirroring.
Fixes flip to backfacing in models that mirrored some nodes.

(Odd count of negative scale components, negative determinant)
2019-12-09 10:42:50 +00:00
RichardTea 463573c771 Apply clangformat 2019-12-09 09:56:01 +00:00
Kim Kulling 7e222f0730 fix invalid cast. 2019-11-18 18:43:28 +01:00
Kim Kulling 17257cd2ae just a try, i dunno have a clue ... 2019-11-16 15:51:26 +01:00
RevoluPowered 02a63f8b10 Fixed template being used in file 2019-10-29 20:21:16 +00:00
RevoluPowered a9a0d4d29b Tidying order of function calls and fixed debug statements 2019-10-27 14:16:39 +00:00
RevoluPowered 212bcfe75c Test disable cache 2019-10-27 14:16:39 +00:00
RevoluPowered 9c8d835704 Explicitly use nullptr 2019-10-27 14:16:39 +00:00
RevoluPowered 514257f587 Added unit tests for ArmaturePopulate when used (added huestos model to tests)
Added clear documentation for this too to explain, you need to enable it to make it available

Signed-off-by: RevoluPowered <gordon@gordonite.tech>
2019-10-27 14:16:39 +00:00
RevoluPowered 46cdd81d75 Added ArmaturePopulate scale process for all formats 2019-10-27 14:16:39 +00:00
kimkulling 33af183bb8 Cleanup the public headers. 2019-10-11 13:27:36 +02:00
Victor Cebollada e0fee3d87b gltf2.0 importer - Support for mesh morph animations added.
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
2019-09-25 09:58:23 +01:00
Jennifer Buehler aa47a028c8 Fix UV texture coords generation along Z Axis 2019-09-23 11:22:20 +02:00
Kim Kulling ef54a00fc4 Use correct escape sequence for unsigned. 2019-09-22 09:12:37 +02:00
Malcolm Tyrrell 01d0f06d3a Make IsVerbose accessible outside the exporter 2019-08-30 11:42:23 +01:00
Kim Kulling 48f1f012eb
Merge branch 'master' into feature/fix-removal-of-bones 2019-08-25 09:34:20 +02:00
Gordon MacPherson 0d29203e24 Prototype unit system for assimp generic enough to be used across formats. 2019-08-21 21:41:41 +01:00
Gordon MacPherson 4bc5e8c262 Stop JoinVerticiesProcess removing bones from mesh as per #2596
Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2019-08-19 19:35:44 +01:00
Kim Kulling eb55a6a3cd
Update ScaleProcess.cpp
Fix review findings.
2019-08-19 20:24:01 +02:00
Gordon MacPherson fbb34b1de1 ScaleProcess overhauled to improve compatibility with animations and unit conversion.
./assimp Added arguments --gs to assimp command line option to enable global scaling.

No scaling for mScale of 1.0.

Co-Authored-By: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2019-08-19 17:36:57 +01:00
Ghanshyam Bhutra f69bf5f7ed
fix for div by zero reported by address sanitizer 2019-08-16 17:04:42 -07:00
Kim Kulling 0f66a917e5 Add unittest. 2019-06-24 21:37:53 +02:00
Kim Kulling 26bd54ae0b PostProcesswing: add gen-aabb process to postprocessing. 2019-06-23 20:24:32 +02:00
Kim Kulling 2da3a38d60 Fix the compile pass, still unresolved symbols. 2019-06-10 23:26:00 +02:00
Kim Kulling 2d985b92c9 Fix references in cmake file. 2019-06-09 18:43:56 +02:00
Kim Kulling 57c46db042 Reorg of code. 2019-06-06 14:45:43 +02:00