Commit Graph

6456 Commits (bef66deedaf7cb08b59fa291c64a3b720bd54009)

Author SHA1 Message Date
Jackie9527 6b54761310 Fix warning related to nested-anon-types.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-04-01 10:30:10 +08:00
Sven Liedtke 5cf9d3abf7 std::getenv is not supported using uwp 2023-04-01 01:02:21 +02:00
Kim Kulling 85b470a3ee
Merge branch 'master' into clang-cl-15.0.1-support 2023-03-29 21:20:25 +02:00
aniongithub 4438b3ecc9 Fix Issue #4486 using the fix described by @jianliang79 2023-03-29 18:36:18 +00:00
Adam Beili 8ac0af5c58
. 2023-03-26 17:13:16 +02:00
Adam Beili b6ecba9114
fix 2023-03-26 17:03:46 +02:00
Adam Beili 83053f3d56
Made usePbrSpecGloss a exportproperty, fixed mat_specular to spec 2023-03-26 16:55:38 +02:00
Adam Beili fa00571049
fixed compilation bug 2023-03-26 14:52:44 +02:00
Adam Beili c9177b7811
Merge branch 'master' into refactor/KHR_material_specular 2023-03-24 21:47:19 +01:00
inhosens 7095c4f52f
Merge branch 'master' into master 2023-03-23 07:30:49 +01:00
Turo Lamminen 5ddd18d1c7 Add more AMF unit tests 2023-03-22 12:06:30 +02:00
inhosens 7cc0c06fdb
Merge branch 'assimp:master' into master 2023-03-22 08:30:52 +01:00
Kim Kulling f81bb90f89
Merge branch 'master' into 1-1922 2023-03-21 12:58:11 +01:00
Turo Lamminen ea3cc37890 Check node parents in ValidateDataStructure 2023-03-21 11:36:49 +02:00
Inho Lee cdfdd75a66 FBXConverter : import FbxCamera correctly
FbxCamera's default value is correct but its transformed
values are described in each NodeProperties.
2023-03-21 10:35:24 +01:00
Kim Kulling e7e4e3100f
Merge branch 'master' into 1-3193 2023-03-20 14:01:35 +01:00
Turo Lamminen 3a69e353f3 Make Blender MVert no field optional 2023-03-20 12:00:20 +02:00
Kim Kulling e394bda707
Merge branch 'master' into 1-1922 2023-03-17 09:37:37 +01:00
Kim Kulling b5f68d73ab
Merge branch 'master' into fix_hl1_mdl_importer_bone_hierarchy 2023-03-15 11:36:45 +01:00
Kim Kulling 7e5a178637 Update: Add missing geo doc. 2023-03-14 23:49:41 +01:00
Kim Kulling c537bd78d0 Refactoring: Code cleanup post-processing. 2023-03-14 23:39:36 +01:00
Kim Kulling 59d9711928 Refactoring: Code cleanup post-processing. 2023-03-14 23:37:10 +01:00
Kim Kulling 45c1da26b3 Refactoring: Code cleanup post-processing. 2023-03-14 23:34:31 +01:00
Kim Kulling 31ae9cde1c Refactoring: Code cleanup post-processing. 2023-03-14 23:32:03 +01:00
Kim Kulling 1147f0c8bd Refactoring: Code cleanup post-processing. 2023-03-14 21:04:43 +01:00
Kim Kulling 2acfc125c3 Refactoring: Make GeoUtils reusable 2023-03-14 20:03:14 +01:00
Marc-Antoine Lortie eb3b48e523 Invert logic in build_bone_children_hierarchy. 2023-03-14 09:21:45 -04:00
Marc-Antoine Lortie 4c015077b8 Add missing member initializer. 2023-03-13 19:07:14 -04:00
Marc-Antoine Lortie 054dacd068 Improved comments. 2023-03-13 19:07:14 -04:00
Marc-Antoine Lortie 4b4cb55f22 Fix HL1MDLLoader flattened bone hierarchy. 2023-03-13 19:06:18 -04:00
Kim Kulling 3840c8bd8d
Merge branch 'master' into 1-3458 2023-03-12 17:06:09 +01:00
Florian Born 8176c6a0e4 Adjusting the unit tests to pass new gltf 2023-03-10 18:36:43 +01:00
Florian Born 60cefdd549 Jan's fedback 2023-03-10 12:10:38 +01:00
Kim Kulling ffd222334f
Fix: Remove buggy namespace declaration 2023-03-10 09:00:37 +01:00
Kim Kulling 2f7882cb8d
Update: Small code cleanup 2023-03-10 08:49:58 +01:00
Kim Kulling 63dae0a7f2
Fix: Add security asserts. 2023-03-10 08:48:11 +01:00
Kim Kulling c82a6d05b0
Code cleanup 2023-03-10 08:43:12 +01:00
Florian Born dfd70b5c10 GLTF Importer: Build a list of the actual vertices so it works well with shared attribute lists 2023-03-09 19:06:58 +01:00
Turo Lamminen f3767a4eb2 Use unordered_map for subdivision process edge map 2023-03-09 14:33:43 +02:00
Kim Kulling 05249353d4
Merge branch 'master' into UseNewMetaDataTypesInFBXConverter 2023-03-08 10:53:00 +01:00
Florian Born 069b3ecdf8 After Kim's addition to meta data types, use it in the FBX converter 2023-03-07 17:44:48 +01:00
Kim Kulling 44c2785663
Make debug message more professional. 2023-03-07 17:01:08 +01:00
Urs Hanselmann 2efd48dee2 disable another debug print message 2023-03-04 14:53:48 +01:00
Jackie9527 424f53b4d6 bugfix remove duplicated data.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-03-04 16:25:56 +08:00
Jackie9527 a0c29202be Add build options to fix issues with clang 15.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-03-02 21:12:35 +08:00
Jackie9527 f7f54036f2 bugfix the three vertices are collinear when converting a polygon to a triangle.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-03-01 14:26:04 +08:00
Jackie9527 437958ef91 bugfix fails to check if point in triangle.
Signed-off-by: Jackie9527 <80555200+Jackie9527@users.noreply.github.com>
2023-02-25 19:40:24 +08:00
Turo Lamminen e8f0eb930d Fix loading binary LWO files 2023-02-24 14:40:27 +02:00
Turo Lamminen 3bdc43a216 Add debug logging to LWO node graph generation 2023-02-24 14:40:27 +02:00
Turo Lamminen 657c1d8ad0 Use unique_ptr to store pivot nodes until moved to mapPivot 2023-02-24 14:40:23 +02:00
Turo Lamminen 3bdfecb0ed Destroy mapPivot nodes as we go 2023-02-24 13:26:34 +02:00
Turo Lamminen be28f0949b Whitespace 2023-02-24 13:20:40 +02:00
Turo Lamminen 53c6cc0966 Add a scope so mapPivot is destroyed when no longer used 2023-02-24 13:19:38 +02:00
Turo Lamminen 92f7c50c91 Remove dead code 2023-02-24 13:18:04 +02:00
Turo Lamminen 28d4e394c0 Use std::unique_ptr a bit 2023-02-24 13:17:32 +02:00
Kim Kulling eb73464055
Merge branch 'master' into fix-fbx-document-duplicate-id-leak 2023-02-23 10:39:52 +01:00
Kim Kulling 2c3d52a5a1
Merge branch 'master' into master 2023-02-23 10:15:07 +01:00
Kim Kulling c8d50dc83f
Merge branch 'master' into patch-2 2023-02-22 21:33:20 +01:00
Johan Mattsson fa4273ee1f
Fix index out of bounds 2023-02-20 19:56:57 +01:00
Johan Mattsson f8132bf17c
Fix index out of bounds 2023-02-20 19:50:06 +01:00
Aaron Jacobs 53e5f19b14 Use C++ style casts 2023-02-17 11:20:00 -08:00
Aaron Jacobs e4386d3013 Fix implicit conversion errors on macOS 2023-02-16 15:21:43 -08:00
Anton Vaneev 2cd3da4831
Fix a leak in FBXDocument when duplicate object IDs are found
When a duplicate ID is encountered, existing LazyObject is overwritten. Previously allocated instance leaks.

This change deletes the previously allocated instance before overwriting the pointer.
2023-02-16 11:21:29 +01:00
Kim Kulling 3585dd577d
Fix: Add default parameter to constructor/destructor. 2023-02-16 11:19:23 +01:00
Kim Kulling 7877dab43a
Fix: Fix typo 2023-02-16 10:59:36 +01:00
Kim Kulling bc8a122d88
Review finding: Use constexpr instead of macro 2023-02-16 09:28:35 +01:00
Kim Kulling b170370e5c Fix: Fix memleak when exiting method by exception 2023-02-08 21:29:54 +01:00
sunjc fb146b7d39 fix typo, use a macro to avoid magic numbers. 2023-02-08 10:13:48 +08:00
sunjc 647f1e47fa fix regression in join vertices post process. 2023-02-07 20:05:39 +08:00
Kim Kulling 839cd35a54
Merge branch 'master' into master 2023-02-04 19:08:39 +01:00
Matthias Möller db72c6ee38 When "getNextBlock" was called after "getNextLine", the pointer could still on the newline.
The pointer to a newline could not advance enough, when the line ended with \r\n. The resulting buffer was correct, as the buffer range went from <start> until \r, but that the pointer increased by just 1 could lead to the problem that the next pointer points at \n, which is still part of the newline and therefore, "getNextBlock" got 1 byte too much.

Refs Issue #4871
2023-02-04 15:16:22 +01:00
Robert Reif 88ef9eecc1 ACLoader: add support for reading more than one texture per object 2023-02-03 20:29:56 -05:00
Turo Lamminen 8d405d60d9 Fix Terragen loader
Fixes e8d2b84017
2023-02-03 11:44:27 +02:00
PencilAmazing feb3e9ff7a
Merge branch 'master' into PLYcomments#4866 2023-02-01 13:05:55 -05:00
Kim Kulling 5caae1a86d
Merge branch 'master' into JoinVerticesProcessUsedVerticesMask 2023-01-31 21:03:32 +01:00
Kim Kulling d6b8d61066
Merge branch 'master' into JoinVerticesProcessUsedVerticesMask 2023-01-30 20:58:21 +01:00
krishty df28e7830f
Merge branch 'master' into fix-build-without-armaturepopulate-post-process 2023-01-29 01:14:33 +01:00
PencilAmazing 6dc12f57a2
Merge branch 'master' into PLYcomments#4866 2023-01-23 21:50:26 -05:00
Kim Kulling 57054415cf
Merge branch 'master' into fixLHNormals 2023-01-24 00:04:49 +01:00
PencilAmazing 4d733d80f1
Merge branch 'master' into PLYcomments#4866 2023-01-23 15:56:04 -05:00
Kim Kulling b31c04e37c
Merge branch 'master' into fix-msvc-emplace-warnings 2023-01-23 21:37:41 +01:00
Kim Kulling f830d7998e
Merge branch 'master' into clean-up-ctors-dtors 2023-01-23 21:21:34 +01:00
PencilAmazing cb8320945d Fix issue #4866 by continuing to resetting read loop after hitting a comment 2023-01-23 14:18:50 -05:00
Kim Kulling 036f2b3771
Merge branch 'master' into remove-stray-semicolon 2023-01-23 20:06:43 +01:00
Kim Kulling 3e20502e0f
Merge branch 'master' into fix_gltf2_camera_fov 2023-01-23 19:14:42 +01:00
Kim Kulling 3bd2f788f6
Merge branch 'master' into replace-variables-with-literals 2023-01-23 18:55:20 +01:00
AdamCichocki 5ed09b7ab6 usedVertexIndicesMask is now based on vector<boo> instead of vector<uint> 2023-01-23 16:39:06 +01:00
AdamCichocki 72b178b9fc Optimized usedVertexIndices by using bitmask instead of unordered_set 2023-01-23 14:51:02 +01:00
Kim Kulling f2f967b8ba
Merge branch 'master' into remove-useless-virtual 2023-01-22 20:25:45 +01:00
Kim Kulling f8bc8293ce
Update FBXMeshGeometry.h 2023-01-22 16:48:45 +01:00
Kim Kulling 303c30668f
Merge branch 'master' into trim-whitespace 2023-01-22 16:37:43 +01:00
Kim Kulling 5ed01bcfa3
Ensure initializer exists
- Fixing a Codaxy finding.
2023-01-20 20:00:36 +01:00
Kim Kulling 81cf1369db
Set correct number of bones in mesh instance 2023-01-20 19:20:06 +01:00
Kim Kulling ab0a119626
Update LimitBoneWeightsProcess.cpp
- Removing empty bones only if AI_CONFIG_IMPORT_REMOVE_EMPTY_BONES is enabled.
- closes https://github.com/assimp/assimp/issues/4840
2023-01-20 19:14:04 +01:00
lsnoel 8d1256f472 Comments about winding order fix for gen normals 2023-01-20 14:55:06 +00:00
Kim Kulling d331a7e5d4
Merge branch 'master' into fix-build-without-armaturepopulate-post-process 2023-01-20 13:52:13 +01:00
lsnoel eb5d3c51e8 Correctly consider aiProcess_FlipWindingOrder AND aiProcess_MakeLeftHanded when generating normals 2023-01-19 16:46:29 +00:00
Krishty 72f360710a Fix MSVC Warnings With “emplace_back()”
Several places in the code call `std::vector<aiVector3D>.emplace_back(0, 0, 0)`. The constructor of `aiVector3D` actually expects arguments of the type `ai_real`, (alias of `float` if compiling without `ASSIMP_DOUBLE_PRECISION`) but the literal `0` is of type `int`.

`emplace_back()` does support promotion, but `int` to `float` is a potentially lossy conversion. tl;dr: On warning level 4, MSVC spits out a very deeply nested `warning C4244: 'argument': conversion from '_Ty' to 'TReal', possible loss of data with _Ty=int and TReal=ai_real`.
2023-01-18 00:08:38 +01:00
shimaowo 20acfeaf97
Merge branch 'master' into fix_gltf2_camera_fov 2023-01-17 14:39:54 -08:00
shimaowo b298b79a46 add missing parens 2023-01-17 10:53:41 -08:00
Martin Mory 7f6e96747b
Merge branch 'master' into f-FixWhitespaceBetweenTagAndNum 2023-01-17 13:32:39 +01:00
Martin Mory a89d5c7cea
Merge branch 'master' into f-FixWhitespaceBetweenTagAndNum 2023-01-17 12:10:46 +01:00
Kim Kulling e9f95e5ab6
Merge branch 'master' into fix-build-with-m3d-import-only 2023-01-17 11:22:00 +01:00
Kim Kulling 19dec716d3
Merge branch 'master' into fixJoinVerticesProcess 2023-01-17 09:11:43 +01:00
Krishty 36305cf987 Tidy Up Constructors and Destructors
This commit does not add or remove c’tors or d’tors, so it is *not* ABI-breaking.

If a c’tor/d’tor does nothing else than the default behavior, this commit replaces it with “= default”.

If an initializer list entry does nothing else than the default behavior, this commit removes it. First and foremost, remove default c’tor calls of base classes (always called by the compiler if no other base c’tor is explicitly called) and c’tor calls of members with complex types (e.g. “std::vector”).

In a few instances, user-defined copy c’tors / move c’tors / assignment operators / move assignment operators were replaced with “= default”, too. I only did this if I had a clear understanding of what’s going on.
2023-01-16 21:47:11 +01:00
Krishty 43a062a5d7 Remove Stray Semicolon 2023-01-16 20:45:00 +01:00
shimaowo 39cbef1e21 Fix: fix incorrect math for calculating the horizontal FOV of a perspective camera in GLTF2 import #4435 2023-01-16 11:39:13 -08:00
Krishty 3d3e856925 Trim Trailing Whitespace 2023-01-16 09:12:35 +01:00
Krishty 793284a766 Fix Build Without ArmaturePopulate Post Process Step
This post process step introduced new attributes into `aiSkeletonBone`. Said attributes are only defined with the process enabled, i.e. when the `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` macro has not been defined.

Some code, however, accessed the variables unconditionally, leading to build failures if `ASSIMP_BUILD_NO_ARMATUREPOPULATE_PROCESS` was defined.

This commit adds the missing checks.
2023-01-16 08:42:50 +01:00
Krishty 5cbc00a595 Fix Build With M3D Import Only
`M3DWrapper.h` is designed to omit the definition of `class M3DWrapper` if neither M3D import nor M3D export are compiled.
608bccd9cf touched the corresponding preprocessor checks and introduced a bug:
```
#ifndef ASSIMP_BUILD_NO_M3D_IMPORTER
#if !(ASSIMP_BUILD_NO_EXPORT || ASSIMP_BUILD_NO_M3D_EXPORTER)
class M3DWrapper {
```
When compiling
- with M3D import enabled,
- but with either export generally disabled or M3D export disabled specifically,
These checks evaluate to the wrong result and skip the definition, leading to a build failure in dependent code.
```
#if 1 // import enabled
#if !(1 || 1) // export disabled and M3D export disabled
```
This commit fixes the check to compile the definition if neither import is disabled.
2023-01-16 08:29:49 +01:00
Krishty bad76fd0f1 Replace Variables With Literals 2023-01-16 08:18:36 +01:00
Krishty e5c02e8d45 Remove Useless “virtual”
These functions are already marked “override”, and their neighbors had “virtual” removed as well.
2023-01-16 08:12:24 +01:00
Martin Mory 43c0f8bb3d Remove whitespace between a <v> tag and the first number, otherwise first call to strtoul10() returns 0 and the indices are broken, leading to possible out-of-bound access and memory corruption/crash 2023-01-15 23:03:41 +01:00
Kim Kulling 2d37f49f51
Remove deprecated comment
- closes https://github.com/assimp/assimp/issues/4869
2023-01-15 19:12:24 +01:00
Daniel Rösner 74af523b3e Generalize JoinVerticesProcess for multiple UV and color channels 2023-01-12 13:13:46 +01:00
Kim Kulling b393132b58
Merge branch 'master' into spelling 2023-01-08 17:43:55 +01:00
Kim Kulling 96b071bdb1
Fix: Fix possible division by zero
- closes https://github.com/assimp/assimp/issues/4860
2023-01-04 09:19:37 +01:00
Andy Maloney e893248e7c Fix several spelling mistakes & a comment 2023-01-01 13:31:48 -05:00
Kim Kulling a8e50be781 Refactoring: Move asserthandler header to include 2022-12-23 16:19:39 +01:00
Kim Kulling 376f66a06d
Merge branch 'master' into master 2022-12-16 10:11:56 +01:00
Kim Kulling c3d15a3f51
Fix minor review findings. 2022-12-16 09:03:40 +01:00
Kim Kulling c92b84e38d
Merge branch 'master' into patch-10 2022-12-16 09:00:41 +01:00
Kim Kulling db8ff41679
Update MD5Parser.cpp 2022-12-15 14:06:57 +01:00
Kim Kulling 2612950b7b
Merge branch 'master' into patch-9 2022-12-15 14:05:35 +01:00
sashashura 917352dd8b
Fixes Heap-buffer-overflow READ 1 in Assimp::ObjFileParser::getFace
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49274
2022-12-11 01:54:57 +01:00
Alex 90769ef3e6
Fixes Heap-buffer-overflow READ 1 in Assimp::MD5::MD5Parser::ParseHeader
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49422
When it reaches the `SkipSpacesAndLineEnd`, `in` already points past `bufferEnd` and it leads to out of bounds memory read.
2022-12-11 00:02:09 +00:00
Alex d5294be00b
Fixes Heap-buffer-overflow READ 4 in Assimp::ScenePreprocessor::ProcessMesh
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49797
2022-12-10 01:22:00 +00:00
Umesh Rajesh Ramchandani 2d372b302f Fixed bug when exporting binary FBX
Fixed vector subscript out of range bug when NULL_RECORD is passed to PutString and is actually null
2022-12-08 14:59:25 +01:00
Kim Kulling fec39154ed
Merge branch 'master' into floatwarnings 2022-12-08 14:18:35 +01:00
Kim Kulling 769b47ed0e
Ensure face pointer is not nullptr
- closes https://github.com/assimp/assimp/issues/4831
2022-12-08 09:35:11 +01:00
Kim Kulling 3f66b92797
Merge branch 'master' into master 2022-12-06 20:34:51 +01:00
Kim Kulling 9d57ac9cc5 Fix:Add missing semicolon. 2022-12-05 13:15:42 +01:00
Kim Kulling 81f85a6f93 Avoid undefined-shift in Assimp::ASE::Parser::ParseLV4MeshFace. 2022-12-05 13:07:52 +01:00
Gargaj 9c839f2d9a more fixes 2022-12-03 20:44:57 +01:00
Gargaj 07d4e83f43 fix warnings-as-errors for msvc x64 2022-12-03 20:27:00 +01:00
Kim Kulling 62486c6e7c
FIX: Fix possible division by zero
- closes https://github.com/assimp/assimp/issues/4819
2022-12-02 09:24:51 +01:00
Kim Kulling d8b9e2b64b
Merge branch 'master' into master 2022-12-02 08:41:43 +01:00
Kim Kulling f578b15759
Merge branch 'master' into explspec 2022-11-30 14:03:09 +01:00
Thomas Köppe 7d06d798af [BlenderDNA.h] Declare explicit specializations
It is an ODR violation to use a template specialization for which an
explicit specialization is defined somewhere whose declaration is not
visible at the point of use.

Found via clang's -Wundefined-func-template warning.
2022-11-29 18:38:33 +00:00
Adam Beili 54068637ee
Merge branch 'master' into refactor/KHR_material_specular 2022-11-29 17:35:52 +01:00
Kim Kulling 8fb7ba3444
Merge branch 'master' into modernize-smartptrs-literals 2022-11-29 09:58:17 +01:00
naota29 ab82428bb5
Merge branch 'master' into master 2022-11-22 07:15:38 -08:00
Kim Kulling 5689ac7869
Add overfolow check for invalid data.
- closes https://github.com/assimp/assimp/issues/3422
2022-11-22 10:50:52 +01:00
Justice Colby 371d5c78f4 Updated ConvertMaterials function to assign appopriate material index when using material references. 2022-11-21 15:49:48 -08:00
Kim Kulling 1d1cd93371
Merge branch 'master' into KHR_materials_emissive_strength 2022-11-21 20:55:13 +01:00
Adam Beili 5441f07d05
Merge branch 'master' into refactor/KHR_material_specular 2022-11-19 17:40:22 +02:00
Adam 1cd5841b2f . 2022-11-18 17:24:37 +02:00
Jan Krassnigg 08f2f0f82f Don't hide out-of-memory during FBX import 2022-11-18 13:50:33 +01:00
Adam Beili ce7a52fd19
Merge branch 'master' into refactor/KHR_material_specular 2022-11-10 20:21:30 +02:00
Adam 822b240694 Support both pbrSpecGlos and materials_specular 2022-11-08 23:09:50 +02:00